gatsby 4.25.6 → 4.25.7
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/dist/commands/build-html.js +6 -0
- package/dist/commands/build-html.js.map +1 -1
- package/dist/utils/start-server.js +17 -2
- package/dist/utils/start-server.js.map +1 -1
- package/dist/utils/webpack/utils/is-file-inside-compilations.d.ts +7 -0
- package/dist/utils/webpack/utils/is-file-inside-compilations.js +45 -0
- package/dist/utils/webpack/utils/is-file-inside-compilations.js.map +1 -0
- package/package.json +2 -2
|
@@ -41,6 +41,8 @@ var _types = require("./types");
|
|
|
41
41
|
|
|
42
42
|
var _constants = require("../constants");
|
|
43
43
|
|
|
44
|
+
var _isFileInsideCompilations = require("../utils/webpack/utils/is-file-inside-compilations");
|
|
45
|
+
|
|
44
46
|
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); }
|
|
45
47
|
|
|
46
48
|
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; }
|
|
@@ -200,6 +202,10 @@ const doBuildRenderer = async (directory, webpackConfig, stage) => {
|
|
|
200
202
|
|
|
201
203
|
if (stats !== null && stats !== void 0 && stats.hasErrors()) {
|
|
202
204
|
_reporter.default.panicOnBuild((0, _webpackErrorUtils.structureWebpackErrors)(stage, stats.compilation.errors));
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
if (stage === `develop-html`) {
|
|
208
|
+
(0, _isFileInsideCompilations.setFilesFromDevelopHtmlCompilation)(stats.compilation);
|
|
203
209
|
} // render-page.js is hard coded in webpack.config
|
|
204
210
|
|
|
205
211
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-html.js","names":["isPreview","process","env","GATSBY_IS_PREVIEW","devssrWebpackCompiler","SSRBundleReceivedInvalidEvent","SSRBundleWillInvalidate","devSSRWillInvalidate","activeRecompilations","getDevSSRWebpack","gatsby_executing_command","Error","watcher","compiler","recompileAndResumeWatching","allowTimedFallback","isResolved","Promise","resolve","stopWatching","suspend","timeout","finish","emitter","off","clearTimeout","on","resume","setTimeout","needToRecompileSSRBundle","oldHash","newHash","runWebpack","compilerConfig","stage","directory","isDevSSREnabledAndViable","GATSBY_EXPERIMENTAL_DEV_SSR","reject","webpack","hooks","invalid","tap","isFirstCompile","watch","ignored","err","stats","emit","hash","restartWorker","require","ROUTES_DIRECTORY","close","build","then","doBuildRenderer","webpackConfig","hasErrors","reporter","panicOnBuild","structureWebpackErrors","compilation","errors","rendererPath","doBuildPartialHydrationRenderer","buildRenderer","program","parentSpan","config","buildPartialHydrationRenderer","rule","module","rules","match","test","use","Array","isArray","push","loader","cache","output","path","join","alias","deleteRenderer","fs","remove","e","renderHTMLQueue","workerPool","activity","htmlComponentRendererPath","pages","Stage","BuildHTML","envVars","NODE_ENV","gatsby_log_level","segments","sessionId","Date","now","webpackCompilationHash","store","getState","renderHTML","single","renderHTMLProd","renderHTMLDev","uniqueUnsafeBuiltinUsedStacks","Set","Bluebird","map","pageSegment","renderHTMLResult","paths","htmlRenderMeta","seenErrors","errorMessages","Map","all","Object","entries","previewErrors","pagePath","error","has","stack","set","pagePaths","add","prettyError","createErrorFromString","errorMessageStr","codeFrame","errorMessage","get","value","values","p","id","context","dispatch","type","payload","_pagePath","arrayOfUsages","unsafeBuiltinsUsageByPagePath","unsafeUsageStack","tick","length","size","console","warn","unsafeBuiltinUsedStack","warningMessage","renderPartialHydrationQueue","renderPartialHydrationProd","log","BuildHTMLError","constructor","message","getOwnPropertyNames","forEach","key","truncateObjStrings","obj","doBuildPages","buildError","pageData","getPageData","truncatedPageData","pageDataMessage","JSON","stringify","buildHTML","GATSBY_PARTIAL_HYDRATION","buildHTMLPagesAndDeleteStaleArtifacts","buildUtils","markHtmlDirtyIfResultOfUsedStaticQueryChanged","toRegenerate","toDelete","toCleanupFromTrackedState","calcDirtyHtmlFiles","buildHTMLActivityProgress","createProgress","start","errorPath","ref","panic","end","info","keepPageRenderer","publicDir","deletePageDataActivityTimer","activityTimer","removePageFiles"],"sources":["../../src/commands/build-html.ts"],"sourcesContent":["import Bluebird from \"bluebird\"\nimport fs from \"fs-extra\"\nimport reporter from \"gatsby-cli/lib/reporter\"\nimport { createErrorFromString } from \"gatsby-cli/lib/reporter/errors\"\nimport { chunk, truncate } from \"lodash\"\nimport { build, watch } from \"../utils/webpack/bundle\"\nimport * as path from \"path\"\n\nimport { emitter, store } from \"../redux\"\nimport webpack from \"webpack\"\nimport webpackConfig from \"../utils/webpack.config\"\nimport { structureWebpackErrors } from \"../utils/webpack-error-utils\"\nimport * as buildUtils from \"./build-utils\"\nimport { getPageData } from \"../utils/get-page-data\"\n\nimport { Span } from \"opentracing\"\nimport { IProgram, Stage } from \"./types\"\nimport { ROUTES_DIRECTORY } from \"../constants\"\nimport { PackageJson } from \"../..\"\nimport { IPageDataWithQueryResult } from \"../utils/page-data\"\n\nimport type { GatsbyWorkerPool } from \"../utils/worker/pool\"\ntype IActivity = any // TODO\n\nconst isPreview = process.env.GATSBY_IS_PREVIEW === `true`\n\nexport interface IBuildArgs extends IProgram {\n directory: string\n sitePackageJson: PackageJson\n prefixPaths: boolean\n noUglify: boolean\n logPages: boolean\n writeToFile: boolean\n profile: boolean\n graphqlTracing: boolean\n openTracingConfigFile: string\n // TODO remove in v4\n keepPageRenderer: boolean\n}\n\ninterface IBuildRendererResult {\n rendererPath: string\n stats: webpack.Stats\n close: ReturnType<typeof watch>[\"close\"]\n}\n\nlet devssrWebpackCompiler: webpack.Watching | undefined\nlet SSRBundleReceivedInvalidEvent = true\nlet SSRBundleWillInvalidate = false\n\nexport function devSSRWillInvalidate(): void {\n // we only get one `invalid` callback, so if we already\n // set this to true, we can't really await next `invalid` event\n if (!SSRBundleReceivedInvalidEvent) {\n SSRBundleWillInvalidate = true\n }\n}\n\nlet activeRecompilations = 0\n\nexport const getDevSSRWebpack = (): {\n recompileAndResumeWatching: (\n allowTimedFallback: boolean\n ) => Promise<() => void>\n needToRecompileSSRBundle: boolean\n} => {\n if (process.env.gatsby_executing_command !== `develop`) {\n throw new Error(`This function can only be called in development`)\n }\n\n const watcher = devssrWebpackCompiler as webpack.Watching\n const compiler = (devssrWebpackCompiler as webpack.Watching).compiler\n if (watcher && compiler) {\n return {\n recompileAndResumeWatching: async function recompileAndResumeWatching(\n allowTimedFallback: boolean\n ): Promise<() => void> {\n let isResolved = false\n return await new Promise<() => void>(resolve => {\n function stopWatching(): void {\n activeRecompilations--\n if (activeRecompilations === 0) {\n watcher.suspend()\n }\n }\n let timeout\n function finish(): void {\n emitter.off(`DEV_SSR_COMPILATION_DONE`, finish)\n if (!isResolved) {\n isResolved = true\n resolve(stopWatching)\n }\n if (timeout) {\n clearTimeout(timeout)\n }\n }\n emitter.on(`DEV_SSR_COMPILATION_DONE`, finish)\n // we reset it before we start compilation to be able to catch any invalid events\n SSRBundleReceivedInvalidEvent = false\n if (activeRecompilations === 0) {\n watcher.resume()\n }\n activeRecompilations++\n\n if (allowTimedFallback) {\n // Timeout after 1.5s.\n timeout = setTimeout(() => {\n if (!isResolved) {\n isResolved = true\n resolve(stopWatching)\n }\n }, 1500)\n }\n })\n },\n needToRecompileSSRBundle:\n SSRBundleReceivedInvalidEvent || SSRBundleWillInvalidate,\n }\n } else {\n return {\n needToRecompileSSRBundle: false,\n recompileAndResumeWatching: (): Promise<() => void> =>\n Promise.resolve((): void => {}),\n }\n }\n}\n\nlet oldHash = ``\nlet newHash = ``\nconst runWebpack = (\n compilerConfig,\n stage: Stage,\n directory: string\n): Promise<{\n stats: webpack.Stats\n close: ReturnType<typeof watch>[\"close\"]\n}> => {\n const isDevSSREnabledAndViable =\n process.env.GATSBY_EXPERIMENTAL_DEV_SSR && stage === `develop-html`\n\n return new Promise((resolve, reject) => {\n if (isDevSSREnabledAndViable) {\n const compiler = webpack(compilerConfig)\n\n // because of this line we can't use our watch helper\n // These things should use emitter\n compiler.hooks.invalid.tap(`ssr file invalidation`, () => {\n SSRBundleReceivedInvalidEvent = true\n SSRBundleWillInvalidate = false // we were waiting for this event, we are no longer waiting for it\n })\n\n let isFirstCompile = true\n const watcher = compiler.watch(\n {\n ignored: /node_modules/,\n },\n (err, stats) => {\n // this runs multiple times\n emitter.emit(`DEV_SSR_COMPILATION_DONE`)\n if (isFirstCompile) {\n watcher.suspend()\n isFirstCompile = false\n }\n\n if (err) {\n return reject(err)\n } else {\n newHash = stats?.hash || ``\n\n const {\n restartWorker,\n } = require(`../utils/dev-ssr/render-dev-html`)\n // Make sure we use the latest version during development\n if (oldHash !== `` && newHash !== oldHash) {\n restartWorker(`${directory}/${ROUTES_DIRECTORY}render-page.js`)\n }\n\n oldHash = newHash\n\n return resolve({\n stats: stats as webpack.Stats,\n close: () =>\n new Promise((resolve, reject): void =>\n watcher.close(err => (err ? reject(err) : resolve()))\n ),\n })\n }\n }\n )\n devssrWebpackCompiler = watcher\n } else {\n build(compilerConfig).then(\n ({ stats, close }) => {\n resolve({ stats, close })\n },\n err => reject(err)\n )\n }\n })\n}\n\nconst doBuildRenderer = async (\n directory: string,\n webpackConfig: webpack.Configuration,\n stage: Stage\n): Promise<IBuildRendererResult> => {\n const { stats, close } = await runWebpack(webpackConfig, stage, directory)\n if (stats?.hasErrors()) {\n reporter.panicOnBuild(\n structureWebpackErrors(stage, stats.compilation.errors)\n )\n }\n\n // render-page.js is hard coded in webpack.config\n return {\n rendererPath: `${directory}/${ROUTES_DIRECTORY}render-page.js`,\n stats,\n close,\n }\n}\n\nconst doBuildPartialHydrationRenderer = async (\n directory: string,\n webpackConfig: webpack.Configuration,\n stage: Stage\n): Promise<IBuildRendererResult> => {\n const { stats, close } = await runWebpack(webpackConfig, stage, directory)\n if (stats?.hasErrors()) {\n reporter.panicOnBuild(\n structureWebpackErrors(stage, stats.compilation.errors)\n )\n }\n\n // render-page.js is hard coded in webpack.config\n return {\n rendererPath: `${directory}/${ROUTES_DIRECTORY}render-page.js`,\n stats,\n close,\n }\n}\n\nexport const buildRenderer = async (\n program: IProgram,\n stage: Stage,\n parentSpan?: IActivity\n): Promise<IBuildRendererResult> => {\n const config = await webpackConfig(program, program.directory, stage, null, {\n parentSpan,\n })\n\n return doBuildRenderer(program.directory, config, stage)\n}\n\nexport const buildPartialHydrationRenderer = async (\n program: IProgram,\n stage: Stage,\n parentSpan?: IActivity\n): Promise<IBuildRendererResult> => {\n const config = await webpackConfig(program, program.directory, stage, null, {\n parentSpan,\n })\n\n for (const rule of config.module.rules) {\n if (`./test.js`.match(rule.test)) {\n if (!rule.use) {\n rule.use = []\n }\n if (!Array.isArray(rule.use)) {\n rule.use = [rule.use]\n }\n rule.use.push({\n loader: require.resolve(\n `../utils/webpack/loaders/partial-hydration-reference-loader`\n ),\n })\n }\n }\n\n // TODO add caching\n config.cache = false\n\n config.output.path = path.join(\n program.directory,\n `.cache`,\n `partial-hydration`\n )\n\n // TODO collect javascript aliases to match the partial hydration bundle\n config.resolve.alias[`gatsby-plugin-image`] = require.resolve(\n `gatsby-plugin-image/dist/gatsby-image.browser.modern`\n )\n\n return doBuildPartialHydrationRenderer(program.directory, config, stage)\n}\n\n// TODO remove after v4 release and update cloud internals\nexport const deleteRenderer = async (rendererPath: string): Promise<void> => {\n try {\n await fs.remove(rendererPath)\n await fs.remove(`${rendererPath}.map`)\n } catch (e) {\n // This function will fail on Windows with no further consequences.\n }\n}\nexport interface IRenderHtmlResult {\n unsafeBuiltinsUsageByPagePath: Record<string, Array<string>>\n previewErrors: Record<string, any>\n}\n\nconst renderHTMLQueue = async (\n workerPool: GatsbyWorkerPool,\n activity: IActivity,\n htmlComponentRendererPath: string,\n pages: Array<string>,\n stage: Stage = Stage.BuildHTML\n): Promise<void> => {\n // We need to only pass env vars that are set programmatically in gatsby-cli\n // to child process. Other vars will be picked up from environment.\n const envVars: Array<[string, string | undefined]> = [\n [`NODE_ENV`, process.env.NODE_ENV],\n [`gatsby_executing_command`, process.env.gatsby_executing_command],\n [`gatsby_log_level`, process.env.gatsby_log_level],\n ]\n\n const segments = chunk(pages, 50)\n\n const sessionId = Date.now()\n\n const { webpackCompilationHash } = store.getState()\n\n const renderHTML =\n stage === `build-html`\n ? workerPool.single.renderHTMLProd\n : workerPool.single.renderHTMLDev\n\n const uniqueUnsafeBuiltinUsedStacks = new Set<string>()\n\n try {\n await Bluebird.map(segments, async pageSegment => {\n const renderHTMLResult = await renderHTML({\n envVars,\n htmlComponentRendererPath,\n paths: pageSegment,\n sessionId,\n webpackCompilationHash,\n })\n\n if (isPreview) {\n const htmlRenderMeta = renderHTMLResult as IRenderHtmlResult\n const seenErrors = new Set()\n const errorMessages = new Map()\n await Promise.all(\n Object.entries(htmlRenderMeta.previewErrors).map(\n async ([pagePath, error]) => {\n if (!seenErrors.has(error.stack)) {\n errorMessages.set(error.stack, {\n pagePaths: [pagePath],\n })\n seenErrors.add(error.stack)\n const prettyError = createErrorFromString(\n error.stack,\n `${htmlComponentRendererPath}.map`\n )\n\n const errorMessageStr = `${prettyError.stack}${\n prettyError.codeFrame ? `\\n\\n${prettyError.codeFrame}\\n` : ``\n }`\n\n const errorMessage = errorMessages.get(error.stack)\n errorMessage.errorMessage = errorMessageStr\n errorMessages.set(error.stack, errorMessage)\n } else {\n const errorMessage = errorMessages.get(error.stack)\n errorMessage.pagePaths.push(pagePath)\n errorMessages.set(error.stack, errorMessage)\n }\n }\n )\n )\n\n for (const value of errorMessages.values()) {\n const errorMessage = `The following page(s) saw this error when building their HTML:\\n\\n${value.pagePaths\n .map(p => `- ${p}`)\n .join(`\\n`)}\\n\\n${value.errorMessage}`\n reporter.error({\n id: `95314`,\n context: { errorMessage },\n })\n }\n }\n\n if (stage === `build-html`) {\n const htmlRenderMeta = renderHTMLResult as IRenderHtmlResult\n store.dispatch({\n type: `HTML_GENERATED`,\n payload: pageSegment,\n })\n\n for (const [_pagePath, arrayOfUsages] of Object.entries(\n htmlRenderMeta.unsafeBuiltinsUsageByPagePath\n )) {\n for (const unsafeUsageStack of arrayOfUsages) {\n uniqueUnsafeBuiltinUsedStacks.add(unsafeUsageStack)\n }\n }\n }\n\n if (activity && activity.tick) {\n activity.tick(pageSegment.length)\n }\n })\n } catch (e) {\n if (e?.context?.unsafeBuiltinsUsageByPagePath) {\n for (const [_pagePath, arrayOfUsages] of Object.entries(\n e.context.unsafeBuiltinsUsageByPagePath\n )) {\n // @ts-ignore TS doesn't know arrayOfUsages is Iterable\n for (const unsafeUsageStack of arrayOfUsages) {\n uniqueUnsafeBuiltinUsedStacks.add(unsafeUsageStack)\n }\n }\n }\n throw e\n } finally {\n if (uniqueUnsafeBuiltinUsedStacks.size > 0) {\n console.warn(\n `Unsafe builtin method was used, future builds will need to rebuild all pages`\n )\n store.dispatch({\n type: `SSR_USED_UNSAFE_BUILTIN`,\n })\n }\n\n for (const unsafeBuiltinUsedStack of uniqueUnsafeBuiltinUsedStacks) {\n const prettyError = createErrorFromString(\n unsafeBuiltinUsedStack,\n `${htmlComponentRendererPath}.map`\n )\n\n const warningMessage = `${prettyError.stack}${\n prettyError.codeFrame ? `\\n\\n${prettyError.codeFrame}\\n` : ``\n }`\n\n reporter.warn(warningMessage)\n }\n }\n}\n\nconst renderPartialHydrationQueue = async (\n workerPool: GatsbyWorkerPool,\n activity: IActivity,\n pages: Array<string>\n): Promise<void> => {\n // We need to only pass env vars that are set programmatically in gatsby-cli\n // to child process. Other vars will be picked up from environment.\n const envVars: Array<[string, string | undefined]> = [\n [`NODE_ENV`, process.env.NODE_ENV],\n [`gatsby_executing_command`, process.env.gatsby_executing_command],\n [`gatsby_log_level`, process.env.gatsby_log_level],\n ]\n\n const segments = chunk(pages, 50)\n const sessionId = Date.now()\n // const { webpackCompilationHash } = store.getState()\n\n try {\n await Promise.all(\n segments.map(async pageSegment => {\n await workerPool.single.renderPartialHydrationProd({\n envVars,\n paths: pageSegment,\n sessionId,\n })\n\n if (activity && activity.tick) {\n activity.tick(pageSegment.length)\n }\n })\n )\n } catch (e) {\n console.log({ e })\n }\n}\n\nclass BuildHTMLError extends Error {\n codeFrame = ``\n context?: {\n path: string\n }\n\n constructor(error: Error) {\n super(error.message)\n\n // We must use getOwnProperty because keys like `stack` are not enumerable,\n // but we want to copy over the entire error\n Object.getOwnPropertyNames(error).forEach(key => {\n this[key] = error[key]\n })\n }\n}\n\nconst truncateObjStrings = (obj): IPageDataWithQueryResult => {\n // Recursively truncate strings nested in object\n // These objs can be quite large, but we want to preserve each field\n for (const key in obj) {\n if (typeof obj[key] === `object`) {\n truncateObjStrings(obj[key])\n } else if (typeof obj[key] === `string`) {\n obj[key] = truncate(obj[key], { length: 250 })\n }\n }\n\n return obj\n}\n\nexport const doBuildPages = async (\n rendererPath: string,\n pagePaths: Array<string>,\n activity: IActivity,\n workerPool: GatsbyWorkerPool,\n stage: Stage\n): Promise<void> => {\n try {\n await renderHTMLQueue(workerPool, activity, rendererPath, pagePaths, stage)\n } catch (error) {\n const prettyError = createErrorFromString(\n error.stack,\n `${rendererPath}.map`\n )\n\n const buildError = new BuildHTMLError(prettyError)\n buildError.context = error.context\n\n if (error?.context?.path) {\n const pageData = await getPageData(error.context.path)\n const truncatedPageData = truncateObjStrings(pageData)\n\n const pageDataMessage = `Page data from page-data.json for the failed page \"${\n error.context.path\n }\": ${JSON.stringify(truncatedPageData, null, 2)}`\n\n // This is our only error during preview so customize it a bit + add the\n // pretty build error.\n if (isPreview) {\n reporter.error({\n id: `95314`,\n context: { pageData: pageDataMessage },\n error: buildError,\n })\n } else {\n reporter.error(pageDataMessage)\n }\n }\n\n // Don't crash the builder when we're in preview-mode.\n if (!isPreview) {\n throw buildError\n }\n }\n}\n\n// TODO remove in v4 - this could be a \"public\" api\nexport const buildHTML = async ({\n program,\n stage,\n pagePaths,\n activity,\n workerPool,\n}: {\n program: IProgram\n stage: Stage\n pagePaths: Array<string>\n activity: IActivity\n workerPool: GatsbyWorkerPool\n}): Promise<void> => {\n const rendererPath = `${program.directory}/${ROUTES_DIRECTORY}render-page.js`\n await doBuildPages(rendererPath, pagePaths, activity, workerPool, stage)\n\n if (\n (process.env.GATSBY_PARTIAL_HYDRATION === `true` ||\n process.env.GATSBY_PARTIAL_HYDRATION === `1`) &&\n _CFLAGS_.GATSBY_MAJOR === `5`\n ) {\n await renderPartialHydrationQueue(workerPool, activity, pagePaths)\n }\n}\n\nexport async function buildHTMLPagesAndDeleteStaleArtifacts({\n workerPool,\n parentSpan,\n program,\n}: {\n workerPool: GatsbyWorkerPool\n parentSpan?: Span\n program: IBuildArgs\n}): Promise<{\n toRegenerate: Array<string>\n toDelete: Array<string>\n}> {\n const rendererPath = `${program.directory}/${ROUTES_DIRECTORY}render-page.js`\n buildUtils.markHtmlDirtyIfResultOfUsedStaticQueryChanged()\n\n const { toRegenerate, toDelete, toCleanupFromTrackedState } =\n buildUtils.calcDirtyHtmlFiles(store.getState())\n\n store.dispatch({\n type: `HTML_TRACKED_PAGES_CLEANUP`,\n payload: toCleanupFromTrackedState,\n })\n\n if (toRegenerate.length > 0) {\n const buildHTMLActivityProgress = reporter.createProgress(\n `Building static HTML for pages`,\n toRegenerate.length,\n 0,\n {\n parentSpan,\n }\n )\n buildHTMLActivityProgress.start()\n try {\n await doBuildPages(\n rendererPath,\n toRegenerate,\n buildHTMLActivityProgress,\n workerPool,\n Stage.BuildHTML\n )\n } catch (err) {\n let id = `95313` // TODO: verify error IDs exist\n const context = {\n errorPath: err.context && err.context.path,\n ref: ``,\n }\n\n const match = err.message.match(\n /ReferenceError: (window|document|localStorage|navigator|alert|location) is not defined/i\n )\n if (match && match[1]) {\n id = `95312`\n context.ref = match[1]\n }\n\n buildHTMLActivityProgress.panic({\n id,\n context,\n error: err,\n })\n }\n buildHTMLActivityProgress.end()\n } else {\n reporter.info(`There are no new or changed html files to build.`)\n }\n\n if (\n (process.env.GATSBY_PARTIAL_HYDRATION === `true` ||\n process.env.GATSBY_PARTIAL_HYDRATION === `1`) &&\n _CFLAGS_.GATSBY_MAJOR === `5`\n ) {\n if (toRegenerate.length > 0) {\n const buildHTMLActivityProgress = reporter.createProgress(\n `Building partial HTML for pages`,\n toRegenerate.length,\n 0,\n {\n parentSpan,\n }\n )\n try {\n buildHTMLActivityProgress.start()\n await renderPartialHydrationQueue(\n workerPool,\n buildHTMLActivityProgress,\n toRegenerate\n )\n } catch (error) {\n // Generic error with page path and useful stack trace, accurate code frame can be a future improvement\n buildHTMLActivityProgress.panic({\n id: `80000`,\n context: error.context,\n error,\n })\n } finally {\n buildHTMLActivityProgress.end()\n }\n }\n }\n\n if (_CFLAGS_.GATSBY_MAJOR !== `5` && !program.keepPageRenderer) {\n try {\n await deleteRenderer(rendererPath)\n } catch (err) {\n // pass through\n }\n }\n\n if (toDelete.length > 0) {\n const publicDir = path.join(program.directory, `public`)\n const deletePageDataActivityTimer = reporter.activityTimer(\n `Delete previous page data`\n )\n deletePageDataActivityTimer.start()\n await buildUtils.removePageFiles(publicDir, toDelete)\n\n deletePageDataActivityTimer.end()\n }\n\n return { toRegenerate, toDelete }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"build-html.js","names":["isPreview","process","env","GATSBY_IS_PREVIEW","devssrWebpackCompiler","SSRBundleReceivedInvalidEvent","SSRBundleWillInvalidate","devSSRWillInvalidate","activeRecompilations","getDevSSRWebpack","gatsby_executing_command","Error","watcher","compiler","recompileAndResumeWatching","allowTimedFallback","isResolved","Promise","resolve","stopWatching","suspend","timeout","finish","emitter","off","clearTimeout","on","resume","setTimeout","needToRecompileSSRBundle","oldHash","newHash","runWebpack","compilerConfig","stage","directory","isDevSSREnabledAndViable","GATSBY_EXPERIMENTAL_DEV_SSR","reject","webpack","hooks","invalid","tap","isFirstCompile","watch","ignored","err","stats","emit","hash","restartWorker","require","ROUTES_DIRECTORY","close","build","then","doBuildRenderer","webpackConfig","hasErrors","reporter","panicOnBuild","structureWebpackErrors","compilation","errors","setFilesFromDevelopHtmlCompilation","rendererPath","doBuildPartialHydrationRenderer","buildRenderer","program","parentSpan","config","buildPartialHydrationRenderer","rule","module","rules","match","test","use","Array","isArray","push","loader","cache","output","path","join","alias","deleteRenderer","fs","remove","e","renderHTMLQueue","workerPool","activity","htmlComponentRendererPath","pages","Stage","BuildHTML","envVars","NODE_ENV","gatsby_log_level","segments","sessionId","Date","now","webpackCompilationHash","store","getState","renderHTML","single","renderHTMLProd","renderHTMLDev","uniqueUnsafeBuiltinUsedStacks","Set","Bluebird","map","pageSegment","renderHTMLResult","paths","htmlRenderMeta","seenErrors","errorMessages","Map","all","Object","entries","previewErrors","pagePath","error","has","stack","set","pagePaths","add","prettyError","createErrorFromString","errorMessageStr","codeFrame","errorMessage","get","value","values","p","id","context","dispatch","type","payload","_pagePath","arrayOfUsages","unsafeBuiltinsUsageByPagePath","unsafeUsageStack","tick","length","size","console","warn","unsafeBuiltinUsedStack","warningMessage","renderPartialHydrationQueue","renderPartialHydrationProd","log","BuildHTMLError","constructor","message","getOwnPropertyNames","forEach","key","truncateObjStrings","obj","doBuildPages","buildError","pageData","getPageData","truncatedPageData","pageDataMessage","JSON","stringify","buildHTML","GATSBY_PARTIAL_HYDRATION","buildHTMLPagesAndDeleteStaleArtifacts","buildUtils","markHtmlDirtyIfResultOfUsedStaticQueryChanged","toRegenerate","toDelete","toCleanupFromTrackedState","calcDirtyHtmlFiles","buildHTMLActivityProgress","createProgress","start","errorPath","ref","panic","end","info","keepPageRenderer","publicDir","deletePageDataActivityTimer","activityTimer","removePageFiles"],"sources":["../../src/commands/build-html.ts"],"sourcesContent":["import Bluebird from \"bluebird\"\nimport fs from \"fs-extra\"\nimport reporter from \"gatsby-cli/lib/reporter\"\nimport { createErrorFromString } from \"gatsby-cli/lib/reporter/errors\"\nimport { chunk, truncate } from \"lodash\"\nimport { build, watch } from \"../utils/webpack/bundle\"\nimport * as path from \"path\"\n\nimport { emitter, store } from \"../redux\"\nimport webpack from \"webpack\"\nimport webpackConfig from \"../utils/webpack.config\"\nimport { structureWebpackErrors } from \"../utils/webpack-error-utils\"\nimport * as buildUtils from \"./build-utils\"\nimport { getPageData } from \"../utils/get-page-data\"\n\nimport { Span } from \"opentracing\"\nimport { IProgram, Stage } from \"./types\"\nimport { ROUTES_DIRECTORY } from \"../constants\"\nimport { PackageJson } from \"../..\"\nimport { IPageDataWithQueryResult } from \"../utils/page-data\"\n\nimport type { GatsbyWorkerPool } from \"../utils/worker/pool\"\nimport { setFilesFromDevelopHtmlCompilation } from \"../utils/webpack/utils/is-file-inside-compilations\"\n\ntype IActivity = any // TODO\n\nconst isPreview = process.env.GATSBY_IS_PREVIEW === `true`\n\nexport interface IBuildArgs extends IProgram {\n directory: string\n sitePackageJson: PackageJson\n prefixPaths: boolean\n noUglify: boolean\n logPages: boolean\n writeToFile: boolean\n profile: boolean\n graphqlTracing: boolean\n openTracingConfigFile: string\n // TODO remove in v4\n keepPageRenderer: boolean\n}\n\ninterface IBuildRendererResult {\n rendererPath: string\n stats: webpack.Stats\n close: ReturnType<typeof watch>[\"close\"]\n}\n\nlet devssrWebpackCompiler: webpack.Watching | undefined\nlet SSRBundleReceivedInvalidEvent = true\nlet SSRBundleWillInvalidate = false\n\nexport function devSSRWillInvalidate(): void {\n // we only get one `invalid` callback, so if we already\n // set this to true, we can't really await next `invalid` event\n if (!SSRBundleReceivedInvalidEvent) {\n SSRBundleWillInvalidate = true\n }\n}\n\nlet activeRecompilations = 0\n\nexport const getDevSSRWebpack = (): {\n recompileAndResumeWatching: (\n allowTimedFallback: boolean\n ) => Promise<() => void>\n needToRecompileSSRBundle: boolean\n} => {\n if (process.env.gatsby_executing_command !== `develop`) {\n throw new Error(`This function can only be called in development`)\n }\n\n const watcher = devssrWebpackCompiler as webpack.Watching\n const compiler = (devssrWebpackCompiler as webpack.Watching).compiler\n if (watcher && compiler) {\n return {\n recompileAndResumeWatching: async function recompileAndResumeWatching(\n allowTimedFallback: boolean\n ): Promise<() => void> {\n let isResolved = false\n return await new Promise<() => void>(resolve => {\n function stopWatching(): void {\n activeRecompilations--\n if (activeRecompilations === 0) {\n watcher.suspend()\n }\n }\n let timeout\n function finish(): void {\n emitter.off(`DEV_SSR_COMPILATION_DONE`, finish)\n if (!isResolved) {\n isResolved = true\n resolve(stopWatching)\n }\n if (timeout) {\n clearTimeout(timeout)\n }\n }\n emitter.on(`DEV_SSR_COMPILATION_DONE`, finish)\n // we reset it before we start compilation to be able to catch any invalid events\n SSRBundleReceivedInvalidEvent = false\n if (activeRecompilations === 0) {\n watcher.resume()\n }\n activeRecompilations++\n\n if (allowTimedFallback) {\n // Timeout after 1.5s.\n timeout = setTimeout(() => {\n if (!isResolved) {\n isResolved = true\n resolve(stopWatching)\n }\n }, 1500)\n }\n })\n },\n needToRecompileSSRBundle:\n SSRBundleReceivedInvalidEvent || SSRBundleWillInvalidate,\n }\n } else {\n return {\n needToRecompileSSRBundle: false,\n recompileAndResumeWatching: (): Promise<() => void> =>\n Promise.resolve((): void => {}),\n }\n }\n}\n\nlet oldHash = ``\nlet newHash = ``\nconst runWebpack = (\n compilerConfig,\n stage: Stage,\n directory: string\n): Promise<{\n stats: webpack.Stats\n close: ReturnType<typeof watch>[\"close\"]\n}> => {\n const isDevSSREnabledAndViable =\n process.env.GATSBY_EXPERIMENTAL_DEV_SSR && stage === `develop-html`\n\n return new Promise((resolve, reject) => {\n if (isDevSSREnabledAndViable) {\n const compiler = webpack(compilerConfig)\n\n // because of this line we can't use our watch helper\n // These things should use emitter\n compiler.hooks.invalid.tap(`ssr file invalidation`, () => {\n SSRBundleReceivedInvalidEvent = true\n SSRBundleWillInvalidate = false // we were waiting for this event, we are no longer waiting for it\n })\n\n let isFirstCompile = true\n const watcher = compiler.watch(\n {\n ignored: /node_modules/,\n },\n (err, stats) => {\n // this runs multiple times\n emitter.emit(`DEV_SSR_COMPILATION_DONE`)\n if (isFirstCompile) {\n watcher.suspend()\n isFirstCompile = false\n }\n\n if (err) {\n return reject(err)\n } else {\n newHash = stats?.hash || ``\n\n const {\n restartWorker,\n } = require(`../utils/dev-ssr/render-dev-html`)\n // Make sure we use the latest version during development\n if (oldHash !== `` && newHash !== oldHash) {\n restartWorker(`${directory}/${ROUTES_DIRECTORY}render-page.js`)\n }\n\n oldHash = newHash\n\n return resolve({\n stats: stats as webpack.Stats,\n close: () =>\n new Promise((resolve, reject): void =>\n watcher.close(err => (err ? reject(err) : resolve()))\n ),\n })\n }\n }\n )\n devssrWebpackCompiler = watcher\n } else {\n build(compilerConfig).then(\n ({ stats, close }) => {\n resolve({ stats, close })\n },\n err => reject(err)\n )\n }\n })\n}\n\nconst doBuildRenderer = async (\n directory: string,\n webpackConfig: webpack.Configuration,\n stage: Stage\n): Promise<IBuildRendererResult> => {\n const { stats, close } = await runWebpack(webpackConfig, stage, directory)\n if (stats?.hasErrors()) {\n reporter.panicOnBuild(\n structureWebpackErrors(stage, stats.compilation.errors)\n )\n }\n\n if (stage === `develop-html`) {\n setFilesFromDevelopHtmlCompilation(stats.compilation)\n }\n\n // render-page.js is hard coded in webpack.config\n return {\n rendererPath: `${directory}/${ROUTES_DIRECTORY}render-page.js`,\n stats,\n close,\n }\n}\n\nconst doBuildPartialHydrationRenderer = async (\n directory: string,\n webpackConfig: webpack.Configuration,\n stage: Stage\n): Promise<IBuildRendererResult> => {\n const { stats, close } = await runWebpack(webpackConfig, stage, directory)\n if (stats?.hasErrors()) {\n reporter.panicOnBuild(\n structureWebpackErrors(stage, stats.compilation.errors)\n )\n }\n\n // render-page.js is hard coded in webpack.config\n return {\n rendererPath: `${directory}/${ROUTES_DIRECTORY}render-page.js`,\n stats,\n close,\n }\n}\n\nexport const buildRenderer = async (\n program: IProgram,\n stage: Stage,\n parentSpan?: IActivity\n): Promise<IBuildRendererResult> => {\n const config = await webpackConfig(program, program.directory, stage, null, {\n parentSpan,\n })\n\n return doBuildRenderer(program.directory, config, stage)\n}\n\nexport const buildPartialHydrationRenderer = async (\n program: IProgram,\n stage: Stage,\n parentSpan?: IActivity\n): Promise<IBuildRendererResult> => {\n const config = await webpackConfig(program, program.directory, stage, null, {\n parentSpan,\n })\n\n for (const rule of config.module.rules) {\n if (`./test.js`.match(rule.test)) {\n if (!rule.use) {\n rule.use = []\n }\n if (!Array.isArray(rule.use)) {\n rule.use = [rule.use]\n }\n rule.use.push({\n loader: require.resolve(\n `../utils/webpack/loaders/partial-hydration-reference-loader`\n ),\n })\n }\n }\n\n // TODO add caching\n config.cache = false\n\n config.output.path = path.join(\n program.directory,\n `.cache`,\n `partial-hydration`\n )\n\n // TODO collect javascript aliases to match the partial hydration bundle\n config.resolve.alias[`gatsby-plugin-image`] = require.resolve(\n `gatsby-plugin-image/dist/gatsby-image.browser.modern`\n )\n\n return doBuildPartialHydrationRenderer(program.directory, config, stage)\n}\n\n// TODO remove after v4 release and update cloud internals\nexport const deleteRenderer = async (rendererPath: string): Promise<void> => {\n try {\n await fs.remove(rendererPath)\n await fs.remove(`${rendererPath}.map`)\n } catch (e) {\n // This function will fail on Windows with no further consequences.\n }\n}\nexport interface IRenderHtmlResult {\n unsafeBuiltinsUsageByPagePath: Record<string, Array<string>>\n previewErrors: Record<string, any>\n}\n\nconst renderHTMLQueue = async (\n workerPool: GatsbyWorkerPool,\n activity: IActivity,\n htmlComponentRendererPath: string,\n pages: Array<string>,\n stage: Stage = Stage.BuildHTML\n): Promise<void> => {\n // We need to only pass env vars that are set programmatically in gatsby-cli\n // to child process. Other vars will be picked up from environment.\n const envVars: Array<[string, string | undefined]> = [\n [`NODE_ENV`, process.env.NODE_ENV],\n [`gatsby_executing_command`, process.env.gatsby_executing_command],\n [`gatsby_log_level`, process.env.gatsby_log_level],\n ]\n\n const segments = chunk(pages, 50)\n\n const sessionId = Date.now()\n\n const { webpackCompilationHash } = store.getState()\n\n const renderHTML =\n stage === `build-html`\n ? workerPool.single.renderHTMLProd\n : workerPool.single.renderHTMLDev\n\n const uniqueUnsafeBuiltinUsedStacks = new Set<string>()\n\n try {\n await Bluebird.map(segments, async pageSegment => {\n const renderHTMLResult = await renderHTML({\n envVars,\n htmlComponentRendererPath,\n paths: pageSegment,\n sessionId,\n webpackCompilationHash,\n })\n\n if (isPreview) {\n const htmlRenderMeta = renderHTMLResult as IRenderHtmlResult\n const seenErrors = new Set()\n const errorMessages = new Map()\n await Promise.all(\n Object.entries(htmlRenderMeta.previewErrors).map(\n async ([pagePath, error]) => {\n if (!seenErrors.has(error.stack)) {\n errorMessages.set(error.stack, {\n pagePaths: [pagePath],\n })\n seenErrors.add(error.stack)\n const prettyError = createErrorFromString(\n error.stack,\n `${htmlComponentRendererPath}.map`\n )\n\n const errorMessageStr = `${prettyError.stack}${\n prettyError.codeFrame ? `\\n\\n${prettyError.codeFrame}\\n` : ``\n }`\n\n const errorMessage = errorMessages.get(error.stack)\n errorMessage.errorMessage = errorMessageStr\n errorMessages.set(error.stack, errorMessage)\n } else {\n const errorMessage = errorMessages.get(error.stack)\n errorMessage.pagePaths.push(pagePath)\n errorMessages.set(error.stack, errorMessage)\n }\n }\n )\n )\n\n for (const value of errorMessages.values()) {\n const errorMessage = `The following page(s) saw this error when building their HTML:\\n\\n${value.pagePaths\n .map(p => `- ${p}`)\n .join(`\\n`)}\\n\\n${value.errorMessage}`\n reporter.error({\n id: `95314`,\n context: { errorMessage },\n })\n }\n }\n\n if (stage === `build-html`) {\n const htmlRenderMeta = renderHTMLResult as IRenderHtmlResult\n store.dispatch({\n type: `HTML_GENERATED`,\n payload: pageSegment,\n })\n\n for (const [_pagePath, arrayOfUsages] of Object.entries(\n htmlRenderMeta.unsafeBuiltinsUsageByPagePath\n )) {\n for (const unsafeUsageStack of arrayOfUsages) {\n uniqueUnsafeBuiltinUsedStacks.add(unsafeUsageStack)\n }\n }\n }\n\n if (activity && activity.tick) {\n activity.tick(pageSegment.length)\n }\n })\n } catch (e) {\n if (e?.context?.unsafeBuiltinsUsageByPagePath) {\n for (const [_pagePath, arrayOfUsages] of Object.entries(\n e.context.unsafeBuiltinsUsageByPagePath\n )) {\n // @ts-ignore TS doesn't know arrayOfUsages is Iterable\n for (const unsafeUsageStack of arrayOfUsages) {\n uniqueUnsafeBuiltinUsedStacks.add(unsafeUsageStack)\n }\n }\n }\n throw e\n } finally {\n if (uniqueUnsafeBuiltinUsedStacks.size > 0) {\n console.warn(\n `Unsafe builtin method was used, future builds will need to rebuild all pages`\n )\n store.dispatch({\n type: `SSR_USED_UNSAFE_BUILTIN`,\n })\n }\n\n for (const unsafeBuiltinUsedStack of uniqueUnsafeBuiltinUsedStacks) {\n const prettyError = createErrorFromString(\n unsafeBuiltinUsedStack,\n `${htmlComponentRendererPath}.map`\n )\n\n const warningMessage = `${prettyError.stack}${\n prettyError.codeFrame ? `\\n\\n${prettyError.codeFrame}\\n` : ``\n }`\n\n reporter.warn(warningMessage)\n }\n }\n}\n\nconst renderPartialHydrationQueue = async (\n workerPool: GatsbyWorkerPool,\n activity: IActivity,\n pages: Array<string>\n): Promise<void> => {\n // We need to only pass env vars that are set programmatically in gatsby-cli\n // to child process. Other vars will be picked up from environment.\n const envVars: Array<[string, string | undefined]> = [\n [`NODE_ENV`, process.env.NODE_ENV],\n [`gatsby_executing_command`, process.env.gatsby_executing_command],\n [`gatsby_log_level`, process.env.gatsby_log_level],\n ]\n\n const segments = chunk(pages, 50)\n const sessionId = Date.now()\n // const { webpackCompilationHash } = store.getState()\n\n try {\n await Promise.all(\n segments.map(async pageSegment => {\n await workerPool.single.renderPartialHydrationProd({\n envVars,\n paths: pageSegment,\n sessionId,\n })\n\n if (activity && activity.tick) {\n activity.tick(pageSegment.length)\n }\n })\n )\n } catch (e) {\n console.log({ e })\n }\n}\n\nclass BuildHTMLError extends Error {\n codeFrame = ``\n context?: {\n path: string\n }\n\n constructor(error: Error) {\n super(error.message)\n\n // We must use getOwnProperty because keys like `stack` are not enumerable,\n // but we want to copy over the entire error\n Object.getOwnPropertyNames(error).forEach(key => {\n this[key] = error[key]\n })\n }\n}\n\nconst truncateObjStrings = (obj): IPageDataWithQueryResult => {\n // Recursively truncate strings nested in object\n // These objs can be quite large, but we want to preserve each field\n for (const key in obj) {\n if (typeof obj[key] === `object`) {\n truncateObjStrings(obj[key])\n } else if (typeof obj[key] === `string`) {\n obj[key] = truncate(obj[key], { length: 250 })\n }\n }\n\n return obj\n}\n\nexport const doBuildPages = async (\n rendererPath: string,\n pagePaths: Array<string>,\n activity: IActivity,\n workerPool: GatsbyWorkerPool,\n stage: Stage\n): Promise<void> => {\n try {\n await renderHTMLQueue(workerPool, activity, rendererPath, pagePaths, stage)\n } catch (error) {\n const prettyError = createErrorFromString(\n error.stack,\n `${rendererPath}.map`\n )\n\n const buildError = new BuildHTMLError(prettyError)\n buildError.context = error.context\n\n if (error?.context?.path) {\n const pageData = await getPageData(error.context.path)\n const truncatedPageData = truncateObjStrings(pageData)\n\n const pageDataMessage = `Page data from page-data.json for the failed page \"${\n error.context.path\n }\": ${JSON.stringify(truncatedPageData, null, 2)}`\n\n // This is our only error during preview so customize it a bit + add the\n // pretty build error.\n if (isPreview) {\n reporter.error({\n id: `95314`,\n context: { pageData: pageDataMessage },\n error: buildError,\n })\n } else {\n reporter.error(pageDataMessage)\n }\n }\n\n // Don't crash the builder when we're in preview-mode.\n if (!isPreview) {\n throw buildError\n }\n }\n}\n\n// TODO remove in v4 - this could be a \"public\" api\nexport const buildHTML = async ({\n program,\n stage,\n pagePaths,\n activity,\n workerPool,\n}: {\n program: IProgram\n stage: Stage\n pagePaths: Array<string>\n activity: IActivity\n workerPool: GatsbyWorkerPool\n}): Promise<void> => {\n const rendererPath = `${program.directory}/${ROUTES_DIRECTORY}render-page.js`\n await doBuildPages(rendererPath, pagePaths, activity, workerPool, stage)\n\n if (\n (process.env.GATSBY_PARTIAL_HYDRATION === `true` ||\n process.env.GATSBY_PARTIAL_HYDRATION === `1`) &&\n _CFLAGS_.GATSBY_MAJOR === `5`\n ) {\n await renderPartialHydrationQueue(workerPool, activity, pagePaths)\n }\n}\n\nexport async function buildHTMLPagesAndDeleteStaleArtifacts({\n workerPool,\n parentSpan,\n program,\n}: {\n workerPool: GatsbyWorkerPool\n parentSpan?: Span\n program: IBuildArgs\n}): Promise<{\n toRegenerate: Array<string>\n toDelete: Array<string>\n}> {\n const rendererPath = `${program.directory}/${ROUTES_DIRECTORY}render-page.js`\n buildUtils.markHtmlDirtyIfResultOfUsedStaticQueryChanged()\n\n const { toRegenerate, toDelete, toCleanupFromTrackedState } =\n buildUtils.calcDirtyHtmlFiles(store.getState())\n\n store.dispatch({\n type: `HTML_TRACKED_PAGES_CLEANUP`,\n payload: toCleanupFromTrackedState,\n })\n\n if (toRegenerate.length > 0) {\n const buildHTMLActivityProgress = reporter.createProgress(\n `Building static HTML for pages`,\n toRegenerate.length,\n 0,\n {\n parentSpan,\n }\n )\n buildHTMLActivityProgress.start()\n try {\n await doBuildPages(\n rendererPath,\n toRegenerate,\n buildHTMLActivityProgress,\n workerPool,\n Stage.BuildHTML\n )\n } catch (err) {\n let id = `95313` // TODO: verify error IDs exist\n const context = {\n errorPath: err.context && err.context.path,\n ref: ``,\n }\n\n const match = err.message.match(\n /ReferenceError: (window|document|localStorage|navigator|alert|location) is not defined/i\n )\n if (match && match[1]) {\n id = `95312`\n context.ref = match[1]\n }\n\n buildHTMLActivityProgress.panic({\n id,\n context,\n error: err,\n })\n }\n buildHTMLActivityProgress.end()\n } else {\n reporter.info(`There are no new or changed html files to build.`)\n }\n\n if (\n (process.env.GATSBY_PARTIAL_HYDRATION === `true` ||\n process.env.GATSBY_PARTIAL_HYDRATION === `1`) &&\n _CFLAGS_.GATSBY_MAJOR === `5`\n ) {\n if (toRegenerate.length > 0) {\n const buildHTMLActivityProgress = reporter.createProgress(\n `Building partial HTML for pages`,\n toRegenerate.length,\n 0,\n {\n parentSpan,\n }\n )\n try {\n buildHTMLActivityProgress.start()\n await renderPartialHydrationQueue(\n workerPool,\n buildHTMLActivityProgress,\n toRegenerate\n )\n } catch (error) {\n // Generic error with page path and useful stack trace, accurate code frame can be a future improvement\n buildHTMLActivityProgress.panic({\n id: `80000`,\n context: error.context,\n error,\n })\n } finally {\n buildHTMLActivityProgress.end()\n }\n }\n }\n\n if (_CFLAGS_.GATSBY_MAJOR !== `5` && !program.keepPageRenderer) {\n try {\n await deleteRenderer(rendererPath)\n } catch (err) {\n // pass through\n }\n }\n\n if (toDelete.length > 0) {\n const publicDir = path.join(program.directory, `public`)\n const deletePageDataActivityTimer = reporter.activityTimer(\n `Delete previous page data`\n )\n deletePageDataActivityTimer.start()\n await buildUtils.removePageFiles(publicDir, toDelete)\n\n deletePageDataActivityTimer.end()\n }\n\n return { toRegenerate, toDelete }\n}\n"],"mappings":"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"}
|
|
@@ -87,6 +87,8 @@ var _expressMiddlewares = require("./express-middlewares");
|
|
|
87
87
|
|
|
88
88
|
var _polyfillRemoteFile = require("gatsby-plugin-utils/polyfill-remote-file");
|
|
89
89
|
|
|
90
|
+
var _isFileInsideCompilations = require("./webpack/utils/is-file-inside-compilations");
|
|
91
|
+
|
|
90
92
|
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); }
|
|
91
93
|
|
|
92
94
|
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; }
|
|
@@ -459,7 +461,7 @@ async function startServer(program, app, workerPool = WorkerPool.create()) {
|
|
|
459
461
|
});
|
|
460
462
|
});
|
|
461
463
|
app.get(`/__file-code-frame`, async (req, res) => {
|
|
462
|
-
var _req$query4, _req$query5, _req$query6;
|
|
464
|
+
var _req$query4, _req$query5, _req$query6, _res$locals2, _res$locals2$webpack, _res$locals2$webpack$, _res$locals2$webpack$2;
|
|
463
465
|
|
|
464
466
|
const emptyResponse = {
|
|
465
467
|
codeFrame: `No codeFrame could be generated`,
|
|
@@ -475,7 +477,20 @@ async function startServer(program, app, workerPool = WorkerPool.create()) {
|
|
|
475
477
|
return;
|
|
476
478
|
}
|
|
477
479
|
|
|
478
|
-
const
|
|
480
|
+
const absolutePath = path.resolve(_redux.store.getState().program.directory, filePath);
|
|
481
|
+
const compilation = (_res$locals2 = res.locals) === null || _res$locals2 === void 0 ? void 0 : (_res$locals2$webpack = _res$locals2.webpack) === null || _res$locals2$webpack === void 0 ? void 0 : (_res$locals2$webpack$ = _res$locals2$webpack.devMiddleware) === null || _res$locals2$webpack$ === void 0 ? void 0 : (_res$locals2$webpack$2 = _res$locals2$webpack$.stats) === null || _res$locals2$webpack$2 === void 0 ? void 0 : _res$locals2$webpack$2.compilation;
|
|
482
|
+
|
|
483
|
+
if (!compilation) {
|
|
484
|
+
res.json(emptyResponse);
|
|
485
|
+
return;
|
|
486
|
+
}
|
|
487
|
+
|
|
488
|
+
if (!(0, _isFileInsideCompilations.isFileInsideCompilations)(absolutePath, compilation)) {
|
|
489
|
+
res.json(emptyResponse);
|
|
490
|
+
return;
|
|
491
|
+
}
|
|
492
|
+
|
|
493
|
+
const sourceContent = await fs.readFile(absolutePath, `utf-8`);
|
|
479
494
|
const codeFrame = (0, _codeFrame.codeFrameColumns)(sourceContent, {
|
|
480
495
|
start: {
|
|
481
496
|
line: lineNumber,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start-server.js","names":["startServer","program","app","workerPool","WorkerPool","create","directory","PAGE_RENDERER_PATH","path","join","ROUTES_DIRECTORY","webpackActivity","report","activityTimer","id","start","writeVirtualLoadingIndicatorModule","directoryPath","withBasePath","buildRenderer","doBuildPages","require","createIndexHtml","activity","rendererPath","close","Stage","DevelopHTML","span","err","name","panic","stripIndent","indexHTMLActivity","phantomActivity","pageRenderer","process","env","GATSBY_EXPERIMENTAL_DEV_SSR","initDevWorkerPool","end","devConfig","webpackConfig","Develop","port","parentSpan","compiler","webpack","use","compression","telemetry","expressMiddleware","webpackHotMiddleware","log","heartbeat","cors","graphqlEndpoint","GATSBY_GRAPHQL_IDE","get","graphqlPlayground","endpoint","graphiqlExplorer","getFragments","fragments","def","store","getState","definitions","values","kind","Kind","FRAGMENT_DEFINITION","push","graphqlHTTP","schema","schemaCustomization","composer","Error","graphiql","extensions","enableRefresh","ENABLE_GATSBY_REFRESH_ENDPOINT","refreshToken","GATSBY_REFRESH_TOKEN","context","withResolverContext","schemaComposer","customContext","customFormatErrorFn","formatError","stack","split","REFRESH_ENDPOINT","refresh","req","pluginName","global","__GATSBY","buildId","uuid","v4","emitter","emit","webhookBody","body","post","express","json","res","params","authorizedRefresh","headers","authorization","status","setHeader","error","isEnabled","query","fileName","resolve","cwd","lineNumber","parseInt","launchEditor","isNaN","addImageRoutes","webpackDevMiddlewareInstance","webpackDevMiddleware","publicPath","output","stats","serverSideRender","next","requestedPagePath","pagePath","potentialPagePath","reverseFixedPagePath","page","findPageByPath","serverDataPromise","Promise","pageMode","getPageMode","renderer","componentInstance","getPageChunk","getServerData","catch","pageData","GATSBY_EXPERIMENTAL_QUERY_ON_DEMAND","Date","now","getPageDataExperimental","trackCli","duration","readPageData","statusCode","result","value","Object","entries","serverData","props","getServerDataError","structuredError","panicOnBuild","sourceMessage","message","matchPath","send","e","compilation","locals","devMiddleware","emptyResponse","codeFrame","sourcePosition","sourceContent","moduleId","columnNumber","fileModule","module","modules","moduleIdentifier","chunkGraph","getModuleId","webpackSource","codeGenerationResults","sources","sourceMap","map","position","line","column","findOriginalSourcePositionAndContent","sourceLine","sourceColumn","codeFrameColumns","highlightCode","filePath","fs","readFile","developMiddleware","config","proxy","trailingSlash","configureTrailingSlash","developStatic","index","forEach","prefix","url","proxiedUrl","originalUrl","host","method","pipe","got","stream","decompress","on","response","writeHead","_","sendStatus","apiRunnerNode","deferNodeMutation","trackFeatureIsUsed","pathObj","decodeURI","allowTimedFallback","appendPreloadHeaders","htmlActivity","html","renderResponse","renderDevHTML","skipSsr","prototype","hasOwnProperty","call","htmlComponentRendererPath","filename","source","clientOnlyShell","location","minimalHTML","GATSBY_QUERY_ON_DEMAND_LOADING_INDICATOR","routeLoadingIndicatorRequests","fullUrl","protocol","endsWith","webpackCompilationHash","undefined","sendFile","server","ssl","https","Server","http","socket","websocketManager","init","listener","listen","chokidar","watchGlobs","slash","watch","to","webpackWatching","watching"],"sources":["../../src/utils/start-server.ts"],"sourcesContent":["import webpackHotMiddleware from \"@gatsbyjs/webpack-hot-middleware\"\nimport webpackDevMiddleware from \"webpack-dev-middleware\"\nimport got, { Method } from \"got\"\nimport webpack from \"webpack\"\nimport express from \"express\"\nimport compression from \"compression\"\nimport { graphqlHTTP, OptionsData } from \"express-graphql\"\nimport graphqlPlayground from \"graphql-playground-middleware-express\"\nimport graphiqlExplorer from \"gatsby-graphiql-explorer\"\nimport {\n formatError,\n FragmentDefinitionNode,\n GraphQLFormattedError,\n Kind,\n} from \"graphql\"\nimport { slash, uuid } from \"gatsby-core-utils\"\nimport http from \"http\"\nimport https from \"https\"\nimport cors from \"cors\"\nimport telemetry from \"gatsby-telemetry\"\nimport launchEditor from \"react-dev-utils/launchEditor\"\nimport { codeFrameColumns } from \"@babel/code-frame\"\nimport * as fs from \"fs-extra\"\n\nimport { withBasePath } from \"../utils/path\"\nimport webpackConfig from \"../utils/webpack.config\"\nimport { store, emitter } from \"../redux\"\nimport report from \"gatsby-cli/lib/reporter\"\nimport * as WorkerPool from \"../utils/worker/pool\"\n\nimport { developStatic } from \"../commands/develop-static\"\nimport withResolverContext from \"../schema/context\"\nimport { websocketManager, WebsocketManager } from \"../utils/websocket-manager\"\nimport {\n reverseFixedPagePath,\n readPageData,\n IPageDataWithQueryResult,\n} from \"./page-data\"\nimport { getPageData as getPageDataExperimental } from \"./get-page-data\"\nimport { findPageByPath } from \"./find-page-by-path\"\nimport apiRunnerNode from \"../utils/api-runner-node\"\nimport * as path from \"path\"\n\nimport { Stage, IProgram } from \"../commands/types\"\nimport { findOriginalSourcePositionAndContent } from \"./stack-trace-utils\"\nimport { appendPreloadHeaders } from \"./develop-preload-headers\"\nimport {\n routeLoadingIndicatorRequests,\n writeVirtualLoadingIndicatorModule,\n} from \"./loading-indicator\"\nimport { renderDevHTML } from \"./dev-ssr/render-dev-html\"\nimport { getServerData, IServerData } from \"./get-server-data\"\nimport { ROUTES_DIRECTORY } from \"../constants\"\nimport { getPageMode } from \"./page-mode\"\nimport { configureTrailingSlash } from \"./express-middlewares\"\nimport type { Express } from \"express\"\nimport { addImageRoutes } from \"gatsby-plugin-utils/polyfill-remote-file\"\n\ntype ActivityTracker = any // TODO: Replace this with proper type once reporter is typed\n\ninterface IServer {\n compiler: webpack.Compiler\n listener: http.Server | https.Server\n webpackActivity: ActivityTracker\n websocketManager: WebsocketManager\n workerPool: WorkerPool.GatsbyWorkerPool\n webpackWatching: IWebpackWatchingPauseResume\n}\n\nexport interface IWebpackWatchingPauseResume {\n suspend: () => void\n resume: () => void\n}\n\nexport async function startServer(\n program: IProgram,\n app: Express,\n workerPool: WorkerPool.GatsbyWorkerPool = WorkerPool.create()\n): Promise<IServer> {\n const directory = program.directory\n const PAGE_RENDERER_PATH = path.join(\n program.directory,\n ROUTES_DIRECTORY,\n `render-page.js`\n )\n\n const webpackActivity = report.activityTimer(`Building development bundle`, {\n id: `webpack-develop`,\n })\n webpackActivity.start()\n\n // loading indicator\n // write virtual module always to not fail webpack compilation, but only add express route handlers when\n // query on demand is enabled and loading indicator is not disabled\n writeVirtualLoadingIndicatorModule()\n\n // Remove the following when merging GATSBY_EXPERIMENTAL_DEV_SSR\n const directoryPath = withBasePath(directory)\n const { buildRenderer, doBuildPages } = require(`../commands/build-html`)\n const createIndexHtml = async (activity: ActivityTracker): Promise<void> => {\n try {\n const { rendererPath, close } = await buildRenderer(\n program,\n Stage.DevelopHTML,\n activity.span\n )\n await doBuildPages(\n rendererPath,\n [`/`],\n activity,\n workerPool,\n Stage.DevelopHTML\n )\n // close the compiler\n await close()\n } catch (err) {\n if (err.name !== `WebpackError`) {\n report.panic(err)\n return\n }\n report.panic(\n report.stripIndent`\n There was an error compiling the html.js component for the development server.\n See our docs page on debugging HTML builds for help https://gatsby.dev/debug-html\n `,\n err\n )\n }\n }\n const indexHTMLActivity = report.phantomActivity(`building index.html`, {})\n\n let pageRenderer: string\n if (process.env.GATSBY_EXPERIMENTAL_DEV_SSR) {\n const { buildRenderer } = require(`../commands/build-html`)\n pageRenderer = (await buildRenderer(program, Stage.DevelopHTML))\n .rendererPath\n const { initDevWorkerPool } = require(`./dev-ssr/render-dev-html`)\n initDevWorkerPool()\n } else {\n indexHTMLActivity.start()\n\n await createIndexHtml(indexHTMLActivity)\n\n indexHTMLActivity.end()\n }\n\n const devConfig = await webpackConfig(\n program,\n directory,\n Stage.Develop,\n program.port,\n {\n parentSpan: webpackActivity.span,\n }\n )\n\n const compiler = webpack(devConfig)\n\n /**\n * Set up the express app.\n **/\n app.use(compression())\n app.use(telemetry.expressMiddleware(`DEVELOP`))\n app.use(\n webpackHotMiddleware(compiler, {\n log: false,\n path: `/__webpack_hmr`,\n heartbeat: 10 * 1000,\n })\n )\n\n app.use(cors())\n\n /**\n * Pattern matching all endpoints with graphql or graphiql with 1 or more leading underscores\n */\n const graphqlEndpoint = `/_+graphi?ql`\n\n // TODO(v5): Remove GraphQL Playground (GraphiQL will be more future-proof)\n if (process.env.GATSBY_GRAPHQL_IDE === `playground`) {\n app.get(\n graphqlEndpoint,\n graphqlPlayground({\n endpoint: `/___graphql`,\n }),\n () => {}\n )\n } else {\n graphiqlExplorer(app, {\n graphqlEndpoint,\n getFragments: function getFragments(): Array<FragmentDefinitionNode> {\n const fragments: Array<FragmentDefinitionNode> = []\n for (const def of store.getState().definitions.values()) {\n if (def.def.kind === Kind.FRAGMENT_DEFINITION) {\n fragments.push(def.def)\n }\n }\n return fragments\n },\n })\n }\n\n app.use(\n graphqlEndpoint,\n graphqlHTTP((): OptionsData => {\n const { schema, schemaCustomization } = store.getState()\n\n if (!schemaCustomization.composer) {\n throw new Error(\n `A schema composer was not created in time. This is likely a gatsby bug. If you experienced this please create an issue.`\n )\n }\n return {\n schema,\n graphiql: false,\n extensions(): { [key: string]: unknown } {\n return {\n enableRefresh: process.env.ENABLE_GATSBY_REFRESH_ENDPOINT,\n refreshToken: process.env.GATSBY_REFRESH_TOKEN,\n }\n },\n context: withResolverContext({\n schema,\n schemaComposer: schemaCustomization.composer,\n context: {},\n customContext: schemaCustomization.context,\n }),\n customFormatErrorFn(\n err\n ): GraphQLFormattedError<{ stack: Array<string> }> {\n return {\n ...formatError(err),\n extensions: {\n stack: err.stack ? err.stack.split(`\\n`) : [],\n },\n }\n },\n }\n })\n )\n\n /**\n * Refresh external data sources.\n * This behavior is disabled by default, but the ENABLE_GATSBY_REFRESH_ENDPOINT env var enables it\n * If no GATSBY_REFRESH_TOKEN env var is available, then no Authorization header is required\n **/\n const REFRESH_ENDPOINT = `/__refresh`\n const refresh = async (\n req: express.Request,\n pluginName?: string\n ): Promise<void> => {\n global.__GATSBY.buildId = uuid.v4()\n\n emitter.emit(`WEBHOOK_RECEIVED`, {\n webhookBody: req.body,\n pluginName,\n })\n }\n\n app.post(`${REFRESH_ENDPOINT}/:plugin_name?`, express.json(), (req, res) => {\n const pluginName = req.params[`plugin_name`]\n\n const enableRefresh = process.env.ENABLE_GATSBY_REFRESH_ENDPOINT\n const refreshToken = process.env.GATSBY_REFRESH_TOKEN\n const authorizedRefresh =\n !refreshToken || req.headers.authorization === refreshToken\n\n if (enableRefresh && authorizedRefresh) {\n refresh(req, pluginName)\n res.status(200)\n res.setHeader(`content-type`, `application/json`)\n } else {\n res.status(authorizedRefresh ? 404 : 403)\n res.json({\n error: enableRefresh\n ? `Authorization failed. Make sure you add authorization header to your refresh requests`\n : `Refresh endpoint is not enabled. Run gatsby with \"ENABLE_GATSBY_REFRESH_ENDPOINT=true\" environment variable set.`,\n isEnabled: !!process.env.ENABLE_GATSBY_REFRESH_ENDPOINT,\n })\n }\n res.end()\n })\n\n app.get(`/__open-stack-frame-in-editor`, (req, res) => {\n if (req.query.fileName) {\n const fileName = path.resolve(process.cwd(), req.query.fileName as string)\n const lineNumber = parseInt(req.query.lineNumber as string, 10)\n launchEditor(fileName, isNaN(lineNumber) ? 1 : lineNumber)\n }\n res.end()\n })\n\n addImageRoutes(app, store)\n\n const webpackDevMiddlewareInstance = webpackDevMiddleware(compiler, {\n publicPath: devConfig.output.publicPath,\n stats: `errors-only`,\n serverSideRender: true,\n })\n\n app.use(webpackDevMiddlewareInstance)\n\n app.get(\n `/page-data/:pagePath(*)/page-data.json`,\n async (req, res, next): Promise<void> => {\n const requestedPagePath = req.params.pagePath\n if (!requestedPagePath) {\n next()\n return\n }\n\n const potentialPagePath = reverseFixedPagePath(requestedPagePath)\n const page = findPageByPath(store.getState(), potentialPagePath, false)\n\n if (page) {\n try {\n let serverDataPromise: Promise<IServerData> | Promise<Error> =\n Promise.resolve({})\n const pageMode = getPageMode(page)\n\n if (pageMode === `SSR`) {\n const renderer = require(PAGE_RENDERER_PATH)\n const componentInstance = await renderer.getPageChunk(page)\n\n serverDataPromise = getServerData(\n req,\n page,\n potentialPagePath,\n componentInstance\n ).catch(error => error)\n }\n\n let pageData: IPageDataWithQueryResult\n // TODO move to query-engine\n if (process.env.GATSBY_EXPERIMENTAL_QUERY_ON_DEMAND) {\n const start = Date.now()\n\n pageData = await getPageDataExperimental(page.path)\n\n telemetry.trackCli(`RUN_QUERY_ON_DEMAND`, {\n name: `getPageData`,\n duration: Date.now() - start,\n })\n } else {\n pageData = await readPageData(\n path.join(store.getState().program.directory, `public`),\n page.path\n )\n }\n\n let statusCode = 200\n if (pageMode === `SSR`) {\n try {\n const result = await serverDataPromise\n\n if (result instanceof Error) {\n throw result\n }\n\n if (result.headers) {\n for (const [name, value] of Object.entries(result.headers)) {\n res.setHeader(name, value)\n }\n }\n\n if (result.status) {\n statusCode = result.status\n }\n\n pageData.result.serverData = result.props\n pageData.getServerDataError = null\n } catch (error) {\n const structuredError = report.panicOnBuild({\n id: `95315`,\n context: {\n sourceMessage: error.message,\n pagePath: requestedPagePath,\n potentialPagePath,\n },\n error,\n })\n // Use page-data.json file instead of emitting via websockets as this makes it easier\n // to only display the relevant error + clearing of the error\n // The query-result-store reacts to this\n pageData.getServerDataError = structuredError\n }\n pageData.path = page.matchPath ? `/${potentialPagePath}` : page.path\n } else {\n // When user removes getServerData function, Gatsby browser runtime still has cached version of page-data.\n // Send `null` to always reset cached serverData:\n pageData.result.serverData = null\n }\n\n res.status(statusCode).send(pageData)\n return\n } catch (e) {\n report.error(\n `Error loading a result for the page query in \"${requestedPagePath}\" / \"${potentialPagePath}\". Query was not run and no cached result was found.`,\n e\n )\n }\n }\n\n res.status(404).send({\n path: potentialPagePath,\n })\n }\n )\n\n app.get(`/__original-stack-frame`, (req, res) => {\n const compilation = res.locals?.webpack?.devMiddleware?.stats?.compilation\n const emptyResponse = {\n codeFrame: `No codeFrame could be generated`,\n sourcePosition: null,\n sourceContent: null,\n }\n\n if (!compilation) {\n res.json(emptyResponse)\n return\n }\n\n const moduleId = req.query?.moduleId\n const lineNumber = parseInt((req.query?.lineNumber as string) ?? 1, 10)\n const columnNumber = parseInt((req.query?.columnNumber as string) ?? 1, 10)\n\n let fileModule\n for (const module of compilation.modules) {\n const moduleIdentifier = compilation.chunkGraph.getModuleId(module)\n if (moduleIdentifier === moduleId) {\n fileModule = module\n break\n }\n }\n\n if (!fileModule) {\n res.json(emptyResponse)\n return\n }\n\n // We need the internal webpack file that is used in the bundle, not the module source.\n // It doesn't have the correct sourceMap.\n const webpackSource = compilation?.codeGenerationResults\n ?.get(fileModule)\n ?.sources.get(`javascript`)\n\n const sourceMap = webpackSource?.map()\n\n if (!sourceMap) {\n res.json(emptyResponse)\n return\n }\n\n const position = {\n line: lineNumber,\n column: columnNumber,\n }\n const result = findOriginalSourcePositionAndContent(sourceMap, position)\n\n const sourcePosition = result?.sourcePosition\n const sourceLine = sourcePosition?.line\n const sourceColumn = sourcePosition?.column\n const sourceContent = result?.sourceContent\n\n if (!sourceContent || !sourceLine) {\n res.json(emptyResponse)\n return\n }\n\n const codeFrame = codeFrameColumns(\n sourceContent,\n {\n start: {\n line: sourceLine,\n column: sourceColumn ?? 0,\n },\n },\n {\n highlightCode: true,\n }\n )\n res.json({\n codeFrame,\n sourcePosition,\n sourceContent,\n })\n })\n\n app.get(`/__file-code-frame`, async (req, res) => {\n const emptyResponse = {\n codeFrame: `No codeFrame could be generated`,\n sourcePosition: null,\n sourceContent: null,\n }\n\n const filePath: string | undefined = req.query?.filePath as string\n const lineNumber = parseInt(req.query?.lineNumber as string, 10)\n const columnNumber = parseInt(req.query?.columnNumber as string, 10)\n\n if (!filePath) {\n res.json(emptyResponse)\n return\n }\n\n const sourceContent = await fs.readFile(filePath, `utf-8`)\n\n const codeFrame = codeFrameColumns(\n sourceContent,\n {\n start: {\n line: lineNumber,\n column: columnNumber ?? 0,\n },\n },\n {\n highlightCode: true,\n }\n )\n res.json({\n codeFrame,\n })\n })\n\n // Expose access to app for advanced use cases\n const { developMiddleware } = store.getState().config\n\n if (developMiddleware) {\n developMiddleware(app, program)\n }\n\n const { proxy, trailingSlash } = store.getState().config\n\n app.use(configureTrailingSlash(() => store.getState(), trailingSlash))\n\n // Disable directory indexing i.e. serving index.html from a directory.\n // This can lead to serving stale html files during development.\n //\n // We serve by default an empty index.html that sets up the dev environment.\n app.use(developStatic(`public`, { index: false }))\n\n // Set up API proxy.\n if (proxy) {\n proxy.forEach(({ prefix, url }) => {\n app.use(`${prefix}/*`, (req, res) => {\n const proxiedUrl = url + req.originalUrl\n const {\n // remove `host` from copied headers\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n headers: { host, ...headers },\n method,\n } = req\n req\n .pipe(\n got\n .stream(proxiedUrl, {\n headers,\n method: method as Method,\n decompress: false,\n })\n .on(`response`, response =>\n res.writeHead(response.statusCode || 200, response.headers)\n )\n .on(`error`, (err, _, response) => {\n if (response) {\n res.writeHead(response.statusCode || 400, response.headers)\n } else {\n const message = `Error when trying to proxy request \"${req.originalUrl}\" to \"${proxiedUrl}\"`\n\n report.error(message, err)\n res.sendStatus(500)\n }\n })\n )\n .pipe(res)\n })\n }, cors())\n }\n\n await apiRunnerNode(`onCreateDevServer`, { app, deferNodeMutation: true })\n\n // In case nothing before handled hot-update - send 404.\n // This fixes \"Unexpected token < in JSON at position 0\" runtime\n // errors after restarting development server and\n // cause automatic hard refresh in the browser.\n app.use(/.*\\.hot-update\\.json$/i, (_, res) => {\n res.status(404).end()\n })\n\n // Render an HTML page and serve it.\n if (process.env.GATSBY_EXPERIMENTAL_DEV_SSR) {\n app.get(`*`, async (req, res, next) => {\n telemetry.trackFeatureIsUsed(`GATSBY_EXPERIMENTAL_DEV_SSR`)\n\n const pathObj = findPageByPath(store.getState(), decodeURI(req.path))\n\n if (!pathObj) {\n return next()\n }\n\n const allowTimedFallback = !req.headers[`x-gatsby-wait-for-dev-ssr`]\n\n await appendPreloadHeaders(pathObj.path, res)\n\n const htmlActivity = report.phantomActivity(`building HTML for path`, {})\n htmlActivity.start()\n\n try {\n const { html: renderResponse, serverData } = await renderDevHTML({\n path: pathObj.path,\n page: pathObj,\n skipSsr: Object.prototype.hasOwnProperty.call(req.query, `skip-ssr`),\n store,\n allowTimedFallback,\n htmlComponentRendererPath: PAGE_RENDERER_PATH,\n directory: program.directory,\n req,\n })\n\n if (serverData?.headers) {\n for (const [name, value] of Object.entries(serverData.headers)) {\n res.setHeader(name, value)\n }\n }\n let statusCode = 200\n if (serverData?.status) {\n statusCode = serverData.status\n }\n res.status(statusCode).send(renderResponse)\n } catch (error) {\n // The page errored but couldn't read the page component.\n // This is a race condition when a page is deleted but its requested\n // immediately after before anything can recompile.\n if (error === `404 page`) {\n return next()\n }\n\n // renderDevHTML throws an error with these information\n const lineNumber = error?.line as number\n const columnNumber = error?.column as number\n const filePath = error?.filename as string\n const sourceContent = error?.sourceContent as string\n\n report.error({\n id: `11614`,\n context: {\n path: pathObj.path,\n filePath: filePath,\n line: lineNumber,\n column: columnNumber,\n },\n })\n\n const emptyResponse = {\n codeFrame: `No codeFrame could be generated`,\n sourcePosition: null,\n sourceContent: null,\n }\n\n if (!sourceContent || !lineNumber) {\n res.json(emptyResponse)\n return null\n }\n\n const codeFrame = codeFrameColumns(\n sourceContent,\n {\n start: {\n line: lineNumber,\n column: columnNumber ?? 0,\n },\n },\n {\n highlightCode: true,\n }\n )\n\n const message = {\n codeFrame,\n source: filePath,\n line: lineNumber,\n column: columnNumber ?? 0,\n sourceMessage: error?.message,\n stack: error?.stack,\n }\n\n try {\n // Generate a shell for client-only content -- for the error overlay\n const { html: clientOnlyShell } = await renderDevHTML({\n path: pathObj.path,\n page: pathObj,\n skipSsr: true,\n store,\n error: message,\n htmlComponentRendererPath: PAGE_RENDERER_PATH,\n directory: program.directory,\n req,\n allowTimedFallback,\n })\n\n res.send(clientOnlyShell)\n } catch (e) {\n report.error({\n id: `11616`,\n context: {\n sourceMessage: e.message,\n },\n filePath: e.filename,\n location: {\n start: {\n line: e.line,\n column: e.column,\n },\n },\n })\n\n const minimalHTML = `<head><title>Failed to Server Render (SSR)</title></head><body><h1>Failed to Server Render (SSR)</h1><h2>Error message:</h2><p>${e.message}</p><h2>File:</h2><p>${e.filename}:${e.line}:${e.column}</p><h2>Stack:</h2><pre><code>${e.stack}</code></pre></body>`\n\n res.send(minimalHTML).status(500)\n }\n }\n\n htmlActivity.end()\n\n return null\n })\n }\n\n if (\n process.env.GATSBY_EXPERIMENTAL_QUERY_ON_DEMAND &&\n process.env.GATSBY_QUERY_ON_DEMAND_LOADING_INDICATOR === `true`\n ) {\n routeLoadingIndicatorRequests(app)\n }\n\n app.use(async (req, res) => {\n // in this catch-all block we don't support POST so we should 404\n if (req.method === `POST`) {\n res.status(404).end()\n return\n }\n\n const fullUrl = req.protocol + `://` + req.get(`host`) + req.originalUrl\n // This isn't used in development.\n if (fullUrl.endsWith(`app-data.json`)) {\n res.json({ webpackCompilationHash: `123` })\n // If this gets here, it's a non-existent file so just send back 404.\n } else if (fullUrl.endsWith(`.json`)) {\n res.json({}).status(404)\n } else {\n await appendPreloadHeaders(req.path, res)\n\n if (process.env.GATSBY_EXPERIMENTAL_DEV_SSR) {\n try {\n const allowTimedFallback = !req.headers[`x-gatsby-wait-for-dev-ssr`]\n const { html: renderResponse } = await renderDevHTML({\n path: `/dev-404-page/`,\n // Let renderDevHTML figure it out.\n page: undefined,\n store,\n htmlComponentRendererPath: pageRenderer,\n directory: program.directory,\n req,\n allowTimedFallback,\n })\n res.status(404).send(renderResponse)\n } catch (e) {\n report.error({\n id: `11615`,\n context: {\n sourceMessage: e.message,\n },\n filePath: e.filename,\n location: {\n start: {\n line: e.line,\n column: e.column,\n },\n },\n })\n res.send(e).status(500)\n }\n } else {\n const potentialPagePath = reverseFixedPagePath(decodeURI(req.path))\n const page = findPageByPath(store.getState(), potentialPagePath, false)\n\n // When we can't find a page we send 404\n if (!page) {\n res.status(404)\n }\n\n res.sendFile(directoryPath(`.cache/develop-html/index.html`), err => {\n if (err) {\n res.status(500).end()\n }\n })\n }\n }\n })\n\n /**\n * Set up the HTTP server and socket.io.\n **/\n const server = program.ssl\n ? new https.Server(program.ssl, app)\n : new http.Server(app)\n const socket = websocketManager.init({ server })\n const listener = server.listen(program.port, program.host)\n\n if (!process.env.GATSBY_EXPERIMENTAL_DEV_SSR) {\n const chokidar = require(`chokidar`)\n // Register watcher that rebuilds index.html every time html.js changes.\n const watchGlobs = [`src/html.js`, `plugins/**/gatsby-ssr.js`].map(path =>\n slash(directoryPath(path))\n )\n\n chokidar.watch(watchGlobs).on(`change`, async () => {\n await createIndexHtml(indexHTMLActivity)\n // eslint-disable-next-line no-unused-expressions\n socket?.to(`clients`).emit(`reload`)\n })\n }\n\n return {\n compiler,\n listener,\n webpackActivity,\n websocketManager,\n workerPool,\n webpackWatching: webpackDevMiddlewareInstance.context.watching,\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"start-server.js","names":["startServer","program","app","workerPool","WorkerPool","create","directory","PAGE_RENDERER_PATH","path","join","ROUTES_DIRECTORY","webpackActivity","report","activityTimer","id","start","writeVirtualLoadingIndicatorModule","directoryPath","withBasePath","buildRenderer","doBuildPages","require","createIndexHtml","activity","rendererPath","close","Stage","DevelopHTML","span","err","name","panic","stripIndent","indexHTMLActivity","phantomActivity","pageRenderer","process","env","GATSBY_EXPERIMENTAL_DEV_SSR","initDevWorkerPool","end","devConfig","webpackConfig","Develop","port","parentSpan","compiler","webpack","use","compression","telemetry","expressMiddleware","webpackHotMiddleware","log","heartbeat","cors","graphqlEndpoint","GATSBY_GRAPHQL_IDE","get","graphqlPlayground","endpoint","graphiqlExplorer","getFragments","fragments","def","store","getState","definitions","values","kind","Kind","FRAGMENT_DEFINITION","push","graphqlHTTP","schema","schemaCustomization","composer","Error","graphiql","extensions","enableRefresh","ENABLE_GATSBY_REFRESH_ENDPOINT","refreshToken","GATSBY_REFRESH_TOKEN","context","withResolverContext","schemaComposer","customContext","customFormatErrorFn","formatError","stack","split","REFRESH_ENDPOINT","refresh","req","pluginName","global","__GATSBY","buildId","uuid","v4","emitter","emit","webhookBody","body","post","express","json","res","params","authorizedRefresh","headers","authorization","status","setHeader","error","isEnabled","query","fileName","resolve","cwd","lineNumber","parseInt","launchEditor","isNaN","addImageRoutes","webpackDevMiddlewareInstance","webpackDevMiddleware","publicPath","output","stats","serverSideRender","next","requestedPagePath","pagePath","potentialPagePath","reverseFixedPagePath","page","findPageByPath","serverDataPromise","Promise","pageMode","getPageMode","renderer","componentInstance","getPageChunk","getServerData","catch","pageData","GATSBY_EXPERIMENTAL_QUERY_ON_DEMAND","Date","now","getPageDataExperimental","trackCli","duration","readPageData","statusCode","result","value","Object","entries","serverData","props","getServerDataError","structuredError","panicOnBuild","sourceMessage","message","matchPath","send","e","compilation","locals","devMiddleware","emptyResponse","codeFrame","sourcePosition","sourceContent","moduleId","columnNumber","fileModule","module","modules","moduleIdentifier","chunkGraph","getModuleId","webpackSource","codeGenerationResults","sources","sourceMap","map","position","line","column","findOriginalSourcePositionAndContent","sourceLine","sourceColumn","codeFrameColumns","highlightCode","filePath","absolutePath","isFileInsideCompilations","fs","readFile","developMiddleware","config","proxy","trailingSlash","configureTrailingSlash","developStatic","index","forEach","prefix","url","proxiedUrl","originalUrl","host","method","pipe","got","stream","decompress","on","response","writeHead","_","sendStatus","apiRunnerNode","deferNodeMutation","trackFeatureIsUsed","pathObj","decodeURI","allowTimedFallback","appendPreloadHeaders","htmlActivity","html","renderResponse","renderDevHTML","skipSsr","prototype","hasOwnProperty","call","htmlComponentRendererPath","filename","source","clientOnlyShell","location","minimalHTML","GATSBY_QUERY_ON_DEMAND_LOADING_INDICATOR","routeLoadingIndicatorRequests","fullUrl","protocol","endsWith","webpackCompilationHash","undefined","sendFile","server","ssl","https","Server","http","socket","websocketManager","init","listener","listen","chokidar","watchGlobs","slash","watch","to","webpackWatching","watching"],"sources":["../../src/utils/start-server.ts"],"sourcesContent":["import webpackHotMiddleware from \"@gatsbyjs/webpack-hot-middleware\"\nimport webpackDevMiddleware from \"webpack-dev-middleware\"\nimport got, { Method } from \"got\"\nimport webpack, { Compilation } from \"webpack\"\nimport express from \"express\"\nimport compression from \"compression\"\nimport { graphqlHTTP, OptionsData } from \"express-graphql\"\nimport graphqlPlayground from \"graphql-playground-middleware-express\"\nimport graphiqlExplorer from \"gatsby-graphiql-explorer\"\nimport {\n formatError,\n FragmentDefinitionNode,\n GraphQLFormattedError,\n Kind,\n} from \"graphql\"\nimport { slash, uuid } from \"gatsby-core-utils\"\nimport http from \"http\"\nimport https from \"https\"\nimport cors from \"cors\"\nimport telemetry from \"gatsby-telemetry\"\nimport launchEditor from \"react-dev-utils/launchEditor\"\nimport { codeFrameColumns } from \"@babel/code-frame\"\nimport * as fs from \"fs-extra\"\n\nimport { withBasePath } from \"../utils/path\"\nimport webpackConfig from \"../utils/webpack.config\"\nimport { store, emitter } from \"../redux\"\nimport report from \"gatsby-cli/lib/reporter\"\nimport * as WorkerPool from \"../utils/worker/pool\"\n\nimport { developStatic } from \"../commands/develop-static\"\nimport withResolverContext from \"../schema/context\"\nimport { websocketManager, WebsocketManager } from \"../utils/websocket-manager\"\nimport {\n reverseFixedPagePath,\n readPageData,\n IPageDataWithQueryResult,\n} from \"./page-data\"\nimport { getPageData as getPageDataExperimental } from \"./get-page-data\"\nimport { findPageByPath } from \"./find-page-by-path\"\nimport apiRunnerNode from \"../utils/api-runner-node\"\nimport * as path from \"path\"\n\nimport { Stage, IProgram } from \"../commands/types\"\nimport { findOriginalSourcePositionAndContent } from \"./stack-trace-utils\"\nimport { appendPreloadHeaders } from \"./develop-preload-headers\"\nimport {\n routeLoadingIndicatorRequests,\n writeVirtualLoadingIndicatorModule,\n} from \"./loading-indicator\"\nimport { renderDevHTML } from \"./dev-ssr/render-dev-html\"\nimport { getServerData, IServerData } from \"./get-server-data\"\nimport { ROUTES_DIRECTORY } from \"../constants\"\nimport { getPageMode } from \"./page-mode\"\nimport { configureTrailingSlash } from \"./express-middlewares\"\nimport type { Express } from \"express\"\nimport { addImageRoutes } from \"gatsby-plugin-utils/polyfill-remote-file\"\nimport { isFileInsideCompilations } from \"./webpack/utils/is-file-inside-compilations\"\n\ntype ActivityTracker = any // TODO: Replace this with proper type once reporter is typed\n\ninterface IServer {\n compiler: webpack.Compiler\n listener: http.Server | https.Server\n webpackActivity: ActivityTracker\n websocketManager: WebsocketManager\n workerPool: WorkerPool.GatsbyWorkerPool\n webpackWatching: IWebpackWatchingPauseResume\n}\n\nexport interface IWebpackWatchingPauseResume {\n suspend: () => void\n resume: () => void\n}\n\nexport async function startServer(\n program: IProgram,\n app: Express,\n workerPool: WorkerPool.GatsbyWorkerPool = WorkerPool.create()\n): Promise<IServer> {\n const directory = program.directory\n const PAGE_RENDERER_PATH = path.join(\n program.directory,\n ROUTES_DIRECTORY,\n `render-page.js`\n )\n\n const webpackActivity = report.activityTimer(`Building development bundle`, {\n id: `webpack-develop`,\n })\n webpackActivity.start()\n\n // loading indicator\n // write virtual module always to not fail webpack compilation, but only add express route handlers when\n // query on demand is enabled and loading indicator is not disabled\n writeVirtualLoadingIndicatorModule()\n\n // Remove the following when merging GATSBY_EXPERIMENTAL_DEV_SSR\n const directoryPath = withBasePath(directory)\n const { buildRenderer, doBuildPages } = require(`../commands/build-html`)\n const createIndexHtml = async (activity: ActivityTracker): Promise<void> => {\n try {\n const { rendererPath, close } = await buildRenderer(\n program,\n Stage.DevelopHTML,\n activity.span\n )\n await doBuildPages(\n rendererPath,\n [`/`],\n activity,\n workerPool,\n Stage.DevelopHTML\n )\n // close the compiler\n await close()\n } catch (err) {\n if (err.name !== `WebpackError`) {\n report.panic(err)\n return\n }\n report.panic(\n report.stripIndent`\n There was an error compiling the html.js component for the development server.\n See our docs page on debugging HTML builds for help https://gatsby.dev/debug-html\n `,\n err\n )\n }\n }\n const indexHTMLActivity = report.phantomActivity(`building index.html`, {})\n\n let pageRenderer: string\n if (process.env.GATSBY_EXPERIMENTAL_DEV_SSR) {\n const { buildRenderer } = require(`../commands/build-html`)\n pageRenderer = (await buildRenderer(program, Stage.DevelopHTML))\n .rendererPath\n const { initDevWorkerPool } = require(`./dev-ssr/render-dev-html`)\n initDevWorkerPool()\n } else {\n indexHTMLActivity.start()\n\n await createIndexHtml(indexHTMLActivity)\n\n indexHTMLActivity.end()\n }\n\n const devConfig = await webpackConfig(\n program,\n directory,\n Stage.Develop,\n program.port,\n {\n parentSpan: webpackActivity.span,\n }\n )\n\n const compiler = webpack(devConfig)\n\n /**\n * Set up the express app.\n **/\n app.use(compression())\n app.use(telemetry.expressMiddleware(`DEVELOP`))\n app.use(\n webpackHotMiddleware(compiler, {\n log: false,\n path: `/__webpack_hmr`,\n heartbeat: 10 * 1000,\n })\n )\n\n app.use(cors())\n\n /**\n * Pattern matching all endpoints with graphql or graphiql with 1 or more leading underscores\n */\n const graphqlEndpoint = `/_+graphi?ql`\n\n // TODO(v5): Remove GraphQL Playground (GraphiQL will be more future-proof)\n if (process.env.GATSBY_GRAPHQL_IDE === `playground`) {\n app.get(\n graphqlEndpoint,\n graphqlPlayground({\n endpoint: `/___graphql`,\n }),\n () => {}\n )\n } else {\n graphiqlExplorer(app, {\n graphqlEndpoint,\n getFragments: function getFragments(): Array<FragmentDefinitionNode> {\n const fragments: Array<FragmentDefinitionNode> = []\n for (const def of store.getState().definitions.values()) {\n if (def.def.kind === Kind.FRAGMENT_DEFINITION) {\n fragments.push(def.def)\n }\n }\n return fragments\n },\n })\n }\n\n app.use(\n graphqlEndpoint,\n graphqlHTTP((): OptionsData => {\n const { schema, schemaCustomization } = store.getState()\n\n if (!schemaCustomization.composer) {\n throw new Error(\n `A schema composer was not created in time. This is likely a gatsby bug. If you experienced this please create an issue.`\n )\n }\n return {\n schema,\n graphiql: false,\n extensions(): { [key: string]: unknown } {\n return {\n enableRefresh: process.env.ENABLE_GATSBY_REFRESH_ENDPOINT,\n refreshToken: process.env.GATSBY_REFRESH_TOKEN,\n }\n },\n context: withResolverContext({\n schema,\n schemaComposer: schemaCustomization.composer,\n context: {},\n customContext: schemaCustomization.context,\n }),\n customFormatErrorFn(\n err\n ): GraphQLFormattedError<{ stack: Array<string> }> {\n return {\n ...formatError(err),\n extensions: {\n stack: err.stack ? err.stack.split(`\\n`) : [],\n },\n }\n },\n }\n })\n )\n\n /**\n * Refresh external data sources.\n * This behavior is disabled by default, but the ENABLE_GATSBY_REFRESH_ENDPOINT env var enables it\n * If no GATSBY_REFRESH_TOKEN env var is available, then no Authorization header is required\n **/\n const REFRESH_ENDPOINT = `/__refresh`\n const refresh = async (\n req: express.Request,\n pluginName?: string\n ): Promise<void> => {\n global.__GATSBY.buildId = uuid.v4()\n\n emitter.emit(`WEBHOOK_RECEIVED`, {\n webhookBody: req.body,\n pluginName,\n })\n }\n\n app.post(`${REFRESH_ENDPOINT}/:plugin_name?`, express.json(), (req, res) => {\n const pluginName = req.params[`plugin_name`]\n\n const enableRefresh = process.env.ENABLE_GATSBY_REFRESH_ENDPOINT\n const refreshToken = process.env.GATSBY_REFRESH_TOKEN\n const authorizedRefresh =\n !refreshToken || req.headers.authorization === refreshToken\n\n if (enableRefresh && authorizedRefresh) {\n refresh(req, pluginName)\n res.status(200)\n res.setHeader(`content-type`, `application/json`)\n } else {\n res.status(authorizedRefresh ? 404 : 403)\n res.json({\n error: enableRefresh\n ? `Authorization failed. Make sure you add authorization header to your refresh requests`\n : `Refresh endpoint is not enabled. Run gatsby with \"ENABLE_GATSBY_REFRESH_ENDPOINT=true\" environment variable set.`,\n isEnabled: !!process.env.ENABLE_GATSBY_REFRESH_ENDPOINT,\n })\n }\n res.end()\n })\n\n app.get(`/__open-stack-frame-in-editor`, (req, res) => {\n if (req.query.fileName) {\n const fileName = path.resolve(process.cwd(), req.query.fileName as string)\n const lineNumber = parseInt(req.query.lineNumber as string, 10)\n launchEditor(fileName, isNaN(lineNumber) ? 1 : lineNumber)\n }\n res.end()\n })\n\n addImageRoutes(app, store)\n\n const webpackDevMiddlewareInstance = webpackDevMiddleware(compiler, {\n publicPath: devConfig.output.publicPath,\n stats: `errors-only`,\n serverSideRender: true,\n })\n\n app.use(webpackDevMiddlewareInstance)\n\n app.get(\n `/page-data/:pagePath(*)/page-data.json`,\n async (req, res, next): Promise<void> => {\n const requestedPagePath = req.params.pagePath\n if (!requestedPagePath) {\n next()\n return\n }\n\n const potentialPagePath = reverseFixedPagePath(requestedPagePath)\n const page = findPageByPath(store.getState(), potentialPagePath, false)\n\n if (page) {\n try {\n let serverDataPromise: Promise<IServerData> | Promise<Error> =\n Promise.resolve({})\n const pageMode = getPageMode(page)\n\n if (pageMode === `SSR`) {\n const renderer = require(PAGE_RENDERER_PATH)\n const componentInstance = await renderer.getPageChunk(page)\n\n serverDataPromise = getServerData(\n req,\n page,\n potentialPagePath,\n componentInstance\n ).catch(error => error)\n }\n\n let pageData: IPageDataWithQueryResult\n // TODO move to query-engine\n if (process.env.GATSBY_EXPERIMENTAL_QUERY_ON_DEMAND) {\n const start = Date.now()\n\n pageData = await getPageDataExperimental(page.path)\n\n telemetry.trackCli(`RUN_QUERY_ON_DEMAND`, {\n name: `getPageData`,\n duration: Date.now() - start,\n })\n } else {\n pageData = await readPageData(\n path.join(store.getState().program.directory, `public`),\n page.path\n )\n }\n\n let statusCode = 200\n if (pageMode === `SSR`) {\n try {\n const result = await serverDataPromise\n\n if (result instanceof Error) {\n throw result\n }\n\n if (result.headers) {\n for (const [name, value] of Object.entries(result.headers)) {\n res.setHeader(name, value)\n }\n }\n\n if (result.status) {\n statusCode = result.status\n }\n\n pageData.result.serverData = result.props\n pageData.getServerDataError = null\n } catch (error) {\n const structuredError = report.panicOnBuild({\n id: `95315`,\n context: {\n sourceMessage: error.message,\n pagePath: requestedPagePath,\n potentialPagePath,\n },\n error,\n })\n // Use page-data.json file instead of emitting via websockets as this makes it easier\n // to only display the relevant error + clearing of the error\n // The query-result-store reacts to this\n pageData.getServerDataError = structuredError\n }\n pageData.path = page.matchPath ? `/${potentialPagePath}` : page.path\n } else {\n // When user removes getServerData function, Gatsby browser runtime still has cached version of page-data.\n // Send `null` to always reset cached serverData:\n pageData.result.serverData = null\n }\n\n res.status(statusCode).send(pageData)\n return\n } catch (e) {\n report.error(\n `Error loading a result for the page query in \"${requestedPagePath}\" / \"${potentialPagePath}\". Query was not run and no cached result was found.`,\n e\n )\n }\n }\n\n res.status(404).send({\n path: potentialPagePath,\n })\n }\n )\n\n app.get(`/__original-stack-frame`, (req, res) => {\n const compilation = res.locals?.webpack?.devMiddleware?.stats?.compilation\n const emptyResponse = {\n codeFrame: `No codeFrame could be generated`,\n sourcePosition: null,\n sourceContent: null,\n }\n\n if (!compilation) {\n res.json(emptyResponse)\n return\n }\n\n const moduleId = req.query?.moduleId\n const lineNumber = parseInt((req.query?.lineNumber as string) ?? 1, 10)\n const columnNumber = parseInt((req.query?.columnNumber as string) ?? 1, 10)\n\n let fileModule\n for (const module of compilation.modules) {\n const moduleIdentifier = compilation.chunkGraph.getModuleId(module)\n if (moduleIdentifier === moduleId) {\n fileModule = module\n break\n }\n }\n\n if (!fileModule) {\n res.json(emptyResponse)\n return\n }\n\n // We need the internal webpack file that is used in the bundle, not the module source.\n // It doesn't have the correct sourceMap.\n const webpackSource = compilation?.codeGenerationResults\n ?.get(fileModule)\n ?.sources.get(`javascript`)\n\n const sourceMap = webpackSource?.map()\n\n if (!sourceMap) {\n res.json(emptyResponse)\n return\n }\n\n const position = {\n line: lineNumber,\n column: columnNumber,\n }\n const result = findOriginalSourcePositionAndContent(sourceMap, position)\n\n const sourcePosition = result?.sourcePosition\n const sourceLine = sourcePosition?.line\n const sourceColumn = sourcePosition?.column\n const sourceContent = result?.sourceContent\n\n if (!sourceContent || !sourceLine) {\n res.json(emptyResponse)\n return\n }\n\n const codeFrame = codeFrameColumns(\n sourceContent,\n {\n start: {\n line: sourceLine,\n column: sourceColumn ?? 0,\n },\n },\n {\n highlightCode: true,\n }\n )\n res.json({\n codeFrame,\n sourcePosition,\n sourceContent,\n })\n })\n\n app.get(`/__file-code-frame`, async (req, res) => {\n const emptyResponse = {\n codeFrame: `No codeFrame could be generated`,\n sourcePosition: null,\n sourceContent: null,\n }\n\n const filePath: string | undefined = req.query?.filePath as string\n const lineNumber = parseInt(req.query?.lineNumber as string, 10)\n const columnNumber = parseInt(req.query?.columnNumber as string, 10)\n\n if (!filePath) {\n res.json(emptyResponse)\n return\n }\n\n const absolutePath = path.resolve(\n store.getState().program.directory,\n filePath\n )\n\n const compilation: Compilation =\n res.locals?.webpack?.devMiddleware?.stats?.compilation\n if (!compilation) {\n res.json(emptyResponse)\n return\n }\n\n if (!isFileInsideCompilations(absolutePath, compilation)) {\n res.json(emptyResponse)\n return\n }\n\n const sourceContent = await fs.readFile(absolutePath, `utf-8`)\n\n const codeFrame = codeFrameColumns(\n sourceContent,\n {\n start: {\n line: lineNumber,\n column: columnNumber ?? 0,\n },\n },\n {\n highlightCode: true,\n }\n )\n res.json({\n codeFrame,\n })\n })\n\n // Expose access to app for advanced use cases\n const { developMiddleware } = store.getState().config\n\n if (developMiddleware) {\n developMiddleware(app, program)\n }\n\n const { proxy, trailingSlash } = store.getState().config\n\n app.use(configureTrailingSlash(() => store.getState(), trailingSlash))\n\n // Disable directory indexing i.e. serving index.html from a directory.\n // This can lead to serving stale html files during development.\n //\n // We serve by default an empty index.html that sets up the dev environment.\n app.use(developStatic(`public`, { index: false }))\n\n // Set up API proxy.\n if (proxy) {\n proxy.forEach(({ prefix, url }) => {\n app.use(`${prefix}/*`, (req, res) => {\n const proxiedUrl = url + req.originalUrl\n const {\n // remove `host` from copied headers\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n headers: { host, ...headers },\n method,\n } = req\n req\n .pipe(\n got\n .stream(proxiedUrl, {\n headers,\n method: method as Method,\n decompress: false,\n })\n .on(`response`, response =>\n res.writeHead(response.statusCode || 200, response.headers)\n )\n .on(`error`, (err, _, response) => {\n if (response) {\n res.writeHead(response.statusCode || 400, response.headers)\n } else {\n const message = `Error when trying to proxy request \"${req.originalUrl}\" to \"${proxiedUrl}\"`\n\n report.error(message, err)\n res.sendStatus(500)\n }\n })\n )\n .pipe(res)\n })\n }, cors())\n }\n\n await apiRunnerNode(`onCreateDevServer`, { app, deferNodeMutation: true })\n\n // In case nothing before handled hot-update - send 404.\n // This fixes \"Unexpected token < in JSON at position 0\" runtime\n // errors after restarting development server and\n // cause automatic hard refresh in the browser.\n app.use(/.*\\.hot-update\\.json$/i, (_, res) => {\n res.status(404).end()\n })\n\n // Render an HTML page and serve it.\n if (process.env.GATSBY_EXPERIMENTAL_DEV_SSR) {\n app.get(`*`, async (req, res, next) => {\n telemetry.trackFeatureIsUsed(`GATSBY_EXPERIMENTAL_DEV_SSR`)\n\n const pathObj = findPageByPath(store.getState(), decodeURI(req.path))\n\n if (!pathObj) {\n return next()\n }\n\n const allowTimedFallback = !req.headers[`x-gatsby-wait-for-dev-ssr`]\n\n await appendPreloadHeaders(pathObj.path, res)\n\n const htmlActivity = report.phantomActivity(`building HTML for path`, {})\n htmlActivity.start()\n\n try {\n const { html: renderResponse, serverData } = await renderDevHTML({\n path: pathObj.path,\n page: pathObj,\n skipSsr: Object.prototype.hasOwnProperty.call(req.query, `skip-ssr`),\n store,\n allowTimedFallback,\n htmlComponentRendererPath: PAGE_RENDERER_PATH,\n directory: program.directory,\n req,\n })\n\n if (serverData?.headers) {\n for (const [name, value] of Object.entries(serverData.headers)) {\n res.setHeader(name, value)\n }\n }\n let statusCode = 200\n if (serverData?.status) {\n statusCode = serverData.status\n }\n res.status(statusCode).send(renderResponse)\n } catch (error) {\n // The page errored but couldn't read the page component.\n // This is a race condition when a page is deleted but its requested\n // immediately after before anything can recompile.\n if (error === `404 page`) {\n return next()\n }\n\n // renderDevHTML throws an error with these information\n const lineNumber = error?.line as number\n const columnNumber = error?.column as number\n const filePath = error?.filename as string\n const sourceContent = error?.sourceContent as string\n\n report.error({\n id: `11614`,\n context: {\n path: pathObj.path,\n filePath: filePath,\n line: lineNumber,\n column: columnNumber,\n },\n })\n\n const emptyResponse = {\n codeFrame: `No codeFrame could be generated`,\n sourcePosition: null,\n sourceContent: null,\n }\n\n if (!sourceContent || !lineNumber) {\n res.json(emptyResponse)\n return null\n }\n\n const codeFrame = codeFrameColumns(\n sourceContent,\n {\n start: {\n line: lineNumber,\n column: columnNumber ?? 0,\n },\n },\n {\n highlightCode: true,\n }\n )\n\n const message = {\n codeFrame,\n source: filePath,\n line: lineNumber,\n column: columnNumber ?? 0,\n sourceMessage: error?.message,\n stack: error?.stack,\n }\n\n try {\n // Generate a shell for client-only content -- for the error overlay\n const { html: clientOnlyShell } = await renderDevHTML({\n path: pathObj.path,\n page: pathObj,\n skipSsr: true,\n store,\n error: message,\n htmlComponentRendererPath: PAGE_RENDERER_PATH,\n directory: program.directory,\n req,\n allowTimedFallback,\n })\n\n res.send(clientOnlyShell)\n } catch (e) {\n report.error({\n id: `11616`,\n context: {\n sourceMessage: e.message,\n },\n filePath: e.filename,\n location: {\n start: {\n line: e.line,\n column: e.column,\n },\n },\n })\n\n const minimalHTML = `<head><title>Failed to Server Render (SSR)</title></head><body><h1>Failed to Server Render (SSR)</h1><h2>Error message:</h2><p>${e.message}</p><h2>File:</h2><p>${e.filename}:${e.line}:${e.column}</p><h2>Stack:</h2><pre><code>${e.stack}</code></pre></body>`\n\n res.send(minimalHTML).status(500)\n }\n }\n\n htmlActivity.end()\n\n return null\n })\n }\n\n if (\n process.env.GATSBY_EXPERIMENTAL_QUERY_ON_DEMAND &&\n process.env.GATSBY_QUERY_ON_DEMAND_LOADING_INDICATOR === `true`\n ) {\n routeLoadingIndicatorRequests(app)\n }\n\n app.use(async (req, res) => {\n // in this catch-all block we don't support POST so we should 404\n if (req.method === `POST`) {\n res.status(404).end()\n return\n }\n\n const fullUrl = req.protocol + `://` + req.get(`host`) + req.originalUrl\n // This isn't used in development.\n if (fullUrl.endsWith(`app-data.json`)) {\n res.json({ webpackCompilationHash: `123` })\n // If this gets here, it's a non-existent file so just send back 404.\n } else if (fullUrl.endsWith(`.json`)) {\n res.json({}).status(404)\n } else {\n await appendPreloadHeaders(req.path, res)\n\n if (process.env.GATSBY_EXPERIMENTAL_DEV_SSR) {\n try {\n const allowTimedFallback = !req.headers[`x-gatsby-wait-for-dev-ssr`]\n const { html: renderResponse } = await renderDevHTML({\n path: `/dev-404-page/`,\n // Let renderDevHTML figure it out.\n page: undefined,\n store,\n htmlComponentRendererPath: pageRenderer,\n directory: program.directory,\n req,\n allowTimedFallback,\n })\n res.status(404).send(renderResponse)\n } catch (e) {\n report.error({\n id: `11615`,\n context: {\n sourceMessage: e.message,\n },\n filePath: e.filename,\n location: {\n start: {\n line: e.line,\n column: e.column,\n },\n },\n })\n res.send(e).status(500)\n }\n } else {\n const potentialPagePath = reverseFixedPagePath(decodeURI(req.path))\n const page = findPageByPath(store.getState(), potentialPagePath, false)\n\n // When we can't find a page we send 404\n if (!page) {\n res.status(404)\n }\n\n res.sendFile(directoryPath(`.cache/develop-html/index.html`), err => {\n if (err) {\n res.status(500).end()\n }\n })\n }\n }\n })\n\n /**\n * Set up the HTTP server and socket.io.\n **/\n const server = program.ssl\n ? new https.Server(program.ssl, app)\n : new http.Server(app)\n const socket = websocketManager.init({ server })\n const listener = server.listen(program.port, program.host)\n\n if (!process.env.GATSBY_EXPERIMENTAL_DEV_SSR) {\n const chokidar = require(`chokidar`)\n // Register watcher that rebuilds index.html every time html.js changes.\n const watchGlobs = [`src/html.js`, `plugins/**/gatsby-ssr.js`].map(path =>\n slash(directoryPath(path))\n )\n\n chokidar.watch(watchGlobs).on(`change`, async () => {\n await createIndexHtml(indexHTMLActivity)\n // eslint-disable-next-line no-unused-expressions\n socket?.to(`clients`).emit(`reload`)\n })\n }\n\n return {\n compiler,\n listener,\n webpackActivity,\n websocketManager,\n workerPool,\n webpackWatching: webpackDevMiddlewareInstance.context.watching,\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Compilation } from "webpack";
|
|
2
|
+
export declare function setFilesFromDevelopHtmlCompilation(developHtmlCompilation: Compilation): void;
|
|
3
|
+
/**
|
|
4
|
+
* Checks if a file is inside either `develop` or `develop-html` compilation. Used to determine if
|
|
5
|
+
* we should generate codeframe for this file for error overlay.
|
|
6
|
+
*/
|
|
7
|
+
export declare function isFileInsideCompilations(absolutePath: string, developBrowserCompilation: Compilation): boolean;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.isFileInsideCompilations = isFileInsideCompilations;
|
|
5
|
+
exports.setFilesFromDevelopHtmlCompilation = setFilesFromDevelopHtmlCompilation;
|
|
6
|
+
|
|
7
|
+
var _webpack = require("webpack");
|
|
8
|
+
|
|
9
|
+
const filesInsideDevelopHtmlCompilation = new Set();
|
|
10
|
+
|
|
11
|
+
function removeQueryParams(path) {
|
|
12
|
+
return path.split(`?`)[0];
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
function setFilesFromDevelopHtmlCompilation(developHtmlCompilation) {
|
|
16
|
+
filesInsideDevelopHtmlCompilation.clear();
|
|
17
|
+
|
|
18
|
+
for (const module of developHtmlCompilation.modules) {
|
|
19
|
+
if (module instanceof _webpack.NormalModule && module.resource) {
|
|
20
|
+
filesInsideDevelopHtmlCompilation.add(removeQueryParams(module.resource));
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Checks if a file is inside either `develop` or `develop-html` compilation. Used to determine if
|
|
26
|
+
* we should generate codeframe for this file for error overlay.
|
|
27
|
+
*/
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
function isFileInsideCompilations(absolutePath, developBrowserCompilation) {
|
|
31
|
+
if (filesInsideDevelopHtmlCompilation.has(absolutePath)) {
|
|
32
|
+
return true;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
for (const module of developBrowserCompilation.modules) {
|
|
36
|
+
if (module instanceof _webpack.NormalModule && module.resource) {
|
|
37
|
+
if (absolutePath === removeQueryParams(module.resource)) {
|
|
38
|
+
return true;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
return false;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=is-file-inside-compilations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"is-file-inside-compilations.js","names":["filesInsideDevelopHtmlCompilation","Set","removeQueryParams","path","split","setFilesFromDevelopHtmlCompilation","developHtmlCompilation","clear","module","modules","NormalModule","resource","add","isFileInsideCompilations","absolutePath","developBrowserCompilation","has"],"sources":["../../../../src/utils/webpack/utils/is-file-inside-compilations.ts"],"sourcesContent":["import { Compilation, NormalModule } from \"webpack\"\n\nconst filesInsideDevelopHtmlCompilation = new Set<string>()\n\nfunction removeQueryParams(path: string): string {\n return path.split(`?`)[0]\n}\n\nexport function setFilesFromDevelopHtmlCompilation(\n developHtmlCompilation: Compilation\n): void {\n filesInsideDevelopHtmlCompilation.clear()\n\n for (const module of developHtmlCompilation.modules) {\n if (module instanceof NormalModule && module.resource) {\n filesInsideDevelopHtmlCompilation.add(removeQueryParams(module.resource))\n }\n }\n}\n\n/**\n * Checks if a file is inside either `develop` or `develop-html` compilation. Used to determine if\n * we should generate codeframe for this file for error overlay.\n */\nexport function isFileInsideCompilations(\n absolutePath: string,\n developBrowserCompilation: Compilation\n): boolean {\n if (filesInsideDevelopHtmlCompilation.has(absolutePath)) {\n return true\n }\n\n for (const module of developBrowserCompilation.modules) {\n if (module instanceof NormalModule && module.resource) {\n if (absolutePath === removeQueryParams(module.resource)) {\n return true\n }\n }\n }\n\n return false\n}\n"],"mappings":";;;;;;AAAA;;AAEA,MAAMA,iCAAiC,GAAG,IAAIC,GAAJ,EAA1C;;AAEA,SAASC,iBAAT,CAA2BC,IAA3B,EAAiD;EAC/C,OAAOA,IAAI,CAACC,KAAL,CAAY,GAAZ,EAAgB,CAAhB,CAAP;AACD;;AAEM,SAASC,kCAAT,CACLC,sBADK,EAEC;EACNN,iCAAiC,CAACO,KAAlC;;EAEA,KAAK,MAAMC,MAAX,IAAqBF,sBAAsB,CAACG,OAA5C,EAAqD;IACnD,IAAID,MAAM,YAAYE,qBAAlB,IAAkCF,MAAM,CAACG,QAA7C,EAAuD;MACrDX,iCAAiC,CAACY,GAAlC,CAAsCV,iBAAiB,CAACM,MAAM,CAACG,QAAR,CAAvD;IACD;EACF;AACF;AAED;AACA;AACA;AACA;;;AACO,SAASE,wBAAT,CACLC,YADK,EAELC,yBAFK,EAGI;EACT,IAAIf,iCAAiC,CAACgB,GAAlC,CAAsCF,YAAtC,CAAJ,EAAyD;IACvD,OAAO,IAAP;EACD;;EAED,KAAK,MAAMN,MAAX,IAAqBO,yBAAyB,CAACN,OAA/C,EAAwD;IACtD,IAAID,MAAM,YAAYE,qBAAlB,IAAkCF,MAAM,CAACG,QAA7C,EAAuD;MACrD,IAAIG,YAAY,KAAKZ,iBAAiB,CAACM,MAAM,CAACG,QAAR,CAAtC,EAAyD;QACvD,OAAO,IAAP;MACD;IACF;EACF;;EAED,OAAO,KAAP;AACD"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gatsby",
|
|
3
3
|
"description": "Blazing fast modern site generator for React",
|
|
4
|
-
"version": "4.25.
|
|
4
|
+
"version": "4.25.7",
|
|
5
5
|
"author": "Kyle Mathews <mathews.kyle@gmail.com>",
|
|
6
6
|
"bin": {
|
|
7
7
|
"gatsby": "./cli.js"
|
|
@@ -277,5 +277,5 @@
|
|
|
277
277
|
"yargs": {
|
|
278
278
|
"boolean-negation": false
|
|
279
279
|
},
|
|
280
|
-
"gitHead": "
|
|
280
|
+
"gitHead": "db5eb186008c62acb78cf66ae50fd7e1f0d67626"
|
|
281
281
|
}
|