diff --git a/packages/gatsby/src/internal-plugins/component-layout-creator/gatsby-node.js b/packages/gatsby/src/internal-plugins/component-layout-creator/gatsby-node.js index 8af3386a4b53f..24ec2f5693178 100644 --- a/packages/gatsby/src/internal-plugins/component-layout-creator/gatsby-node.js +++ b/packages/gatsby/src/internal-plugins/component-layout-creator/gatsby-node.js @@ -19,19 +19,20 @@ exports.createLayouts = async ( ) => { const { createLayout, deleteLayout } = boundActionCreators const program = store.getState().program + const exts = program.extensions.map(e => `${e.slice(1)}`).join(`,`) const layoutDirectory = systemPath.posix.join( program.directory, `/src/layouts` ) - const exts = program.extensions.map(e => `${e.slice(1)}`).join(`,`) + const layoutGlob = `${layoutDirectory}/**/*.{${exts}}` // Get initial list of files. - let files = await glob(`${layoutDirectory}/**/?(${exts})`) + let files = await glob(layoutGlob) files.forEach(file => _createLayout(file, layoutDirectory, createLayout)) // Listen for new layouts to be added or removed. chokidar - .watch(`${layoutDirectory}/**/*.{${exts}}`) + .watch(layoutGlob) .on(`add`, path => { if (!_.includes(files, path)) { _createLayout(path, layoutDirectory, createLayout) diff --git a/packages/gatsby/src/internal-plugins/component-page-creator/gatsby-node.js b/packages/gatsby/src/internal-plugins/component-page-creator/gatsby-node.js index 5ea6e5d060353..9517a2a8de508 100644 --- a/packages/gatsby/src/internal-plugins/component-page-creator/gatsby-node.js +++ b/packages/gatsby/src/internal-plugins/component-page-creator/gatsby-node.js @@ -21,16 +21,17 @@ exports.createPagesStatefully = async ( ) => { const { createPage, deletePage } = boundActionCreators const program = store.getState().program - const pagesDirectory = systemPath.posix.join(program.directory, `/src/pages`) const exts = program.extensions.map(e => `${e.slice(1)}`).join(`,`) + const pagesDirectory = systemPath.posix.join(program.directory, `/src/pages`) + const pagesGlob = `${pagesDirectory}/**/*.{${exts}}` // Get initial list of files. - let files = await glob(`${pagesDirectory}/**/?(${exts})`) + let files = await glob(pagesGlob) files.forEach(file => _createPage(file, pagesDirectory, createPage)) // Listen for new component pages to be added or removed. chokidar - .watch(`${pagesDirectory}/**/*.{${exts}}`) + .watch(pagesGlob) .on(`add`, path => { if (!_.includes(files, path)) { _createPage(path, pagesDirectory, createPage)