gatsby 4.22.0-next.3 → 4.22.0
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 +41 -0
- package/cache-dir/app.js +3 -0
- package/cache-dir/commonjs/app.js +2 -0
- package/cache-dir/commonjs/head/head-export-handler-for-browser.js +2 -2
- package/cache-dir/commonjs/head/head-export-handler-for-ssr.js +3 -1
- package/cache-dir/head/head-export-handler-for-browser.js +1 -1
- package/cache-dir/head/head-export-handler-for-ssr.js +1 -1
- package/dist/commands/build.js +37 -1
- package/dist/commands/build.js.map +1 -1
- package/dist/commands/types.d.ts +1 -0
- package/dist/commands/types.js.map +1 -1
- package/dist/internal-plugins/functions/gatsby-node.js +0 -1
- package/dist/internal-plugins/functions/gatsby-node.js.map +1 -1
- package/dist/joi-schemas/joi.js +4 -2
- package/dist/joi-schemas/joi.js.map +1 -1
- package/dist/redux/actions/public.js +7 -5
- package/dist/redux/actions/public.js.map +1 -1
- package/dist/redux/types.d.ts +1 -0
- package/dist/redux/types.js.map +1 -1
- package/dist/services/initialize.js +6 -3
- package/dist/services/initialize.js.map +1 -1
- package/dist/state-machines/data-layer/index.d.ts +3 -3
- package/dist/state-machines/data-layer/services.d.ts +2 -2
- package/dist/state-machines/data-layer/services.js.map +1 -1
- package/dist/state-machines/develop/index.d.ts +2 -3
- package/dist/state-machines/develop/services.d.ts +2 -2
- package/dist/state-machines/develop/services.js.map +1 -1
- package/dist/state-machines/query-running/index.d.ts +1 -1
- package/dist/state-machines/query-running/services.d.ts +2 -2
- package/dist/state-machines/query-running/services.js.map +1 -1
- package/dist/state-machines/waiting/index.d.ts +2 -2
- package/dist/utils/eslint-config.d.ts +1 -2
- package/dist/utils/eslint-config.js +2 -11
- package/dist/utils/eslint-config.js.map +1 -1
- package/dist/utils/flags.js +23 -0
- package/dist/utils/flags.js.map +1 -1
- package/dist/utils/get-public-path.d.ts +1 -1
- package/dist/utils/get-public-path.js.map +1 -1
- package/dist/utils/js-chunk-names.js +2 -1
- package/dist/utils/js-chunk-names.js.map +1 -1
- package/dist/utils/parcel/compile-gatsby-files.d.ts +2 -1
- package/dist/utils/parcel/compile-gatsby-files.js +31 -5
- package/dist/utils/parcel/compile-gatsby-files.js.map +1 -1
- package/dist/utils/sanitize-node.d.ts +12 -0
- package/dist/utils/sanitize-node.js +32 -32
- package/dist/utils/sanitize-node.js.map +1 -1
- package/dist/utils/state-machine-logging.d.ts +3 -1
- package/dist/utils/state-machine-logging.js.map +1 -1
- package/dist/utils/webpack-error-utils.js +8 -2
- package/dist/utils/webpack-error-utils.js.map +1 -1
- package/dist/utils/webpack-utils.d.ts +1 -1
- package/dist/utils/webpack-utils.js +5 -6
- package/dist/utils/webpack-utils.js.map +1 -1
- package/dist/utils/webpack.config.js +3 -7
- package/dist/utils/webpack.config.js.map +1 -1
- package/index.d.ts +1 -0
- package/package.json +23 -23
- package/dist/utils/gatsby-webpack-eslint-graphql-schema-reload-plugin.d.ts +0 -8
- package/dist/utils/gatsby-webpack-eslint-graphql-schema-reload-plugin.js +0 -70
- package/dist/utils/gatsby-webpack-eslint-graphql-schema-reload-plugin.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,47 @@
|
|
|
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
|
+
### [4.21.1](https://github.com/gatsbyjs/gatsby/commits/gatsby@4.21.1/packages/gatsby) (2022-08-18)
|
|
7
|
+
|
|
8
|
+
#### Chores
|
|
9
|
+
|
|
10
|
+
- pin xstate [#36398](https://github.com/gatsbyjs/gatsby/issues/36398) [#36415](https://github.com/gatsbyjs/gatsby/issues/36415) ([29c7ad1](https://github.com/gatsbyjs/gatsby/commit/29c7ad1335cf25af3a326ea2813399ddfd8ea877))
|
|
11
|
+
|
|
12
|
+
## [4.21.0](https://github.com/gatsbyjs/gatsby/commits/gatsby@4.21.0/packages/gatsby) (2022-08-16)
|
|
13
|
+
|
|
14
|
+
[🧾 Release notes](https://www.gatsbyjs.com/docs/reference/release-notes/v4.21)
|
|
15
|
+
|
|
16
|
+
#### Features
|
|
17
|
+
|
|
18
|
+
- Telemetry tracking for Head API [#36352](https://github.com/gatsbyjs/gatsby/issues/36352) ([f664ad2](https://github.com/gatsbyjs/gatsby/commit/f664ad215a9c5fa20dbf04238e69629b58ff2fc2))
|
|
19
|
+
- Do not use context for script collection [#36246](https://github.com/gatsbyjs/gatsby/issues/36246) ([49cf094](https://github.com/gatsbyjs/gatsby/commit/49cf094380bcf69d9239f8abbbd4db9c1968dcf8))
|
|
20
|
+
|
|
21
|
+
#### Bug Fixes
|
|
22
|
+
|
|
23
|
+
- Hashing and pluginOptions [#36387](https://github.com/gatsbyjs/gatsby/issues/36387) [#36395](https://github.com/gatsbyjs/gatsby/issues/36395) ([3253a38](https://github.com/gatsbyjs/gatsby/commit/3253a3860c9c74bce23c8c2fd1df651e549566b9))
|
|
24
|
+
- Make runtime error overlay work in non-v8 browsers [#36365](https://github.com/gatsbyjs/gatsby/issues/36365) ([2b4ff76](https://github.com/gatsbyjs/gatsby/commit/2b4ff76976aef0eac0e042ede14cc4cff3aa1846))
|
|
25
|
+
- clear and close lmdb after each test suite close [#36343](https://github.com/gatsbyjs/gatsby/issues/36343) ([f990e08](https://github.com/gatsbyjs/gatsby/commit/f990e082b0713db46c92d2ed8f70bdfb24c100f1))
|
|
26
|
+
- e.remove() is not a function when using Gatsby Head API [#36338](https://github.com/gatsbyjs/gatsby/issues/36338) ([7fcf580](https://github.com/gatsbyjs/gatsby/commit/7fcf58069958dc3abe988ef624f04ef7a5eb2073))
|
|
27
|
+
- Panic on gatsby-node.jsx/gatsby-node.tsx [#36308](https://github.com/gatsbyjs/gatsby/issues/36308) ([0ee492c](https://github.com/gatsbyjs/gatsby/commit/0ee492c8bf11917dc08b16acebe92bb752bdc3b7))
|
|
28
|
+
- update dependency eslint-webpack-plugin to ^2.7.0 [#36041](https://github.com/gatsbyjs/gatsby/issues/36041) ([0d649a8](https://github.com/gatsbyjs/gatsby/commit/0d649a81c7befbd39870959166fd77d25514eef7))
|
|
29
|
+
- Add DEV_SSR note to 95312 error [#36295](https://github.com/gatsbyjs/gatsby/issues/36295) ([db531f8](https://github.com/gatsbyjs/gatsby/commit/db531f86f9e89d1da72d44399ad5fb72092be454))
|
|
30
|
+
- Make <script> in Head behave correctly [#36212](https://github.com/gatsbyjs/gatsby/issues/36212) ([6612f69](https://github.com/gatsbyjs/gatsby/commit/6612f69d3abbe9619b22c8d3cb5bfd7a5e0f0ee2))
|
|
31
|
+
|
|
32
|
+
#### Chores
|
|
33
|
+
|
|
34
|
+
- Update `got` [#36366](https://github.com/gatsbyjs/gatsby/issues/36366) ([ab55e4e](https://github.com/gatsbyjs/gatsby/commit/ab55e4e30a023d56e4c4332dfd278015a0f49ee0))
|
|
35
|
+
- update sharp [#35539](https://github.com/gatsbyjs/gatsby/issues/35539) ([a9132a5](https://github.com/gatsbyjs/gatsby/commit/a9132a53eac37f713e8cb8a8246c62f4f8d8f142))
|
|
36
|
+
- upgrade multer [#36359](https://github.com/gatsbyjs/gatsby/issues/36359) ([5b6f1f6](https://github.com/gatsbyjs/gatsby/commit/5b6f1f66d4d38dd15ab5a7d1486063d3aeba4da2))
|
|
37
|
+
- Make `plugins` in `PluginOptions` type optional [#36351](https://github.com/gatsbyjs/gatsby/issues/36351) ([a2fa5a2](https://github.com/gatsbyjs/gatsby/commit/a2fa5a2ded1071e9fb9c32fe2726236bcb2914c2))
|
|
38
|
+
- Pre-encoded unicode characters can't be used in paths [#36325](https://github.com/gatsbyjs/gatsby/issues/36325) ([0ed362c](https://github.com/gatsbyjs/gatsby/commit/0ed362cbab87c7a242338ed58c0ed956059467ac))
|
|
39
|
+
- update dependency @types/semver to ^7.3.10 [#36027](https://github.com/gatsbyjs/gatsby/issues/36027) ([a529451](https://github.com/gatsbyjs/gatsby/commit/a5294515f966b336db6c910168bdc06897d2a42b))
|
|
40
|
+
- convert babel-loader-helpers to typescript [#36237](https://github.com/gatsbyjs/gatsby/issues/36237) ([ee2b0aa](https://github.com/gatsbyjs/gatsby/commit/ee2b0aa1ef98675506cdff41ff5e94bb92549a99))
|
|
41
|
+
|
|
42
|
+
#### Other Changes
|
|
43
|
+
|
|
44
|
+
- BREAKING CHANGE(gatsby-plugin-mdx): MDX v2 [#35650](https://github.com/gatsbyjs/gatsby/issues/35650) ([c92db36](https://github.com/gatsbyjs/gatsby/commit/c92db36642268d1ee50c11ea568f836c7e5b4a03))
|
|
45
|
+
- Revert "chore(gatsby): Make `plugins` in `PluginOptions` type optional (#36351)" [#36351](https://github.com/gatsbyjs/gatsby/issues/36351) ([86b6ee9](https://github.com/gatsbyjs/gatsby/commit/86b6ee9321cf6de6ea53867a6dcd5489eabcb80b))
|
|
46
|
+
|
|
6
47
|
## [4.20.0](https://github.com/gatsbyjs/gatsby/commits/gatsby@4.20.0/packages/gatsby) (2022-08-02)
|
|
7
48
|
|
|
8
49
|
[🧾 Release notes](https://www.gatsbyjs.com/docs/reference/release-notes/v4.20)
|
package/cache-dir/app.js
CHANGED
|
@@ -5,6 +5,8 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
exports.__esModule = true;
|
|
6
6
|
exports.notCalledFunction = notCalledFunction;
|
|
7
7
|
|
|
8
|
+
require("@gatsbyjs/webpack-hot-middleware/client");
|
|
9
|
+
|
|
8
10
|
var _react = _interopRequireDefault(require("react"));
|
|
9
11
|
|
|
10
12
|
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
@@ -36,10 +36,10 @@ const onHeadRendered = () => {
|
|
|
36
36
|
const seenIds = new Map();
|
|
37
37
|
|
|
38
38
|
for (const node of hiddenRoot.childNodes) {
|
|
39
|
-
var _node$attributes$id;
|
|
39
|
+
var _node$attributes, _node$attributes$id;
|
|
40
40
|
|
|
41
41
|
const nodeName = node.nodeName.toLowerCase();
|
|
42
|
-
const id = (_node$attributes
|
|
42
|
+
const id = (_node$attributes = node.attributes) === null || _node$attributes === void 0 ? void 0 : (_node$attributes$id = _node$attributes.id) === null || _node$attributes$id === void 0 ? void 0 : _node$attributes$id.value;
|
|
43
43
|
|
|
44
44
|
if (!_constants.VALID_NODE_NAMES.includes(nodeName)) {
|
|
45
45
|
(0, _utils.warnForInvalidTags)(nodeName);
|
|
@@ -85,10 +85,12 @@ function headHandlerForSSR({
|
|
|
85
85
|
const seenIds = new Map();
|
|
86
86
|
|
|
87
87
|
for (const node of headNodes) {
|
|
88
|
+
var _node$attributes;
|
|
89
|
+
|
|
88
90
|
const {
|
|
89
91
|
rawTagName
|
|
90
92
|
} = node;
|
|
91
|
-
const id = node.attributes.id;
|
|
93
|
+
const id = (_node$attributes = node.attributes) === null || _node$attributes === void 0 ? void 0 : _node$attributes.id;
|
|
92
94
|
|
|
93
95
|
if (!VALID_NODE_NAMES.includes(rawTagName)) {
|
|
94
96
|
warnForInvalidTags(rawTagName);
|
|
@@ -28,7 +28,7 @@ const onHeadRendered = () => {
|
|
|
28
28
|
const seenIds = new Map()
|
|
29
29
|
for (const node of hiddenRoot.childNodes) {
|
|
30
30
|
const nodeName = node.nodeName.toLowerCase()
|
|
31
|
-
const id = node.attributes
|
|
31
|
+
const id = node.attributes?.id?.value
|
|
32
32
|
|
|
33
33
|
if (!VALID_NODE_NAMES.includes(nodeName)) {
|
|
34
34
|
warnForInvalidTags(nodeName)
|
|
@@ -57,7 +57,7 @@ export function headHandlerForSSR({
|
|
|
57
57
|
const seenIds = new Map()
|
|
58
58
|
for (const node of headNodes) {
|
|
59
59
|
const { rawTagName } = node
|
|
60
|
-
const id = node.attributes
|
|
60
|
+
const id = node.attributes?.id
|
|
61
61
|
|
|
62
62
|
if (!VALID_NODE_NAMES.includes(rawTagName)) {
|
|
63
63
|
warnForInvalidTags(rawTagName)
|
package/dist/commands/build.js
CHANGED
|
@@ -68,6 +68,8 @@ var _gatsbyCloudConfig = require("../utils/gatsby-cloud-config");
|
|
|
68
68
|
|
|
69
69
|
var _workerMessaging = require("../utils/jobs/worker-messaging");
|
|
70
70
|
|
|
71
|
+
var _tsCodegen = require("../utils/graphql-typegen/ts-codegen");
|
|
72
|
+
|
|
71
73
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
72
74
|
|
|
73
75
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -90,6 +92,8 @@ externalTelemetryAttributes) {
|
|
|
90
92
|
_reporter.default.warn(`React Profiling is enabled. This can have a performance impact. See https://www.gatsbyjs.com/docs/profiling-site-performance-with-react-profiler/#performance-impact`);
|
|
91
93
|
}
|
|
92
94
|
|
|
95
|
+
_reporter.default.verbose(`Running build in "${process.env.NODE_ENV}" environment`);
|
|
96
|
+
|
|
93
97
|
await (0, _gatsbyCoreUtils.updateInternalSiteMetadata)({
|
|
94
98
|
name: program.sitePackageJson.name,
|
|
95
99
|
sitePath: program.directory,
|
|
@@ -406,7 +410,39 @@ externalTelemetryAttributes) {
|
|
|
406
410
|
parentSpan: buildSpan
|
|
407
411
|
});
|
|
408
412
|
await waitMaterializePageMode;
|
|
409
|
-
const waitWorkerPoolEnd = Promise.all(workerPool.end());
|
|
413
|
+
const waitWorkerPoolEnd = Promise.all(workerPool.end()); // create scope so we don't leak state object
|
|
414
|
+
|
|
415
|
+
{
|
|
416
|
+
const {
|
|
417
|
+
schema,
|
|
418
|
+
definitions,
|
|
419
|
+
config
|
|
420
|
+
} = _redux.store.getState();
|
|
421
|
+
|
|
422
|
+
const directory = program.directory;
|
|
423
|
+
const graphqlTypegenOptions = config.graphqlTypegen; // Only generate types when the option is enabled
|
|
424
|
+
|
|
425
|
+
if (graphqlTypegenOptions && graphqlTypegenOptions.generateOnBuild) {
|
|
426
|
+
const typegenActivity = _reporter.default.activityTimer(`Generating TypeScript types`, {
|
|
427
|
+
parentSpan: buildSpan
|
|
428
|
+
});
|
|
429
|
+
|
|
430
|
+
typegenActivity.start();
|
|
431
|
+
|
|
432
|
+
try {
|
|
433
|
+
await (0, _tsCodegen.writeTypeScriptTypes)(directory, schema, definitions, graphqlTypegenOptions);
|
|
434
|
+
} catch (err) {
|
|
435
|
+
typegenActivity.panicOnBuild({
|
|
436
|
+
id: `12100`,
|
|
437
|
+
context: {
|
|
438
|
+
sourceMessage: err
|
|
439
|
+
}
|
|
440
|
+
});
|
|
441
|
+
}
|
|
442
|
+
|
|
443
|
+
typegenActivity.end();
|
|
444
|
+
}
|
|
445
|
+
}
|
|
410
446
|
{
|
|
411
447
|
let SSGCount = 0;
|
|
412
448
|
let DSGCount = 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","names":["module","exports","build","program","externalTelemetryAttributes","global","__GATSBY","buildId","uuid","v4","root","directory","isTruthy","process","env","VERBOSE","verbose","report","setVerbose","profile","warn","updateInternalSiteMetadata","name","sitePackageJson","sitePath","lastRun","Date","now","pid","markWebpackStatusAsPending","publicDir","path","join","initTracer","GATSBY_OPEN_TRACING_CONFIG_FILE","openTracingConfigFile","buildActivity","phantomActivity","start","telemetry","trackCli","signalExit","exitCode","buildSpan","span","setTag","Object","entries","forEach","key","value","gatsbyNodeGraphQLFunction","workerPool","bootstrap","parentSpan","apiRunnerNode","graphql","writeOutRequires","store","closeJavascriptBundleCompilation","closeHTMLBundleCompilation","webpackAssets","webpackCompilationHash","webpackSSRCompilationHash","engineBundlingPromises","buildActivityTimer","activityTimer","stats","close","buildProductionBundle","hasWarnings","rawMessages","toJson","all","warnings","reportWebpackWarnings","assets","cachedAssets","hash","err","panic","structureWebpackErrors","Stage","BuildJavascript","end","shouldGenerateEngines","state","getState","push","createGraphqlEngineBundle","createPageSSRBundle","rootDir","components","staticQueriesByTemplate","reporter","isVerbose","Promise","buildSSRBundleActivityProgress","buildRenderer","BuildHTML","pageConfigActivity","preparePageTemplateConfigs","validateEnginesActivity","validateEngines","error","id","context","cacheActivity","graphqlRunner","GraphQLRunner","collectStats","graphqlTracing","queryIds","calculateDirtyQueries","pageQueryIds","filter","query","getPageMode","waitMaterializePageMode","materializePageMode","waitForWorkerPoolRestart","resolve","GATSBY_EXPERIMENTAL_PARALLEL_QUERY_RUNNING","runQueriesInWorkersQueue","waitUntilAllJobsComplete","waitUntilWorkerJobsAreComplete","restart","mergeWorkerState","runStaticQueries","runPageQueries","writeQueryContext","send","type","action","timestamp","toJSON","copyStaticDirs","appDataUtil","exists","dispatch","payload","rewriteActivityTimer","write","html","ssrCompilationHash","flushPendingPageDataWrites","markWebpackStatusAsDone","isTrackingEnabled","bundleSizes","asset","endsWith","map","size","pageDataSizes","pageDataStats","values","addSiteMeasurement","bundleStats","aggregateStats","queryStats","getStats","actions","setProgramStatus","db","saveState","keepPageRenderer","toRegenerate","toDelete","buildHTMLPagesAndDeleteStaleArtifacts","waitWorkerPoolEnd","SSGCount","DSGCount","SSRCount","page","pages","mode","pagesCount","length","totalPagesCount","postBuildActivityTimer","e","message","_renderPageTree","functions","gatsbyCloudConfig","constructConfigObject","config","info","uptime","stopTracer","logPages","writeToFile","createdFilesPath","createdFilesContent","deletedFilesPath","deletedFilesContent","fs","writeFile","showExperimentNotices","userGetsSevenDayFeedback","showSevenDayFeedbackRequest","userPassesFeedbackRequestHeuristic","showFeedbackRequest"],"sources":["../../src/commands/build.ts"],"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\"\nimport { updateInternalSiteMetadata, isTruthy, uuid } from \"gatsby-core-utils\"\nimport {\n buildRenderer,\n buildHTMLPagesAndDeleteStaleArtifacts,\n IBuildArgs,\n} 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 * as db from \"../redux/save-state\"\nimport { store } from \"../redux\"\nimport * as appDataUtil from \"../utils/app-data\"\nimport { flush as flushPendingPageDataWrites } from \"../utils/page-data\"\nimport {\n structureWebpackErrors,\n reportWebpackWarnings,\n} from \"../utils/webpack-error-utils\"\nimport {\n userGetsSevenDayFeedback,\n userPassesFeedbackRequestHeuristic,\n showFeedbackRequest,\n showSevenDayFeedbackRequest,\n} from \"../utils/feedback\"\nimport { actions } from \"../redux/actions\"\nimport { waitUntilAllJobsComplete } from \"../utils/wait-until-jobs-complete\"\nimport { Stage } from \"./types\"\nimport {\n calculateDirtyQueries,\n runStaticQueries,\n runPageQueries,\n writeOutRequires,\n} from \"../services\"\nimport {\n markWebpackStatusAsPending,\n markWebpackStatusAsDone,\n} from \"../utils/webpack-status\"\nimport { showExperimentNotices } from \"../utils/show-experiment-notice\"\nimport {\n mergeWorkerState,\n runQueriesInWorkersQueue,\n} from \"../utils/worker/pool\"\nimport { createGraphqlEngineBundle } from \"../schema/graphql-engine/bundle-webpack\"\nimport {\n createPageSSRBundle,\n writeQueryContext,\n} from \"../utils/page-ssr-module/bundle-webpack\"\nimport { shouldGenerateEngines } from \"../utils/engines-helpers\"\nimport reporter from \"gatsby-cli/lib/reporter\"\nimport type webpack from \"webpack\"\nimport {\n materializePageMode,\n getPageMode,\n preparePageTemplateConfigs,\n} from \"../utils/page-mode\"\nimport { validateEngines } from \"../utils/validate-engines\"\nimport { constructConfigObject } from \"../utils/gatsby-cloud-config\"\nimport { waitUntilWorkerJobsAreComplete } from \"../utils/jobs/worker-messaging\"\n\nmodule.exports = async function build(\n program: IBuildArgs,\n // Let external systems running Gatsby to inject attributes\n externalTelemetryAttributes: Record<string, any>\n): Promise<void> {\n // global gatsby object to use without store\n global.__GATSBY = {\n buildId: uuid.v4(),\n root: program!.directory,\n }\n\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.com/docs/profiling-site-performance-with-react-profiler/#performance-impact`\n )\n }\n\n await updateInternalSiteMetadata({\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 if (!externalTelemetryAttributes) {\n await initTracer(\n process.env.GATSBY_OPEN_TRACING_CONFIG_FILE ||\n program.openTracingConfigFile\n )\n }\n\n const buildActivity = report.phantomActivity(`build`)\n buildActivity.start()\n\n telemetry.trackCli(`BUILD_START`)\n signalExit(exitCode => {\n telemetry.trackCli(`BUILD_END`, {\n exitCode: exitCode as number | undefined,\n })\n })\n\n const buildSpan = buildActivity.span\n buildSpan.setTag(`directory`, program.directory)\n\n // Add external tags to buildSpan\n if (externalTelemetryAttributes) {\n Object.entries(externalTelemetryAttributes).forEach(([key, value]) => {\n buildActivity.span.setTag(key, value)\n })\n }\n\n const { gatsbyNodeGraphQLFunction, workerPool } = await bootstrap({\n program,\n parentSpan: buildSpan,\n })\n\n await apiRunnerNode(`onPreBuild`, {\n graphql: gatsbyNodeGraphQLFunction,\n parentSpan: buildSpan,\n })\n\n // writes sync and async require files to disk\n // used inside routing \"html\" + \"javascript\"\n await writeOutRequires({\n store,\n parentSpan: buildSpan,\n })\n\n let closeJavascriptBundleCompilation: (() => Promise<void>) | undefined\n let closeHTMLBundleCompilation: (() => Promise<void>) | undefined\n let webpackAssets: Array<webpack.StatsAsset> | null = null\n let webpackCompilationHash: string | null = null\n let webpackSSRCompilationHash: string | null = null\n\n const engineBundlingPromises: Array<Promise<any>> = []\n const buildActivityTimer = report.activityTimer(\n `Building production JavaScript and CSS bundles`,\n { parentSpan: buildSpan }\n )\n buildActivityTimer.start()\n\n try {\n const { stats, close } = await buildProductionBundle(\n program,\n buildActivityTimer.span\n )\n closeJavascriptBundleCompilation = close\n\n if (stats.hasWarnings()) {\n const rawMessages = stats.toJson({ all: false, warnings: true })\n reportWebpackWarnings(rawMessages.warnings, report)\n }\n\n webpackAssets = stats.toJson({\n all: false,\n assets: true,\n cachedAssets: true,\n }).assets as Array<webpack.StatsAsset>\n webpackCompilationHash = stats.hash as string\n } catch (err) {\n buildActivityTimer.panic(structureWebpackErrors(Stage.BuildJavascript, err))\n } finally {\n buildActivityTimer.end()\n }\n\n if (_CFLAGS_.GATSBY_MAJOR === `4` && shouldGenerateEngines()) {\n const state = store.getState()\n const buildActivityTimer = report.activityTimer(\n `Building Rendering Engines`,\n { parentSpan: buildSpan }\n )\n try {\n buildActivityTimer.start()\n // bundle graphql-engine\n engineBundlingPromises.push(\n createGraphqlEngineBundle(program.directory, report, program.verbose)\n )\n\n engineBundlingPromises.push(\n createPageSSRBundle({\n rootDir: program.directory,\n components: state.components,\n staticQueriesByTemplate: state.staticQueriesByTemplate,\n webpackCompilationHash: webpackCompilationHash as string, // we set webpackCompilationHash above\n reporter: report,\n isVerbose: program.verbose,\n })\n )\n await Promise.all(engineBundlingPromises)\n } catch (err) {\n reporter.panic(err)\n } finally {\n buildActivityTimer.end()\n }\n }\n\n const buildSSRBundleActivityProgress = report.activityTimer(\n `Building HTML renderer`,\n { parentSpan: buildSpan }\n )\n buildSSRBundleActivityProgress.start()\n try {\n const { close, stats } = await buildRenderer(\n program,\n Stage.BuildHTML,\n buildSSRBundleActivityProgress.span\n )\n\n closeHTMLBundleCompilation = close\n webpackSSRCompilationHash = stats.hash as string\n\n await close()\n } catch (err) {\n buildActivityTimer.panic(structureWebpackErrors(Stage.BuildHTML, err))\n } finally {\n buildSSRBundleActivityProgress.end()\n }\n\n // exec outer config function for each template\n const pageConfigActivity = report.activityTimer(`Execute page configs`, {\n parentSpan: buildSpan,\n })\n pageConfigActivity.start()\n try {\n await preparePageTemplateConfigs(gatsbyNodeGraphQLFunction)\n } catch (err) {\n reporter.panic(err)\n } finally {\n pageConfigActivity.end()\n }\n\n if (_CFLAGS_.GATSBY_MAJOR === `4` && shouldGenerateEngines()) {\n const validateEnginesActivity = report.activityTimer(\n `Validating Rendering Engines`,\n {\n parentSpan: buildSpan,\n }\n )\n validateEnginesActivity.start()\n try {\n await validateEngines(store.getState().program.directory)\n } catch (error) {\n validateEnginesActivity.panic({ id: `98001`, context: {}, error })\n } finally {\n validateEnginesActivity.end()\n }\n }\n\n const cacheActivity = report.activityTimer(`Caching Webpack compilations`, {\n parentSpan: buildSpan,\n })\n try {\n cacheActivity.start()\n await Promise.all([\n closeJavascriptBundleCompilation?.(),\n closeHTMLBundleCompilation?.(),\n ])\n } finally {\n cacheActivity.end()\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 // Only run queries with mode SSG\n if (_CFLAGS_.GATSBY_MAJOR === `4`) {\n queryIds.pageQueryIds = queryIds.pageQueryIds.filter(\n query => getPageMode(query) === `SSG`\n )\n }\n\n // Start saving page.mode in the main process (while queries run in workers in parallel)\n const waitMaterializePageMode = materializePageMode()\n\n let waitForWorkerPoolRestart = Promise.resolve()\n if (process.env.GATSBY_EXPERIMENTAL_PARALLEL_QUERY_RUNNING) {\n await runQueriesInWorkersQueue(workerPool, queryIds, {\n parentSpan: buildSpan,\n })\n // Jobs still might be running even though query running finished\n await Promise.all([\n waitUntilAllJobsComplete(),\n waitUntilWorkerJobsAreComplete(),\n ])\n // Restart worker pool before merging state to lower memory pressure while merging state\n waitForWorkerPoolRestart = workerPool.restart()\n await mergeWorkerState(workerPool, buildSpan)\n } else {\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\n // create scope so we don't leak state object\n {\n const state = store.getState()\n await writeQueryContext({\n staticQueriesByTemplate: state.staticQueriesByTemplate,\n components: state.components,\n })\n }\n\n if (process.send && shouldGenerateEngines()) {\n await waitMaterializePageMode\n process.send({\n type: `LOG_ACTION`,\n action: {\n type: `ENGINES_READY`,\n timestamp: new Date().toJSON(),\n },\n })\n }\n\n // Copy files from the static directory to\n // an equivalent static directory within public.\n copyStaticDirs()\n\n // create scope so we don't leak state object\n {\n const state = store.getState()\n if (\n webpackCompilationHash !== state.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 as string)\n\n rewriteActivityTimer.end()\n }\n\n if (state.html.ssrCompilationHash !== webpackSSRCompilationHash) {\n store.dispatch({\n type: `SET_SSR_WEBPACK_COMPILATION_HASH`,\n payload: webpackSSRCompilationHash,\n })\n }\n }\n\n await flushPendingPageDataWrites(buildSpan)\n markWebpackStatusAsDone()\n\n if (telemetry.isTrackingEnabled()) {\n // transform asset size to kB (from bytes) to fit 64 bit to numbers\n const bundleSizes = (webpackAssets as Array<webpack.StatsAsset>)\n .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 store.dispatch(actions.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 if (_CFLAGS_.GATSBY_MAJOR === `4` && shouldGenerateEngines()) {\n // well, tbf we should just generate this in `.cache` and avoid deleting it :shrug:\n program.keepPageRenderer = true\n }\n\n await waitForWorkerPoolRestart\n\n const { toRegenerate, toDelete } =\n await buildHTMLPagesAndDeleteStaleArtifacts({\n program,\n workerPool,\n parentSpan: buildSpan,\n })\n\n await waitMaterializePageMode\n const waitWorkerPoolEnd = Promise.all(workerPool.end())\n\n {\n let SSGCount = 0\n let DSGCount = 0\n let SSRCount = 0\n for (const page of store.getState().pages.values()) {\n if (page.mode === `SSR`) {\n SSRCount++\n } else if (page.mode === `DSG`) {\n DSGCount++\n } else {\n SSGCount++\n }\n }\n\n telemetry.addSiteMeasurement(`BUILD_END`, {\n pagesCount: toRegenerate.length, // number of html files that will be written\n totalPagesCount: store.getState().pages.size, // total number of pages\n SSRCount,\n DSGCount,\n SSGCount,\n })\n }\n\n const postBuildActivityTimer = report.activityTimer(`onPostBuild`, {\n parentSpan: buildSpan,\n })\n postBuildActivityTimer.start()\n await apiRunnerNode(`onPostBuild`, {\n graphql: gatsbyNodeGraphQLFunction,\n parentSpan: postBuildActivityTimer.span,\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 try {\n await waitWorkerPoolEnd\n } catch (e) {\n report.warn(`Error when closing WorkerPool: ${e.message}`)\n }\n\n // Make sure we saved the latest state so we have all jobs cached\n await db.saveState()\n\n const state = store.getState()\n reporter._renderPageTree({\n components: state.components,\n functions: state.functions,\n pages: state.pages,\n root: state.program.directory,\n })\n\n if (process.send) {\n const gatsbyCloudConfig = constructConfigObject(state.config)\n\n process.send({\n type: `LOG_ACTION`,\n action: {\n type: `GATSBY_CONFIG_KEYS`,\n payload: gatsbyCloudConfig,\n timestamp: new Date().toJSON(),\n },\n })\n }\n\n report.info(`Done building in ${process.uptime()} sec`)\n\n buildActivity.end()\n if (!externalTelemetryAttributes) {\n await stopTracer()\n }\n\n if (program.logPages) {\n if (toRegenerate.length) {\n report.info(\n `Built pages:\\n${toRegenerate\n .map(path => `Updated page: ${path}`)\n .join(`\\n`)}`\n )\n }\n\n if (toDelete.length) {\n report.info(\n `Deleted pages:\\n${toDelete\n .map(path => `Deleted page: ${path}`)\n .join(`\\n`)}`\n )\n }\n }\n\n if (program.writeToFile) {\n const createdFilesPath = path.resolve(\n `${program.directory}/.cache`,\n `newPages.txt`\n )\n const createdFilesContent = toRegenerate.length\n ? `${toRegenerate.join(`\\n`)}\\n`\n : ``\n\n const deletedFilesPath = path.resolve(\n `${program.directory}/.cache`,\n `deletedPages.txt`\n )\n const deletedFilesContent = toDelete.length\n ? `${toDelete.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 showExperimentNotices()\n\n if (await userGetsSevenDayFeedback()) {\n showSevenDayFeedbackRequest()\n } else if (await userPassesFeedbackRequestHeuristic()) {\n showFeedbackRequest()\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"build.js","names":["module","exports","build","program","externalTelemetryAttributes","global","__GATSBY","buildId","uuid","v4","root","directory","isTruthy","process","env","VERBOSE","verbose","report","setVerbose","profile","warn","NODE_ENV","updateInternalSiteMetadata","name","sitePackageJson","sitePath","lastRun","Date","now","pid","markWebpackStatusAsPending","publicDir","path","join","initTracer","GATSBY_OPEN_TRACING_CONFIG_FILE","openTracingConfigFile","buildActivity","phantomActivity","start","telemetry","trackCli","signalExit","exitCode","buildSpan","span","setTag","Object","entries","forEach","key","value","gatsbyNodeGraphQLFunction","workerPool","bootstrap","parentSpan","apiRunnerNode","graphql","writeOutRequires","store","closeJavascriptBundleCompilation","closeHTMLBundleCompilation","webpackAssets","webpackCompilationHash","webpackSSRCompilationHash","engineBundlingPromises","buildActivityTimer","activityTimer","stats","close","buildProductionBundle","hasWarnings","rawMessages","toJson","all","warnings","reportWebpackWarnings","assets","cachedAssets","hash","err","panic","structureWebpackErrors","Stage","BuildJavascript","end","shouldGenerateEngines","state","getState","push","createGraphqlEngineBundle","createPageSSRBundle","rootDir","components","staticQueriesByTemplate","reporter","isVerbose","Promise","buildSSRBundleActivityProgress","buildRenderer","BuildHTML","pageConfigActivity","preparePageTemplateConfigs","validateEnginesActivity","validateEngines","error","id","context","cacheActivity","graphqlRunner","GraphQLRunner","collectStats","graphqlTracing","queryIds","calculateDirtyQueries","pageQueryIds","filter","query","getPageMode","waitMaterializePageMode","materializePageMode","waitForWorkerPoolRestart","resolve","GATSBY_EXPERIMENTAL_PARALLEL_QUERY_RUNNING","runQueriesInWorkersQueue","waitUntilAllJobsComplete","waitUntilWorkerJobsAreComplete","restart","mergeWorkerState","runStaticQueries","runPageQueries","writeQueryContext","send","type","action","timestamp","toJSON","copyStaticDirs","appDataUtil","exists","dispatch","payload","rewriteActivityTimer","write","html","ssrCompilationHash","flushPendingPageDataWrites","markWebpackStatusAsDone","isTrackingEnabled","bundleSizes","asset","endsWith","map","size","pageDataSizes","pageDataStats","values","addSiteMeasurement","bundleStats","aggregateStats","queryStats","getStats","actions","setProgramStatus","db","saveState","keepPageRenderer","toRegenerate","toDelete","buildHTMLPagesAndDeleteStaleArtifacts","waitWorkerPoolEnd","schema","definitions","config","graphqlTypegenOptions","graphqlTypegen","generateOnBuild","typegenActivity","writeTypeScriptTypes","panicOnBuild","sourceMessage","SSGCount","DSGCount","SSRCount","page","pages","mode","pagesCount","length","totalPagesCount","postBuildActivityTimer","e","message","_renderPageTree","functions","gatsbyCloudConfig","constructConfigObject","info","uptime","stopTracer","logPages","writeToFile","createdFilesPath","createdFilesContent","deletedFilesPath","deletedFilesContent","fs","writeFile","showExperimentNotices","userGetsSevenDayFeedback","showSevenDayFeedbackRequest","userPassesFeedbackRequestHeuristic","showFeedbackRequest"],"sources":["../../src/commands/build.ts"],"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\"\nimport { updateInternalSiteMetadata, isTruthy, uuid } from \"gatsby-core-utils\"\nimport {\n buildRenderer,\n buildHTMLPagesAndDeleteStaleArtifacts,\n IBuildArgs,\n} 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 * as db from \"../redux/save-state\"\nimport { store } from \"../redux\"\nimport * as appDataUtil from \"../utils/app-data\"\nimport { flush as flushPendingPageDataWrites } from \"../utils/page-data\"\nimport {\n structureWebpackErrors,\n reportWebpackWarnings,\n} from \"../utils/webpack-error-utils\"\nimport {\n userGetsSevenDayFeedback,\n userPassesFeedbackRequestHeuristic,\n showFeedbackRequest,\n showSevenDayFeedbackRequest,\n} from \"../utils/feedback\"\nimport { actions } from \"../redux/actions\"\nimport { waitUntilAllJobsComplete } from \"../utils/wait-until-jobs-complete\"\nimport { Stage } from \"./types\"\nimport {\n calculateDirtyQueries,\n runStaticQueries,\n runPageQueries,\n writeOutRequires,\n} from \"../services\"\nimport {\n markWebpackStatusAsPending,\n markWebpackStatusAsDone,\n} from \"../utils/webpack-status\"\nimport { showExperimentNotices } from \"../utils/show-experiment-notice\"\nimport {\n mergeWorkerState,\n runQueriesInWorkersQueue,\n} from \"../utils/worker/pool\"\nimport { createGraphqlEngineBundle } from \"../schema/graphql-engine/bundle-webpack\"\nimport {\n createPageSSRBundle,\n writeQueryContext,\n} from \"../utils/page-ssr-module/bundle-webpack\"\nimport { shouldGenerateEngines } from \"../utils/engines-helpers\"\nimport reporter from \"gatsby-cli/lib/reporter\"\nimport type webpack from \"webpack\"\nimport {\n materializePageMode,\n getPageMode,\n preparePageTemplateConfigs,\n} from \"../utils/page-mode\"\nimport { validateEngines } from \"../utils/validate-engines\"\nimport { constructConfigObject } from \"../utils/gatsby-cloud-config\"\nimport { waitUntilWorkerJobsAreComplete } from \"../utils/jobs/worker-messaging\"\nimport { writeTypeScriptTypes } from \"../utils/graphql-typegen/ts-codegen\"\n\nmodule.exports = async function build(\n program: IBuildArgs,\n // Let external systems running Gatsby to inject attributes\n externalTelemetryAttributes: Record<string, any>\n): Promise<void> {\n // global gatsby object to use without store\n global.__GATSBY = {\n buildId: uuid.v4(),\n root: program!.directory,\n }\n\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.com/docs/profiling-site-performance-with-react-profiler/#performance-impact`\n )\n }\n\n report.verbose(`Running build in \"${process.env.NODE_ENV}\" environment`)\n\n await updateInternalSiteMetadata({\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 if (!externalTelemetryAttributes) {\n await initTracer(\n process.env.GATSBY_OPEN_TRACING_CONFIG_FILE ||\n program.openTracingConfigFile\n )\n }\n\n const buildActivity = report.phantomActivity(`build`)\n buildActivity.start()\n\n telemetry.trackCli(`BUILD_START`)\n signalExit(exitCode => {\n telemetry.trackCli(`BUILD_END`, {\n exitCode: exitCode as number | undefined,\n })\n })\n\n const buildSpan = buildActivity.span\n buildSpan.setTag(`directory`, program.directory)\n\n // Add external tags to buildSpan\n if (externalTelemetryAttributes) {\n Object.entries(externalTelemetryAttributes).forEach(([key, value]) => {\n buildActivity.span.setTag(key, value)\n })\n }\n\n const { gatsbyNodeGraphQLFunction, workerPool } = await bootstrap({\n program,\n parentSpan: buildSpan,\n })\n\n await apiRunnerNode(`onPreBuild`, {\n graphql: gatsbyNodeGraphQLFunction,\n parentSpan: buildSpan,\n })\n\n // writes sync and async require files to disk\n // used inside routing \"html\" + \"javascript\"\n await writeOutRequires({\n store,\n parentSpan: buildSpan,\n })\n\n let closeJavascriptBundleCompilation: (() => Promise<void>) | undefined\n let closeHTMLBundleCompilation: (() => Promise<void>) | undefined\n let webpackAssets: Array<webpack.StatsAsset> | null = null\n let webpackCompilationHash: string | null = null\n let webpackSSRCompilationHash: string | null = null\n\n const engineBundlingPromises: Array<Promise<any>> = []\n const buildActivityTimer = report.activityTimer(\n `Building production JavaScript and CSS bundles`,\n { parentSpan: buildSpan }\n )\n buildActivityTimer.start()\n\n try {\n const { stats, close } = await buildProductionBundle(\n program,\n buildActivityTimer.span\n )\n closeJavascriptBundleCompilation = close\n\n if (stats.hasWarnings()) {\n const rawMessages = stats.toJson({ all: false, warnings: true })\n reportWebpackWarnings(rawMessages.warnings, report)\n }\n\n webpackAssets = stats.toJson({\n all: false,\n assets: true,\n cachedAssets: true,\n }).assets as Array<webpack.StatsAsset>\n webpackCompilationHash = stats.hash as string\n } catch (err) {\n buildActivityTimer.panic(structureWebpackErrors(Stage.BuildJavascript, err))\n } finally {\n buildActivityTimer.end()\n }\n\n if (_CFLAGS_.GATSBY_MAJOR === `4` && shouldGenerateEngines()) {\n const state = store.getState()\n const buildActivityTimer = report.activityTimer(\n `Building Rendering Engines`,\n { parentSpan: buildSpan }\n )\n try {\n buildActivityTimer.start()\n // bundle graphql-engine\n engineBundlingPromises.push(\n createGraphqlEngineBundle(program.directory, report, program.verbose)\n )\n\n engineBundlingPromises.push(\n createPageSSRBundle({\n rootDir: program.directory,\n components: state.components,\n staticQueriesByTemplate: state.staticQueriesByTemplate,\n webpackCompilationHash: webpackCompilationHash as string, // we set webpackCompilationHash above\n reporter: report,\n isVerbose: program.verbose,\n })\n )\n await Promise.all(engineBundlingPromises)\n } catch (err) {\n reporter.panic(err)\n } finally {\n buildActivityTimer.end()\n }\n }\n\n const buildSSRBundleActivityProgress = report.activityTimer(\n `Building HTML renderer`,\n { parentSpan: buildSpan }\n )\n buildSSRBundleActivityProgress.start()\n try {\n const { close, stats } = await buildRenderer(\n program,\n Stage.BuildHTML,\n buildSSRBundleActivityProgress.span\n )\n\n closeHTMLBundleCompilation = close\n webpackSSRCompilationHash = stats.hash as string\n\n await close()\n } catch (err) {\n buildActivityTimer.panic(structureWebpackErrors(Stage.BuildHTML, err))\n } finally {\n buildSSRBundleActivityProgress.end()\n }\n\n // exec outer config function for each template\n const pageConfigActivity = report.activityTimer(`Execute page configs`, {\n parentSpan: buildSpan,\n })\n pageConfigActivity.start()\n try {\n await preparePageTemplateConfigs(gatsbyNodeGraphQLFunction)\n } catch (err) {\n reporter.panic(err)\n } finally {\n pageConfigActivity.end()\n }\n\n if (_CFLAGS_.GATSBY_MAJOR === `4` && shouldGenerateEngines()) {\n const validateEnginesActivity = report.activityTimer(\n `Validating Rendering Engines`,\n {\n parentSpan: buildSpan,\n }\n )\n validateEnginesActivity.start()\n try {\n await validateEngines(store.getState().program.directory)\n } catch (error) {\n validateEnginesActivity.panic({ id: `98001`, context: {}, error })\n } finally {\n validateEnginesActivity.end()\n }\n }\n\n const cacheActivity = report.activityTimer(`Caching Webpack compilations`, {\n parentSpan: buildSpan,\n })\n try {\n cacheActivity.start()\n await Promise.all([\n closeJavascriptBundleCompilation?.(),\n closeHTMLBundleCompilation?.(),\n ])\n } finally {\n cacheActivity.end()\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 // Only run queries with mode SSG\n if (_CFLAGS_.GATSBY_MAJOR === `4`) {\n queryIds.pageQueryIds = queryIds.pageQueryIds.filter(\n query => getPageMode(query) === `SSG`\n )\n }\n\n // Start saving page.mode in the main process (while queries run in workers in parallel)\n const waitMaterializePageMode = materializePageMode()\n\n let waitForWorkerPoolRestart = Promise.resolve()\n if (process.env.GATSBY_EXPERIMENTAL_PARALLEL_QUERY_RUNNING) {\n await runQueriesInWorkersQueue(workerPool, queryIds, {\n parentSpan: buildSpan,\n })\n // Jobs still might be running even though query running finished\n await Promise.all([\n waitUntilAllJobsComplete(),\n waitUntilWorkerJobsAreComplete(),\n ])\n // Restart worker pool before merging state to lower memory pressure while merging state\n waitForWorkerPoolRestart = workerPool.restart()\n await mergeWorkerState(workerPool, buildSpan)\n } else {\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\n // create scope so we don't leak state object\n {\n const state = store.getState()\n await writeQueryContext({\n staticQueriesByTemplate: state.staticQueriesByTemplate,\n components: state.components,\n })\n }\n\n if (process.send && shouldGenerateEngines()) {\n await waitMaterializePageMode\n process.send({\n type: `LOG_ACTION`,\n action: {\n type: `ENGINES_READY`,\n timestamp: new Date().toJSON(),\n },\n })\n }\n\n // Copy files from the static directory to\n // an equivalent static directory within public.\n copyStaticDirs()\n\n // create scope so we don't leak state object\n {\n const state = store.getState()\n if (\n webpackCompilationHash !== state.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 as string)\n\n rewriteActivityTimer.end()\n }\n\n if (state.html.ssrCompilationHash !== webpackSSRCompilationHash) {\n store.dispatch({\n type: `SET_SSR_WEBPACK_COMPILATION_HASH`,\n payload: webpackSSRCompilationHash,\n })\n }\n }\n\n await flushPendingPageDataWrites(buildSpan)\n markWebpackStatusAsDone()\n\n if (telemetry.isTrackingEnabled()) {\n // transform asset size to kB (from bytes) to fit 64 bit to numbers\n const bundleSizes = (webpackAssets as Array<webpack.StatsAsset>)\n .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 store.dispatch(actions.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 if (_CFLAGS_.GATSBY_MAJOR === `4` && shouldGenerateEngines()) {\n // well, tbf we should just generate this in `.cache` and avoid deleting it :shrug:\n program.keepPageRenderer = true\n }\n\n await waitForWorkerPoolRestart\n\n const { toRegenerate, toDelete } =\n await buildHTMLPagesAndDeleteStaleArtifacts({\n program,\n workerPool,\n parentSpan: buildSpan,\n })\n\n await waitMaterializePageMode\n const waitWorkerPoolEnd = Promise.all(workerPool.end())\n\n // create scope so we don't leak state object\n {\n const { schema, definitions, config } = store.getState()\n const directory = program.directory\n const graphqlTypegenOptions = config.graphqlTypegen\n\n // Only generate types when the option is enabled\n if (graphqlTypegenOptions && graphqlTypegenOptions.generateOnBuild) {\n const typegenActivity = reporter.activityTimer(\n `Generating TypeScript types`,\n {\n parentSpan: buildSpan,\n }\n )\n typegenActivity.start()\n\n try {\n await writeTypeScriptTypes(\n directory,\n schema,\n definitions,\n graphqlTypegenOptions\n )\n } catch (err) {\n typegenActivity.panicOnBuild({\n id: `12100`,\n context: {\n sourceMessage: err,\n },\n })\n }\n\n typegenActivity.end()\n }\n }\n\n {\n let SSGCount = 0\n let DSGCount = 0\n let SSRCount = 0\n for (const page of store.getState().pages.values()) {\n if (page.mode === `SSR`) {\n SSRCount++\n } else if (page.mode === `DSG`) {\n DSGCount++\n } else {\n SSGCount++\n }\n }\n\n telemetry.addSiteMeasurement(`BUILD_END`, {\n pagesCount: toRegenerate.length, // number of html files that will be written\n totalPagesCount: store.getState().pages.size, // total number of pages\n SSRCount,\n DSGCount,\n SSGCount,\n })\n }\n\n const postBuildActivityTimer = report.activityTimer(`onPostBuild`, {\n parentSpan: buildSpan,\n })\n postBuildActivityTimer.start()\n await apiRunnerNode(`onPostBuild`, {\n graphql: gatsbyNodeGraphQLFunction,\n parentSpan: postBuildActivityTimer.span,\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 try {\n await waitWorkerPoolEnd\n } catch (e) {\n report.warn(`Error when closing WorkerPool: ${e.message}`)\n }\n\n // Make sure we saved the latest state so we have all jobs cached\n await db.saveState()\n\n const state = store.getState()\n reporter._renderPageTree({\n components: state.components,\n functions: state.functions,\n pages: state.pages,\n root: state.program.directory,\n })\n\n if (process.send) {\n const gatsbyCloudConfig = constructConfigObject(state.config)\n\n process.send({\n type: `LOG_ACTION`,\n action: {\n type: `GATSBY_CONFIG_KEYS`,\n payload: gatsbyCloudConfig,\n timestamp: new Date().toJSON(),\n },\n })\n }\n\n report.info(`Done building in ${process.uptime()} sec`)\n\n buildActivity.end()\n if (!externalTelemetryAttributes) {\n await stopTracer()\n }\n\n if (program.logPages) {\n if (toRegenerate.length) {\n report.info(\n `Built pages:\\n${toRegenerate\n .map(path => `Updated page: ${path}`)\n .join(`\\n`)}`\n )\n }\n\n if (toDelete.length) {\n report.info(\n `Deleted pages:\\n${toDelete\n .map(path => `Deleted page: ${path}`)\n .join(`\\n`)}`\n )\n }\n }\n\n if (program.writeToFile) {\n const createdFilesPath = path.resolve(\n `${program.directory}/.cache`,\n `newPages.txt`\n )\n const createdFilesContent = toRegenerate.length\n ? `${toRegenerate.join(`\\n`)}\\n`\n : ``\n\n const deletedFilesPath = path.resolve(\n `${program.directory}/.cache`,\n `deletedPages.txt`\n )\n const deletedFilesContent = toDelete.length\n ? `${toDelete.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 showExperimentNotices()\n\n if (await userGetsSevenDayFeedback()) {\n showSevenDayFeedbackRequest()\n } else if (await userPassesFeedbackRequestHeuristic()) {\n showFeedbackRequest()\n }\n}\n"],"mappings":"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"}
|
package/dist/commands/types.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":["BuildHTMLStage","Stage"],"sources":["../../src/commands/types.ts"],"sourcesContent":["import { PackageJson, Reporter } from \"gatsby\"\nimport { Store, AnyAction } from \"redux\"\nimport { IGatsbyState } from \"../redux/types\"\n\nexport interface ICert {\n key: string\n cert: string\n}\n\nexport interface IDebugInfo {\n port: number\n break: boolean\n}\n\nexport interface IProgram {\n _: `develop` | `build` | `clean` | `feedback` | `repl` | `serve`\n status?: string // I think this type should not exist here. It seems to be added in the reducer, but not applicable to the caller site from gatsby-cli\n useYarn: boolean\n open: boolean\n openTracingConfigFile: string\n port: number\n // TODO(v5): remove\n proxyPort: number\n host: string\n report: Reporter\n [`cert-file`]?: string\n [`key-file`]?: string\n directory: string\n https?: boolean\n sitePackageJson: PackageJson\n ssl?: ICert\n inspect?: number\n inspectBrk?: number\n graphqlTracing?: boolean\n verbose?: boolean\n setStore?: (store: Store<IGatsbyState, AnyAction>) => void\n}\n\n/**\n * @deprecated\n * Use `Stage` instead\n */\n\nexport enum BuildHTMLStage {\n DevelopHTML = `develop-html`,\n BuildHTML = `build-html`,\n}\n\nexport enum Stage {\n Develop = `develop`,\n DevelopHTML = `develop-html`,\n BuildJavascript = `build-javascript`,\n BuildHTML = `build-html`,\n}\n"],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"types.js","names":["BuildHTMLStage","Stage"],"sources":["../../src/commands/types.ts"],"sourcesContent":["import { PackageJson, Reporter } from \"gatsby\"\nimport { Store, AnyAction } from \"redux\"\nimport { IGatsbyState } from \"../redux/types\"\n\nexport interface ICert {\n key: string\n cert: string\n}\n\nexport interface IDebugInfo {\n port: number\n break: boolean\n}\n\nexport interface IProgram {\n _: `develop` | `build` | `clean` | `feedback` | `repl` | `serve`\n status?: string // I think this type should not exist here. It seems to be added in the reducer, but not applicable to the caller site from gatsby-cli\n useYarn: boolean\n open: boolean\n openTracingConfigFile: string\n port: number\n // TODO(v5): remove\n proxyPort: number\n host: string\n report: Reporter\n [`cert-file`]?: string\n [`key-file`]?: string\n directory: string\n https?: boolean\n sitePackageJson: PackageJson\n ssl?: ICert\n inspect?: number\n inspectBrk?: number\n graphqlTracing?: boolean\n verbose?: boolean\n prefixPaths?: boolean\n setStore?: (store: Store<IGatsbyState, AnyAction>) => void\n}\n\n/**\n * @deprecated\n * Use `Stage` instead\n */\n\nexport enum BuildHTMLStage {\n DevelopHTML = `develop-html`,\n BuildHTML = `build-html`,\n}\n\nexport enum Stage {\n Develop = `develop`,\n DevelopHTML = `develop-html`,\n BuildJavascript = `build-javascript`,\n BuildHTML = `build-html`,\n}\n"],"mappings":";;;;;AAuCA;AACA;AACA;AACA;IAEYA,c;;;WAAAA,c;EAAAA,c;EAAAA,c;GAAAA,c,8BAAAA,c;;IAKAC,K;;;WAAAA,K;EAAAA,K;EAAAA,K;EAAAA,K;EAAAA,K;GAAAA,K,qBAAAA,K"}
|
|
@@ -334,7 +334,6 @@ async function onPreBootstrap({
|
|
|
334
334
|
directory: siteDirectoryPath
|
|
335
335
|
}
|
|
336
336
|
} = store.getState();
|
|
337
|
-
reporter.verbose(`Attaching functions to development server`);
|
|
338
337
|
|
|
339
338
|
const compiledFunctionsDir = _path2.default.join(siteDirectoryPath, `.cache`, `functions`);
|
|
340
339
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gatsby-node.js","names":["isProductionEnv","process","env","gatsby_executing_command","activeDevelopmentFunctions","Set","activeEntries","ensureFunctionIsCompiled","functionObj","compiledFunctionsDir","compiledFileExists","fs","stat","absoluteCompiledFilePath","e","time","Date","utimesSync","originalAbsoluteFilePath","Promise","resolve","watcher","chokidar","watch","on","_path","close","createGlobArray","siteDirectoryPath","plugins","globs","globIgnorePatterns","root","pluginName","nestedFolder","push","globPattern","ignorePattern","rootPath","path","join","forEach","plugin","name","includes","glob","globAsync","pattern","options","reject","err","files","createWebpackConfig","store","reporter","getState","flattenedPlugins","allFunctions","all","map","knownFunctions","ignore","file","originalRelativeFilePath","relative","dir","parse","compiledFunctionName","compiledPath","finalName","urlResolve","functionRoute","relativeCompiledFilePath","matchPath","getMatchPath","func","dispatch","internalActions","setFunctions","writeFileSync","JSON","stringify","nodeEnv","NODE_ENV","configEnv","GATSBY_ACTIVE_ENV","envFile","parsed","dotenv","readFileSync","encoding","code","error","envObject","Object","keys","reduce","acc","key","varsFromProcessEnv","PUBLIC_DIR","mergedEnvVars","assign","processEnvVars","entries","precompileDevFunctions","GATSBY_PRECOMPILE_DEVELOP_FUNCTIONS","functionsList","parsedFile","compiledNameWithoutExtension","stage","entry","output","filename","libraryTarget","target","optimization","minimize","extensions","cache","type","cacheLocation","mode","module","rules","test","byDependency","esm","fullySpecified","descriptionData","use","loader","presets","exclude","webpack","DefinePlugin","IgnorePlugin","checkResource","resource","warn","isFirstBuild","onPreBootstrap","parentSpan","activity","activityTimer","start","program","directory","verbose","ensureDir","emptyDir","config","callback","stats","rawMessages","toJson","warnings","errors","length","reportWebpackWarnings","compilation","formatted","formatWebpackMessages","message","success","run","compiler","ignoreInitial","event","values","log","panic","id","context","end","onCreateDevServer","app","functionMiddlewares","getFunctions","functions","prepareFn","add","showDebugMessageInResponse"],"sources":["../../../src/internal-plugins/functions/gatsby-node.ts"],"sourcesContent":["import fs from \"fs-extra\"\nimport glob from \"glob\"\nimport path from \"path\"\nimport webpack from \"webpack\"\nimport _ from \"lodash\"\nimport { getMatchPath, urlResolve } from \"gatsby-core-utils\"\nimport { CreateDevServerArgs, ParentSpanPluginArgs } from \"gatsby\"\nimport formatWebpackMessages from \"react-dev-utils/formatWebpackMessages\"\nimport dotenv from \"dotenv\"\nimport chokidar from \"chokidar\"\nimport { reportWebpackWarnings } from \"../../utils/webpack-error-utils\"\nimport { internalActions } from \"../../redux/actions\"\nimport { IGatsbyFunction } from \"../../redux/types\"\nimport { functionMiddlewares } from \"./middleware\"\n\nconst isProductionEnv = process.env.gatsby_executing_command !== `develop`\n\ninterface IGlobPattern {\n /** The plugin that owns this namespace **/\n pluginName: string\n /** The root path to the functions **/\n rootPath: string\n /** The glob pattern **/\n globPattern: string\n /** The glob ignore pattern */\n ignorePattern: Array<string>\n}\n\n// During development, we lazily compile functions only when they're requested.\n// Here we keep track of which functions have been requested so are \"active\"\nconst activeDevelopmentFunctions = new Set<IGatsbyFunction>()\nlet activeEntries = {}\n\nasync function ensureFunctionIsCompiled(\n functionObj: IGatsbyFunction,\n compiledFunctionsDir: string\n): Promise<any> {\n // stat the compiled function. If it's there, then return.\n let compiledFileExists = false\n try {\n compiledFileExists = !!(await fs.stat(functionObj.absoluteCompiledFilePath))\n } catch (e) {\n // ignore\n }\n if (compiledFileExists) {\n return\n } else {\n // Otherwise, restart webpack by touching the file and watch for the file to be\n // compiled.\n const time = new Date()\n fs.utimesSync(functionObj.originalAbsoluteFilePath, time, time)\n await new Promise(resolve => {\n const watcher = chokidar\n // Watch the root of the compiled function directory in .cache as chokidar\n // can't watch files in directories that don't yet exist.\n .watch(compiledFunctionsDir)\n .on(`add`, async _path => {\n if (_path === functionObj.absoluteCompiledFilePath) {\n await watcher.close()\n\n resolve(null)\n }\n })\n })\n }\n}\n\n// Create glob type w/ glob, plugin name, root path\nconst createGlobArray = (siteDirectoryPath, plugins): Array<IGlobPattern> => {\n const globs: Array<IGlobPattern> = []\n\n function globIgnorePatterns(\n root: string,\n pluginName?: string\n ): Array<string> {\n const nestedFolder = pluginName ? `/${pluginName}/**/` : `/**/`\n\n return [\n `${root}/src/api${nestedFolder}__tests__/**/*.+(js|ts)`, // Jest tests\n `${root}/src/api${nestedFolder}+(*.)+(spec|test).+(js|ts)`,\n `${root}/src/api${nestedFolder}+(*.)+(d).ts`, // .d.ts files\n ]\n }\n\n // Add the default site src/api directory.\n globs.push({\n globPattern: `${siteDirectoryPath}/src/api/**/*.{js,ts}`,\n ignorePattern: globIgnorePatterns(siteDirectoryPath),\n rootPath: path.join(siteDirectoryPath, `src/api`),\n pluginName: `default-site-plugin`,\n })\n\n // Add each plugin\n plugins.forEach(plugin => {\n // Ignore the \"default\" site plugin (aka the src tree) as we're\n // already watching that.\n if (plugin.name === `default-site-plugin`) {\n return\n }\n // Ignore any plugins we include by default. In the very unlikely case\n // we want to ship default functions, we'll special case add them. In the\n // meantime, we'll avoid extra FS IO.\n if (plugin.resolve.includes(`internal-plugin`)) {\n return\n }\n if (plugin.resolve.includes(`gatsby-plugin-typescript`)) {\n return\n }\n if (plugin.resolve.includes(`gatsby-plugin-page-creator`)) {\n return\n }\n\n const glob = {\n globPattern: `${plugin.resolve}/src/api/${plugin.name}/**/*.{js,ts}`,\n ignorePattern: globIgnorePatterns(plugin.resolve, plugin.name),\n rootPath: path.join(plugin.resolve, `src/api`),\n pluginName: plugin.name,\n } as IGlobPattern\n globs.push(glob)\n })\n\n // Only return unique paths\n return _.union(globs)\n}\n\nasync function globAsync(\n pattern: string,\n options: glob.IOptions = {}\n): Promise<Array<string>> {\n return await new Promise((resolve, reject) => {\n glob(pattern, options, (err, files) => {\n if (err) {\n reject(err)\n } else {\n resolve(files)\n }\n })\n })\n}\n\nconst createWebpackConfig = async ({\n siteDirectoryPath,\n store,\n reporter,\n}): Promise<webpack.Configuration> => {\n const compiledFunctionsDir = path.join(\n siteDirectoryPath,\n `.cache`,\n `functions`\n )\n\n const globs = createGlobArray(\n siteDirectoryPath,\n store.getState().flattenedPlugins\n )\n\n // Glob and return object with relative/absolute paths + which plugin\n // they belong to.\n const allFunctions = await Promise.all(\n globs.map(async (glob): Promise<Array<IGatsbyFunction>> => {\n const knownFunctions: Array<IGatsbyFunction> = []\n const files = await globAsync(glob.globPattern, {\n ignore: glob.ignorePattern,\n })\n files.map(file => {\n const originalAbsoluteFilePath = file\n const originalRelativeFilePath = path.relative(glob.rootPath, file)\n\n const { dir, name } = path.parse(originalRelativeFilePath)\n // Ignore the original extension as all compiled functions now end with js.\n const compiledFunctionName = path.join(dir, name + `.js`)\n const compiledPath = path.join(\n compiledFunctionsDir,\n compiledFunctionName\n )\n const finalName = urlResolve(dir, name === `index` ? `` : name)\n\n knownFunctions.push({\n functionRoute: finalName,\n pluginName: glob.pluginName,\n originalAbsoluteFilePath,\n originalRelativeFilePath,\n relativeCompiledFilePath: compiledFunctionName,\n absoluteCompiledFilePath: compiledPath,\n matchPath: getMatchPath(finalName),\n })\n })\n\n return knownFunctions\n })\n )\n\n // Combine functions by the route name so that functions in the default\n // functions directory can override the plugin's implementations.\n // @ts-ignore - Seems like a TS bug: https://github.com/microsoft/TypeScript/issues/28010#issuecomment-713484584\n const knownFunctions = _.unionBy(...allFunctions, func => func.functionRoute)\n\n store.dispatch(internalActions.setFunctions(knownFunctions))\n\n // Write out manifest for use by `gatsby serve` and plugins\n fs.writeFileSync(\n path.join(compiledFunctionsDir, `manifest.json`),\n JSON.stringify(knownFunctions, null, 4)\n )\n\n // Load environment variables from process.env.* and .env.* files.\n // Logic is shared with webpack.config.js\n\n // node env should be DEVELOPMENT | PRODUCTION as these are commonly used in node land\n const nodeEnv = process.env.NODE_ENV || `development`\n // config env is dependent on the env that it's run, this can be anything from staging-production\n // this allows you to set use different .env environments or conditions in gatsby files\n const configEnv = process.env.GATSBY_ACTIVE_ENV || nodeEnv\n const envFile = path.join(siteDirectoryPath, `./.env.${configEnv}`)\n let parsed = {}\n try {\n parsed = dotenv.parse(fs.readFileSync(envFile, { encoding: `utf8` }))\n } catch (err) {\n if (err.code !== `ENOENT`) {\n reporter.error(\n `There was a problem processing the .env file (${envFile})`,\n err\n )\n }\n }\n\n const envObject = Object.keys(parsed).reduce((acc, key) => {\n acc[key] = JSON.stringify(parsed[key])\n return acc\n }, {} as Record<string, string>)\n\n const varsFromProcessEnv = Object.keys(process.env).reduce((acc, key) => {\n acc[key] = JSON.stringify(process.env[key])\n return acc\n }, {} as Record<string, string>)\n\n // Don't allow overwriting of NODE_ENV, PUBLIC_DIR as to not break gatsby things\n envObject.NODE_ENV = JSON.stringify(nodeEnv)\n envObject.PUBLIC_DIR = JSON.stringify(`${siteDirectoryPath}/public`)\n\n const mergedEnvVars = Object.assign(envObject, varsFromProcessEnv)\n\n const processEnvVars = Object.keys(mergedEnvVars).reduce(\n (acc, key) => {\n acc[`process.env.${key}`] = mergedEnvVars[key]\n return acc\n },\n {\n \"process.env\": `({})`,\n }\n )\n\n const entries = {}\n\n const precompileDevFunctions =\n isProductionEnv ||\n process.env.GATSBY_PRECOMPILE_DEVELOP_FUNCTIONS === `true` ||\n process.env.GATSBY_PRECOMPILE_DEVELOP_FUNCTIONS === `1`\n\n const functionsList = precompileDevFunctions\n ? knownFunctions\n : activeDevelopmentFunctions\n\n functionsList.forEach(functionObj => {\n // Get path without the extension (as it could be ts or js)\n const parsedFile = path.parse(functionObj.originalRelativeFilePath)\n const compiledNameWithoutExtension = path.join(\n parsedFile.dir,\n parsedFile.name\n )\n\n entries[compiledNameWithoutExtension] = functionObj.originalAbsoluteFilePath\n })\n\n activeEntries = entries\n\n const stage = isProductionEnv\n ? `functions-production`\n : `functions-development`\n\n return {\n entry: entries,\n output: {\n path: compiledFunctionsDir,\n filename: `[name].js`,\n libraryTarget: `commonjs2`,\n },\n target: `node`,\n\n // Minification is expensive and not as helpful for serverless functions.\n optimization: {\n minimize: false,\n },\n\n // Resolve files ending with .ts and the default extensions of .js, .json, .wasm\n resolve: {\n extensions: [`.ts`, `...`],\n },\n\n // Have webpack save its cache to the .cache/webpack directory\n cache: {\n type: `filesystem`,\n name: stage,\n cacheLocation: path.join(\n siteDirectoryPath,\n `.cache`,\n `webpack`,\n `stage-` + stage\n ),\n },\n\n mode: isProductionEnv ? `production` : `development`,\n // watch: !isProductionEnv,\n module: {\n rules: [\n // Webpack expects extensions when importing ESM modules as that's what the spec describes.\n // Not all libraries have adapted so we don't enforce its behaviour\n // @see https://github.com/webpack/webpack/issues/11467\n {\n test: /\\.mjs$/i,\n resolve: {\n byDependency: {\n esm: {\n fullySpecified: false,\n },\n },\n },\n },\n {\n test: /\\.js$/i,\n descriptionData: {\n type: `module`,\n },\n resolve: {\n byDependency: {\n esm: {\n fullySpecified: false,\n },\n },\n },\n use: {\n loader: `babel-loader`,\n options: {\n presets: [`@babel/typescript`],\n },\n },\n },\n {\n test: [/.js$/, /.ts$/],\n exclude: /node_modules/,\n use: {\n loader: `babel-loader`,\n options: {\n presets: [`@babel/typescript`],\n },\n },\n },\n ],\n },\n plugins: [\n new webpack.DefinePlugin(processEnvVars),\n new webpack.IgnorePlugin({\n checkResource(resource): boolean {\n if (resource === `lmdb`) {\n reporter.warn(\n `LMDB and other modules with native dependencies are not supported in Gatsby Functions.\\nIf you are importing utils from \\`gatsby-core-utils\\`, make sure to import from a specific module (for example \\`gatsby-core-utils/create-content-digest\\`).`\n )\n return true\n }\n return false\n },\n }),\n ],\n }\n}\n\nlet isFirstBuild = true\nexport async function onPreBootstrap({\n reporter,\n store,\n parentSpan,\n}: ParentSpanPluginArgs): Promise<void> {\n const activity = reporter.activityTimer(`Compiling Gatsby Functions`, {\n parentSpan,\n })\n activity.start()\n\n const {\n program: { directory: siteDirectoryPath },\n } = store.getState()\n\n reporter.verbose(`Attaching functions to development server`)\n const compiledFunctionsDir = path.join(\n siteDirectoryPath,\n `.cache`,\n `functions`\n )\n\n await fs.ensureDir(compiledFunctionsDir)\n await fs.emptyDir(compiledFunctionsDir)\n\n try {\n // We do this ungainly thing as we need to make accessible\n // the resolve/reject functions to our shared callback function\n // eslint-disable-next-line\n await new Promise<any>(async (resolve, reject) => {\n const config = await createWebpackConfig({\n siteDirectoryPath,\n store,\n reporter,\n })\n\n function callback(err, stats?: webpack.Stats): void {\n const rawMessages = stats?.toJson({\n all: false,\n warnings: true,\n errors: true,\n })\n if (rawMessages?.warnings && rawMessages.warnings.length > 0) {\n reportWebpackWarnings(rawMessages.warnings, reporter)\n }\n\n if (err) return reject(err)\n const errors = stats?.compilation.errors || []\n\n // If there's errors, reject in production and print to the console\n // in development.\n if (isProductionEnv) {\n if (errors.length > 0) return reject(errors)\n } else {\n const formatted = formatWebpackMessages({\n errors: rawMessages?.errors\n ? rawMessages.errors.map(e => e.message)\n : [],\n warnings: [],\n })\n reporter.error(formatted.errors)\n }\n\n // Log success in dev\n if (!isProductionEnv) {\n if (isFirstBuild) {\n isFirstBuild = false\n } else {\n reporter.success(`Re-building functions`)\n }\n }\n\n return resolve(null)\n }\n\n if (isProductionEnv) {\n webpack(config).run(callback)\n } else {\n // When in watch mode, you call things differently\n let compiler = webpack(config).watch({}, callback)\n\n const globs = createGlobArray(\n siteDirectoryPath,\n store.getState().flattenedPlugins\n )\n\n // Watch for env files to change and restart the webpack watcher.\n chokidar\n .watch(\n [\n `${siteDirectoryPath}/.env*`,\n ...globs.map(glob => glob.globPattern),\n ],\n { ignoreInitial: true }\n )\n .on(`all`, async (event, path) => {\n // Ignore change events from the API directory for functions we're\n // already watching.\n if (\n event === `change` &&\n Object.values(activeEntries).includes(path) &&\n path.includes(`/src/api/`)\n ) {\n return\n }\n\n reporter.log(\n `Restarting function watcher due to change to \"${path}\"`\n )\n\n // Otherwise, restart the watcher\n compiler.close(async () => {\n const config = await createWebpackConfig({\n siteDirectoryPath,\n store,\n reporter,\n })\n compiler = webpack(config).watch({}, callback)\n })\n })\n }\n })\n } catch (error) {\n activity.panic({\n id: `11332`,\n error,\n context: {},\n })\n }\n\n activity.end()\n}\n\nexport async function onCreateDevServer({\n reporter,\n app,\n store,\n}: CreateDevServerArgs): Promise<void> {\n reporter.verbose(`Attaching functions to development server`)\n\n const {\n program: { directory: siteDirectoryPath },\n } = store.getState()\n\n const compiledFunctionsDir = path.join(\n siteDirectoryPath,\n `.cache`,\n `functions`\n )\n\n app.use(\n `/api/*`,\n ...functionMiddlewares({\n getFunctions(): Array<IGatsbyFunction> {\n const { functions }: { functions: Array<IGatsbyFunction> } =\n store.getState()\n return functions\n },\n async prepareFn(functionObj: IGatsbyFunction): Promise<void> {\n activeDevelopmentFunctions.add(functionObj)\n await ensureFunctionIsCompiled(functionObj, compiledFunctionsDir)\n },\n showDebugMessageInResponse: true,\n })\n )\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"gatsby-node.js","names":["isProductionEnv","process","env","gatsby_executing_command","activeDevelopmentFunctions","Set","activeEntries","ensureFunctionIsCompiled","functionObj","compiledFunctionsDir","compiledFileExists","fs","stat","absoluteCompiledFilePath","e","time","Date","utimesSync","originalAbsoluteFilePath","Promise","resolve","watcher","chokidar","watch","on","_path","close","createGlobArray","siteDirectoryPath","plugins","globs","globIgnorePatterns","root","pluginName","nestedFolder","push","globPattern","ignorePattern","rootPath","path","join","forEach","plugin","name","includes","glob","globAsync","pattern","options","reject","err","files","createWebpackConfig","store","reporter","getState","flattenedPlugins","allFunctions","all","map","knownFunctions","ignore","file","originalRelativeFilePath","relative","dir","parse","compiledFunctionName","compiledPath","finalName","urlResolve","functionRoute","relativeCompiledFilePath","matchPath","getMatchPath","func","dispatch","internalActions","setFunctions","writeFileSync","JSON","stringify","nodeEnv","NODE_ENV","configEnv","GATSBY_ACTIVE_ENV","envFile","parsed","dotenv","readFileSync","encoding","code","error","envObject","Object","keys","reduce","acc","key","varsFromProcessEnv","PUBLIC_DIR","mergedEnvVars","assign","processEnvVars","entries","precompileDevFunctions","GATSBY_PRECOMPILE_DEVELOP_FUNCTIONS","functionsList","parsedFile","compiledNameWithoutExtension","stage","entry","output","filename","libraryTarget","target","optimization","minimize","extensions","cache","type","cacheLocation","mode","module","rules","test","byDependency","esm","fullySpecified","descriptionData","use","loader","presets","exclude","webpack","DefinePlugin","IgnorePlugin","checkResource","resource","warn","isFirstBuild","onPreBootstrap","parentSpan","activity","activityTimer","start","program","directory","ensureDir","emptyDir","config","callback","stats","rawMessages","toJson","warnings","errors","length","reportWebpackWarnings","compilation","formatted","formatWebpackMessages","message","success","run","compiler","ignoreInitial","event","values","log","panic","id","context","end","onCreateDevServer","app","verbose","functionMiddlewares","getFunctions","functions","prepareFn","add","showDebugMessageInResponse"],"sources":["../../../src/internal-plugins/functions/gatsby-node.ts"],"sourcesContent":["import fs from \"fs-extra\"\nimport glob from \"glob\"\nimport path from \"path\"\nimport webpack from \"webpack\"\nimport _ from \"lodash\"\nimport { getMatchPath, urlResolve } from \"gatsby-core-utils\"\nimport { CreateDevServerArgs, ParentSpanPluginArgs } from \"gatsby\"\nimport formatWebpackMessages from \"react-dev-utils/formatWebpackMessages\"\nimport dotenv from \"dotenv\"\nimport chokidar from \"chokidar\"\nimport { reportWebpackWarnings } from \"../../utils/webpack-error-utils\"\nimport { internalActions } from \"../../redux/actions\"\nimport { IGatsbyFunction } from \"../../redux/types\"\nimport { functionMiddlewares } from \"./middleware\"\n\nconst isProductionEnv = process.env.gatsby_executing_command !== `develop`\n\ninterface IGlobPattern {\n /** The plugin that owns this namespace **/\n pluginName: string\n /** The root path to the functions **/\n rootPath: string\n /** The glob pattern **/\n globPattern: string\n /** The glob ignore pattern */\n ignorePattern: Array<string>\n}\n\n// During development, we lazily compile functions only when they're requested.\n// Here we keep track of which functions have been requested so are \"active\"\nconst activeDevelopmentFunctions = new Set<IGatsbyFunction>()\nlet activeEntries = {}\n\nasync function ensureFunctionIsCompiled(\n functionObj: IGatsbyFunction,\n compiledFunctionsDir: string\n): Promise<any> {\n // stat the compiled function. If it's there, then return.\n let compiledFileExists = false\n try {\n compiledFileExists = !!(await fs.stat(functionObj.absoluteCompiledFilePath))\n } catch (e) {\n // ignore\n }\n if (compiledFileExists) {\n return\n } else {\n // Otherwise, restart webpack by touching the file and watch for the file to be\n // compiled.\n const time = new Date()\n fs.utimesSync(functionObj.originalAbsoluteFilePath, time, time)\n await new Promise(resolve => {\n const watcher = chokidar\n // Watch the root of the compiled function directory in .cache as chokidar\n // can't watch files in directories that don't yet exist.\n .watch(compiledFunctionsDir)\n .on(`add`, async _path => {\n if (_path === functionObj.absoluteCompiledFilePath) {\n await watcher.close()\n\n resolve(null)\n }\n })\n })\n }\n}\n\n// Create glob type w/ glob, plugin name, root path\nconst createGlobArray = (siteDirectoryPath, plugins): Array<IGlobPattern> => {\n const globs: Array<IGlobPattern> = []\n\n function globIgnorePatterns(\n root: string,\n pluginName?: string\n ): Array<string> {\n const nestedFolder = pluginName ? `/${pluginName}/**/` : `/**/`\n\n return [\n `${root}/src/api${nestedFolder}__tests__/**/*.+(js|ts)`, // Jest tests\n `${root}/src/api${nestedFolder}+(*.)+(spec|test).+(js|ts)`,\n `${root}/src/api${nestedFolder}+(*.)+(d).ts`, // .d.ts files\n ]\n }\n\n // Add the default site src/api directory.\n globs.push({\n globPattern: `${siteDirectoryPath}/src/api/**/*.{js,ts}`,\n ignorePattern: globIgnorePatterns(siteDirectoryPath),\n rootPath: path.join(siteDirectoryPath, `src/api`),\n pluginName: `default-site-plugin`,\n })\n\n // Add each plugin\n plugins.forEach(plugin => {\n // Ignore the \"default\" site plugin (aka the src tree) as we're\n // already watching that.\n if (plugin.name === `default-site-plugin`) {\n return\n }\n // Ignore any plugins we include by default. In the very unlikely case\n // we want to ship default functions, we'll special case add them. In the\n // meantime, we'll avoid extra FS IO.\n if (plugin.resolve.includes(`internal-plugin`)) {\n return\n }\n if (plugin.resolve.includes(`gatsby-plugin-typescript`)) {\n return\n }\n if (plugin.resolve.includes(`gatsby-plugin-page-creator`)) {\n return\n }\n\n const glob = {\n globPattern: `${plugin.resolve}/src/api/${plugin.name}/**/*.{js,ts}`,\n ignorePattern: globIgnorePatterns(plugin.resolve, plugin.name),\n rootPath: path.join(plugin.resolve, `src/api`),\n pluginName: plugin.name,\n } as IGlobPattern\n globs.push(glob)\n })\n\n // Only return unique paths\n return _.union(globs)\n}\n\nasync function globAsync(\n pattern: string,\n options: glob.IOptions = {}\n): Promise<Array<string>> {\n return await new Promise((resolve, reject) => {\n glob(pattern, options, (err, files) => {\n if (err) {\n reject(err)\n } else {\n resolve(files)\n }\n })\n })\n}\n\nconst createWebpackConfig = async ({\n siteDirectoryPath,\n store,\n reporter,\n}): Promise<webpack.Configuration> => {\n const compiledFunctionsDir = path.join(\n siteDirectoryPath,\n `.cache`,\n `functions`\n )\n\n const globs = createGlobArray(\n siteDirectoryPath,\n store.getState().flattenedPlugins\n )\n\n // Glob and return object with relative/absolute paths + which plugin\n // they belong to.\n const allFunctions = await Promise.all(\n globs.map(async (glob): Promise<Array<IGatsbyFunction>> => {\n const knownFunctions: Array<IGatsbyFunction> = []\n const files = await globAsync(glob.globPattern, {\n ignore: glob.ignorePattern,\n })\n files.map(file => {\n const originalAbsoluteFilePath = file\n const originalRelativeFilePath = path.relative(glob.rootPath, file)\n\n const { dir, name } = path.parse(originalRelativeFilePath)\n // Ignore the original extension as all compiled functions now end with js.\n const compiledFunctionName = path.join(dir, name + `.js`)\n const compiledPath = path.join(\n compiledFunctionsDir,\n compiledFunctionName\n )\n const finalName = urlResolve(dir, name === `index` ? `` : name)\n\n knownFunctions.push({\n functionRoute: finalName,\n pluginName: glob.pluginName,\n originalAbsoluteFilePath,\n originalRelativeFilePath,\n relativeCompiledFilePath: compiledFunctionName,\n absoluteCompiledFilePath: compiledPath,\n matchPath: getMatchPath(finalName),\n })\n })\n\n return knownFunctions\n })\n )\n\n // Combine functions by the route name so that functions in the default\n // functions directory can override the plugin's implementations.\n // @ts-ignore - Seems like a TS bug: https://github.com/microsoft/TypeScript/issues/28010#issuecomment-713484584\n const knownFunctions = _.unionBy(...allFunctions, func => func.functionRoute)\n\n store.dispatch(internalActions.setFunctions(knownFunctions))\n\n // Write out manifest for use by `gatsby serve` and plugins\n fs.writeFileSync(\n path.join(compiledFunctionsDir, `manifest.json`),\n JSON.stringify(knownFunctions, null, 4)\n )\n\n // Load environment variables from process.env.* and .env.* files.\n // Logic is shared with webpack.config.js\n\n // node env should be DEVELOPMENT | PRODUCTION as these are commonly used in node land\n const nodeEnv = process.env.NODE_ENV || `development`\n // config env is dependent on the env that it's run, this can be anything from staging-production\n // this allows you to set use different .env environments or conditions in gatsby files\n const configEnv = process.env.GATSBY_ACTIVE_ENV || nodeEnv\n const envFile = path.join(siteDirectoryPath, `./.env.${configEnv}`)\n let parsed = {}\n try {\n parsed = dotenv.parse(fs.readFileSync(envFile, { encoding: `utf8` }))\n } catch (err) {\n if (err.code !== `ENOENT`) {\n reporter.error(\n `There was a problem processing the .env file (${envFile})`,\n err\n )\n }\n }\n\n const envObject = Object.keys(parsed).reduce((acc, key) => {\n acc[key] = JSON.stringify(parsed[key])\n return acc\n }, {} as Record<string, string>)\n\n const varsFromProcessEnv = Object.keys(process.env).reduce((acc, key) => {\n acc[key] = JSON.stringify(process.env[key])\n return acc\n }, {} as Record<string, string>)\n\n // Don't allow overwriting of NODE_ENV, PUBLIC_DIR as to not break gatsby things\n envObject.NODE_ENV = JSON.stringify(nodeEnv)\n envObject.PUBLIC_DIR = JSON.stringify(`${siteDirectoryPath}/public`)\n\n const mergedEnvVars = Object.assign(envObject, varsFromProcessEnv)\n\n const processEnvVars = Object.keys(mergedEnvVars).reduce(\n (acc, key) => {\n acc[`process.env.${key}`] = mergedEnvVars[key]\n return acc\n },\n {\n \"process.env\": `({})`,\n }\n )\n\n const entries = {}\n\n const precompileDevFunctions =\n isProductionEnv ||\n process.env.GATSBY_PRECOMPILE_DEVELOP_FUNCTIONS === `true` ||\n process.env.GATSBY_PRECOMPILE_DEVELOP_FUNCTIONS === `1`\n\n const functionsList = precompileDevFunctions\n ? knownFunctions\n : activeDevelopmentFunctions\n\n functionsList.forEach(functionObj => {\n // Get path without the extension (as it could be ts or js)\n const parsedFile = path.parse(functionObj.originalRelativeFilePath)\n const compiledNameWithoutExtension = path.join(\n parsedFile.dir,\n parsedFile.name\n )\n\n entries[compiledNameWithoutExtension] = functionObj.originalAbsoluteFilePath\n })\n\n activeEntries = entries\n\n const stage = isProductionEnv\n ? `functions-production`\n : `functions-development`\n\n return {\n entry: entries,\n output: {\n path: compiledFunctionsDir,\n filename: `[name].js`,\n libraryTarget: `commonjs2`,\n },\n target: `node`,\n\n // Minification is expensive and not as helpful for serverless functions.\n optimization: {\n minimize: false,\n },\n\n // Resolve files ending with .ts and the default extensions of .js, .json, .wasm\n resolve: {\n extensions: [`.ts`, `...`],\n },\n\n // Have webpack save its cache to the .cache/webpack directory\n cache: {\n type: `filesystem`,\n name: stage,\n cacheLocation: path.join(\n siteDirectoryPath,\n `.cache`,\n `webpack`,\n `stage-` + stage\n ),\n },\n\n mode: isProductionEnv ? `production` : `development`,\n // watch: !isProductionEnv,\n module: {\n rules: [\n // Webpack expects extensions when importing ESM modules as that's what the spec describes.\n // Not all libraries have adapted so we don't enforce its behaviour\n // @see https://github.com/webpack/webpack/issues/11467\n {\n test: /\\.mjs$/i,\n resolve: {\n byDependency: {\n esm: {\n fullySpecified: false,\n },\n },\n },\n },\n {\n test: /\\.js$/i,\n descriptionData: {\n type: `module`,\n },\n resolve: {\n byDependency: {\n esm: {\n fullySpecified: false,\n },\n },\n },\n use: {\n loader: `babel-loader`,\n options: {\n presets: [`@babel/typescript`],\n },\n },\n },\n {\n test: [/.js$/, /.ts$/],\n exclude: /node_modules/,\n use: {\n loader: `babel-loader`,\n options: {\n presets: [`@babel/typescript`],\n },\n },\n },\n ],\n },\n plugins: [\n new webpack.DefinePlugin(processEnvVars),\n new webpack.IgnorePlugin({\n checkResource(resource): boolean {\n if (resource === `lmdb`) {\n reporter.warn(\n `LMDB and other modules with native dependencies are not supported in Gatsby Functions.\\nIf you are importing utils from \\`gatsby-core-utils\\`, make sure to import from a specific module (for example \\`gatsby-core-utils/create-content-digest\\`).`\n )\n return true\n }\n return false\n },\n }),\n ],\n }\n}\n\nlet isFirstBuild = true\nexport async function onPreBootstrap({\n reporter,\n store,\n parentSpan,\n}: ParentSpanPluginArgs): Promise<void> {\n const activity = reporter.activityTimer(`Compiling Gatsby Functions`, {\n parentSpan,\n })\n activity.start()\n\n const {\n program: { directory: siteDirectoryPath },\n } = store.getState()\n\n const compiledFunctionsDir = path.join(\n siteDirectoryPath,\n `.cache`,\n `functions`\n )\n\n await fs.ensureDir(compiledFunctionsDir)\n await fs.emptyDir(compiledFunctionsDir)\n\n try {\n // We do this ungainly thing as we need to make accessible\n // the resolve/reject functions to our shared callback function\n // eslint-disable-next-line\n await new Promise<any>(async (resolve, reject) => {\n const config = await createWebpackConfig({\n siteDirectoryPath,\n store,\n reporter,\n })\n\n function callback(err, stats?: webpack.Stats): void {\n const rawMessages = stats?.toJson({\n all: false,\n warnings: true,\n errors: true,\n })\n if (rawMessages?.warnings && rawMessages.warnings.length > 0) {\n reportWebpackWarnings(rawMessages.warnings, reporter)\n }\n\n if (err) return reject(err)\n const errors = stats?.compilation.errors || []\n\n // If there's errors, reject in production and print to the console\n // in development.\n if (isProductionEnv) {\n if (errors.length > 0) return reject(errors)\n } else {\n const formatted = formatWebpackMessages({\n errors: rawMessages?.errors\n ? rawMessages.errors.map(e => e.message)\n : [],\n warnings: [],\n })\n reporter.error(formatted.errors)\n }\n\n // Log success in dev\n if (!isProductionEnv) {\n if (isFirstBuild) {\n isFirstBuild = false\n } else {\n reporter.success(`Re-building functions`)\n }\n }\n\n return resolve(null)\n }\n\n if (isProductionEnv) {\n webpack(config).run(callback)\n } else {\n // When in watch mode, you call things differently\n let compiler = webpack(config).watch({}, callback)\n\n const globs = createGlobArray(\n siteDirectoryPath,\n store.getState().flattenedPlugins\n )\n\n // Watch for env files to change and restart the webpack watcher.\n chokidar\n .watch(\n [\n `${siteDirectoryPath}/.env*`,\n ...globs.map(glob => glob.globPattern),\n ],\n { ignoreInitial: true }\n )\n .on(`all`, async (event, path) => {\n // Ignore change events from the API directory for functions we're\n // already watching.\n if (\n event === `change` &&\n Object.values(activeEntries).includes(path) &&\n path.includes(`/src/api/`)\n ) {\n return\n }\n\n reporter.log(\n `Restarting function watcher due to change to \"${path}\"`\n )\n\n // Otherwise, restart the watcher\n compiler.close(async () => {\n const config = await createWebpackConfig({\n siteDirectoryPath,\n store,\n reporter,\n })\n compiler = webpack(config).watch({}, callback)\n })\n })\n }\n })\n } catch (error) {\n activity.panic({\n id: `11332`,\n error,\n context: {},\n })\n }\n\n activity.end()\n}\n\nexport async function onCreateDevServer({\n reporter,\n app,\n store,\n}: CreateDevServerArgs): Promise<void> {\n reporter.verbose(`Attaching functions to development server`)\n\n const {\n program: { directory: siteDirectoryPath },\n } = store.getState()\n\n const compiledFunctionsDir = path.join(\n siteDirectoryPath,\n `.cache`,\n `functions`\n )\n\n app.use(\n `/api/*`,\n ...functionMiddlewares({\n getFunctions(): Array<IGatsbyFunction> {\n const { functions }: { functions: Array<IGatsbyFunction> } =\n store.getState()\n return functions\n },\n async prepareFn(functionObj: IGatsbyFunction): Promise<void> {\n activeDevelopmentFunctions.add(functionObj)\n await ensureFunctionIsCompiled(functionObj, compiledFunctionsDir)\n },\n showDebugMessageInResponse: true,\n })\n )\n}\n"],"mappings":"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"}
|
package/dist/joi-schemas/joi.js
CHANGED
|
@@ -46,11 +46,13 @@ const gatsbyConfigSchema = _joi.default.object().keys({
|
|
|
46
46
|
trailingSlash: _joi.default.string().valid(`always`, `never`, `ignore`, `legacy`) // TODO(v5): Remove legacy
|
|
47
47
|
.default(`legacy`),
|
|
48
48
|
graphqlTypegen: _joi.default.alternatives(_joi.default.boolean(), _joi.default.object().keys({
|
|
49
|
-
typesOutputPath: _joi.default.string().default(_tsCodegen.DEFAULT_TYPES_OUTPUT_PATH)
|
|
49
|
+
typesOutputPath: _joi.default.string().default(_tsCodegen.DEFAULT_TYPES_OUTPUT_PATH),
|
|
50
|
+
generateOnBuild: _joi.default.boolean().default(false)
|
|
50
51
|
}).unknown(false)).default(false).custom(value => {
|
|
51
52
|
if (value === true) {
|
|
52
53
|
return {
|
|
53
|
-
typesOutputPath: _tsCodegen.DEFAULT_TYPES_OUTPUT_PATH
|
|
54
|
+
typesOutputPath: _tsCodegen.DEFAULT_TYPES_OUTPUT_PATH,
|
|
55
|
+
generateOnBuild: false
|
|
54
56
|
};
|
|
55
57
|
}
|
|
56
58
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"joi.js","names":["stripTrailingSlash","chain","replace","addLeadingSlash","when","Joi","string","uri","relativeOnly","then","gatsbyConfigSchema","object","keys","flags","polyfill","boolean","default","assetPrefix","allowRelative","pathPrefix","allow","linkPrefix","forbidden","error","Error","siteMetadata","siteUrl","unknown","mapping","plugins","array","proxy","items","prefix","required","url","single","partytownProxiedURLs","developMiddleware","func","jsxRuntime","valid","jsxImportSource","trailingSlash","graphqlTypegen","alternatives","typesOutputPath","DEFAULT_TYPES_OUTPUT_PATH","custom","value","pageSchema","path","matchPath","component","componentChunkName","context","pluginCreator___NODE","pluginCreatorId","nodeSchema","id","children","parent","fields","internal","contentDigest","mediaType","type","owner","fieldOwners","content","description","ignoreType","counter","number","contentFilePath"],"sources":["../../src/joi-schemas/joi.ts"],"sourcesContent":["import Joi from \"joi\"\nimport { IGatsbyConfig, IGatsbyPage, IGatsbyNode } from \"../redux/types\"\nimport { DEFAULT_TYPES_OUTPUT_PATH } from \"../utils/graphql-typegen/ts-codegen\"\n\nconst stripTrailingSlash = (chain: Joi.StringSchema): Joi.StringSchema =>\n chain.replace(/(\\w)\\/+$/, `$1`)\n\n// only add leading slash on relative urls\nconst addLeadingSlash = (chain: Joi.StringSchema): Joi.StringSchema =>\n chain.when(Joi.string().uri({ relativeOnly: true }), {\n then: chain.replace(/^([^/])/, `/$1`),\n })\n\nexport const gatsbyConfigSchema: Joi.ObjectSchema<IGatsbyConfig> = Joi.object()\n .keys({\n flags: Joi.object(),\n polyfill: Joi.boolean().default(true),\n assetPrefix: stripTrailingSlash(\n Joi.string().uri({\n allowRelative: true,\n })\n ),\n pathPrefix: addLeadingSlash(\n stripTrailingSlash(\n Joi.string()\n .uri({\n allowRelative: true,\n relativeOnly: true,\n })\n .default(``)\n // removes single / value\n .allow(``)\n .replace(/^\\/$/, ``)\n )\n ),\n linkPrefix: Joi.forbidden().error(\n new Error(`\"linkPrefix\" should be changed to \"pathPrefix\"`)\n ),\n siteMetadata: Joi.object({\n siteUrl: stripTrailingSlash(Joi.string()).uri(),\n }).unknown(),\n mapping: Joi.object(),\n plugins: Joi.array(),\n proxy: Joi.array()\n .items(\n Joi.object().keys({\n prefix: Joi.string().required(),\n url: Joi.string().required(),\n })\n )\n .single(),\n partytownProxiedURLs: Joi.array().items(Joi.string()),\n developMiddleware: Joi.func(),\n jsxRuntime: Joi.string().valid(`automatic`, `classic`).default(`classic`),\n jsxImportSource: Joi.string(),\n trailingSlash: Joi.string()\n .valid(`always`, `never`, `ignore`, `legacy`) // TODO(v5): Remove legacy\n .default(`legacy`),\n graphqlTypegen: Joi.alternatives(\n Joi.boolean(),\n Joi.object()\n .keys({\n typesOutputPath: Joi.string().default(DEFAULT_TYPES_OUTPUT_PATH),\n })\n .unknown(false)\n )\n .default(false)\n .custom(value => {\n if (value === true) {\n return {\n typesOutputPath: DEFAULT_TYPES_OUTPUT_PATH,\n }\n }\n\n return value\n }),\n })\n // throws when both assetPrefix and pathPrefix are defined\n .when(\n Joi.object({\n assetPrefix: Joi.string().uri({\n allowRelative: true,\n relativeOnly: true,\n }),\n pathPrefix: Joi.string()\n .uri({\n allowRelative: true,\n relativeOnly: true,\n })\n .default(``),\n }),\n {\n then: Joi.object({\n assetPrefix: Joi.string()\n .uri({\n allowRelative: false,\n })\n .error(\n new Error(\n `assetPrefix must be an absolute URI when used with pathPrefix`\n )\n ),\n }),\n }\n )\n\nexport const pageSchema: Joi.ObjectSchema<IGatsbyPage> = Joi.object()\n .keys({\n path: Joi.string().required(),\n matchPath: Joi.string(),\n component: Joi.string().required(),\n componentChunkName: Joi.string().required(),\n context: Joi.object(),\n // eslint-disable-next-line @typescript-eslint/naming-convention\n pluginCreator___NODE: Joi.string(),\n pluginCreatorId: Joi.string(),\n })\n .unknown()\n\nexport const nodeSchema: Joi.ObjectSchema<IGatsbyNode> = Joi.object()\n .keys({\n id: Joi.string().required(),\n children: Joi.array().items(Joi.string(), Joi.object().forbidden()),\n parent: Joi.string().allow(null),\n fields: Joi.object(),\n internal: Joi.object()\n .keys({\n contentDigest: Joi.string().required(),\n mediaType: Joi.string(),\n type: Joi.string().required(),\n owner: Joi.string().required(),\n fieldOwners: Joi.object(),\n content: Joi.string().allow(``),\n description: Joi.string(),\n ignoreType: Joi.boolean(),\n counter: Joi.number(),\n contentFilePath: Joi.string(),\n })\n .unknown(false), // Don't allow non-standard fields\n })\n .unknown()\n"],"mappings":";;;;;;;AAAA;;AAEA;;AAEA,MAAMA,kBAAkB,GAAIC,KAAD,IACzBA,KAAK,CAACC,OAAN,CAAc,UAAd,EAA2B,IAA3B,CADF,C,CAGA;;;AACA,MAAMC,eAAe,GAAIF,KAAD,IACtBA,KAAK,CAACG,IAAN,CAAWC,YAAA,CAAIC,MAAJ,GAAaC,GAAb,CAAiB;EAAEC,YAAY,EAAE;AAAhB,CAAjB,CAAX,EAAqD;EACnDC,IAAI,EAAER,KAAK,CAACC,OAAN,CAAc,SAAd,EAA0B,KAA1B;AAD6C,CAArD,CADF;;AAKO,MAAMQ,kBAAmD,GAAGL,YAAA,CAAIM,MAAJ,GAChEC,IADgE,CAC3D;EACJC,KAAK,EAAER,YAAA,CAAIM,MAAJ,EADH;EAEJG,QAAQ,EAAET,YAAA,CAAIU,OAAJ,GAAcC,OAAd,CAAsB,IAAtB,CAFN;EAGJC,WAAW,EAAEjB,kBAAkB,CAC7BK,YAAA,CAAIC,MAAJ,GAAaC,GAAb,CAAiB;IACfW,aAAa,EAAE;EADA,CAAjB,CAD6B,CAH3B;EAQJC,UAAU,EAAEhB,eAAe,CACzBH,kBAAkB,CAChBK,YAAA,CAAIC,MAAJ,GACGC,GADH,CACO;IACHW,aAAa,EAAE,IADZ;IAEHV,YAAY,EAAE;EAFX,CADP,EAKGQ,OALH,CAKY,EALZ,EAME;EANF,CAOGI,KAPH,CAOU,EAPV,EAQGlB,OARH,CAQW,MARX,EAQoB,EARpB,CADgB,CADO,CARvB;EAqBJmB,UAAU,EAAEhB,YAAA,CAAIiB,SAAJ,GAAgBC,KAAhB,CACV,IAAIC,KAAJ,CAAW,gDAAX,CADU,CArBR;EAwBJC,YAAY,EAAEpB,YAAA,CAAIM,MAAJ,CAAW;IACvBe,OAAO,EAAE1B,kBAAkB,CAACK,YAAA,CAAIC,MAAJ,EAAD,CAAlB,CAAiCC,GAAjC;EADc,CAAX,EAEXoB,OAFW,EAxBV;EA2BJC,OAAO,EAAEvB,YAAA,CAAIM,MAAJ,EA3BL;EA4BJkB,OAAO,EAAExB,YAAA,CAAIyB,KAAJ,EA5BL;EA6BJC,KAAK,EAAE1B,YAAA,CAAIyB,KAAJ,GACJE,KADI,CAEH3B,YAAA,CAAIM,MAAJ,GAAaC,IAAb,CAAkB;IAChBqB,MAAM,EAAE5B,YAAA,CAAIC,MAAJ,GAAa4B,QAAb,EADQ;IAEhBC,GAAG,EAAE9B,YAAA,CAAIC,MAAJ,GAAa4B,QAAb;EAFW,CAAlB,CAFG,EAOJE,MAPI,EA7BH;EAqCJC,oBAAoB,EAAEhC,YAAA,CAAIyB,KAAJ,GAAYE,KAAZ,CAAkB3B,YAAA,CAAIC,MAAJ,EAAlB,CArClB;EAsCJgC,iBAAiB,EAAEjC,YAAA,CAAIkC,IAAJ,EAtCf;EAuCJC,UAAU,EAAEnC,YAAA,CAAIC,MAAJ,GAAamC,KAAb,CAAoB,WAApB,EAAiC,SAAjC,EAA2CzB,OAA3C,CAAoD,SAApD,CAvCR;EAwCJ0B,eAAe,EAAErC,YAAA,CAAIC,MAAJ,EAxCb;EAyCJqC,aAAa,EAAEtC,YAAA,CAAIC,MAAJ,GACZmC,KADY,CACL,QADK,EACK,OADL,EACc,QADd,EACwB,QADxB,EACiC;EADjC,CAEZzB,OAFY,CAEH,QAFG,CAzCX;EA4CJ4B,cAAc,EAAEvC,YAAA,CAAIwC,YAAJ,CACdxC,YAAA,CAAIU,OAAJ,EADc,EAEdV,YAAA,CAAIM,MAAJ,GACGC,IADH,CACQ;IACJkC,eAAe,EAAEzC,YAAA,CAAIC,MAAJ,GAAaU,OAAb,CAAqB+B,oCAArB;
|
|
1
|
+
{"version":3,"file":"joi.js","names":["stripTrailingSlash","chain","replace","addLeadingSlash","when","Joi","string","uri","relativeOnly","then","gatsbyConfigSchema","object","keys","flags","polyfill","boolean","default","assetPrefix","allowRelative","pathPrefix","allow","linkPrefix","forbidden","error","Error","siteMetadata","siteUrl","unknown","mapping","plugins","array","proxy","items","prefix","required","url","single","partytownProxiedURLs","developMiddleware","func","jsxRuntime","valid","jsxImportSource","trailingSlash","graphqlTypegen","alternatives","typesOutputPath","DEFAULT_TYPES_OUTPUT_PATH","generateOnBuild","custom","value","pageSchema","path","matchPath","component","componentChunkName","context","pluginCreator___NODE","pluginCreatorId","nodeSchema","id","children","parent","fields","internal","contentDigest","mediaType","type","owner","fieldOwners","content","description","ignoreType","counter","number","contentFilePath"],"sources":["../../src/joi-schemas/joi.ts"],"sourcesContent":["import Joi from \"joi\"\nimport { IGatsbyConfig, IGatsbyPage, IGatsbyNode } from \"../redux/types\"\nimport { DEFAULT_TYPES_OUTPUT_PATH } from \"../utils/graphql-typegen/ts-codegen\"\n\nconst stripTrailingSlash = (chain: Joi.StringSchema): Joi.StringSchema =>\n chain.replace(/(\\w)\\/+$/, `$1`)\n\n// only add leading slash on relative urls\nconst addLeadingSlash = (chain: Joi.StringSchema): Joi.StringSchema =>\n chain.when(Joi.string().uri({ relativeOnly: true }), {\n then: chain.replace(/^([^/])/, `/$1`),\n })\n\nexport const gatsbyConfigSchema: Joi.ObjectSchema<IGatsbyConfig> = Joi.object()\n .keys({\n flags: Joi.object(),\n polyfill: Joi.boolean().default(true),\n assetPrefix: stripTrailingSlash(\n Joi.string().uri({\n allowRelative: true,\n })\n ),\n pathPrefix: addLeadingSlash(\n stripTrailingSlash(\n Joi.string()\n .uri({\n allowRelative: true,\n relativeOnly: true,\n })\n .default(``)\n // removes single / value\n .allow(``)\n .replace(/^\\/$/, ``)\n )\n ),\n linkPrefix: Joi.forbidden().error(\n new Error(`\"linkPrefix\" should be changed to \"pathPrefix\"`)\n ),\n siteMetadata: Joi.object({\n siteUrl: stripTrailingSlash(Joi.string()).uri(),\n }).unknown(),\n mapping: Joi.object(),\n plugins: Joi.array(),\n proxy: Joi.array()\n .items(\n Joi.object().keys({\n prefix: Joi.string().required(),\n url: Joi.string().required(),\n })\n )\n .single(),\n partytownProxiedURLs: Joi.array().items(Joi.string()),\n developMiddleware: Joi.func(),\n jsxRuntime: Joi.string().valid(`automatic`, `classic`).default(`classic`),\n jsxImportSource: Joi.string(),\n trailingSlash: Joi.string()\n .valid(`always`, `never`, `ignore`, `legacy`) // TODO(v5): Remove legacy\n .default(`legacy`),\n graphqlTypegen: Joi.alternatives(\n Joi.boolean(),\n Joi.object()\n .keys({\n typesOutputPath: Joi.string().default(DEFAULT_TYPES_OUTPUT_PATH),\n generateOnBuild: Joi.boolean().default(false),\n })\n .unknown(false)\n )\n .default(false)\n .custom(value => {\n if (value === true) {\n return {\n typesOutputPath: DEFAULT_TYPES_OUTPUT_PATH,\n generateOnBuild: false,\n }\n }\n\n return value\n }),\n })\n // throws when both assetPrefix and pathPrefix are defined\n .when(\n Joi.object({\n assetPrefix: Joi.string().uri({\n allowRelative: true,\n relativeOnly: true,\n }),\n pathPrefix: Joi.string()\n .uri({\n allowRelative: true,\n relativeOnly: true,\n })\n .default(``),\n }),\n {\n then: Joi.object({\n assetPrefix: Joi.string()\n .uri({\n allowRelative: false,\n })\n .error(\n new Error(\n `assetPrefix must be an absolute URI when used with pathPrefix`\n )\n ),\n }),\n }\n )\n\nexport const pageSchema: Joi.ObjectSchema<IGatsbyPage> = Joi.object()\n .keys({\n path: Joi.string().required(),\n matchPath: Joi.string(),\n component: Joi.string().required(),\n componentChunkName: Joi.string().required(),\n context: Joi.object(),\n // eslint-disable-next-line @typescript-eslint/naming-convention\n pluginCreator___NODE: Joi.string(),\n pluginCreatorId: Joi.string(),\n })\n .unknown()\n\nexport const nodeSchema: Joi.ObjectSchema<IGatsbyNode> = Joi.object()\n .keys({\n id: Joi.string().required(),\n children: Joi.array().items(Joi.string(), Joi.object().forbidden()),\n parent: Joi.string().allow(null),\n fields: Joi.object(),\n internal: Joi.object()\n .keys({\n contentDigest: Joi.string().required(),\n mediaType: Joi.string(),\n type: Joi.string().required(),\n owner: Joi.string().required(),\n fieldOwners: Joi.object(),\n content: Joi.string().allow(``),\n description: Joi.string(),\n ignoreType: Joi.boolean(),\n counter: Joi.number(),\n contentFilePath: Joi.string(),\n })\n .unknown(false), // Don't allow non-standard fields\n })\n .unknown()\n"],"mappings":"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"}
|