gatsby 2.32.8 → 2.32.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/cache-dir/app.js +2 -3
  3. package/cache-dir/commonjs/app.js +2 -1
  4. package/cache-dir/commonjs/loading-indicator/indicator.js +3 -2
  5. package/cache-dir/loading-indicator/indicator.js +2 -1
  6. package/dist/commands/build.js +5 -1
  7. package/dist/commands/build.js.map +1 -1
  8. package/dist/commands/develop-process.js +5 -1
  9. package/dist/commands/develop-process.js.map +1 -1
  10. package/dist/redux/actions/public.js +16 -6
  11. package/dist/redux/actions/public.js.map +1 -1
  12. package/dist/redux/nodes.js +5 -1
  13. package/dist/redux/nodes.js.map +1 -1
  14. package/dist/redux/reducers/status.d.ts +1 -0
  15. package/dist/redux/reducers/status.js +5 -0
  16. package/dist/redux/reducers/status.js.map +1 -1
  17. package/dist/redux/types.d.ts +1 -0
  18. package/dist/redux/types.js.map +1 -1
  19. package/dist/state-machines/develop/index.js +1 -3
  20. package/dist/state-machines/develop/index.js.map +1 -1
  21. package/dist/utils/dev-ssr/develop-html-route.js +3 -3
  22. package/dist/utils/dev-ssr/develop-html-route.js.map +1 -1
  23. package/dist/utils/dev-ssr/render-dev-html.js +3 -2
  24. package/dist/utils/dev-ssr/render-dev-html.js.map +1 -1
  25. package/dist/utils/develop-preload-headers.js +1 -1
  26. package/dist/utils/develop-preload-headers.js.map +1 -1
  27. package/gatsby-admin-public/4c744e84-6c27fb4a13dc8c8c3e88.js.map +1 -1
  28. package/gatsby-admin-public/69bd6bf3-00a5b50945cce68e041c.js.map +1 -1
  29. package/gatsby-admin-public/784b2cee55c07b638f20445dec340adf9f1888a3-d690a55f56dedc0f95b3.js.map +1 -1
  30. package/gatsby-admin-public/854a7ef1f34af0aefbdfdd9304a0c00251662775-30cef3c004238987a416.js.map +1 -1
  31. package/gatsby-admin-public/{app-ae73c37ae339da42b23e.js → app-749bdcbe1800236c1de3.js} +2 -2
  32. package/gatsby-admin-public/{app-ae73c37ae339da42b23e.js.LICENSE.txt → app-749bdcbe1800236c1de3.js.LICENSE.txt} +0 -0
  33. package/gatsby-admin-public/app-749bdcbe1800236c1de3.js.map +1 -0
  34. package/gatsby-admin-public/c432bec7e9afb3443fd639df9e5f119e13575cf7-976ea4aa8380d4a68cb1.js.map +1 -1
  35. package/gatsby-admin-public/chunk-map.json +1 -1
  36. package/gatsby-admin-public/component---src-pages-index-tsx-70aa31e4e1eca0a560a8.js.map +1 -1
  37. package/gatsby-admin-public/component---src-pages-plugins-tsx-c6700b48ed9ac88a9768.js.map +1 -1
  38. package/gatsby-admin-public/{component---src-pages-recipe-js-48fb05e6af01805f0a27.js → component---src-pages-recipe-js-e508d7ea0c80b0071ca7.js} +1 -1
  39. package/gatsby-admin-public/component---src-pages-recipe-js-e508d7ea0c80b0071ca7.js.map +1 -0
  40. package/gatsby-admin-public/e2852b4470dcb2615e49edcd9de2a3c8119d4bec-fbd253211b90ee4d944c.js.map +1 -1
  41. package/gatsby-admin-public/framework-b5530edc347e85dd3979.js.map +1 -1
  42. package/gatsby-admin-public/index.html +1 -1
  43. package/gatsby-admin-public/page-data/app-data.json +1 -1
  44. package/gatsby-admin-public/pages/index.html +1 -1
  45. package/gatsby-admin-public/plugins/index.html +1 -1
  46. package/gatsby-admin-public/{polyfill-bb3950ad41cd96a6ba64.js → polyfill-dce23570cfd77335f976.js} +2 -2
  47. package/gatsby-admin-public/polyfill-dce23570cfd77335f976.js.map +1 -0
  48. package/gatsby-admin-public/recipe/index.html +1 -1
  49. package/gatsby-admin-public/recipes/index.html +1 -1
  50. package/gatsby-admin-public/{webpack-runtime-ece0b6a1fdfb71d1b025.js → webpack-runtime-276364d320252125351e.js} +2 -2
  51. package/gatsby-admin-public/{webpack-runtime-ece0b6a1fdfb71d1b025.js.map → webpack-runtime-276364d320252125351e.js.map} +1 -1
  52. package/gatsby-admin-public/webpack.stats.json +1 -1
  53. package/package.json +4 -4
  54. package/gatsby-admin-public/app-ae73c37ae339da42b23e.js.map +0 -1
  55. package/gatsby-admin-public/component---src-pages-recipe-js-48fb05e6af01805f0a27.js.map +0 -1
  56. package/gatsby-admin-public/polyfill-bb3950ad41cd96a6ba64.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -3,6 +3,31 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [2.32.12](https://github.com/gatsbyjs/gatsby/compare/gatsby@2.32.11...gatsby@2.32.12) (2021-04-07)
7
+
8
+ ### Bug Fixes
9
+
10
+ - **gatsby:** fix incorrect intersection of filtered results ([#30594](https://github.com/gatsbyjs/gatsby/issues/30594)) ([#30619](https://github.com/gatsbyjs/gatsby/issues/30619)) ([0eac672](https://github.com/gatsbyjs/gatsby/commit/0eac672696997784c4e565447b719d6bf9fca7c6))
11
+
12
+ ## [2.32.11](https://github.com/gatsbyjs/gatsby/compare/gatsby@2.32.10...gatsby@2.32.11) (2021-03-09)
13
+
14
+ ### Bug Fixes
15
+
16
+ - **gatsby:** don't ignore SOURCE_FILE_CHANGED event ([#30127](https://github.com/gatsbyjs/gatsby/issues/30127)) ([#30129](https://github.com/gatsbyjs/gatsby/issues/30129)) ([123e47c](https://github.com/gatsbyjs/gatsby/commit/123e47c1d7a79ccf1d2ff5003ae44dc4326129c8))
17
+ - **gatsby:** set program.verbose when VERBOSE env var is used ([#30123](https://github.com/gatsbyjs/gatsby/issues/30123)) ([#30138](https://github.com/gatsbyjs/gatsby/issues/30138)) ([ff7d46e](https://github.com/gatsbyjs/gatsby/commit/ff7d46e1a5954bffcf9b1f893d1ce097f0dea49f))
18
+
19
+ ## [2.32.10](https://github.com/gatsbyjs/gatsby/compare/gatsby@2.32.9...gatsby@2.32.10) (2021-03-08)
20
+
21
+ ### Bug Fixes
22
+
23
+ - **gatsby:** Fix various small DEV_SSR bugs exposed in development_runtime tests ([#29748](https://github.com/gatsbyjs/gatsby/issues/29748)) ([890d5e5](https://github.com/gatsbyjs/gatsby/commit/890d5e5c8fc98819d32dd23cbf2679c37e0121c5))
24
+
25
+ ## [2.32.9](https://github.com/gatsbyjs/gatsby/compare/gatsby@2.32.8...gatsby@2.32.9) (2021-03-01)
26
+
27
+ ### Bug Fixes
28
+
29
+ - query on demand loading indicator always active on preact. ([#29829](https://github.com/gatsbyjs/gatsby/issues/29829)) ([#29882](https://github.com/gatsbyjs/gatsby/issues/29882)) ([706a754](https://github.com/gatsbyjs/gatsby/commit/706a754479a161a8c8bf99be7971e1ab06401229))
30
+
6
31
  ## [2.32.8](https://github.com/gatsbyjs/gatsby/compare/gatsby@2.32.7...gatsby@2.32.8) (2021-02-25)
7
32
 
8
33
  **Note:** Version bump only for package gatsby
package/cache-dir/app.js CHANGED
@@ -117,14 +117,13 @@ apiRunnerAsync(`onClientEntry`).then(() => {
117
117
 
118
118
  const rootElement = document.getElementById(`___gatsby`)
119
119
 
120
+ const focusEl = document.getElementById(`gatsby-focus-wrapper`)
120
121
  const renderer = apiRunner(
121
122
  `replaceHydrateFunction`,
122
123
  undefined,
123
124
  // Client only pages have any empty body so we just do a normal
124
125
  // render to avoid React complaining about hydration mis-matches.
125
- document.getElementById(`___gatsby`).children.length === 0
126
- ? ReactDOM.render
127
- : ReactDOM.hydrate
126
+ focusEl && focusEl.children.length > 0 ? ReactDOM.hydrate : ReactDOM.render
128
127
  )[0]
129
128
 
130
129
  let dismissLoadingIndicator
@@ -107,9 +107,10 @@ function notCalledFunction() {
107
107
  }
108
108
 
109
109
  const rootElement = document.getElementById(`___gatsby`);
110
+ const focusEl = document.getElementById(`gatsby-focus-wrapper`);
110
111
  const renderer = (0, _apiRunnerBrowser.apiRunner)(`replaceHydrateFunction`, undefined, // Client only pages have any empty body so we just do a normal
111
112
  // render to avoid React complaining about hydration mis-matches.
112
- document.getElementById(`___gatsby`).children.length === 0 ? _reactDom.default.render : _reactDom.default.hydrate)[0];
113
+ focusEl && focusEl.children.length > 0 ? _reactDom.default.hydrate : _reactDom.default.render)[0];
113
114
  let dismissLoadingIndicator;
114
115
 
115
116
  if (process.env.GATSBY_EXPERIMENTAL_QUERY_ON_DEMAND && process.env.GATSBY_QUERY_ON_DEMAND_LOADING_INDICATOR === `true`) {
@@ -46,8 +46,9 @@ function Indicator({
46
46
  }
47
47
 
48
48
  return /*#__PURE__*/_react.default.createElement(_portal.default, null, /*#__PURE__*/_react.default.createElement(_style.default, null), /*#__PURE__*/_react.default.createElement("div", {
49
- "data-gatsby-loading-indicator": "root",
50
- "data-gatsby-loading-indicator-visible": visible,
49
+ "data-gatsby-loading-indicator": "root" // preact doesn't render data attributes with a literal bool false value to dom
50
+ ,
51
+ "data-gatsby-loading-indicator-visible": visible.toString(),
51
52
  "aria-live": "assertive"
52
53
  }, /*#__PURE__*/_react.default.createElement("div", {
53
54
  "data-gatsby-loading-indicator": "spinner",
@@ -42,7 +42,8 @@ export function Indicator({ visible = true }) {
42
42
  <Style />
43
43
  <div
44
44
  data-gatsby-loading-indicator="root"
45
- data-gatsby-loading-indicator-visible={visible}
45
+ // preact doesn't render data attributes with a literal bool false value to dom
46
+ data-gatsby-loading-indicator-visible={visible.toString()}
46
47
  aria-live="assertive"
47
48
  >
48
49
  <div data-gatsby-loading-indicator="spinner" aria-hidden="true">
@@ -70,7 +70,11 @@ if (process.env.GATSBY_EXPERIMENTAL_PAGE_BUILD_ON_DATA_CHANGES) {
70
70
  }
71
71
 
72
72
  module.exports = async function build(program) {
73
- _reporter.default.setVerbose((0, _gatsbyCoreUtils.isTruthy)(process.env.VERBOSE) || program.verbose);
73
+ if ((0, _gatsbyCoreUtils.isTruthy)(process.env.VERBOSE)) {
74
+ program.verbose = true;
75
+ }
76
+
77
+ _reporter.default.setVerbose(program.verbose);
74
78
 
75
79
  if (program.profile) {
76
80
  _reporter.default.warn(`React Profiling is enabled. This can have a performance impact. See https://www.gatsbyjs.org/docs/profiling-site-performance-with-react-profiler/#performance-impact`);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/commands/build.ts"],"names":["cachedPageData","cachedWebpackCompilationHash","process","env","GATSBY_EXPERIMENTAL_PAGE_BUILD_ON_DATA_CHANGES","pageData","webpackCompilationHash","module","exports","build","program","report","setVerbose","VERBOSE","verbose","profile","warn","name","sitePackageJson","sitePath","directory","lastRun","Date","now","pid","publicDir","path","join","openTracingConfigFile","buildActivity","phantomActivity","start","telemetry","trackCli","exitCode","buildSpan","span","setTag","gatsbyNodeGraphQLFunction","parentSpan","graphqlRunner","GraphQLRunner","store","collectStats","graphqlTracing","queryIds","graphql","buildActivityTimer","activityTimer","stats","err","panic","Stage","BuildJavascript","end","workerPool","WorkerPool","create","hash","getState","appDataUtil","exists","dispatch","type","payload","rewriteActivityTimer","write","pages","forEach","_value","key","has","boundActionCreators","removePageData","id","isTrackingEnabled","bundleSizes","toJson","assets","filter","asset","endsWith","map","size","pageDataSizes","pageDataStats","values","addSiteMeasurement","bundleStats","aggregateStats","queryStats","getStats","setProgramStatus","db","saveState","pagePaths","keys","buildUtils","getChangedPageDataKeys","info","stripIndent","buildSSRBundleActivityProgress","pageRenderer","BuildHTML","pagesCount","length","totalPagesCount","buildHTMLActivityProgress","createProgress","context","errorPath","ref","match","message","error","keepPageRenderer","deletedPageKeys","deletePageDataActivityTimer","collectRemovedPageData","removePageFiles","postBuildActivityTimer","uptime","finish","argv","includes","createdFilesPath","resolve","createdFilesContent","deletedFilesPath","deletedFilesContent","fs","writeFile"],"mappings":"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","sourcesContent":["import path from \"path\"\nimport report from \"gatsby-cli/lib/reporter\"\nimport signalExit from \"signal-exit\"\nimport fs from \"fs-extra\"\nimport telemetry from \"gatsby-telemetry\"\n\nimport { doBuildPages, buildRenderer, deleteRenderer } from \"./build-html\"\nimport { buildProductionBundle } from \"./build-javascript\"\nimport { bootstrap } from \"../bootstrap\"\nimport apiRunnerNode from \"../utils/api-runner-node\"\nimport { GraphQLRunner } from \"../query/graphql-runner\"\nimport { copyStaticDirs } from \"../utils/get-static-dir\"\nimport { initTracer, stopTracer } from \"../utils/tracer\"\nimport db from \"../db\"\nimport { store, readState } from \"../redux\"\nimport * as appDataUtil from \"../utils/app-data\"\nimport { flush as flushPendingPageDataWrites } from \"../utils/page-data\"\nimport * as WorkerPool from \"../utils/worker/pool\"\nimport { structureWebpackErrors } from \"../utils/webpack-error-utils\"\nimport {\n userGetsSevenDayFeedback,\n userPassesFeedbackRequestHeuristic,\n showFeedbackRequest,\n showSevenDayFeedbackRequest,\n} from \"../utils/feedback\"\nimport * as buildUtils from \"./build-utils\"\nimport { boundActionCreators } from \"../redux/actions\"\nimport { waitUntilAllJobsComplete } from \"../utils/wait-until-jobs-complete\"\nimport { IProgram, Stage } from \"./types\"\nimport { PackageJson } from \"../..\"\nimport {\n calculateDirtyQueries,\n runStaticQueries,\n runPageQueries,\n writeOutRequires,\n} from \"../services\"\nimport {\n markWebpackStatusAsPending,\n markWebpackStatusAsDone,\n} from \"../utils/webpack-status\"\nimport { updateSiteMetadata, isTruthy } from \"gatsby-core-utils\"\n\nlet cachedPageData\nlet cachedWebpackCompilationHash\nif (process.env.GATSBY_EXPERIMENTAL_PAGE_BUILD_ON_DATA_CHANGES) {\n const { pageData, webpackCompilationHash } = readState()\n // extract only data that we need to reuse and let v8 garbage collect rest of state\n cachedPageData = pageData\n cachedWebpackCompilationHash = webpackCompilationHash\n}\n\ninterface IBuildArgs extends IProgram {\n directory: string\n sitePackageJson: PackageJson\n prefixPaths: boolean\n noUglify: boolean\n profile: boolean\n graphqlTracing: boolean\n openTracingConfigFile: string\n keepPageRenderer: boolean\n}\n\nmodule.exports = async function build(program: IBuildArgs): Promise<void> {\n report.setVerbose(isTruthy(process.env.VERBOSE) || program.verbose)\n\n if (program.profile) {\n report.warn(\n `React Profiling is enabled. This can have a performance impact. See https://www.gatsbyjs.org/docs/profiling-site-performance-with-react-profiler/#performance-impact`\n )\n }\n\n await updateSiteMetadata({\n name: program.sitePackageJson.name,\n sitePath: program.directory,\n lastRun: Date.now(),\n pid: process.pid,\n })\n\n markWebpackStatusAsPending()\n\n const publicDir = path.join(program.directory, `public`)\n initTracer(program.openTracingConfigFile)\n const buildActivity = report.phantomActivity(`build`)\n buildActivity.start()\n\n telemetry.trackCli(`BUILD_START`)\n signalExit(exitCode => {\n telemetry.trackCli(`BUILD_END`, { exitCode })\n })\n\n const buildSpan = buildActivity.span\n buildSpan.setTag(`directory`, program.directory)\n\n const { gatsbyNodeGraphQLFunction } = await bootstrap({\n program,\n parentSpan: buildSpan,\n })\n\n const graphqlRunner = new GraphQLRunner(store, {\n collectStats: true,\n graphqlTracing: program.graphqlTracing,\n })\n\n const { queryIds } = await calculateDirtyQueries({ store })\n\n await runStaticQueries({\n queryIds,\n parentSpan: buildSpan,\n store,\n graphqlRunner,\n })\n\n await runPageQueries({\n queryIds,\n graphqlRunner,\n parentSpan: buildSpan,\n store,\n })\n\n await writeOutRequires({\n store,\n parentSpan: buildSpan,\n })\n\n await apiRunnerNode(`onPreBuild`, {\n graphql: gatsbyNodeGraphQLFunction,\n parentSpan: buildSpan,\n })\n\n // Copy files from the static directory to\n // an equivalent static directory within public.\n copyStaticDirs()\n\n const buildActivityTimer = report.activityTimer(\n `Building production JavaScript and CSS bundles`,\n { parentSpan: buildSpan }\n )\n buildActivityTimer.start()\n let stats\n try {\n stats = await buildProductionBundle(program, buildActivityTimer.span)\n } catch (err) {\n buildActivityTimer.panic(structureWebpackErrors(Stage.BuildJavascript, err))\n } finally {\n buildActivityTimer.end()\n }\n\n const workerPool = WorkerPool.create()\n\n const webpackCompilationHash = stats.hash\n if (\n webpackCompilationHash !== store.getState().webpackCompilationHash ||\n !appDataUtil.exists(publicDir)\n ) {\n store.dispatch({\n type: `SET_WEBPACK_COMPILATION_HASH`,\n payload: webpackCompilationHash,\n })\n\n const rewriteActivityTimer = report.activityTimer(\n `Rewriting compilation hashes`,\n {\n parentSpan: buildSpan,\n }\n )\n rewriteActivityTimer.start()\n\n await appDataUtil.write(publicDir, webpackCompilationHash)\n\n rewriteActivityTimer.end()\n }\n\n await flushPendingPageDataWrites()\n markWebpackStatusAsDone()\n\n if (process.env.GATSBY_EXPERIMENTAL_PAGE_BUILD_ON_DATA_CHANGES) {\n const { pages } = store.getState()\n if (cachedPageData) {\n cachedPageData.forEach((_value, key) => {\n if (!pages.has(key)) {\n boundActionCreators.removePageData({\n id: key,\n })\n }\n })\n }\n }\n\n if (telemetry.isTrackingEnabled()) {\n // transform asset size to kB (from bytes) to fit 64 bit to numbers\n const bundleSizes = stats\n .toJson({ assets: true })\n .assets.filter(asset => asset.name.endsWith(`.js`))\n .map(asset => asset.size / 1000)\n const pageDataSizes = [...store.getState().pageDataStats.values()]\n\n telemetry.addSiteMeasurement(`BUILD_END`, {\n bundleStats: telemetry.aggregateStats(bundleSizes),\n pageDataStats: telemetry.aggregateStats(pageDataSizes),\n queryStats: graphqlRunner.getStats(),\n })\n }\n\n boundActionCreators.setProgramStatus(`BOOTSTRAP_QUERY_RUNNING_FINISHED`)\n\n await db.saveState()\n\n await waitUntilAllJobsComplete()\n\n // we need to save it again to make sure our latest state has been saved\n await db.saveState()\n\n let pagePaths = [...store.getState().pages.keys()]\n\n // Rebuild subset of pages if user opt into GATSBY_EXPERIMENTAL_PAGE_BUILD_ON_DATA_CHANGES\n // if there were no source files (for example components, static queries, etc) changes since last build, otherwise rebuild all pages\n if (process.env.GATSBY_EXPERIMENTAL_PAGE_BUILD_ON_DATA_CHANGES) {\n if (\n cachedWebpackCompilationHash === store.getState().webpackCompilationHash\n ) {\n pagePaths = buildUtils.getChangedPageDataKeys(\n store.getState(),\n cachedPageData\n )\n } else if (cachedWebpackCompilationHash) {\n report.info(\n report.stripIndent(`\n One or more of your source files have changed since the last time you ran Gatsby. All\n pages will be rebuilt.\n `)\n )\n }\n }\n\n const buildSSRBundleActivityProgress = report.activityTimer(\n `Building HTML renderer`,\n { parentSpan: buildSpan }\n )\n buildSSRBundleActivityProgress.start()\n let pageRenderer: string\n try {\n pageRenderer = await buildRenderer(program, Stage.BuildHTML, buildSpan)\n } catch (err) {\n buildActivityTimer.panic(structureWebpackErrors(Stage.BuildHTML, err))\n } finally {\n buildSSRBundleActivityProgress.end()\n }\n\n telemetry.addSiteMeasurement(`BUILD_END`, {\n pagesCount: pagePaths.length, // number of html files that will be written\n totalPagesCount: store.getState().pages.size, // total number of pages\n })\n\n const buildHTMLActivityProgress = report.createProgress(\n `Building static HTML for pages`,\n pagePaths.length,\n 0,\n {\n parentSpan: buildSpan,\n }\n )\n buildHTMLActivityProgress.start()\n try {\n await doBuildPages(\n pageRenderer,\n pagePaths,\n buildHTMLActivityProgress,\n workerPool\n )\n } catch (err) {\n let id = `95313` // TODO: verify error IDs exist\n const context = {\n errorPath: err.context && err.context.path,\n ref: ``,\n }\n\n const match = err.message.match(\n /ReferenceError: (window|document|localStorage|navigator|alert|location) is not defined/i\n )\n if (match && match[1]) {\n id = `95312`\n context.ref = match[1]\n }\n\n buildHTMLActivityProgress.panic({\n id,\n context,\n error: err,\n })\n }\n buildHTMLActivityProgress.end()\n\n if (!program.keepPageRenderer) {\n try {\n await deleteRenderer(pageRenderer)\n } catch (err) {\n // pass through\n }\n }\n\n let deletedPageKeys: Array<string> = []\n if (process.env.GATSBY_EXPERIMENTAL_PAGE_BUILD_ON_DATA_CHANGES) {\n const deletePageDataActivityTimer = report.activityTimer(\n `Delete previous page data`\n )\n deletePageDataActivityTimer.start()\n deletedPageKeys = buildUtils.collectRemovedPageData(\n store.getState(),\n cachedPageData\n )\n await buildUtils.removePageFiles(publicDir, deletedPageKeys)\n\n deletePageDataActivityTimer.end()\n }\n\n const postBuildActivityTimer = report.activityTimer(`onPostBuild`, {\n parentSpan: buildSpan,\n })\n postBuildActivityTimer.start()\n await apiRunnerNode(`onPostBuild`, {\n graphql: gatsbyNodeGraphQLFunction,\n parentSpan: buildSpan,\n })\n postBuildActivityTimer.end()\n\n // Wait for any jobs that were started in onPostBuild\n // This could occur due to queries being run which invoke sharp for instance\n await waitUntilAllJobsComplete()\n\n // Make sure we saved the latest state so we have all jobs cached\n await db.saveState()\n\n report.info(`Done building in ${process.uptime()} sec`)\n\n buildSpan.finish()\n await stopTracer()\n workerPool.end()\n buildActivity.end()\n\n if (\n process.env.GATSBY_EXPERIMENTAL_PAGE_BUILD_ON_DATA_CHANGES &&\n process.argv.includes(`--log-pages`)\n ) {\n if (pagePaths.length) {\n report.info(\n `Built pages:\\n${pagePaths\n .map(path => `Updated page: ${path}`)\n .join(`\\n`)}`\n )\n }\n\n if (deletedPageKeys.length) {\n report.info(\n `Deleted pages:\\n${deletedPageKeys\n .map(path => `Deleted page: ${path}`)\n .join(`\\n`)}`\n )\n }\n }\n\n if (\n process.env.GATSBY_EXPERIMENTAL_PAGE_BUILD_ON_DATA_CHANGES &&\n process.argv.includes(`--write-to-file`)\n ) {\n const createdFilesPath = path.resolve(\n `${program.directory}/.cache`,\n `newPages.txt`\n )\n const createdFilesContent = pagePaths.length\n ? `${pagePaths.join(`\\n`)}\\n`\n : ``\n\n const deletedFilesPath = path.resolve(\n `${program.directory}/.cache`,\n `deletedPages.txt`\n )\n const deletedFilesContent = deletedPageKeys.length\n ? `${deletedPageKeys.join(`\\n`)}\\n`\n : ``\n\n await fs.writeFile(createdFilesPath, createdFilesContent, `utf8`)\n report.info(`.cache/newPages.txt created`)\n\n await fs.writeFile(deletedFilesPath, deletedFilesContent, `utf8`)\n report.info(`.cache/deletedPages.txt created`)\n }\n\n if (await userGetsSevenDayFeedback()) {\n showSevenDayFeedbackRequest()\n } else if (await userPassesFeedbackRequestHeuristic()) {\n showFeedbackRequest()\n }\n}\n"],"file":"build.js"}
1
+ {"version":3,"sources":["../../src/commands/build.ts"],"names":["cachedPageData","cachedWebpackCompilationHash","process","env","GATSBY_EXPERIMENTAL_PAGE_BUILD_ON_DATA_CHANGES","pageData","webpackCompilationHash","module","exports","build","program","VERBOSE","verbose","report","setVerbose","profile","warn","name","sitePackageJson","sitePath","directory","lastRun","Date","now","pid","publicDir","path","join","openTracingConfigFile","buildActivity","phantomActivity","start","telemetry","trackCli","exitCode","buildSpan","span","setTag","gatsbyNodeGraphQLFunction","parentSpan","graphqlRunner","GraphQLRunner","store","collectStats","graphqlTracing","queryIds","graphql","buildActivityTimer","activityTimer","stats","err","panic","Stage","BuildJavascript","end","workerPool","WorkerPool","create","hash","getState","appDataUtil","exists","dispatch","type","payload","rewriteActivityTimer","write","pages","forEach","_value","key","has","boundActionCreators","removePageData","id","isTrackingEnabled","bundleSizes","toJson","assets","filter","asset","endsWith","map","size","pageDataSizes","pageDataStats","values","addSiteMeasurement","bundleStats","aggregateStats","queryStats","getStats","setProgramStatus","db","saveState","pagePaths","keys","buildUtils","getChangedPageDataKeys","info","stripIndent","buildSSRBundleActivityProgress","pageRenderer","BuildHTML","pagesCount","length","totalPagesCount","buildHTMLActivityProgress","createProgress","context","errorPath","ref","match","message","error","keepPageRenderer","deletedPageKeys","deletePageDataActivityTimer","collectRemovedPageData","removePageFiles","postBuildActivityTimer","uptime","finish","argv","includes","createdFilesPath","resolve","createdFilesContent","deletedFilesPath","deletedFilesContent","fs","writeFile"],"mappings":"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","sourcesContent":["import path from \"path\"\nimport report from \"gatsby-cli/lib/reporter\"\nimport signalExit from \"signal-exit\"\nimport fs from \"fs-extra\"\nimport telemetry from \"gatsby-telemetry\"\n\nimport { doBuildPages, buildRenderer, deleteRenderer } from \"./build-html\"\nimport { buildProductionBundle } from \"./build-javascript\"\nimport { bootstrap } from \"../bootstrap\"\nimport apiRunnerNode from \"../utils/api-runner-node\"\nimport { GraphQLRunner } from \"../query/graphql-runner\"\nimport { copyStaticDirs } from \"../utils/get-static-dir\"\nimport { initTracer, stopTracer } from \"../utils/tracer\"\nimport db from \"../db\"\nimport { store, readState } from \"../redux\"\nimport * as appDataUtil from \"../utils/app-data\"\nimport { flush as flushPendingPageDataWrites } from \"../utils/page-data\"\nimport * as WorkerPool from \"../utils/worker/pool\"\nimport { structureWebpackErrors } from \"../utils/webpack-error-utils\"\nimport {\n userGetsSevenDayFeedback,\n userPassesFeedbackRequestHeuristic,\n showFeedbackRequest,\n showSevenDayFeedbackRequest,\n} from \"../utils/feedback\"\nimport * as buildUtils from \"./build-utils\"\nimport { boundActionCreators } from \"../redux/actions\"\nimport { waitUntilAllJobsComplete } from \"../utils/wait-until-jobs-complete\"\nimport { IProgram, Stage } from \"./types\"\nimport { PackageJson } from \"../..\"\nimport {\n calculateDirtyQueries,\n runStaticQueries,\n runPageQueries,\n writeOutRequires,\n} from \"../services\"\nimport {\n markWebpackStatusAsPending,\n markWebpackStatusAsDone,\n} from \"../utils/webpack-status\"\nimport { updateSiteMetadata, isTruthy } from \"gatsby-core-utils\"\n\nlet cachedPageData\nlet cachedWebpackCompilationHash\nif (process.env.GATSBY_EXPERIMENTAL_PAGE_BUILD_ON_DATA_CHANGES) {\n const { pageData, webpackCompilationHash } = readState()\n // extract only data that we need to reuse and let v8 garbage collect rest of state\n cachedPageData = pageData\n cachedWebpackCompilationHash = webpackCompilationHash\n}\n\ninterface IBuildArgs extends IProgram {\n directory: string\n sitePackageJson: PackageJson\n prefixPaths: boolean\n noUglify: boolean\n profile: boolean\n graphqlTracing: boolean\n openTracingConfigFile: string\n keepPageRenderer: boolean\n}\n\nmodule.exports = async function build(program: IBuildArgs): Promise<void> {\n if (isTruthy(process.env.VERBOSE)) {\n program.verbose = true\n }\n report.setVerbose(program.verbose)\n\n if (program.profile) {\n report.warn(\n `React Profiling is enabled. This can have a performance impact. See https://www.gatsbyjs.org/docs/profiling-site-performance-with-react-profiler/#performance-impact`\n )\n }\n\n await updateSiteMetadata({\n name: program.sitePackageJson.name,\n sitePath: program.directory,\n lastRun: Date.now(),\n pid: process.pid,\n })\n\n markWebpackStatusAsPending()\n\n const publicDir = path.join(program.directory, `public`)\n initTracer(program.openTracingConfigFile)\n const buildActivity = report.phantomActivity(`build`)\n buildActivity.start()\n\n telemetry.trackCli(`BUILD_START`)\n signalExit(exitCode => {\n telemetry.trackCli(`BUILD_END`, { exitCode })\n })\n\n const buildSpan = buildActivity.span\n buildSpan.setTag(`directory`, program.directory)\n\n const { gatsbyNodeGraphQLFunction } = await bootstrap({\n program,\n parentSpan: buildSpan,\n })\n\n const graphqlRunner = new GraphQLRunner(store, {\n collectStats: true,\n graphqlTracing: program.graphqlTracing,\n })\n\n const { queryIds } = await calculateDirtyQueries({ store })\n\n await runStaticQueries({\n queryIds,\n parentSpan: buildSpan,\n store,\n graphqlRunner,\n })\n\n await runPageQueries({\n queryIds,\n graphqlRunner,\n parentSpan: buildSpan,\n store,\n })\n\n await writeOutRequires({\n store,\n parentSpan: buildSpan,\n })\n\n await apiRunnerNode(`onPreBuild`, {\n graphql: gatsbyNodeGraphQLFunction,\n parentSpan: buildSpan,\n })\n\n // Copy files from the static directory to\n // an equivalent static directory within public.\n copyStaticDirs()\n\n const buildActivityTimer = report.activityTimer(\n `Building production JavaScript and CSS bundles`,\n { parentSpan: buildSpan }\n )\n buildActivityTimer.start()\n let stats\n try {\n stats = await buildProductionBundle(program, buildActivityTimer.span)\n } catch (err) {\n buildActivityTimer.panic(structureWebpackErrors(Stage.BuildJavascript, err))\n } finally {\n buildActivityTimer.end()\n }\n\n const workerPool = WorkerPool.create()\n\n const webpackCompilationHash = stats.hash\n if (\n webpackCompilationHash !== store.getState().webpackCompilationHash ||\n !appDataUtil.exists(publicDir)\n ) {\n store.dispatch({\n type: `SET_WEBPACK_COMPILATION_HASH`,\n payload: webpackCompilationHash,\n })\n\n const rewriteActivityTimer = report.activityTimer(\n `Rewriting compilation hashes`,\n {\n parentSpan: buildSpan,\n }\n )\n rewriteActivityTimer.start()\n\n await appDataUtil.write(publicDir, webpackCompilationHash)\n\n rewriteActivityTimer.end()\n }\n\n await flushPendingPageDataWrites()\n markWebpackStatusAsDone()\n\n if (process.env.GATSBY_EXPERIMENTAL_PAGE_BUILD_ON_DATA_CHANGES) {\n const { pages } = store.getState()\n if (cachedPageData) {\n cachedPageData.forEach((_value, key) => {\n if (!pages.has(key)) {\n boundActionCreators.removePageData({\n id: key,\n })\n }\n })\n }\n }\n\n if (telemetry.isTrackingEnabled()) {\n // transform asset size to kB (from bytes) to fit 64 bit to numbers\n const bundleSizes = stats\n .toJson({ assets: true })\n .assets.filter(asset => asset.name.endsWith(`.js`))\n .map(asset => asset.size / 1000)\n const pageDataSizes = [...store.getState().pageDataStats.values()]\n\n telemetry.addSiteMeasurement(`BUILD_END`, {\n bundleStats: telemetry.aggregateStats(bundleSizes),\n pageDataStats: telemetry.aggregateStats(pageDataSizes),\n queryStats: graphqlRunner.getStats(),\n })\n }\n\n boundActionCreators.setProgramStatus(`BOOTSTRAP_QUERY_RUNNING_FINISHED`)\n\n await db.saveState()\n\n await waitUntilAllJobsComplete()\n\n // we need to save it again to make sure our latest state has been saved\n await db.saveState()\n\n let pagePaths = [...store.getState().pages.keys()]\n\n // Rebuild subset of pages if user opt into GATSBY_EXPERIMENTAL_PAGE_BUILD_ON_DATA_CHANGES\n // if there were no source files (for example components, static queries, etc) changes since last build, otherwise rebuild all pages\n if (process.env.GATSBY_EXPERIMENTAL_PAGE_BUILD_ON_DATA_CHANGES) {\n if (\n cachedWebpackCompilationHash === store.getState().webpackCompilationHash\n ) {\n pagePaths = buildUtils.getChangedPageDataKeys(\n store.getState(),\n cachedPageData\n )\n } else if (cachedWebpackCompilationHash) {\n report.info(\n report.stripIndent(`\n One or more of your source files have changed since the last time you ran Gatsby. All\n pages will be rebuilt.\n `)\n )\n }\n }\n\n const buildSSRBundleActivityProgress = report.activityTimer(\n `Building HTML renderer`,\n { parentSpan: buildSpan }\n )\n buildSSRBundleActivityProgress.start()\n let pageRenderer: string\n try {\n pageRenderer = await buildRenderer(program, Stage.BuildHTML, buildSpan)\n } catch (err) {\n buildActivityTimer.panic(structureWebpackErrors(Stage.BuildHTML, err))\n } finally {\n buildSSRBundleActivityProgress.end()\n }\n\n telemetry.addSiteMeasurement(`BUILD_END`, {\n pagesCount: pagePaths.length, // number of html files that will be written\n totalPagesCount: store.getState().pages.size, // total number of pages\n })\n\n const buildHTMLActivityProgress = report.createProgress(\n `Building static HTML for pages`,\n pagePaths.length,\n 0,\n {\n parentSpan: buildSpan,\n }\n )\n buildHTMLActivityProgress.start()\n try {\n await doBuildPages(\n pageRenderer,\n pagePaths,\n buildHTMLActivityProgress,\n workerPool\n )\n } catch (err) {\n let id = `95313` // TODO: verify error IDs exist\n const context = {\n errorPath: err.context && err.context.path,\n ref: ``,\n }\n\n const match = err.message.match(\n /ReferenceError: (window|document|localStorage|navigator|alert|location) is not defined/i\n )\n if (match && match[1]) {\n id = `95312`\n context.ref = match[1]\n }\n\n buildHTMLActivityProgress.panic({\n id,\n context,\n error: err,\n })\n }\n buildHTMLActivityProgress.end()\n\n if (!program.keepPageRenderer) {\n try {\n await deleteRenderer(pageRenderer)\n } catch (err) {\n // pass through\n }\n }\n\n let deletedPageKeys: Array<string> = []\n if (process.env.GATSBY_EXPERIMENTAL_PAGE_BUILD_ON_DATA_CHANGES) {\n const deletePageDataActivityTimer = report.activityTimer(\n `Delete previous page data`\n )\n deletePageDataActivityTimer.start()\n deletedPageKeys = buildUtils.collectRemovedPageData(\n store.getState(),\n cachedPageData\n )\n await buildUtils.removePageFiles(publicDir, deletedPageKeys)\n\n deletePageDataActivityTimer.end()\n }\n\n const postBuildActivityTimer = report.activityTimer(`onPostBuild`, {\n parentSpan: buildSpan,\n })\n postBuildActivityTimer.start()\n await apiRunnerNode(`onPostBuild`, {\n graphql: gatsbyNodeGraphQLFunction,\n parentSpan: buildSpan,\n })\n postBuildActivityTimer.end()\n\n // Wait for any jobs that were started in onPostBuild\n // This could occur due to queries being run which invoke sharp for instance\n await waitUntilAllJobsComplete()\n\n // Make sure we saved the latest state so we have all jobs cached\n await db.saveState()\n\n report.info(`Done building in ${process.uptime()} sec`)\n\n buildSpan.finish()\n await stopTracer()\n workerPool.end()\n buildActivity.end()\n\n if (\n process.env.GATSBY_EXPERIMENTAL_PAGE_BUILD_ON_DATA_CHANGES &&\n process.argv.includes(`--log-pages`)\n ) {\n if (pagePaths.length) {\n report.info(\n `Built pages:\\n${pagePaths\n .map(path => `Updated page: ${path}`)\n .join(`\\n`)}`\n )\n }\n\n if (deletedPageKeys.length) {\n report.info(\n `Deleted pages:\\n${deletedPageKeys\n .map(path => `Deleted page: ${path}`)\n .join(`\\n`)}`\n )\n }\n }\n\n if (\n process.env.GATSBY_EXPERIMENTAL_PAGE_BUILD_ON_DATA_CHANGES &&\n process.argv.includes(`--write-to-file`)\n ) {\n const createdFilesPath = path.resolve(\n `${program.directory}/.cache`,\n `newPages.txt`\n )\n const createdFilesContent = pagePaths.length\n ? `${pagePaths.join(`\\n`)}\\n`\n : ``\n\n const deletedFilesPath = path.resolve(\n `${program.directory}/.cache`,\n `deletedPages.txt`\n )\n const deletedFilesContent = deletedPageKeys.length\n ? `${deletedPageKeys.join(`\\n`)}\\n`\n : ``\n\n await fs.writeFile(createdFilesPath, createdFilesContent, `utf8`)\n report.info(`.cache/newPages.txt created`)\n\n await fs.writeFile(deletedFilesPath, deletedFilesContent, `utf8`)\n report.info(`.cache/deletedPages.txt created`)\n }\n\n if (await userGetsSevenDayFeedback()) {\n showSevenDayFeedbackRequest()\n } else if (await userPassesFeedbackRequestHeuristic()) {\n showFeedbackRequest()\n }\n}\n"],"file":"build.js"}
@@ -87,7 +87,11 @@ const openDebuggerPort = debugInfo => {
87
87
  };
88
88
 
89
89
  module.exports = async program => {
90
- _reporter.default.setVerbose((0, _gatsbyCoreUtils.isTruthy)(process.env.VERBOSE) || program.verbose);
90
+ if ((0, _gatsbyCoreUtils.isTruthy)(process.env.VERBOSE)) {
91
+ program.verbose = true;
92
+ }
93
+
94
+ _reporter.default.setVerbose(program.verbose);
91
95
 
92
96
  if (program.debugInfo) {
93
97
  openDebuggerPort(program.debugInfo);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/commands/develop-process.ts"],"names":["tracer","setTimeout","process","send","setInterval","type","telemetry","trackCli","siteMeasurements","totalPagesCount","store","getState","pages","size","on","msg","action","exit","payload","openDebuggerPort","debugInfo","inspector","url","undefined","break","open","port","module","exports","program","reporter","setVerbose","env","VERBOSE","verbose","GATSBY_EXPERIMENTAL_PAGE_BUILD_ON_DATA_CHANGES","panic","chalk","yellow","cyan","openTracingConfigFile","pendingActivity","id","startBackgroundUpdate","parseInt","e","message","app","parentSpan","startSpan","machine","developMachine","withContext","pendingQueryRuns","Set","service","start"],"mappings":"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","sourcesContent":["import { syncStaticDir } from \"../utils/get-static-dir\"\nimport reporter from \"gatsby-cli/lib/reporter\"\nimport chalk from \"chalk\"\nimport telemetry from \"gatsby-telemetry\"\nimport { isTruthy } from \"gatsby-core-utils\"\nimport express from \"express\"\nimport inspector from \"inspector\"\nimport { initTracer } from \"../utils/tracer\"\nimport { detectPortInUseAndPrompt } from \"../utils/detect-port-in-use-and-prompt\"\nimport onExit from \"signal-exit\"\nimport {\n userGetsSevenDayFeedback,\n userPassesFeedbackRequestHeuristic,\n showFeedbackRequest,\n showSevenDayFeedbackRequest,\n} from \"../utils/feedback\"\nimport { markWebpackStatusAsPending } from \"../utils/webpack-status\"\nimport { store } from \"../redux\"\n\nimport { IProgram, IDebugInfo } from \"./types\"\nimport { interpret } from \"xstate\"\nimport { globalTracer } from \"opentracing\"\nimport { developMachine } from \"../state-machines/develop\"\nimport { logTransitions } from \"../utils/state-machine-logging\"\n\nconst tracer = globalTracer()\n\n// const isInteractive = process.stdout.isTTY\n\n// Watch the static directory and copy files to public as they're added or\n// changed. Wait 10 seconds so copying doesn't interfere with the regular\n// bootstrap.\nsetTimeout(() => {\n syncStaticDir()\n}, 10000)\n\n// Time for another story...\n// When the parent process is killed by SIGKILL, Node doesm't kill spawned child processes\n// Hence, we peiodically send a heart beat to the parent to check if it is still alive\n// This will crash with Error [ERR_IPC_CHANNEL_CLOSED]: Channel closed\n// and kill the orphaned child process as a result\nif (process.send) {\n setInterval(() => {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n process.send!({\n type: `HEARTBEAT`,\n })\n }, 1000)\n}\n\nonExit(() => {\n telemetry.trackCli(`DEVELOP_STOP`, {\n siteMeasurements: {\n totalPagesCount: store.getState().pages.size,\n },\n })\n})\n\nprocess.on(`message`, msg => {\n if (msg.type === `COMMAND` && msg.action.type === `EXIT`) {\n process.exit(msg.action.payload)\n }\n})\n\ninterface IDevelopArgs extends IProgram {\n debugInfo: IDebugInfo | null\n}\n\nconst openDebuggerPort = (debugInfo: IDebugInfo): void => {\n if (inspector.url() !== undefined) {\n return // fixes #26708\n }\n\n if (debugInfo.break) {\n inspector.open(debugInfo.port, undefined, true)\n // eslint-disable-next-line no-debugger\n debugger\n } else {\n inspector.open(debugInfo.port)\n }\n}\n\nmodule.exports = async (program: IDevelopArgs): Promise<void> => {\n reporter.setVerbose(isTruthy(process.env.VERBOSE) || program.verbose)\n\n if (program.debugInfo) {\n openDebuggerPort(program.debugInfo)\n }\n\n // We want to prompt the feedback request when users quit develop\n // assuming they pass the heuristic check to know they are a user\n // we want to request feedback from, and we're not annoying them.\n process.on(\n `SIGINT`,\n async (): Promise<void> => {\n if (await userGetsSevenDayFeedback()) {\n showSevenDayFeedbackRequest()\n } else if (await userPassesFeedbackRequestHeuristic()) {\n showFeedbackRequest()\n }\n process.exit(0)\n }\n )\n\n if (process.env.GATSBY_EXPERIMENTAL_PAGE_BUILD_ON_DATA_CHANGES) {\n reporter.panic(\n `The flag ${chalk.yellow(\n `GATSBY_EXPERIMENTAL_PAGE_BUILD_ON_DATA_CHANGES`\n )} is not available with ${chalk.cyan(\n `gatsby develop`\n )}, please retry using ${chalk.cyan(`gatsby build`)}`\n )\n }\n initTracer(program.openTracingConfigFile)\n markWebpackStatusAsPending()\n reporter.pendingActivity({ id: `webpack-develop` })\n telemetry.trackCli(`DEVELOP_START`)\n telemetry.startBackgroundUpdate()\n\n const port =\n typeof program.port === `string` ? parseInt(program.port, 10) : program.port\n\n try {\n program.port = await detectPortInUseAndPrompt(port)\n } catch (e) {\n if (e.message === `USER_REJECTED`) {\n process.exit(0)\n }\n\n throw e\n }\n\n const app = express()\n const parentSpan = tracer.startSpan(`bootstrap`)\n\n const machine = developMachine.withContext({\n program,\n parentSpan,\n app,\n pendingQueryRuns: new Set([`/`]),\n })\n\n const service = interpret(machine)\n\n if (program.verbose) {\n logTransitions(service)\n }\n\n service.start()\n}\n"],"file":"develop-process.js"}
1
+ {"version":3,"sources":["../../src/commands/develop-process.ts"],"names":["tracer","setTimeout","process","send","setInterval","type","telemetry","trackCli","siteMeasurements","totalPagesCount","store","getState","pages","size","on","msg","action","exit","payload","openDebuggerPort","debugInfo","inspector","url","undefined","break","open","port","module","exports","program","env","VERBOSE","verbose","reporter","setVerbose","GATSBY_EXPERIMENTAL_PAGE_BUILD_ON_DATA_CHANGES","panic","chalk","yellow","cyan","openTracingConfigFile","pendingActivity","id","startBackgroundUpdate","parseInt","e","message","app","parentSpan","startSpan","machine","developMachine","withContext","pendingQueryRuns","Set","service","start"],"mappings":"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","sourcesContent":["import { syncStaticDir } from \"../utils/get-static-dir\"\nimport reporter from \"gatsby-cli/lib/reporter\"\nimport chalk from \"chalk\"\nimport telemetry from \"gatsby-telemetry\"\nimport { isTruthy } from \"gatsby-core-utils\"\nimport express from \"express\"\nimport inspector from \"inspector\"\nimport { initTracer } from \"../utils/tracer\"\nimport { detectPortInUseAndPrompt } from \"../utils/detect-port-in-use-and-prompt\"\nimport onExit from \"signal-exit\"\nimport {\n userGetsSevenDayFeedback,\n userPassesFeedbackRequestHeuristic,\n showFeedbackRequest,\n showSevenDayFeedbackRequest,\n} from \"../utils/feedback\"\nimport { markWebpackStatusAsPending } from \"../utils/webpack-status\"\nimport { store } from \"../redux\"\n\nimport { IProgram, IDebugInfo } from \"./types\"\nimport { interpret } from \"xstate\"\nimport { globalTracer } from \"opentracing\"\nimport { developMachine } from \"../state-machines/develop\"\nimport { logTransitions } from \"../utils/state-machine-logging\"\n\nconst tracer = globalTracer()\n\n// const isInteractive = process.stdout.isTTY\n\n// Watch the static directory and copy files to public as they're added or\n// changed. Wait 10 seconds so copying doesn't interfere with the regular\n// bootstrap.\nsetTimeout(() => {\n syncStaticDir()\n}, 10000)\n\n// Time for another story...\n// When the parent process is killed by SIGKILL, Node doesm't kill spawned child processes\n// Hence, we peiodically send a heart beat to the parent to check if it is still alive\n// This will crash with Error [ERR_IPC_CHANNEL_CLOSED]: Channel closed\n// and kill the orphaned child process as a result\nif (process.send) {\n setInterval(() => {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n process.send!({\n type: `HEARTBEAT`,\n })\n }, 1000)\n}\n\nonExit(() => {\n telemetry.trackCli(`DEVELOP_STOP`, {\n siteMeasurements: {\n totalPagesCount: store.getState().pages.size,\n },\n })\n})\n\nprocess.on(`message`, msg => {\n if (msg.type === `COMMAND` && msg.action.type === `EXIT`) {\n process.exit(msg.action.payload)\n }\n})\n\ninterface IDevelopArgs extends IProgram {\n debugInfo: IDebugInfo | null\n}\n\nconst openDebuggerPort = (debugInfo: IDebugInfo): void => {\n if (inspector.url() !== undefined) {\n return // fixes #26708\n }\n\n if (debugInfo.break) {\n inspector.open(debugInfo.port, undefined, true)\n // eslint-disable-next-line no-debugger\n debugger\n } else {\n inspector.open(debugInfo.port)\n }\n}\n\nmodule.exports = async (program: IDevelopArgs): Promise<void> => {\n if (isTruthy(process.env.VERBOSE)) {\n program.verbose = true\n }\n reporter.setVerbose(program.verbose)\n\n if (program.debugInfo) {\n openDebuggerPort(program.debugInfo)\n }\n\n // We want to prompt the feedback request when users quit develop\n // assuming they pass the heuristic check to know they are a user\n // we want to request feedback from, and we're not annoying them.\n process.on(\n `SIGINT`,\n async (): Promise<void> => {\n if (await userGetsSevenDayFeedback()) {\n showSevenDayFeedbackRequest()\n } else if (await userPassesFeedbackRequestHeuristic()) {\n showFeedbackRequest()\n }\n process.exit(0)\n }\n )\n\n if (process.env.GATSBY_EXPERIMENTAL_PAGE_BUILD_ON_DATA_CHANGES) {\n reporter.panic(\n `The flag ${chalk.yellow(\n `GATSBY_EXPERIMENTAL_PAGE_BUILD_ON_DATA_CHANGES`\n )} is not available with ${chalk.cyan(\n `gatsby develop`\n )}, please retry using ${chalk.cyan(`gatsby build`)}`\n )\n }\n initTracer(program.openTracingConfigFile)\n markWebpackStatusAsPending()\n reporter.pendingActivity({ id: `webpack-develop` })\n telemetry.trackCli(`DEVELOP_START`)\n telemetry.startBackgroundUpdate()\n\n const port =\n typeof program.port === `string` ? parseInt(program.port, 10) : program.port\n\n try {\n program.port = await detectPortInUseAndPrompt(port)\n } catch (e) {\n if (e.message === `USER_REJECTED`) {\n process.exit(0)\n }\n\n throw e\n }\n\n const app = express()\n const parentSpan = tracer.startSpan(`bootstrap`)\n\n const machine = developMachine.withContext({\n program,\n parentSpan,\n app,\n pendingQueryRuns: new Set([`/`]),\n })\n\n const service = interpret(machine)\n\n if (program.verbose) {\n logTransitions(service)\n }\n\n service.start()\n}\n"],"file":"develop-process.js"}
@@ -484,11 +484,22 @@ actions.deleteNodes = (nodes, plugin) => {
484
484
  fullNodes: nodeIds.map(getNode)
485
485
  };
486
486
  return deleteNodesAction;
487
- }; // We add a counter to internal to make sure we maintain insertion order for
488
- // backends that don't do that out of the box
487
+ }; // We add a counter to node.internal for fast comparisons/intersections
488
+ // of various node slices. The counter must increase even across builds.
489
489
 
490
490
 
491
- let NODE_COUNTER = 0;
491
+ function getNextNodeCounter() {
492
+ var _store$getState$statu;
493
+
494
+ const lastNodeCounter = (_store$getState$statu = store.getState().status.LAST_NODE_COUNTER) !== null && _store$getState$statu !== void 0 ? _store$getState$statu : 0;
495
+
496
+ if (lastNodeCounter >= Number.MAX_SAFE_INTEGER) {
497
+ throw new Error(`Could not create more nodes. Maximum node count is reached: ${lastNodeCounter}`);
498
+ }
499
+
500
+ return lastNodeCounter + 1;
501
+ }
502
+
492
503
  const typeOwners = {}; // memberof notation is added so this code can be referenced instead of the wrapper.
493
504
 
494
505
  /**
@@ -577,10 +588,8 @@ const createNode = (node, plugin, actionOptions = {}) => {
577
588
 
578
589
  if (!node.internal) {
579
590
  node.internal = {};
580
- }
591
+ } // Ensure the new node has a children array.
581
592
 
582
- NODE_COUNTER++;
583
- node.internal.counter = NODE_COUNTER; // Ensure the new node has a children array.
584
593
 
585
594
  if (!node.array && !_.isArray(node.children)) {
586
595
  node.children = [];
@@ -723,6 +732,7 @@ const createNode = (node, plugin, actionOptions = {}) => {
723
732
  deleteActions = findChildren(oldNode.children).map(getNode).map(createDeleteAction);
724
733
  }
725
734
 
735
+ node.internal.counter = getNextNodeCounter();
726
736
  updateNodeAction = { ...actionOptions,
727
737
  type: `CREATE_NODE`,
728
738
  plugin,