gatsby 4.24.2 → 4.24.3
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/develop-process.js +9 -0
- package/dist/commands/develop-process.js.map +1 -1
- package/dist/utils/find-page-by-path.js +6 -1
- package/dist/utils/find-page-by-path.js.map +1 -1
- package/dist/utils/webpack-utils.js +1 -1
- package/dist/utils/webpack-utils.js.map +1 -1
- package/package.json +3 -3
|
@@ -153,6 +153,15 @@ module.exports = async program => {
|
|
|
153
153
|
|
|
154
154
|
const app = (0, _express.default)();
|
|
155
155
|
const parentSpan = tracer.startSpan(`bootstrap`);
|
|
156
|
+
app.use((req, res, next) => {
|
|
157
|
+
try {
|
|
158
|
+
decodeURIComponent(req.path);
|
|
159
|
+
} catch (e) {
|
|
160
|
+
return res.status(500).send(`URI malformatted`);
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
return next();
|
|
164
|
+
});
|
|
156
165
|
|
|
157
166
|
const machine = _develop.developMachine.withContext({
|
|
158
167
|
program,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"develop-process.js","names":["tracer","globalTracer","setTimeout","syncStaticDir","process","send","setInterval","type","onExit","SSGCount","DSGCount","SSRCount","page","store","getState","pages","values","mode","telemetry","trackCli","siteMeasurements","totalPagesCount","size","on","msg","action","exit","payload","openDebuggerPort","debugInfo","inspector","url","undefined","break","open","port","module","exports","program","global","__GATSBY","env","GATSBY_NODE_GLOBALS","JSON","parse","isTruthy","VERBOSE","verbose","reporter","setVerbose","userGetsSevenDayFeedback","showSevenDayFeedbackRequest","userPassesFeedbackRequestHeuristic","showFeedbackRequest","initTracer","GATSBY_OPEN_TRACING_CONFIG_FILE","openTracingConfigFile","markWebpackStatusAsPending","pendingActivity","id","startBackgroundUpdate","parseInt","hostname","host","detectPortInUseAndPrompt","e","message","app","express","parentSpan","startSpan","machine","developMachine","withContext","pendingQueryRuns","Set","shouldRunInitialTypegen","service","interpret","logTransitions","start"],"sources":["../../src/commands/develop-process.ts"],"sourcesContent":["import { syncStaticDir } from \"../utils/get-static-dir\"\nimport reporter from \"gatsby-cli/lib/reporter\"\nimport telemetry from \"gatsby-telemetry\"\nimport { isTruthy } from \"gatsby-core-utils\"\nimport express from \"express\"\nimport inspector from \"inspector\"\nimport { initTracer } from \"../utils/tracer\"\nimport { detectPortInUseAndPrompt } from \"../utils/detect-port-in-use-and-prompt\"\nimport onExit from \"signal-exit\"\nimport {\n userGetsSevenDayFeedback,\n userPassesFeedbackRequestHeuristic,\n showFeedbackRequest,\n showSevenDayFeedbackRequest,\n} from \"../utils/feedback\"\nimport { markWebpackStatusAsPending } from \"../utils/webpack-status\"\nimport { store } from \"../redux\"\n\nimport { IProgram, IDebugInfo } from \"./types\"\nimport { interpret } from \"xstate\"\nimport { globalTracer } from \"opentracing\"\nimport { developMachine } from \"../state-machines/develop\"\nimport { logTransitions } from \"../utils/state-machine-logging\"\n\nconst tracer = globalTracer()\n\n// const isInteractive = process.stdout.isTTY\n\n// Watch the static directory and copy files to public as they're added or\n// changed. Wait 10 seconds so copying doesn't interfere with the regular\n// bootstrap.\nsetTimeout(() => {\n syncStaticDir()\n}, 10000)\n\n// Time for another story...\n// When the parent process is killed by SIGKILL, Node doesm't kill spawned child processes\n// Hence, we peiodically send a heart beat to the parent to check if it is still alive\n// This will crash with Error [ERR_IPC_CHANNEL_CLOSED]: Channel closed\n// and kill the orphaned child process as a result\nif (process.send) {\n setInterval(() => {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n process.send!({\n type: `HEARTBEAT`,\n })\n }, 1000)\n}\n\nonExit(() => {\n let SSGCount = 0\n let DSGCount = 0\n let SSRCount = 0\n for (const page of store.getState().pages.values()) {\n if (page.mode === `SSR`) {\n SSRCount++\n } else if (page.mode === `DSG`) {\n DSGCount++\n } else {\n SSGCount++\n }\n }\n\n telemetry.trackCli(`DEVELOP_STOP`, {\n siteMeasurements: {\n totalPagesCount: store.getState().pages.size,\n SSRCount,\n DSGCount,\n SSGCount,\n },\n })\n})\n\nprocess.on(\n `message`,\n (msg: {\n type: string\n action: { type: string; payload: number | undefined }\n }) => {\n if (msg.type === `COMMAND` && msg.action.type === `EXIT`) {\n process.exit(msg.action.payload)\n }\n }\n)\n\ninterface IDevelopArgs extends IProgram {\n debugInfo: IDebugInfo | null\n}\n\nconst openDebuggerPort = (debugInfo: IDebugInfo): void => {\n if (inspector.url() !== undefined) {\n return // fixes #26708\n }\n\n if (debugInfo.break) {\n inspector.open(debugInfo.port, undefined, true)\n // eslint-disable-next-line no-debugger\n debugger\n } else {\n inspector.open(debugInfo.port)\n }\n}\n\nmodule.exports = async (program: IDevelopArgs): Promise<void> => {\n // provide global Gatsby object\n global.__GATSBY = process.env.GATSBY_NODE_GLOBALS\n ? JSON.parse(process.env.GATSBY_NODE_GLOBALS)\n : {}\n\n if (isTruthy(process.env.VERBOSE)) {\n program.verbose = true\n }\n reporter.setVerbose(program.verbose)\n\n if (program.debugInfo) {\n openDebuggerPort(program.debugInfo)\n }\n\n // We want to prompt the feedback request when users quit develop\n // assuming they pass the heuristic check to know they are a user\n // we want to request feedback from, and we're not annoying them.\n process.on(`SIGINT`, async (): Promise<void> => {\n if (await userGetsSevenDayFeedback()) {\n showSevenDayFeedbackRequest()\n } else if (await userPassesFeedbackRequestHeuristic()) {\n showFeedbackRequest()\n }\n process.exit(0)\n })\n\n await initTracer(\n process.env.GATSBY_OPEN_TRACING_CONFIG_FILE || program.openTracingConfigFile\n )\n markWebpackStatusAsPending()\n reporter.pendingActivity({ id: `webpack-develop` })\n telemetry.trackCli(`DEVELOP_START`)\n telemetry.startBackgroundUpdate()\n\n const port =\n typeof program.port === `string` ? parseInt(program.port, 10) : program.port\n const hostname = program.host\n try {\n program.port = await detectPortInUseAndPrompt(port, hostname)\n } catch (e) {\n if (e.message === `USER_REJECTED`) {\n process.exit(0)\n }\n\n throw e\n }\n\n const app = express()\n const parentSpan = tracer.startSpan(`bootstrap`)\n\n const machine = developMachine.withContext({\n program,\n parentSpan,\n app,\n reporter,\n pendingQueryRuns: new Set([`/`]),\n shouldRunInitialTypegen: true,\n })\n\n const service = interpret(machine)\n\n if (program.verbose) {\n logTransitions(service)\n }\n\n service.start()\n}\n"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"develop-process.js","names":["tracer","globalTracer","setTimeout","syncStaticDir","process","send","setInterval","type","onExit","SSGCount","DSGCount","SSRCount","page","store","getState","pages","values","mode","telemetry","trackCli","siteMeasurements","totalPagesCount","size","on","msg","action","exit","payload","openDebuggerPort","debugInfo","inspector","url","undefined","break","open","port","module","exports","program","global","__GATSBY","env","GATSBY_NODE_GLOBALS","JSON","parse","isTruthy","VERBOSE","verbose","reporter","setVerbose","userGetsSevenDayFeedback","showSevenDayFeedbackRequest","userPassesFeedbackRequestHeuristic","showFeedbackRequest","initTracer","GATSBY_OPEN_TRACING_CONFIG_FILE","openTracingConfigFile","markWebpackStatusAsPending","pendingActivity","id","startBackgroundUpdate","parseInt","hostname","host","detectPortInUseAndPrompt","e","message","app","express","parentSpan","startSpan","use","req","res","next","decodeURIComponent","path","status","machine","developMachine","withContext","pendingQueryRuns","Set","shouldRunInitialTypegen","service","interpret","logTransitions","start"],"sources":["../../src/commands/develop-process.ts"],"sourcesContent":["import { syncStaticDir } from \"../utils/get-static-dir\"\nimport reporter from \"gatsby-cli/lib/reporter\"\nimport telemetry from \"gatsby-telemetry\"\nimport { isTruthy } from \"gatsby-core-utils\"\nimport express from \"express\"\nimport inspector from \"inspector\"\nimport { initTracer } from \"../utils/tracer\"\nimport { detectPortInUseAndPrompt } from \"../utils/detect-port-in-use-and-prompt\"\nimport onExit from \"signal-exit\"\nimport {\n userGetsSevenDayFeedback,\n userPassesFeedbackRequestHeuristic,\n showFeedbackRequest,\n showSevenDayFeedbackRequest,\n} from \"../utils/feedback\"\nimport { markWebpackStatusAsPending } from \"../utils/webpack-status\"\nimport { store } from \"../redux\"\n\nimport { IProgram, IDebugInfo } from \"./types\"\nimport { interpret } from \"xstate\"\nimport { globalTracer } from \"opentracing\"\nimport { developMachine } from \"../state-machines/develop\"\nimport { logTransitions } from \"../utils/state-machine-logging\"\n\nconst tracer = globalTracer()\n\n// const isInteractive = process.stdout.isTTY\n\n// Watch the static directory and copy files to public as they're added or\n// changed. Wait 10 seconds so copying doesn't interfere with the regular\n// bootstrap.\nsetTimeout(() => {\n syncStaticDir()\n}, 10000)\n\n// Time for another story...\n// When the parent process is killed by SIGKILL, Node doesm't kill spawned child processes\n// Hence, we peiodically send a heart beat to the parent to check if it is still alive\n// This will crash with Error [ERR_IPC_CHANNEL_CLOSED]: Channel closed\n// and kill the orphaned child process as a result\nif (process.send) {\n setInterval(() => {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n process.send!({\n type: `HEARTBEAT`,\n })\n }, 1000)\n}\n\nonExit(() => {\n let SSGCount = 0\n let DSGCount = 0\n let SSRCount = 0\n for (const page of store.getState().pages.values()) {\n if (page.mode === `SSR`) {\n SSRCount++\n } else if (page.mode === `DSG`) {\n DSGCount++\n } else {\n SSGCount++\n }\n }\n\n telemetry.trackCli(`DEVELOP_STOP`, {\n siteMeasurements: {\n totalPagesCount: store.getState().pages.size,\n SSRCount,\n DSGCount,\n SSGCount,\n },\n })\n})\n\nprocess.on(\n `message`,\n (msg: {\n type: string\n action: { type: string; payload: number | undefined }\n }) => {\n if (msg.type === `COMMAND` && msg.action.type === `EXIT`) {\n process.exit(msg.action.payload)\n }\n }\n)\n\ninterface IDevelopArgs extends IProgram {\n debugInfo: IDebugInfo | null\n}\n\nconst openDebuggerPort = (debugInfo: IDebugInfo): void => {\n if (inspector.url() !== undefined) {\n return // fixes #26708\n }\n\n if (debugInfo.break) {\n inspector.open(debugInfo.port, undefined, true)\n // eslint-disable-next-line no-debugger\n debugger\n } else {\n inspector.open(debugInfo.port)\n }\n}\n\nmodule.exports = async (program: IDevelopArgs): Promise<void> => {\n // provide global Gatsby object\n global.__GATSBY = process.env.GATSBY_NODE_GLOBALS\n ? JSON.parse(process.env.GATSBY_NODE_GLOBALS)\n : {}\n\n if (isTruthy(process.env.VERBOSE)) {\n program.verbose = true\n }\n reporter.setVerbose(program.verbose)\n\n if (program.debugInfo) {\n openDebuggerPort(program.debugInfo)\n }\n\n // We want to prompt the feedback request when users quit develop\n // assuming they pass the heuristic check to know they are a user\n // we want to request feedback from, and we're not annoying them.\n process.on(`SIGINT`, async (): Promise<void> => {\n if (await userGetsSevenDayFeedback()) {\n showSevenDayFeedbackRequest()\n } else if (await userPassesFeedbackRequestHeuristic()) {\n showFeedbackRequest()\n }\n process.exit(0)\n })\n\n await initTracer(\n process.env.GATSBY_OPEN_TRACING_CONFIG_FILE || program.openTracingConfigFile\n )\n markWebpackStatusAsPending()\n reporter.pendingActivity({ id: `webpack-develop` })\n telemetry.trackCli(`DEVELOP_START`)\n telemetry.startBackgroundUpdate()\n\n const port =\n typeof program.port === `string` ? parseInt(program.port, 10) : program.port\n const hostname = program.host\n try {\n program.port = await detectPortInUseAndPrompt(port, hostname)\n } catch (e) {\n if (e.message === `USER_REJECTED`) {\n process.exit(0)\n }\n\n throw e\n }\n\n const app = express()\n const parentSpan = tracer.startSpan(`bootstrap`)\n\n app.use((req, res, next) => {\n try {\n decodeURIComponent(req.path)\n } catch (e) {\n return res.status(500).send(`URI malformatted`)\n }\n\n return next()\n })\n\n const machine = developMachine.withContext({\n program,\n parentSpan,\n app,\n reporter,\n pendingQueryRuns: new Set([`/`]),\n shouldRunInitialTypegen: true,\n })\n\n const service = interpret(machine)\n\n if (program.verbose) {\n logTransitions(service)\n }\n\n service.start()\n}\n"],"mappings":"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"}
|
|
@@ -48,7 +48,12 @@ function findPageByPath(state, path, fallbackTo404 = false) {
|
|
|
48
48
|
const {
|
|
49
49
|
pages
|
|
50
50
|
} = state;
|
|
51
|
-
|
|
51
|
+
|
|
52
|
+
try {
|
|
53
|
+
path = decodeURIComponent(path);
|
|
54
|
+
} catch {// no handling, just continue using path as-is
|
|
55
|
+
} // first check by exact path
|
|
56
|
+
|
|
52
57
|
|
|
53
58
|
let page = pages.get(path);
|
|
54
59
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find-page-by-path.js","names":["findBestMatchingPage","pages","path","pagesByMatchPath","page","values","matchPath","routes","Object","keys","map","picked","pick","route","findPageByPath","state","fallbackTo404","decodeURIComponent","get","hasLeadingSlash","startsWith","hasTrailingSlash","endsWith","bare","slice","length","some","potentialPath","matchingPage","undefined"],"sources":["../../src/utils/find-page-by-path.ts"],"sourcesContent":["import { IGatsbyPage, IGatsbyState } from \"../redux/types\"\nimport { pick } from \"@gatsbyjs/reach-router/lib/utils\"\n\n// Ranks and picks the best page to match. Each segment gets the highest\n// amount of points, then the type of segment gets an additional amount of\n// points where\n//\n// static > dynamic > splat > root\n//\n// This way we don't have to worry about the order of our pages, let the\n// computers do it.\n//\n// In the future, we could move this pagesByMatchPath computation outside this\n// function and save some processing power\nconst findBestMatchingPage = (\n pages: Map<string, IGatsbyPage>,\n path: string\n): IGatsbyPage | null => {\n // Pick only routes with matchPath for better performance.\n // Exact match should have already been checked\n const pagesByMatchPath: Record<string, IGatsbyPage> = {}\n for (const page of pages.values()) {\n const matchPath = page.matchPath\n if (matchPath) {\n pagesByMatchPath[matchPath] = page\n }\n }\n\n const routes = Object.keys(pagesByMatchPath).map(path => {\n return { path }\n })\n\n // picks best matching route with reach router's algorithm\n const picked = pick(routes, path)\n\n if (picked) {\n return pagesByMatchPath[picked.route.path]\n }\n\n return null\n}\n\nexport function findPageByPath(\n state: IGatsbyState,\n path: string,\n fallbackTo404: boolean = false\n): IGatsbyPage | undefined {\n const { pages } = state\n\n path = decodeURIComponent(path)\n\n // first check by exact path\n let page = pages.get(path)\n if (page) {\n return page\n }\n\n if (path === ``) {\n // from my tests I never was able to make request with\n // completely empty pathname, but just for the sake\n // of completeness - try available alternative\n page = pages.get(`/`)\n if (page) {\n return page\n }\n }\n // Gatsby doesn't allow for page path to be empty string,\n // so skipping trying to get page for \"\" path if we can't\n // find page for `/`\n else if (path !== `/`) {\n // check various trailing/leading slashes combinations\n const hasLeadingSlash = path.startsWith(`/`)\n const hasTrailingSlash = path.endsWith(`/`)\n\n const bare = path.slice(\n hasLeadingSlash ? 1 : 0,\n hasTrailingSlash ? -1 : path.length\n )\n\n ;[bare, `/` + bare, bare + `/`, `/` + bare + `/`].some(potentialPath => {\n page = pages.get(potentialPath)\n return !!page\n })\n if (page) {\n return page\n }\n }\n\n // we didn't find exact static page, time to check matchPaths\n // TODO: consider using `match-paths.json` generated by `requires-writer`\n // to avoid looping through all pages again. Ideally generate smaller `match-paths.json`\n // variant that doesn't including overlapping static pages in `requires-writer` as well\n // as this function already checked static paths at this point\n const matchingPage = findBestMatchingPage(pages, path)\n\n if (matchingPage) {\n return matchingPage\n }\n\n if (fallbackTo404) {\n return (\n findPageByPath(state, `/dev-404-page/`, false) ??\n findPageByPath(state, `/404.html`, false)\n )\n }\n return undefined\n}\n"],"mappings":";;;;;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMA,oBAAoB,GAAG,CAC3BC,KAD2B,EAE3BC,IAF2B,KAGJ;EACvB;EACA;EACA,MAAMC,gBAA6C,GAAG,EAAtD;;EACA,KAAK,MAAMC,IAAX,IAAmBH,KAAK,CAACI,MAAN,EAAnB,EAAmC;IACjC,MAAMC,SAAS,GAAGF,IAAI,CAACE,SAAvB;;IACA,IAAIA,SAAJ,EAAe;MACbH,gBAAgB,CAACG,SAAD,CAAhB,GAA8BF,IAA9B;IACD;EACF;;EAED,MAAMG,MAAM,GAAGC,MAAM,CAACC,IAAP,CAAYN,gBAAZ,EAA8BO,GAA9B,CAAkCR,IAAI,IAAI;IACvD,OAAO;MAAEA;IAAF,CAAP;EACD,CAFc,CAAf,CAXuB,CAevB;;EACA,MAAMS,MAAM,GAAG,IAAAC,WAAA,EAAKL,MAAL,EAAaL,IAAb,CAAf;;EAEA,IAAIS,MAAJ,EAAY;IACV,OAAOR,gBAAgB,CAACQ,MAAM,CAACE,KAAP,CAAaX,IAAd,CAAvB;EACD;;EAED,OAAO,IAAP;AACD,CA1BD;;AA4BO,SAASY,cAAT,CACLC,KADK,EAELb,IAFK,EAGLc,aAAsB,GAAG,KAHpB,EAIoB;EACzB,MAAM;IAAEf;EAAF,IAAYc,KAAlB;
|
|
1
|
+
{"version":3,"file":"find-page-by-path.js","names":["findBestMatchingPage","pages","path","pagesByMatchPath","page","values","matchPath","routes","Object","keys","map","picked","pick","route","findPageByPath","state","fallbackTo404","decodeURIComponent","get","hasLeadingSlash","startsWith","hasTrailingSlash","endsWith","bare","slice","length","some","potentialPath","matchingPage","undefined"],"sources":["../../src/utils/find-page-by-path.ts"],"sourcesContent":["import { IGatsbyPage, IGatsbyState } from \"../redux/types\"\nimport { pick } from \"@gatsbyjs/reach-router/lib/utils\"\n\n// Ranks and picks the best page to match. Each segment gets the highest\n// amount of points, then the type of segment gets an additional amount of\n// points where\n//\n// static > dynamic > splat > root\n//\n// This way we don't have to worry about the order of our pages, let the\n// computers do it.\n//\n// In the future, we could move this pagesByMatchPath computation outside this\n// function and save some processing power\nconst findBestMatchingPage = (\n pages: Map<string, IGatsbyPage>,\n path: string\n): IGatsbyPage | null => {\n // Pick only routes with matchPath for better performance.\n // Exact match should have already been checked\n const pagesByMatchPath: Record<string, IGatsbyPage> = {}\n for (const page of pages.values()) {\n const matchPath = page.matchPath\n if (matchPath) {\n pagesByMatchPath[matchPath] = page\n }\n }\n\n const routes = Object.keys(pagesByMatchPath).map(path => {\n return { path }\n })\n\n // picks best matching route with reach router's algorithm\n const picked = pick(routes, path)\n\n if (picked) {\n return pagesByMatchPath[picked.route.path]\n }\n\n return null\n}\n\nexport function findPageByPath(\n state: IGatsbyState,\n path: string,\n fallbackTo404: boolean = false\n): IGatsbyPage | undefined {\n const { pages } = state\n\n try {\n path = decodeURIComponent(path)\n } catch {\n // no handling, just continue using path as-is\n }\n\n // first check by exact path\n let page = pages.get(path)\n if (page) {\n return page\n }\n\n if (path === ``) {\n // from my tests I never was able to make request with\n // completely empty pathname, but just for the sake\n // of completeness - try available alternative\n page = pages.get(`/`)\n if (page) {\n return page\n }\n }\n // Gatsby doesn't allow for page path to be empty string,\n // so skipping trying to get page for \"\" path if we can't\n // find page for `/`\n else if (path !== `/`) {\n // check various trailing/leading slashes combinations\n const hasLeadingSlash = path.startsWith(`/`)\n const hasTrailingSlash = path.endsWith(`/`)\n\n const bare = path.slice(\n hasLeadingSlash ? 1 : 0,\n hasTrailingSlash ? -1 : path.length\n )\n\n ;[bare, `/` + bare, bare + `/`, `/` + bare + `/`].some(potentialPath => {\n page = pages.get(potentialPath)\n return !!page\n })\n if (page) {\n return page\n }\n }\n\n // we didn't find exact static page, time to check matchPaths\n // TODO: consider using `match-paths.json` generated by `requires-writer`\n // to avoid looping through all pages again. Ideally generate smaller `match-paths.json`\n // variant that doesn't including overlapping static pages in `requires-writer` as well\n // as this function already checked static paths at this point\n const matchingPage = findBestMatchingPage(pages, path)\n\n if (matchingPage) {\n return matchingPage\n }\n\n if (fallbackTo404) {\n return (\n findPageByPath(state, `/dev-404-page/`, false) ??\n findPageByPath(state, `/404.html`, false)\n )\n }\n return undefined\n}\n"],"mappings":";;;;;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMA,oBAAoB,GAAG,CAC3BC,KAD2B,EAE3BC,IAF2B,KAGJ;EACvB;EACA;EACA,MAAMC,gBAA6C,GAAG,EAAtD;;EACA,KAAK,MAAMC,IAAX,IAAmBH,KAAK,CAACI,MAAN,EAAnB,EAAmC;IACjC,MAAMC,SAAS,GAAGF,IAAI,CAACE,SAAvB;;IACA,IAAIA,SAAJ,EAAe;MACbH,gBAAgB,CAACG,SAAD,CAAhB,GAA8BF,IAA9B;IACD;EACF;;EAED,MAAMG,MAAM,GAAGC,MAAM,CAACC,IAAP,CAAYN,gBAAZ,EAA8BO,GAA9B,CAAkCR,IAAI,IAAI;IACvD,OAAO;MAAEA;IAAF,CAAP;EACD,CAFc,CAAf,CAXuB,CAevB;;EACA,MAAMS,MAAM,GAAG,IAAAC,WAAA,EAAKL,MAAL,EAAaL,IAAb,CAAf;;EAEA,IAAIS,MAAJ,EAAY;IACV,OAAOR,gBAAgB,CAACQ,MAAM,CAACE,KAAP,CAAaX,IAAd,CAAvB;EACD;;EAED,OAAO,IAAP;AACD,CA1BD;;AA4BO,SAASY,cAAT,CACLC,KADK,EAELb,IAFK,EAGLc,aAAsB,GAAG,KAHpB,EAIoB;EACzB,MAAM;IAAEf;EAAF,IAAYc,KAAlB;;EAEA,IAAI;IACFb,IAAI,GAAGe,kBAAkB,CAACf,IAAD,CAAzB;EACD,CAFD,CAEE,MAAM,CACN;EACD,CAPwB,CASzB;;;EACA,IAAIE,IAAI,GAAGH,KAAK,CAACiB,GAAN,CAAUhB,IAAV,CAAX;;EACA,IAAIE,IAAJ,EAAU;IACR,OAAOA,IAAP;EACD;;EAED,IAAIF,IAAI,KAAM,EAAd,EAAiB;IACf;IACA;IACA;IACAE,IAAI,GAAGH,KAAK,CAACiB,GAAN,CAAW,GAAX,CAAP;;IACA,IAAId,IAAJ,EAAU;MACR,OAAOA,IAAP;IACD;EACF,CARD,CASA;EACA;EACA;EAXA,KAYK,IAAIF,IAAI,KAAM,GAAd,EAAkB;IACrB;IACA,MAAMiB,eAAe,GAAGjB,IAAI,CAACkB,UAAL,CAAiB,GAAjB,CAAxB;IACA,MAAMC,gBAAgB,GAAGnB,IAAI,CAACoB,QAAL,CAAe,GAAf,CAAzB;IAEA,MAAMC,IAAI,GAAGrB,IAAI,CAACsB,KAAL,CACXL,eAAe,GAAG,CAAH,GAAO,CADX,EAEXE,gBAAgB,GAAG,CAAC,CAAJ,GAAQnB,IAAI,CAACuB,MAFlB,CAAb;IAKC,CAACF,IAAD,EAAQ,GAAD,GAAMA,IAAb,EAAmBA,IAAI,GAAI,GAA3B,EAAgC,GAAD,GAAMA,IAAN,GAAc,GAA7C,EAAiDG,IAAjD,CAAsDC,aAAa,IAAI;MACtEvB,IAAI,GAAGH,KAAK,CAACiB,GAAN,CAAUS,aAAV,CAAP;MACA,OAAO,CAAC,CAACvB,IAAT;IACD,CAHA;;IAID,IAAIA,IAAJ,EAAU;MACR,OAAOA,IAAP;IACD;EACF,CA5CwB,CA8CzB;EACA;EACA;EACA;EACA;;;EACA,MAAMwB,YAAY,GAAG5B,oBAAoB,CAACC,KAAD,EAAQC,IAAR,CAAzC;;EAEA,IAAI0B,YAAJ,EAAkB;IAChB,OAAOA,YAAP;EACD;;EAED,IAAIZ,aAAJ,EAAmB;IAAA;;IACjB,0BACEF,cAAc,CAACC,KAAD,EAAS,gBAAT,EAA0B,KAA1B,CADhB,6DAEED,cAAc,CAACC,KAAD,EAAS,WAAT,EAAqB,KAArB,CAFhB;EAID;;EACD,OAAOc,SAAP;AACD"}
|
|
@@ -128,7 +128,7 @@ const createWebpackUtils = (stage, program) => {
|
|
|
128
128
|
modulesOptions = {
|
|
129
129
|
auto: undefined,
|
|
130
130
|
namedExport: true,
|
|
131
|
-
localIdentName: `[name]--[local]--[hash:
|
|
131
|
+
localIdentName: `[name]--[local]--[hash:hex:5]`,
|
|
132
132
|
exportLocalsConvention: `dashesOnly`,
|
|
133
133
|
exportOnlyLocals: isSSR
|
|
134
134
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webpack-utils.js","names":["vendorRegex","createWebpackUtils","stage","program","assetRelativeRoot","supportedBrowsers","getBrowsersList","directory","PRODUCTION","includes","isSSR","config","store","getState","makeExternalOnly","original","options","rule","include","makeInternalOnly","exclude","loaders","json","loader","require","resolve","yaml","null","raw","style","miniCssExtract","moduleOptions","undefined","modules","restOptions","namedExport","MiniCssExtractPlugin","css","modulesOptions","auto","localIdentName","exportLocalsConvention","exportOnlyLocals","url","startsWith","sourceMap","postcss","plugins","overrideBrowserslist","postcssOpts","execute","postcssOptions","loaderContext","postCSSPlugins","autoprefixerPlugin","autoprefixer","flexbox","find","plugin","postcssPlugin","unshift","flexbugs","file","name","limit","fallback","js","reactRuntime","jsxRuntime","reactImportSource","jsxImportSource","cacheDirectory","path","join","rootDir","dependencies","rules","modulesThatUseGatsby","test","modulePath","some","module","type","use","resourceQuery","issuer","configFile","compact","isPageTemplate","jsOptions","babelrc","presets","sourceMaps","cacheIdentifier","JSON","stringify","browsersList","gatsbyPreset","version","VENDORS_TO_NOT_POLYFILL","doNotPolyfillRegex","RegExp","fonts","images","media","miscAssets","browsers","importLoaders","filter","Boolean","internal","external","cssModules","builtinPlugins","minifyJs","terserOptions","TerserPlugin","ie8","mangle","safari10","parse","ecma","compress","output","parallel","Math","max","cpuCoreCount","minifyCss","minimizerOptions","preset","svgo","full","CssMinimizerPlugin","fastRefresh","regExpToHack","ReactRefreshWebpackPlugin","overlay","sockIntegration","__dirname","extractText","moment","ignore","resourceRegExp","contextRegExp","extractStats","GatsbyWebpackStatsExtractor","eslintGraphqlSchemaReload","virtualModules","GatsbyWebpackVirtualModules","eslint","extensions","VIRTUAL_MODULES_BASE_PATH","eslintConfig","ESLintPlugin","eslintRequired","eslintRequiredConfig"],"sources":["../../src/utils/webpack-utils.ts"],"sourcesContent":["import * as path from \"path\"\nimport { RuleSetRule, WebpackPluginInstance } from \"webpack\"\nimport { GraphQLSchema } from \"graphql\"\nimport { Plugin as PostCSSPlugin } from \"postcss\"\nimport autoprefixer from \"autoprefixer\"\nimport flexbugs from \"postcss-flexbugs-fixes\"\nimport TerserPlugin from \"terser-webpack-plugin\"\nimport type { MinifyOptions as TerserOptions } from \"terser\"\nimport MiniCssExtractPlugin from \"mini-css-extract-plugin\"\nimport CssMinimizerPlugin from \"css-minimizer-webpack-plugin\"\nimport ReactRefreshWebpackPlugin from \"@pmmmwh/react-refresh-webpack-plugin\"\nimport { getBrowsersList } from \"./browserslist\"\nimport ESLintPlugin from \"eslint-webpack-plugin\"\nimport { cpuCoreCount } from \"gatsby-core-utils\"\nimport { GatsbyWebpackStatsExtractor } from \"./gatsby-webpack-stats-extractor\"\nimport {\n GatsbyWebpackVirtualModules,\n VIRTUAL_MODULES_BASE_PATH,\n} from \"./gatsby-webpack-virtual-modules\"\n\nimport { builtinPlugins } from \"./webpack-plugins\"\nimport { IProgram, Stage } from \"../commands/types\"\nimport { eslintConfig, eslintRequiredConfig } from \"./eslint-config\"\nimport { store } from \"../redux\"\nimport type { RuleSetUseItem } from \"webpack\"\n\ntype Loader = string | { loader: string; options?: { [name: string]: any } }\ntype LoaderResolver<T = Record<string, unknown>> = (options?: T) => Loader\n\ntype LoaderOptions = Record<string, any>\ntype RuleFactory<T = Record<string, unknown>> = (\n options?: T & LoaderOptions\n) => RuleSetRule\n\ntype ContextualRuleFactory<T = Record<string, unknown>> = RuleFactory<T> & {\n internal?: RuleFactory<T>\n external?: RuleFactory<T>\n}\n\ntype PluginFactory = (...args: any) => WebpackPluginInstance | null\n\ntype BuiltinPlugins = typeof builtinPlugins\n\ntype CSSModulesOptions =\n | boolean\n | string\n | {\n mode?:\n | \"local\"\n | \"global\"\n | \"pure\"\n | ((resourcePath: string) => \"local\" | \"global\" | \"pure\")\n auto?: boolean\n exportGlobals?: boolean\n localIdentName?: string\n localIdentContext?: string\n localIdentHashPrefix?: string\n namedExport?: boolean\n exportLocalsConvention?:\n | \"asIs\"\n | \"camelCaseOnly\"\n | \"camelCase\"\n | \"dashes\"\n | \"dashesOnly\"\n exportOnlyLocals?: boolean\n }\n\ntype MiniCSSExtractLoaderModuleOptions =\n | undefined\n | boolean\n | {\n namedExport?: boolean\n }\n/**\n * Utils that produce webpack `loader` objects\n */\ninterface ILoaderUtils {\n yaml: LoaderResolver\n style: LoaderResolver\n css: LoaderResolver<{\n url?: boolean | ((url: string, resourcePath: string) => boolean)\n import?:\n | boolean\n | ((url: string, media: string, resourcePath: string) => boolean)\n modules?: CSSModulesOptions\n sourceMap?: boolean\n importLoaders?: number\n esModule?: boolean\n }>\n postcss: LoaderResolver<{\n browsers?: Array<string>\n overrideBrowserslist?: Array<string>\n plugins?: Array<PostCSSPlugin> | ((loader: Loader) => Array<PostCSSPlugin>)\n }>\n\n file: LoaderResolver\n url: LoaderResolver\n js: LoaderResolver\n json: LoaderResolver\n null: LoaderResolver\n raw: LoaderResolver\n dependencies: LoaderResolver\n\n miniCssExtract: LoaderResolver\n imports?: LoaderResolver\n exports?: LoaderResolver\n}\n\ninterface IModuleThatUseGatsby {\n name: string\n path: string\n}\n\ntype CssLoaderModuleOption = boolean | Record<string, any> | string\n\n/**\n * Utils that produce webpack rule objects\n */\ninterface IRuleUtils {\n /**\n * Handles JavaScript compilation via babel\n */\n js: RuleFactory<{ modulesThatUseGatsby?: Array<IModuleThatUseGatsby> }>\n dependencies: RuleFactory<{\n modulesThatUseGatsby?: Array<IModuleThatUseGatsby>\n }>\n yaml: RuleFactory\n fonts: RuleFactory\n images: RuleFactory\n miscAssets: RuleFactory\n media: RuleFactory\n\n css: ContextualRuleFactory<{\n browsers?: Array<string>\n modules?: CssLoaderModuleOption\n }>\n cssModules: RuleFactory\n postcss: ContextualRuleFactory<{ overrideBrowserOptions: Array<string> }>\n\n eslint: (schema: GraphQLSchema) => RuleSetRule\n eslintRequired: () => RuleSetRule\n}\n\ntype PluginUtils = BuiltinPlugins & {\n extractText: PluginFactory\n uglify: PluginFactory\n moment: PluginFactory\n extractStats: PluginFactory\n minifyJs: PluginFactory\n minifyCss: PluginFactory\n fastRefresh: PluginFactory\n eslintGraphqlSchemaReload: PluginFactory\n virtualModules: PluginFactory\n eslint: PluginFactory\n eslintRequired: PluginFactory\n}\n\n/**\n * webpack atoms namespace\n */\ninterface IWebpackUtils {\n loaders: ILoaderUtils\n\n rules: IRuleUtils\n\n plugins: PluginUtils\n}\n\nconst vendorRegex = /(node_modules|bower_components)/\n\n/**\n * A factory method that produces an atoms namespace\n */\nexport const createWebpackUtils = (\n stage: Stage,\n program: IProgram\n): IWebpackUtils => {\n const assetRelativeRoot = `static/`\n const supportedBrowsers = getBrowsersList(program.directory)\n\n const PRODUCTION = !stage.includes(`develop`)\n\n const isSSR = stage.includes(`html`)\n const { config } = store.getState()\n\n const makeExternalOnly =\n (original: RuleFactory) =>\n (options = {}): RuleSetRule => {\n const rule = original(options)\n rule.include = vendorRegex\n return rule\n }\n\n const makeInternalOnly =\n (original: RuleFactory) =>\n (options = {}): RuleSetRule => {\n const rule = original(options)\n rule.exclude = vendorRegex\n return rule\n }\n\n const loaders: ILoaderUtils = {\n json: (options = {}) => {\n return {\n options,\n loader: require.resolve(`json-loader`),\n }\n },\n yaml: (options = {}) => {\n return {\n options,\n loader: require.resolve(`yaml-loader`),\n }\n },\n\n null: (options = {}) => {\n return {\n options,\n loader: require.resolve(`null-loader`),\n }\n },\n\n raw: (options = {}) => {\n return {\n options,\n loader: require.resolve(`raw-loader`),\n }\n },\n\n style: (options = {}) => {\n return {\n options,\n loader: require.resolve(`style-loader`),\n }\n },\n\n // TODO(v5): Re-Apply https://github.com/gatsbyjs/gatsby/pull/33979 with breaking change in inline loader syntax\n miniCssExtract: (\n options: {\n modules?: MiniCSSExtractLoaderModuleOptions\n } = {}\n ) => {\n let moduleOptions: MiniCSSExtractLoaderModuleOptions = undefined\n\n const { modules, ...restOptions } = options\n\n if (typeof modules === `boolean` && options.modules) {\n moduleOptions = {\n namedExport: true,\n }\n } else {\n moduleOptions = modules\n }\n\n return {\n loader: MiniCssExtractPlugin.loader,\n options: {\n modules: moduleOptions,\n ...restOptions,\n },\n }\n },\n\n css: (options = {}) => {\n let modulesOptions: CSSModulesOptions = false\n if (options.modules) {\n modulesOptions = {\n auto: undefined,\n namedExport: true,\n localIdentName: `[name]--[local]--[hash:base64:5]`,\n exportLocalsConvention: `dashesOnly`,\n exportOnlyLocals: isSSR,\n }\n\n if (typeof options.modules === `object`) {\n modulesOptions = {\n ...modulesOptions,\n ...options.modules,\n }\n }\n }\n\n return {\n loader: require.resolve(`css-loader`),\n options: {\n // Absolute urls (https or //) are not send to this function. Only resolvable paths absolute or relative ones.\n url: function (url: string): boolean {\n // When an url starts with /\n if (url.startsWith(`/`)) {\n return false\n }\n\n return true\n },\n sourceMap: !PRODUCTION,\n modules: modulesOptions,\n },\n }\n },\n\n postcss: (options = {}) => {\n const {\n plugins,\n overrideBrowserslist = supportedBrowsers,\n ...postcssOpts\n } = options\n\n return {\n loader: require.resolve(`postcss-loader`),\n options: {\n execute: false,\n sourceMap: !PRODUCTION,\n // eslint-disable-next-line @typescript-eslint/explicit-function-return-type\n postcssOptions: (loaderContext: any) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let postCSSPlugins: Array<PostCSSPlugin> = []\n if (plugins) {\n postCSSPlugins =\n typeof plugins === `function` ? plugins(loaderContext) : plugins\n }\n\n const autoprefixerPlugin = autoprefixer({\n overrideBrowserslist,\n flexbox: `no-2009`,\n ...((\n postCSSPlugins.find(\n plugin => plugin.postcssPlugin === `autoprefixer`\n ) as unknown as autoprefixer.ExportedAPI\n )?.options ?? {}),\n })\n\n postCSSPlugins.unshift(autoprefixerPlugin)\n postCSSPlugins.unshift(flexbugs)\n\n return {\n plugins: postCSSPlugins,\n ...postcssOpts,\n }\n },\n },\n }\n },\n\n file: (options = {}) => {\n return {\n loader: require.resolve(`file-loader`),\n options: {\n name: `${assetRelativeRoot}[name]-[hash].[ext]`,\n ...options,\n },\n }\n },\n\n url: (options = {}) => {\n return {\n loader: require.resolve(`url-loader`),\n options: {\n limit: 10000,\n name: `${assetRelativeRoot}[name]-[hash].[ext]`,\n fallback: require.resolve(`file-loader`),\n ...options,\n },\n }\n },\n\n js: options => {\n return {\n options: {\n stage,\n reactRuntime: config.jsxRuntime,\n reactImportSource: config.jsxImportSource,\n cacheDirectory: path.join(\n program.directory,\n `.cache`,\n `webpack`,\n `babel`\n ),\n ...options,\n rootDir: program.directory,\n },\n loader: require.resolve(`./babel-loader`),\n }\n },\n\n dependencies: options => {\n return {\n options: {\n cacheDirectory: path.join(\n program.directory,\n `.cache`,\n `webpack`,\n `babel`\n ),\n ...options,\n },\n loader: require.resolve(`babel-loader`),\n }\n },\n }\n\n /**\n * Rules\n */\n const rules = {} as IRuleUtils\n\n /**\n * JavaScript loader via babel, includes userland code\n * and packages that depend on `gatsby`\n */\n {\n const js = ({\n modulesThatUseGatsby = [],\n ...options\n }: {\n modulesThatUseGatsby?: Array<IModuleThatUseGatsby>\n } = {}): RuleSetRule => {\n return {\n test: /\\.(js|mjs|jsx|ts|tsx)$/,\n include: (modulePath: string): boolean => {\n // when it's not coming from node_modules we treat it as a source file.\n if (!vendorRegex.test(modulePath)) {\n return true\n }\n\n // If the module uses Gatsby as a dependency\n // we want to treat it as src so we can extract queries\n return modulesThatUseGatsby.some(module =>\n modulePath.includes(module.path)\n )\n },\n type: `javascript/auto`,\n use: ({ resourceQuery, issuer }): Array<RuleSetUseItem> => [\n // If a JS import comes from async-requires, assume it is for a page component.\n // Using `issuer` allows us to avoid mutating async-requires for this case.\n //\n // If other imports are added to async-requires in the future, another option is to\n // append a query param to page components in the store and check against `resourceQuery` here.\n //\n // This would require we adjust `doesModuleMatchResourcePath` in `static-query-mapper`\n // to check against the module's `resourceResolveData.path` instead of resource to avoid\n // mismatches because of the added query param. Other adjustments may also be needed.\n loaders.js({\n ...options,\n configFile: true,\n compact: PRODUCTION,\n isPageTemplate: /async-requires/.test(issuer),\n resourceQuery,\n }),\n ],\n }\n }\n rules.js = js\n }\n\n /**\n * Node_modules JavaScript loader via babel\n * Excludes core-js & babel-runtime to speedup babel transpilation\n * Excludes modules that use Gatsby since the `rules.js` already transpiles those\n */\n {\n const dependencies = ({\n modulesThatUseGatsby = [],\n }: {\n modulesThatUseGatsby?: Array<IModuleThatUseGatsby>\n } = {}): RuleSetRule => {\n const jsOptions = {\n babelrc: false,\n configFile: false,\n compact: false,\n presets: [\n [\n require.resolve(`babel-preset-gatsby/dependencies`),\n {\n stage,\n },\n ],\n ],\n // If an error happens in a package, it's possible to be\n // because it was compiled. Thus, we don't want the browser\n // debugger to show the original code. Instead, the code\n // being evaluated would be much more helpful.\n sourceMaps: false,\n\n cacheIdentifier: JSON.stringify({\n browsersList: supportedBrowsers,\n gatsbyPreset: require(`babel-preset-gatsby/package.json`).version,\n }),\n }\n\n // TODO REMOVE IN V3\n // a list of vendors we know we shouldn't polyfill (we should have set core-js to entry but we didn't so we have to do this)\n const VENDORS_TO_NOT_POLYFILL = [\n `@babel[\\\\\\\\/]runtime`,\n `@mikaelkristiansson[\\\\\\\\/]domready`,\n `@reach[\\\\\\\\/]router`,\n `babel-preset-gatsby`,\n `core-js`,\n `dom-helpers`,\n `gatsby-legacy-polyfills`,\n `gatsby-link`,\n `gatsby-script`,\n `gatsby-react-router-scroll`,\n `invariant`,\n `lodash`,\n `mitt`,\n `prop-types`,\n `react-dom`,\n `react`,\n `regenerator-runtime`,\n `scheduler`,\n `scroll-behavior`,\n `shallow-compare`,\n `warning`,\n `webpack`,\n ]\n const doNotPolyfillRegex = new RegExp(\n `[\\\\\\\\/]node_modules[\\\\\\\\/](${VENDORS_TO_NOT_POLYFILL.join(\n `|`\n )})[\\\\\\\\/]`\n )\n\n return {\n test: /\\.(js|mjs)$/,\n exclude: (modulePath: string): boolean => {\n // If dep is user land code, exclude\n if (!vendorRegex.test(modulePath)) {\n return true\n }\n\n // If dep uses Gatsby, exclude\n if (\n modulesThatUseGatsby.some(module =>\n modulePath.includes(module.path)\n )\n ) {\n return true\n }\n\n return doNotPolyfillRegex.test(modulePath)\n },\n type: `javascript/auto`,\n use: [loaders.dependencies(jsOptions)],\n }\n }\n rules.dependencies = dependencies\n }\n\n rules.yaml = (): RuleSetRule => {\n return {\n test: /\\.ya?ml$/,\n type: `json`,\n use: [loaders.yaml()],\n }\n }\n\n /**\n * Font loader\n */\n rules.fonts = (): RuleSetRule => {\n return {\n use: [loaders.url()],\n test: /\\.(eot|otf|ttf|woff(2)?)(\\?.*)?$/,\n }\n }\n\n /**\n * Loads image assets, inlines images via a data URI if they are below\n * the size threshold\n */\n rules.images = (): RuleSetRule => {\n return {\n use: [loaders.url()],\n test: /\\.(ico|svg|jpg|jpeg|png|gif|webp|avif)(\\?.*)?$/,\n }\n }\n\n /**\n * Loads audio and video and inlines them via a data URI if they are below\n * the size threshold\n */\n rules.media = (): RuleSetRule => {\n return {\n use: [loaders.url()],\n test: /\\.(mp4|webm|ogv|wav|mp3|m4a|aac|oga|flac)$/,\n }\n }\n\n /**\n * Loads assets without inlining\n */\n rules.miscAssets = (): RuleSetRule => {\n return {\n use: [loaders.file()],\n test: /\\.pdf$/,\n }\n }\n\n /**\n * CSS style loader.\n */\n {\n const css: IRuleUtils[\"css\"] = (options = {}): RuleSetRule => {\n const { browsers, ...restOptions } = options\n const use = [\n !isSSR && loaders.miniCssExtract(restOptions),\n loaders.css({ ...restOptions, importLoaders: 1 }),\n loaders.postcss({ browsers }),\n ].filter(Boolean) as RuleSetRule[\"use\"]\n\n return {\n use,\n test: /\\.css$/,\n }\n }\n\n /**\n * CSS style loader, _excludes_ node_modules.\n */\n css.internal = makeInternalOnly(css)\n css.external = makeExternalOnly(css)\n\n const cssModules: IRuleUtils[\"cssModules\"] = (options): RuleSetRule => {\n const rule = css({ ...options, modules: true })\n delete rule.exclude\n rule.test = /\\.module\\.css$/\n return rule\n }\n\n rules.css = css\n rules.cssModules = cssModules\n }\n\n /**\n * PostCSS loader.\n */\n {\n const postcss: ContextualRuleFactory = (options): RuleSetRule => {\n return {\n test: /\\.css$/,\n use: [loaders.css({ importLoaders: 1 }), loaders.postcss(options)],\n }\n }\n\n /**\n * PostCSS loader, _excludes_ node_modules.\n */\n postcss.internal = makeInternalOnly(postcss)\n postcss.external = makeExternalOnly(postcss)\n rules.postcss = postcss\n }\n /**\n * cast rules to IRuleUtils\n */\n /**\n * Plugins\n */\n const plugins = { ...builtinPlugins } as PluginUtils\n\n plugins.minifyJs = ({\n terserOptions,\n ...options\n }: {\n terserOptions?: TerserOptions\n } = {}): WebpackPluginInstance =>\n new TerserPlugin({\n exclude: /\\.min\\.js/,\n terserOptions: {\n ie8: false,\n mangle: {\n safari10: true,\n },\n parse: {\n ecma: 5,\n },\n compress: {\n ecma: 5,\n },\n output: {\n ecma: 5,\n },\n ...terserOptions,\n },\n parallel: Math.max(1, cpuCoreCount() - 1),\n ...options,\n })\n\n plugins.minifyCss = (\n options = {\n minimizerOptions: {\n preset: [\n `default`,\n {\n svgo: {\n full: true,\n plugins: [\n // potentially destructive plugins removed - see https://github.com/gatsbyjs/gatsby/issues/15629\n // use correct config format and remove plugins requiring specific params - see https://github.com/gatsbyjs/gatsby/issues/31619\n // List of default plugins and their defaults: https://github.com/svg/svgo#built-in-plugins\n // Last update 2021-08-17\n `cleanupAttrs`,\n `cleanupEnableBackground`,\n `cleanupIDs`,\n `cleanupListOfValues`, // Default: disabled\n `cleanupNumericValues`,\n `collapseGroups`,\n `convertColors`,\n `convertPathData`,\n `convertStyleToAttrs`, // Default: disabled\n `convertTransform`,\n `inlineStyles`,\n `mergePaths`,\n `minifyStyles`,\n `moveElemsAttrsToGroup`,\n `moveGroupAttrsToElems`,\n `prefixIds`, // Default: disabled\n `removeComments`,\n `removeDesc`,\n `removeDoctype`,\n `removeEditorsNSData`,\n `removeEmptyAttrs`,\n `removeEmptyContainers`,\n `removeEmptyText`,\n `removeHiddenElems`,\n `removeMetadata`,\n `removeNonInheritableGroupAttrs`,\n `removeRasterImages`, // Default: disabled\n `removeScriptElement`, // Default: disabled\n `removeStyleElement`, // Default: disabled\n `removeTitle`,\n `removeUnknownsAndDefaults`,\n `removeUnusedNS`,\n `removeUselessDefs`,\n `removeUselessStrokeAndFill`,\n `removeXMLProcInst`,\n `reusePaths`, // Default: disabled\n `sortAttrs`, // Default: disabled\n ],\n },\n },\n ],\n },\n }\n ): CssMinimizerPlugin =>\n new CssMinimizerPlugin({\n parallel: Math.max(1, cpuCoreCount() - 1),\n ...options,\n })\n\n plugins.fastRefresh = ({ modulesThatUseGatsby }): WebpackPluginInstance => {\n const regExpToHack = /node_modules/\n regExpToHack.test = (modulePath: string): boolean => {\n // when it's not coming from node_modules we treat it as a source file.\n if (!vendorRegex.test(modulePath)) {\n return false\n }\n\n // If the module uses Gatsby as a dependency\n // we want to treat it as src because of shadowing\n return !modulesThatUseGatsby.some(module =>\n modulePath.includes(module.path)\n )\n }\n\n return new ReactRefreshWebpackPlugin({\n overlay: {\n sockIntegration: `whm`,\n module: path.join(__dirname, `fast-refresh-module`),\n },\n // this is a bit hacky - exclude expect string or regexp or array of those\n // so this is tricking ReactRefreshWebpackPlugin with providing regexp with\n // overwritten .test method\n exclude: regExpToHack,\n })\n }\n\n plugins.extractText = (options: any): WebpackPluginInstance =>\n new MiniCssExtractPlugin({\n ...options,\n })\n\n plugins.moment = (): WebpackPluginInstance =>\n plugins.ignore({ resourceRegExp: /^\\.\\/locale$/, contextRegExp: /moment$/ })\n\n plugins.extractStats = (): GatsbyWebpackStatsExtractor =>\n new GatsbyWebpackStatsExtractor()\n\n // TODO: remove this in v5\n plugins.eslintGraphqlSchemaReload = (): null => null\n\n plugins.virtualModules = (): GatsbyWebpackVirtualModules =>\n new GatsbyWebpackVirtualModules()\n\n plugins.eslint = (): WebpackPluginInstance => {\n const options = {\n extensions: [`js`, `jsx`],\n exclude: [\n `/node_modules/`,\n `/bower_components/`,\n VIRTUAL_MODULES_BASE_PATH,\n ],\n ...eslintConfig(config.jsxRuntime === `automatic`),\n }\n // @ts-ignore\n return new ESLintPlugin(options)\n }\n\n plugins.eslintRequired = (): WebpackPluginInstance => {\n const options = {\n extensions: [`js`, `jsx`],\n exclude: [\n `/node_modules/`,\n `/bower_components/`,\n VIRTUAL_MODULES_BASE_PATH,\n ],\n ...eslintRequiredConfig,\n }\n // @ts-ignore\n return new ESLintPlugin(options)\n }\n\n return {\n loaders,\n rules,\n plugins,\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"webpack-utils.js","names":["vendorRegex","createWebpackUtils","stage","program","assetRelativeRoot","supportedBrowsers","getBrowsersList","directory","PRODUCTION","includes","isSSR","config","store","getState","makeExternalOnly","original","options","rule","include","makeInternalOnly","exclude","loaders","json","loader","require","resolve","yaml","null","raw","style","miniCssExtract","moduleOptions","undefined","modules","restOptions","namedExport","MiniCssExtractPlugin","css","modulesOptions","auto","localIdentName","exportLocalsConvention","exportOnlyLocals","url","startsWith","sourceMap","postcss","plugins","overrideBrowserslist","postcssOpts","execute","postcssOptions","loaderContext","postCSSPlugins","autoprefixerPlugin","autoprefixer","flexbox","find","plugin","postcssPlugin","unshift","flexbugs","file","name","limit","fallback","js","reactRuntime","jsxRuntime","reactImportSource","jsxImportSource","cacheDirectory","path","join","rootDir","dependencies","rules","modulesThatUseGatsby","test","modulePath","some","module","type","use","resourceQuery","issuer","configFile","compact","isPageTemplate","jsOptions","babelrc","presets","sourceMaps","cacheIdentifier","JSON","stringify","browsersList","gatsbyPreset","version","VENDORS_TO_NOT_POLYFILL","doNotPolyfillRegex","RegExp","fonts","images","media","miscAssets","browsers","importLoaders","filter","Boolean","internal","external","cssModules","builtinPlugins","minifyJs","terserOptions","TerserPlugin","ie8","mangle","safari10","parse","ecma","compress","output","parallel","Math","max","cpuCoreCount","minifyCss","minimizerOptions","preset","svgo","full","CssMinimizerPlugin","fastRefresh","regExpToHack","ReactRefreshWebpackPlugin","overlay","sockIntegration","__dirname","extractText","moment","ignore","resourceRegExp","contextRegExp","extractStats","GatsbyWebpackStatsExtractor","eslintGraphqlSchemaReload","virtualModules","GatsbyWebpackVirtualModules","eslint","extensions","VIRTUAL_MODULES_BASE_PATH","eslintConfig","ESLintPlugin","eslintRequired","eslintRequiredConfig"],"sources":["../../src/utils/webpack-utils.ts"],"sourcesContent":["import * as path from \"path\"\nimport { RuleSetRule, WebpackPluginInstance } from \"webpack\"\nimport { GraphQLSchema } from \"graphql\"\nimport { Plugin as PostCSSPlugin } from \"postcss\"\nimport autoprefixer from \"autoprefixer\"\nimport flexbugs from \"postcss-flexbugs-fixes\"\nimport TerserPlugin from \"terser-webpack-plugin\"\nimport type { MinifyOptions as TerserOptions } from \"terser\"\nimport MiniCssExtractPlugin from \"mini-css-extract-plugin\"\nimport CssMinimizerPlugin from \"css-minimizer-webpack-plugin\"\nimport ReactRefreshWebpackPlugin from \"@pmmmwh/react-refresh-webpack-plugin\"\nimport { getBrowsersList } from \"./browserslist\"\nimport ESLintPlugin from \"eslint-webpack-plugin\"\nimport { cpuCoreCount } from \"gatsby-core-utils\"\nimport { GatsbyWebpackStatsExtractor } from \"./gatsby-webpack-stats-extractor\"\nimport {\n GatsbyWebpackVirtualModules,\n VIRTUAL_MODULES_BASE_PATH,\n} from \"./gatsby-webpack-virtual-modules\"\n\nimport { builtinPlugins } from \"./webpack-plugins\"\nimport { IProgram, Stage } from \"../commands/types\"\nimport { eslintConfig, eslintRequiredConfig } from \"./eslint-config\"\nimport { store } from \"../redux\"\nimport type { RuleSetUseItem } from \"webpack\"\n\ntype Loader = string | { loader: string; options?: { [name: string]: any } }\ntype LoaderResolver<T = Record<string, unknown>> = (options?: T) => Loader\n\ntype LoaderOptions = Record<string, any>\ntype RuleFactory<T = Record<string, unknown>> = (\n options?: T & LoaderOptions\n) => RuleSetRule\n\ntype ContextualRuleFactory<T = Record<string, unknown>> = RuleFactory<T> & {\n internal?: RuleFactory<T>\n external?: RuleFactory<T>\n}\n\ntype PluginFactory = (...args: any) => WebpackPluginInstance | null\n\ntype BuiltinPlugins = typeof builtinPlugins\n\ntype CSSModulesOptions =\n | boolean\n | string\n | {\n mode?:\n | \"local\"\n | \"global\"\n | \"pure\"\n | ((resourcePath: string) => \"local\" | \"global\" | \"pure\")\n auto?: boolean\n exportGlobals?: boolean\n localIdentName?: string\n localIdentContext?: string\n localIdentHashPrefix?: string\n namedExport?: boolean\n exportLocalsConvention?:\n | \"asIs\"\n | \"camelCaseOnly\"\n | \"camelCase\"\n | \"dashes\"\n | \"dashesOnly\"\n exportOnlyLocals?: boolean\n }\n\ntype MiniCSSExtractLoaderModuleOptions =\n | undefined\n | boolean\n | {\n namedExport?: boolean\n }\n/**\n * Utils that produce webpack `loader` objects\n */\ninterface ILoaderUtils {\n yaml: LoaderResolver\n style: LoaderResolver\n css: LoaderResolver<{\n url?: boolean | ((url: string, resourcePath: string) => boolean)\n import?:\n | boolean\n | ((url: string, media: string, resourcePath: string) => boolean)\n modules?: CSSModulesOptions\n sourceMap?: boolean\n importLoaders?: number\n esModule?: boolean\n }>\n postcss: LoaderResolver<{\n browsers?: Array<string>\n overrideBrowserslist?: Array<string>\n plugins?: Array<PostCSSPlugin> | ((loader: Loader) => Array<PostCSSPlugin>)\n }>\n\n file: LoaderResolver\n url: LoaderResolver\n js: LoaderResolver\n json: LoaderResolver\n null: LoaderResolver\n raw: LoaderResolver\n dependencies: LoaderResolver\n\n miniCssExtract: LoaderResolver\n imports?: LoaderResolver\n exports?: LoaderResolver\n}\n\ninterface IModuleThatUseGatsby {\n name: string\n path: string\n}\n\ntype CssLoaderModuleOption = boolean | Record<string, any> | string\n\n/**\n * Utils that produce webpack rule objects\n */\ninterface IRuleUtils {\n /**\n * Handles JavaScript compilation via babel\n */\n js: RuleFactory<{ modulesThatUseGatsby?: Array<IModuleThatUseGatsby> }>\n dependencies: RuleFactory<{\n modulesThatUseGatsby?: Array<IModuleThatUseGatsby>\n }>\n yaml: RuleFactory\n fonts: RuleFactory\n images: RuleFactory\n miscAssets: RuleFactory\n media: RuleFactory\n\n css: ContextualRuleFactory<{\n browsers?: Array<string>\n modules?: CssLoaderModuleOption\n }>\n cssModules: RuleFactory\n postcss: ContextualRuleFactory<{ overrideBrowserOptions: Array<string> }>\n\n eslint: (schema: GraphQLSchema) => RuleSetRule\n eslintRequired: () => RuleSetRule\n}\n\ntype PluginUtils = BuiltinPlugins & {\n extractText: PluginFactory\n uglify: PluginFactory\n moment: PluginFactory\n extractStats: PluginFactory\n minifyJs: PluginFactory\n minifyCss: PluginFactory\n fastRefresh: PluginFactory\n eslintGraphqlSchemaReload: PluginFactory\n virtualModules: PluginFactory\n eslint: PluginFactory\n eslintRequired: PluginFactory\n}\n\n/**\n * webpack atoms namespace\n */\ninterface IWebpackUtils {\n loaders: ILoaderUtils\n\n rules: IRuleUtils\n\n plugins: PluginUtils\n}\n\nconst vendorRegex = /(node_modules|bower_components)/\n\n/**\n * A factory method that produces an atoms namespace\n */\nexport const createWebpackUtils = (\n stage: Stage,\n program: IProgram\n): IWebpackUtils => {\n const assetRelativeRoot = `static/`\n const supportedBrowsers = getBrowsersList(program.directory)\n\n const PRODUCTION = !stage.includes(`develop`)\n\n const isSSR = stage.includes(`html`)\n const { config } = store.getState()\n\n const makeExternalOnly =\n (original: RuleFactory) =>\n (options = {}): RuleSetRule => {\n const rule = original(options)\n rule.include = vendorRegex\n return rule\n }\n\n const makeInternalOnly =\n (original: RuleFactory) =>\n (options = {}): RuleSetRule => {\n const rule = original(options)\n rule.exclude = vendorRegex\n return rule\n }\n\n const loaders: ILoaderUtils = {\n json: (options = {}) => {\n return {\n options,\n loader: require.resolve(`json-loader`),\n }\n },\n yaml: (options = {}) => {\n return {\n options,\n loader: require.resolve(`yaml-loader`),\n }\n },\n\n null: (options = {}) => {\n return {\n options,\n loader: require.resolve(`null-loader`),\n }\n },\n\n raw: (options = {}) => {\n return {\n options,\n loader: require.resolve(`raw-loader`),\n }\n },\n\n style: (options = {}) => {\n return {\n options,\n loader: require.resolve(`style-loader`),\n }\n },\n\n // TODO(v5): Re-Apply https://github.com/gatsbyjs/gatsby/pull/33979 with breaking change in inline loader syntax\n miniCssExtract: (\n options: {\n modules?: MiniCSSExtractLoaderModuleOptions\n } = {}\n ) => {\n let moduleOptions: MiniCSSExtractLoaderModuleOptions = undefined\n\n const { modules, ...restOptions } = options\n\n if (typeof modules === `boolean` && options.modules) {\n moduleOptions = {\n namedExport: true,\n }\n } else {\n moduleOptions = modules\n }\n\n return {\n loader: MiniCssExtractPlugin.loader,\n options: {\n modules: moduleOptions,\n ...restOptions,\n },\n }\n },\n\n css: (options = {}) => {\n let modulesOptions: CSSModulesOptions = false\n if (options.modules) {\n modulesOptions = {\n auto: undefined,\n namedExport: true,\n localIdentName: `[name]--[local]--[hash:hex:5]`,\n exportLocalsConvention: `dashesOnly`,\n exportOnlyLocals: isSSR,\n }\n\n if (typeof options.modules === `object`) {\n modulesOptions = {\n ...modulesOptions,\n ...options.modules,\n }\n }\n }\n\n return {\n loader: require.resolve(`css-loader`),\n options: {\n // Absolute urls (https or //) are not send to this function. Only resolvable paths absolute or relative ones.\n url: function (url: string): boolean {\n // When an url starts with /\n if (url.startsWith(`/`)) {\n return false\n }\n\n return true\n },\n sourceMap: !PRODUCTION,\n modules: modulesOptions,\n },\n }\n },\n\n postcss: (options = {}) => {\n const {\n plugins,\n overrideBrowserslist = supportedBrowsers,\n ...postcssOpts\n } = options\n\n return {\n loader: require.resolve(`postcss-loader`),\n options: {\n execute: false,\n sourceMap: !PRODUCTION,\n // eslint-disable-next-line @typescript-eslint/explicit-function-return-type\n postcssOptions: (loaderContext: any) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let postCSSPlugins: Array<PostCSSPlugin> = []\n if (plugins) {\n postCSSPlugins =\n typeof plugins === `function` ? plugins(loaderContext) : plugins\n }\n\n const autoprefixerPlugin = autoprefixer({\n overrideBrowserslist,\n flexbox: `no-2009`,\n ...((\n postCSSPlugins.find(\n plugin => plugin.postcssPlugin === `autoprefixer`\n ) as unknown as autoprefixer.ExportedAPI\n )?.options ?? {}),\n })\n\n postCSSPlugins.unshift(autoprefixerPlugin)\n postCSSPlugins.unshift(flexbugs)\n\n return {\n plugins: postCSSPlugins,\n ...postcssOpts,\n }\n },\n },\n }\n },\n\n file: (options = {}) => {\n return {\n loader: require.resolve(`file-loader`),\n options: {\n name: `${assetRelativeRoot}[name]-[hash].[ext]`,\n ...options,\n },\n }\n },\n\n url: (options = {}) => {\n return {\n loader: require.resolve(`url-loader`),\n options: {\n limit: 10000,\n name: `${assetRelativeRoot}[name]-[hash].[ext]`,\n fallback: require.resolve(`file-loader`),\n ...options,\n },\n }\n },\n\n js: options => {\n return {\n options: {\n stage,\n reactRuntime: config.jsxRuntime,\n reactImportSource: config.jsxImportSource,\n cacheDirectory: path.join(\n program.directory,\n `.cache`,\n `webpack`,\n `babel`\n ),\n ...options,\n rootDir: program.directory,\n },\n loader: require.resolve(`./babel-loader`),\n }\n },\n\n dependencies: options => {\n return {\n options: {\n cacheDirectory: path.join(\n program.directory,\n `.cache`,\n `webpack`,\n `babel`\n ),\n ...options,\n },\n loader: require.resolve(`babel-loader`),\n }\n },\n }\n\n /**\n * Rules\n */\n const rules = {} as IRuleUtils\n\n /**\n * JavaScript loader via babel, includes userland code\n * and packages that depend on `gatsby`\n */\n {\n const js = ({\n modulesThatUseGatsby = [],\n ...options\n }: {\n modulesThatUseGatsby?: Array<IModuleThatUseGatsby>\n } = {}): RuleSetRule => {\n return {\n test: /\\.(js|mjs|jsx|ts|tsx)$/,\n include: (modulePath: string): boolean => {\n // when it's not coming from node_modules we treat it as a source file.\n if (!vendorRegex.test(modulePath)) {\n return true\n }\n\n // If the module uses Gatsby as a dependency\n // we want to treat it as src so we can extract queries\n return modulesThatUseGatsby.some(module =>\n modulePath.includes(module.path)\n )\n },\n type: `javascript/auto`,\n use: ({ resourceQuery, issuer }): Array<RuleSetUseItem> => [\n // If a JS import comes from async-requires, assume it is for a page component.\n // Using `issuer` allows us to avoid mutating async-requires for this case.\n //\n // If other imports are added to async-requires in the future, another option is to\n // append a query param to page components in the store and check against `resourceQuery` here.\n //\n // This would require we adjust `doesModuleMatchResourcePath` in `static-query-mapper`\n // to check against the module's `resourceResolveData.path` instead of resource to avoid\n // mismatches because of the added query param. Other adjustments may also be needed.\n loaders.js({\n ...options,\n configFile: true,\n compact: PRODUCTION,\n isPageTemplate: /async-requires/.test(issuer),\n resourceQuery,\n }),\n ],\n }\n }\n rules.js = js\n }\n\n /**\n * Node_modules JavaScript loader via babel\n * Excludes core-js & babel-runtime to speedup babel transpilation\n * Excludes modules that use Gatsby since the `rules.js` already transpiles those\n */\n {\n const dependencies = ({\n modulesThatUseGatsby = [],\n }: {\n modulesThatUseGatsby?: Array<IModuleThatUseGatsby>\n } = {}): RuleSetRule => {\n const jsOptions = {\n babelrc: false,\n configFile: false,\n compact: false,\n presets: [\n [\n require.resolve(`babel-preset-gatsby/dependencies`),\n {\n stage,\n },\n ],\n ],\n // If an error happens in a package, it's possible to be\n // because it was compiled. Thus, we don't want the browser\n // debugger to show the original code. Instead, the code\n // being evaluated would be much more helpful.\n sourceMaps: false,\n\n cacheIdentifier: JSON.stringify({\n browsersList: supportedBrowsers,\n gatsbyPreset: require(`babel-preset-gatsby/package.json`).version,\n }),\n }\n\n // TODO REMOVE IN V3\n // a list of vendors we know we shouldn't polyfill (we should have set core-js to entry but we didn't so we have to do this)\n const VENDORS_TO_NOT_POLYFILL = [\n `@babel[\\\\\\\\/]runtime`,\n `@mikaelkristiansson[\\\\\\\\/]domready`,\n `@reach[\\\\\\\\/]router`,\n `babel-preset-gatsby`,\n `core-js`,\n `dom-helpers`,\n `gatsby-legacy-polyfills`,\n `gatsby-link`,\n `gatsby-script`,\n `gatsby-react-router-scroll`,\n `invariant`,\n `lodash`,\n `mitt`,\n `prop-types`,\n `react-dom`,\n `react`,\n `regenerator-runtime`,\n `scheduler`,\n `scroll-behavior`,\n `shallow-compare`,\n `warning`,\n `webpack`,\n ]\n const doNotPolyfillRegex = new RegExp(\n `[\\\\\\\\/]node_modules[\\\\\\\\/](${VENDORS_TO_NOT_POLYFILL.join(\n `|`\n )})[\\\\\\\\/]`\n )\n\n return {\n test: /\\.(js|mjs)$/,\n exclude: (modulePath: string): boolean => {\n // If dep is user land code, exclude\n if (!vendorRegex.test(modulePath)) {\n return true\n }\n\n // If dep uses Gatsby, exclude\n if (\n modulesThatUseGatsby.some(module =>\n modulePath.includes(module.path)\n )\n ) {\n return true\n }\n\n return doNotPolyfillRegex.test(modulePath)\n },\n type: `javascript/auto`,\n use: [loaders.dependencies(jsOptions)],\n }\n }\n rules.dependencies = dependencies\n }\n\n rules.yaml = (): RuleSetRule => {\n return {\n test: /\\.ya?ml$/,\n type: `json`,\n use: [loaders.yaml()],\n }\n }\n\n /**\n * Font loader\n */\n rules.fonts = (): RuleSetRule => {\n return {\n use: [loaders.url()],\n test: /\\.(eot|otf|ttf|woff(2)?)(\\?.*)?$/,\n }\n }\n\n /**\n * Loads image assets, inlines images via a data URI if they are below\n * the size threshold\n */\n rules.images = (): RuleSetRule => {\n return {\n use: [loaders.url()],\n test: /\\.(ico|svg|jpg|jpeg|png|gif|webp|avif)(\\?.*)?$/,\n }\n }\n\n /**\n * Loads audio and video and inlines them via a data URI if they are below\n * the size threshold\n */\n rules.media = (): RuleSetRule => {\n return {\n use: [loaders.url()],\n test: /\\.(mp4|webm|ogv|wav|mp3|m4a|aac|oga|flac)$/,\n }\n }\n\n /**\n * Loads assets without inlining\n */\n rules.miscAssets = (): RuleSetRule => {\n return {\n use: [loaders.file()],\n test: /\\.pdf$/,\n }\n }\n\n /**\n * CSS style loader.\n */\n {\n const css: IRuleUtils[\"css\"] = (options = {}): RuleSetRule => {\n const { browsers, ...restOptions } = options\n const use = [\n !isSSR && loaders.miniCssExtract(restOptions),\n loaders.css({ ...restOptions, importLoaders: 1 }),\n loaders.postcss({ browsers }),\n ].filter(Boolean) as RuleSetRule[\"use\"]\n\n return {\n use,\n test: /\\.css$/,\n }\n }\n\n /**\n * CSS style loader, _excludes_ node_modules.\n */\n css.internal = makeInternalOnly(css)\n css.external = makeExternalOnly(css)\n\n const cssModules: IRuleUtils[\"cssModules\"] = (options): RuleSetRule => {\n const rule = css({ ...options, modules: true })\n delete rule.exclude\n rule.test = /\\.module\\.css$/\n return rule\n }\n\n rules.css = css\n rules.cssModules = cssModules\n }\n\n /**\n * PostCSS loader.\n */\n {\n const postcss: ContextualRuleFactory = (options): RuleSetRule => {\n return {\n test: /\\.css$/,\n use: [loaders.css({ importLoaders: 1 }), loaders.postcss(options)],\n }\n }\n\n /**\n * PostCSS loader, _excludes_ node_modules.\n */\n postcss.internal = makeInternalOnly(postcss)\n postcss.external = makeExternalOnly(postcss)\n rules.postcss = postcss\n }\n /**\n * cast rules to IRuleUtils\n */\n /**\n * Plugins\n */\n const plugins = { ...builtinPlugins } as PluginUtils\n\n plugins.minifyJs = ({\n terserOptions,\n ...options\n }: {\n terserOptions?: TerserOptions\n } = {}): WebpackPluginInstance =>\n new TerserPlugin({\n exclude: /\\.min\\.js/,\n terserOptions: {\n ie8: false,\n mangle: {\n safari10: true,\n },\n parse: {\n ecma: 5,\n },\n compress: {\n ecma: 5,\n },\n output: {\n ecma: 5,\n },\n ...terserOptions,\n },\n parallel: Math.max(1, cpuCoreCount() - 1),\n ...options,\n })\n\n plugins.minifyCss = (\n options = {\n minimizerOptions: {\n preset: [\n `default`,\n {\n svgo: {\n full: true,\n plugins: [\n // potentially destructive plugins removed - see https://github.com/gatsbyjs/gatsby/issues/15629\n // use correct config format and remove plugins requiring specific params - see https://github.com/gatsbyjs/gatsby/issues/31619\n // List of default plugins and their defaults: https://github.com/svg/svgo#built-in-plugins\n // Last update 2021-08-17\n `cleanupAttrs`,\n `cleanupEnableBackground`,\n `cleanupIDs`,\n `cleanupListOfValues`, // Default: disabled\n `cleanupNumericValues`,\n `collapseGroups`,\n `convertColors`,\n `convertPathData`,\n `convertStyleToAttrs`, // Default: disabled\n `convertTransform`,\n `inlineStyles`,\n `mergePaths`,\n `minifyStyles`,\n `moveElemsAttrsToGroup`,\n `moveGroupAttrsToElems`,\n `prefixIds`, // Default: disabled\n `removeComments`,\n `removeDesc`,\n `removeDoctype`,\n `removeEditorsNSData`,\n `removeEmptyAttrs`,\n `removeEmptyContainers`,\n `removeEmptyText`,\n `removeHiddenElems`,\n `removeMetadata`,\n `removeNonInheritableGroupAttrs`,\n `removeRasterImages`, // Default: disabled\n `removeScriptElement`, // Default: disabled\n `removeStyleElement`, // Default: disabled\n `removeTitle`,\n `removeUnknownsAndDefaults`,\n `removeUnusedNS`,\n `removeUselessDefs`,\n `removeUselessStrokeAndFill`,\n `removeXMLProcInst`,\n `reusePaths`, // Default: disabled\n `sortAttrs`, // Default: disabled\n ],\n },\n },\n ],\n },\n }\n ): CssMinimizerPlugin =>\n new CssMinimizerPlugin({\n parallel: Math.max(1, cpuCoreCount() - 1),\n ...options,\n })\n\n plugins.fastRefresh = ({ modulesThatUseGatsby }): WebpackPluginInstance => {\n const regExpToHack = /node_modules/\n regExpToHack.test = (modulePath: string): boolean => {\n // when it's not coming from node_modules we treat it as a source file.\n if (!vendorRegex.test(modulePath)) {\n return false\n }\n\n // If the module uses Gatsby as a dependency\n // we want to treat it as src because of shadowing\n return !modulesThatUseGatsby.some(module =>\n modulePath.includes(module.path)\n )\n }\n\n return new ReactRefreshWebpackPlugin({\n overlay: {\n sockIntegration: `whm`,\n module: path.join(__dirname, `fast-refresh-module`),\n },\n // this is a bit hacky - exclude expect string or regexp or array of those\n // so this is tricking ReactRefreshWebpackPlugin with providing regexp with\n // overwritten .test method\n exclude: regExpToHack,\n })\n }\n\n plugins.extractText = (options: any): WebpackPluginInstance =>\n new MiniCssExtractPlugin({\n ...options,\n })\n\n plugins.moment = (): WebpackPluginInstance =>\n plugins.ignore({ resourceRegExp: /^\\.\\/locale$/, contextRegExp: /moment$/ })\n\n plugins.extractStats = (): GatsbyWebpackStatsExtractor =>\n new GatsbyWebpackStatsExtractor()\n\n // TODO: remove this in v5\n plugins.eslintGraphqlSchemaReload = (): null => null\n\n plugins.virtualModules = (): GatsbyWebpackVirtualModules =>\n new GatsbyWebpackVirtualModules()\n\n plugins.eslint = (): WebpackPluginInstance => {\n const options = {\n extensions: [`js`, `jsx`],\n exclude: [\n `/node_modules/`,\n `/bower_components/`,\n VIRTUAL_MODULES_BASE_PATH,\n ],\n ...eslintConfig(config.jsxRuntime === `automatic`),\n }\n // @ts-ignore\n return new ESLintPlugin(options)\n }\n\n plugins.eslintRequired = (): WebpackPluginInstance => {\n const options = {\n extensions: [`js`, `jsx`],\n exclude: [\n `/node_modules/`,\n `/bower_components/`,\n VIRTUAL_MODULES_BASE_PATH,\n ],\n ...eslintRequiredConfig,\n }\n // @ts-ignore\n return new ESLintPlugin(options)\n }\n\n return {\n loaders,\n rules,\n plugins,\n }\n}\n"],"mappings":"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"}
|
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.24.
|
|
4
|
+
"version": "4.24.3",
|
|
5
5
|
"author": "Kyle Mathews <mathews.kyle@gmail.com>",
|
|
6
6
|
"bin": {
|
|
7
7
|
"gatsby": "./cli.js"
|
|
@@ -96,7 +96,7 @@
|
|
|
96
96
|
"gatsby-legacy-polyfills": "^2.24.0",
|
|
97
97
|
"gatsby-link": "^4.24.0",
|
|
98
98
|
"gatsby-page-utils": "^2.24.0",
|
|
99
|
-
"gatsby-parcel-config": "
|
|
99
|
+
"gatsby-parcel-config": "0.15.1",
|
|
100
100
|
"gatsby-plugin-page-creator": "^4.24.0",
|
|
101
101
|
"gatsby-plugin-typescript": "^4.24.0",
|
|
102
102
|
"gatsby-plugin-utils": "^3.18.0",
|
|
@@ -276,5 +276,5 @@
|
|
|
276
276
|
"yargs": {
|
|
277
277
|
"boolean-negation": false
|
|
278
278
|
},
|
|
279
|
-
"gitHead": "
|
|
279
|
+
"gitHead": "9b3ba706d845a95cd6835ba6ee0862e94202339a"
|
|
280
280
|
}
|