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.
- package/CHANGELOG.md +25 -0
- package/cache-dir/app.js +2 -3
- package/cache-dir/commonjs/app.js +2 -1
- package/cache-dir/commonjs/loading-indicator/indicator.js +3 -2
- package/cache-dir/loading-indicator/indicator.js +2 -1
- package/dist/commands/build.js +5 -1
- package/dist/commands/build.js.map +1 -1
- package/dist/commands/develop-process.js +5 -1
- package/dist/commands/develop-process.js.map +1 -1
- package/dist/redux/actions/public.js +16 -6
- package/dist/redux/actions/public.js.map +1 -1
- package/dist/redux/nodes.js +5 -1
- package/dist/redux/nodes.js.map +1 -1
- package/dist/redux/reducers/status.d.ts +1 -0
- package/dist/redux/reducers/status.js +5 -0
- package/dist/redux/reducers/status.js.map +1 -1
- package/dist/redux/types.d.ts +1 -0
- package/dist/redux/types.js.map +1 -1
- package/dist/state-machines/develop/index.js +1 -3
- package/dist/state-machines/develop/index.js.map +1 -1
- package/dist/utils/dev-ssr/develop-html-route.js +3 -3
- package/dist/utils/dev-ssr/develop-html-route.js.map +1 -1
- package/dist/utils/dev-ssr/render-dev-html.js +3 -2
- package/dist/utils/dev-ssr/render-dev-html.js.map +1 -1
- package/dist/utils/develop-preload-headers.js +1 -1
- package/dist/utils/develop-preload-headers.js.map +1 -1
- package/gatsby-admin-public/4c744e84-6c27fb4a13dc8c8c3e88.js.map +1 -1
- package/gatsby-admin-public/69bd6bf3-00a5b50945cce68e041c.js.map +1 -1
- package/gatsby-admin-public/784b2cee55c07b638f20445dec340adf9f1888a3-d690a55f56dedc0f95b3.js.map +1 -1
- package/gatsby-admin-public/854a7ef1f34af0aefbdfdd9304a0c00251662775-30cef3c004238987a416.js.map +1 -1
- package/gatsby-admin-public/{app-ae73c37ae339da42b23e.js → app-749bdcbe1800236c1de3.js} +2 -2
- package/gatsby-admin-public/{app-ae73c37ae339da42b23e.js.LICENSE.txt → app-749bdcbe1800236c1de3.js.LICENSE.txt} +0 -0
- package/gatsby-admin-public/app-749bdcbe1800236c1de3.js.map +1 -0
- package/gatsby-admin-public/c432bec7e9afb3443fd639df9e5f119e13575cf7-976ea4aa8380d4a68cb1.js.map +1 -1
- package/gatsby-admin-public/chunk-map.json +1 -1
- package/gatsby-admin-public/component---src-pages-index-tsx-70aa31e4e1eca0a560a8.js.map +1 -1
- package/gatsby-admin-public/component---src-pages-plugins-tsx-c6700b48ed9ac88a9768.js.map +1 -1
- package/gatsby-admin-public/{component---src-pages-recipe-js-48fb05e6af01805f0a27.js → component---src-pages-recipe-js-e508d7ea0c80b0071ca7.js} +1 -1
- package/gatsby-admin-public/component---src-pages-recipe-js-e508d7ea0c80b0071ca7.js.map +1 -0
- package/gatsby-admin-public/e2852b4470dcb2615e49edcd9de2a3c8119d4bec-fbd253211b90ee4d944c.js.map +1 -1
- package/gatsby-admin-public/framework-b5530edc347e85dd3979.js.map +1 -1
- package/gatsby-admin-public/index.html +1 -1
- package/gatsby-admin-public/page-data/app-data.json +1 -1
- package/gatsby-admin-public/pages/index.html +1 -1
- package/gatsby-admin-public/plugins/index.html +1 -1
- package/gatsby-admin-public/{polyfill-bb3950ad41cd96a6ba64.js → polyfill-dce23570cfd77335f976.js} +2 -2
- package/gatsby-admin-public/polyfill-dce23570cfd77335f976.js.map +1 -0
- package/gatsby-admin-public/recipe/index.html +1 -1
- package/gatsby-admin-public/recipes/index.html +1 -1
- package/gatsby-admin-public/{webpack-runtime-ece0b6a1fdfb71d1b025.js → webpack-runtime-276364d320252125351e.js} +2 -2
- package/gatsby-admin-public/{webpack-runtime-ece0b6a1fdfb71d1b025.js.map → webpack-runtime-276364d320252125351e.js.map} +1 -1
- package/gatsby-admin-public/webpack.stats.json +1 -1
- package/package.json +4 -4
- package/gatsby-admin-public/app-ae73c37ae339da42b23e.js.map +0 -1
- package/gatsby-admin-public/component---src-pages-recipe-js-48fb05e6af01805f0a27.js.map +0 -1
- 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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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">
|
package/dist/commands/build.js
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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","
|
|
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
|
|
488
|
-
//
|
|
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
|
-
|
|
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,
|