const {readdirSync, readFileSync} = require('fs'); const {join, resolve} = require('path'); // Store code snippets in GraphQL for the home page examples. // Snippets will be matched with markdown templates of the same name. exports.sourceNodes = ({graphql, boundActionCreators}) => { const {createNode} = boundActionCreators; const path = resolve(__dirname, '../../content/home/examples'); const files = readdirSync(path); files.forEach(file => { if (file.match(/\.js$/)) { const code = readFileSync(join(path, file), 'utf8'); const id = file.replace(/\.js$/, ''); createNode({ id, children: [], parent: 'EXAMPLES', internal: { type: 'ExampleCode', contentDigest: JSON.stringify(code), }, }); } }); };