<!-- Please follow this checklist and put an x in each of the boxes, like this: [x]. It will ensure that our team takes your pull request seriously. --> - [x] I have read [freeCodeCamp's contribution guidelines](https://github.com/freeCodeCamp/freeCodeCamp/blob/master/CONTRIBUTING.md). - [x] My pull request has a descriptive title (not a vague title like `Update index.md`) - [x] My pull request targets the `master` branch of freeCodeCamp.
32 lines
825 B
JavaScript
32 lines
825 B
JavaScript
const { createChallengeNodes } = require('./create-Challenge-nodes');
|
|
|
|
exports.sourceNodes = function sourceChallengesSourceNodes(
|
|
{ actions, reporter },
|
|
pluginOptions
|
|
) {
|
|
if (typeof pluginOptions.source !== 'function') {
|
|
reporter.panic(`
|
|
"source" is a required option for fcc-source-challenges. It must be a function
|
|
that delivers challenge files to the plugin
|
|
`);
|
|
}
|
|
// TODO: Add live seed updates
|
|
const { createNode } = actions;
|
|
|
|
const { source } = pluginOptions;
|
|
return source()
|
|
.then(challenges =>
|
|
challenges
|
|
.filter(challenge => challenge.superBlock !== 'Certificates')
|
|
.map(challenge => createChallengeNodes(challenge, reporter))
|
|
.map(node => createNode(node))
|
|
)
|
|
.catch(e =>
|
|
reporter.panic(`fcc-source-challenges
|
|
|
|
${e.message}
|
|
|
|
`)
|
|
);
|
|
};
|