Rocky_Mountain_Vending/.pnpm-store/v10/files/f7/6fb40d220c5a8e7b1fc117be587bd3b1d182cb67506de724dd9f2b8cc6a8a7b8c1c04c7f0854c3b4344f2e561de8a23287c32d6c703ebd4b529b75e442e142
DMleadgen 46d973904b
Initial commit: Rocky Mountain Vending website
Next.js website for Rocky Mountain Vending company featuring:
- Product catalog with Stripe integration
- Service areas and parts pages
- Admin dashboard with Clerk authentication
- SEO optimized pages with JSON-LD structured data

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-12 16:22:15 -07:00

1 line
No EOL
48 KiB
Text

{"version":3,"sources":["../../../../src/build/webpack/plugins/middleware-plugin.ts"],"sourcesContent":["import type {\n AssetBinding,\n EdgeMiddlewareMeta,\n} from '../loaders/get-module-build-info'\nimport type { EdgeSSRMeta } from '../loaders/get-module-build-info'\nimport type { ProxyMatcher } from '../../analysis/get-page-static-info'\nimport { getNamedMiddlewareRegex } from '../../../shared/lib/router/utils/route-regex'\nimport { getModuleBuildInfo } from '../loaders/get-module-build-info'\nimport { getSortedRoutes } from '../../../shared/lib/router/utils'\nimport { webpack, sources } from 'next/dist/compiled/webpack/webpack'\nimport picomatch from 'next/dist/compiled/picomatch'\nimport path from 'path'\nimport {\n EDGE_RUNTIME_WEBPACK,\n EDGE_UNSUPPORTED_NODE_APIS,\n MIDDLEWARE_BUILD_MANIFEST,\n CLIENT_REFERENCE_MANIFEST,\n MIDDLEWARE_MANIFEST,\n MIDDLEWARE_REACT_LOADABLE_MANIFEST,\n SUBRESOURCE_INTEGRITY_MANIFEST,\n NEXT_FONT_MANIFEST,\n SERVER_REFERENCE_MANIFEST,\n INTERCEPTION_ROUTE_REWRITE_MANIFEST,\n DYNAMIC_CSS_MANIFEST,\n} from '../../../shared/lib/constants'\nimport type { ProxyConfig } from '../../analysis/get-page-static-info'\nimport type { Telemetry } from '../../../telemetry/storage'\nimport { traceGlobals } from '../../../trace/shared'\nimport { EVENT_BUILD_FEATURE_USAGE } from '../../../telemetry/events'\nimport { normalizeAppPath } from '../../../shared/lib/router/utils/app-paths'\nimport {\n INSTRUMENTATION_HOOK_FILENAME,\n WEBPACK_LAYERS,\n} from '../../../lib/constants'\nimport type { CustomRoutes } from '../../../lib/load-custom-routes'\nimport { isInterceptionRouteRewrite } from '../../../lib/generate-interception-routes-rewrites'\nimport { getDynamicCodeEvaluationError } from './wellknown-errors-plugin/parse-dynamic-code-evaluation-error'\nimport { getModuleReferencesInOrder } from '../utils'\n\nconst KNOWN_SAFE_DYNAMIC_PACKAGES =\n require('../../../lib/known-edge-safe-packages.json') as string[]\n\nexport interface EdgeFunctionDefinition {\n files: string[]\n name: string\n page: string\n matchers: ProxyMatcher[]\n env: Record<string, string>\n wasm?: AssetBinding[]\n assets?: AssetBinding[]\n regions?: string[] | string\n}\n\nexport interface MiddlewareManifest {\n version: 3\n sortedMiddleware: string[]\n middleware: { [page: string]: EdgeFunctionDefinition }\n functions: { [page: string]: EdgeFunctionDefinition }\n}\n\ninterface EntryMetadata {\n edgeMiddleware?: EdgeMiddlewareMeta\n edgeApiFunction?: EdgeMiddlewareMeta\n edgeSSR?: EdgeSSRMeta\n wasmBindings: Map<string, string>\n assetBindings: Map<string, string>\n regions?: string[] | string\n}\n\nconst NAME = 'MiddlewarePlugin'\nconst MANIFEST_VERSION = 3\n\n/**\n * Checks the value of usingIndirectEval and when it is a set of modules it\n * check if any of the modules is actually being used. If the value is\n * simply truthy it will return true.\n */\nfunction isUsingIndirectEvalAndUsedByExports(args: {\n module: webpack.Module\n moduleGraph: webpack.ModuleGraph\n runtime: any\n usingIndirectEval: true | Set<string>\n wp: typeof webpack\n}): boolean {\n const { moduleGraph, runtime, module, usingIndirectEval, wp } = args\n if (typeof usingIndirectEval === 'boolean') {\n return usingIndirectEval\n }\n\n const exportsInfo = moduleGraph.getExportsInfo(module)\n for (const exportName of usingIndirectEval) {\n if (exportsInfo.getUsed(exportName, runtime) !== wp.UsageState.Unused) {\n return true\n }\n }\n\n return false\n}\n\nfunction getEntryFiles(\n entryFiles: string[],\n meta: EntryMetadata,\n hasInstrumentationHook: boolean,\n opts: Options\n) {\n const files: string[] = []\n if (meta.edgeSSR) {\n if (meta.edgeSSR.isServerComponent) {\n files.push(`server/${SERVER_REFERENCE_MANIFEST}.js`)\n if (opts.sriEnabled) {\n files.push(`server/${SUBRESOURCE_INTEGRITY_MANIFEST}.js`)\n }\n files.push(\n ...entryFiles\n .filter(\n (file) =>\n file.startsWith('app/') && !file.endsWith('.hot-update.js')\n )\n .map(\n (file) =>\n 'server/' +\n file.replace(/\\.js$/, '_' + CLIENT_REFERENCE_MANIFEST + '.js')\n )\n )\n }\n if (!opts.dev && !meta.edgeSSR.isAppDir) {\n files.push(`server/${DYNAMIC_CSS_MANIFEST}.js`)\n }\n\n files.push(\n `server/${MIDDLEWARE_BUILD_MANIFEST}.js`,\n `server/${MIDDLEWARE_REACT_LOADABLE_MANIFEST}.js`,\n `server/${NEXT_FONT_MANIFEST}.js`,\n `server/${INTERCEPTION_ROUTE_REWRITE_MANIFEST}.js`\n )\n }\n\n if (hasInstrumentationHook) {\n files.push(`server/edge-${INSTRUMENTATION_HOOK_FILENAME}.js`)\n }\n\n files.push(\n ...entryFiles\n .filter((file) => !file.endsWith('.hot-update.js'))\n .map((file) => 'server/' + file)\n )\n\n return files\n}\n\nfunction getCreateAssets(params: {\n compilation: webpack.Compilation\n metadataByEntry: Map<string, EntryMetadata>\n opts: Options\n}) {\n const { compilation, metadataByEntry, opts } = params\n return () => {\n const middlewareManifest: MiddlewareManifest = {\n version: MANIFEST_VERSION,\n middleware: {},\n functions: {},\n sortedMiddleware: [],\n }\n\n const hasInstrumentationHook = compilation.entrypoints.has(\n INSTRUMENTATION_HOOK_FILENAME\n )\n\n // we only emit this entry for the edge runtime since it doesn't have access to a routes manifest\n // and we don't need to provide the entire route manifest, just the interception routes.\n const interceptionRewrites = JSON.stringify(\n opts.rewrites.beforeFiles.filter(isInterceptionRouteRewrite)\n )\n compilation.emitAsset(\n `${INTERCEPTION_ROUTE_REWRITE_MANIFEST}.js`,\n new sources.RawSource(\n `self.__INTERCEPTION_ROUTE_REWRITE_MANIFEST=${JSON.stringify(\n interceptionRewrites\n )}`\n ) as unknown as webpack.sources.RawSource\n )\n\n for (const entrypoint of compilation.entrypoints.values()) {\n if (!entrypoint.name) {\n continue\n }\n\n // There should always be metadata for the entrypoint.\n const metadata = metadataByEntry.get(entrypoint.name)\n const page =\n metadata?.edgeMiddleware?.page ||\n metadata?.edgeSSR?.page ||\n metadata?.edgeApiFunction?.page\n if (!page) {\n continue\n }\n\n const matcherSource = metadata.edgeSSR?.isAppDir\n ? normalizeAppPath(page)\n : page\n\n const catchAll = !metadata.edgeSSR && !metadata.edgeApiFunction\n\n const { namedRegex } = getNamedMiddlewareRegex(matcherSource, {\n catchAll,\n })\n const matchers = metadata?.edgeMiddleware?.matchers ?? [\n {\n regexp: namedRegex,\n originalSource: page === '/' && catchAll ? '/:path*' : matcherSource,\n },\n ]\n\n const isEdgeFunction = !!(metadata.edgeApiFunction || metadata.edgeSSR)\n const edgeFunctionDefinition: EdgeFunctionDefinition = {\n files: getEntryFiles(\n entrypoint.getFiles(),\n metadata,\n hasInstrumentationHook,\n opts\n ),\n name: entrypoint.name,\n page: page,\n matchers,\n wasm: Array.from(metadata.wasmBindings, ([name, filePath]) => ({\n name,\n filePath,\n })),\n assets: Array.from(metadata.assetBindings, ([name, filePath]) => ({\n name,\n filePath,\n })),\n env: opts.edgeEnvironments,\n ...(metadata.regions && { regions: metadata.regions }),\n }\n\n if (isEdgeFunction) {\n middlewareManifest.functions[page] = edgeFunctionDefinition\n } else {\n middlewareManifest.middleware[page] = edgeFunctionDefinition\n }\n }\n\n middlewareManifest.sortedMiddleware = getSortedRoutes(\n Object.keys(middlewareManifest.middleware)\n )\n\n compilation.emitAsset(\n MIDDLEWARE_MANIFEST,\n new sources.RawSource(\n JSON.stringify(middlewareManifest, null, 2)\n ) as unknown as webpack.sources.RawSource\n )\n }\n}\n\nfunction buildWebpackError({\n message,\n loc,\n compilation,\n entryModule,\n parser,\n}: {\n message: string\n loc?: any\n compilation: webpack.Compilation\n entryModule?: webpack.Module\n parser?: webpack.javascript.JavascriptParser\n}) {\n const error = new compilation.compiler.webpack.WebpackError(message)\n error.name = NAME\n const module = entryModule ?? parser?.state.current\n if (module) {\n error.module = module\n }\n error.loc = loc\n return error\n}\n\nfunction isInMiddlewareLayer(parser: webpack.javascript.JavascriptParser) {\n const layer = parser.state.module?.layer\n return layer === WEBPACK_LAYERS.middleware || layer === WEBPACK_LAYERS.apiEdge\n}\n\nfunction isNodeJsModule(moduleName: string) {\n return (require('module') as typeof import('module')).builtinModules.includes(\n moduleName\n )\n}\n\nfunction isBunModule(moduleName: string) {\n return moduleName === 'bun' || moduleName.startsWith('bun:')\n}\n\nfunction isDynamicCodeEvaluationAllowed(\n fileName: string,\n middlewareConfig?: ProxyConfig,\n rootDir?: string\n) {\n // Some packages are known to use `eval` but are safe to use in the Edge\n // Runtime because the dynamic code will never be executed.\n if (\n KNOWN_SAFE_DYNAMIC_PACKAGES.some((pkg) =>\n fileName.includes(`/node_modules/${pkg}/`.replace(/\\//g, path.sep))\n )\n ) {\n return true\n }\n\n const name = fileName.replace(rootDir ?? '', '')\n\n return picomatch(middlewareConfig?.unstable_allowDynamic ?? [], {\n dot: true,\n })(name)\n}\n\nfunction buildUnsupportedApiError({\n apiName,\n loc,\n ...rest\n}: {\n apiName: string\n loc: any\n compilation: webpack.Compilation\n parser: webpack.javascript.JavascriptParser\n}) {\n return buildWebpackError({\n message: `A Node.js API is used (${apiName} at line: ${loc.start.line}) which is not supported in the Edge Runtime.\nLearn more: https://nextjs.org/docs/api-reference/edge-runtime`,\n loc,\n ...rest,\n })\n}\n\nfunction registerUnsupportedApiHooks(\n parser: webpack.javascript.JavascriptParser,\n compilation: webpack.Compilation\n) {\n for (const expression of EDGE_UNSUPPORTED_NODE_APIS) {\n const warnForUnsupportedApi = (node: any) => {\n if (!isInMiddlewareLayer(parser)) {\n return\n }\n compilation.warnings.push(\n buildUnsupportedApiError({\n compilation,\n parser,\n apiName: expression,\n ...node,\n })\n )\n return true\n }\n parser.hooks.call.for(expression).tap(NAME, warnForUnsupportedApi)\n parser.hooks.expression.for(expression).tap(NAME, warnForUnsupportedApi)\n parser.hooks.callMemberChain\n .for(expression)\n .tap(NAME, warnForUnsupportedApi)\n parser.hooks.expressionMemberChain\n .for(expression)\n .tap(NAME, warnForUnsupportedApi)\n }\n\n const warnForUnsupportedProcessApi = (node: any, [callee]: string[]) => {\n if (!isInMiddlewareLayer(parser) || callee === 'env') {\n return\n }\n compilation.warnings.push(\n buildUnsupportedApiError({\n compilation,\n parser,\n apiName: `process.${callee}`,\n ...node,\n })\n )\n return true\n }\n\n parser.hooks.callMemberChain\n .for('process')\n .tap(NAME, warnForUnsupportedProcessApi)\n parser.hooks.expressionMemberChain\n .for('process')\n .tap(NAME, warnForUnsupportedProcessApi)\n}\n\nfunction getCodeAnalyzer(params: {\n dev: boolean\n compiler: webpack.Compiler\n compilation: webpack.Compilation\n}) {\n return (parser: webpack.javascript.JavascriptParser) => {\n const {\n dev,\n compiler: { webpack: wp },\n compilation,\n } = params\n const { hooks } = parser\n\n /**\n * For an expression this will check the graph to ensure it is being used\n * by exports. Then it will store in the module buildInfo a boolean to\n * express that it contains dynamic code and, if it is available, the\n * module path that is using it.\n */\n const handleExpression = () => {\n if (!isInMiddlewareLayer(parser)) {\n return\n }\n\n wp.optimize.InnerGraph.onUsage(parser.state, (used = true) => {\n const buildInfo = getModuleBuildInfo(parser.state.module)\n if (buildInfo.usingIndirectEval === true || used === false) {\n return\n }\n\n if (!buildInfo.usingIndirectEval || used === true) {\n buildInfo.usingIndirectEval = used\n return\n }\n\n buildInfo.usingIndirectEval = new Set([\n ...Array.from(buildInfo.usingIndirectEval),\n ...Array.from(used),\n ])\n })\n }\n\n /**\n * This expression handler allows to wrap a dynamic code expression with a\n * function call where we can warn about dynamic code not being allowed\n * but actually execute the expression.\n */\n const handleWrapExpression = (expr: any) => {\n if (!isInMiddlewareLayer(parser)) {\n return\n }\n\n const { ConstDependency } = wp.dependencies\n const dep1 = new ConstDependency(\n '__next_eval__(function() { return ',\n expr.range[0]\n )\n dep1.loc = expr.loc\n parser.state.module.addPresentationalDependency(dep1)\n const dep2 = new ConstDependency('})', expr.range[1])\n dep2.loc = expr.loc\n parser.state.module.addPresentationalDependency(dep2)\n\n handleExpression()\n return true\n }\n\n /**\n * This expression handler allows to wrap a WebAssembly.compile invocation with a\n * function call where we can warn about WASM code generation not being allowed\n * but actually execute the expression.\n */\n const handleWrapWasmCompileExpression = (expr: any) => {\n if (!isInMiddlewareLayer(parser)) {\n return\n }\n\n const { ConstDependency } = wp.dependencies\n const dep1 = new ConstDependency(\n '__next_webassembly_compile__(function() { return ',\n expr.range[0]\n )\n dep1.loc = expr.loc\n parser.state.module.addPresentationalDependency(dep1)\n const dep2 = new ConstDependency('})', expr.range[1])\n dep2.loc = expr.loc\n parser.state.module.addPresentationalDependency(dep2)\n\n handleExpression()\n }\n\n /**\n * This expression handler allows to wrap a WebAssembly.instatiate invocation with a\n * function call where we can warn about WASM code generation not being allowed\n * but actually execute the expression.\n *\n * Note that we don't update `usingIndirectEval`, i.e. we don't abort a production build\n * since we can't determine statically if the first parameter is a module (legit use) or\n * a buffer (dynamic code generation).\n */\n const handleWrapWasmInstantiateExpression = (expr: any) => {\n if (!isInMiddlewareLayer(parser)) {\n return\n }\n\n if (dev) {\n const { ConstDependency } = wp.dependencies\n const dep1 = new ConstDependency(\n '__next_webassembly_instantiate__(function() { return ',\n expr.range[0]\n )\n dep1.loc = expr.loc\n parser.state.module.addPresentationalDependency(dep1)\n const dep2 = new ConstDependency('})', expr.range[1])\n dep2.loc = expr.loc\n parser.state.module.addPresentationalDependency(dep2)\n }\n }\n\n /**\n * Handler to store original source location of static and dynamic imports into module's buildInfo.\n */\n const handleImport = (node: any) => {\n if (isInMiddlewareLayer(parser) && node.source?.value && node?.loc) {\n const { module, source } = parser.state\n const buildInfo = getModuleBuildInfo(module)\n if (!buildInfo.importLocByPath) {\n buildInfo.importLocByPath = new Map()\n }\n\n const importedModule = node.source.value?.toString()\n buildInfo.importLocByPath.set(importedModule, {\n sourcePosition: {\n ...node.loc.start,\n source: module.identifier(),\n },\n sourceContent: source.toString(),\n })\n\n if (\n !dev &&\n (isNodeJsModule(importedModule) || isBunModule(importedModule)) &&\n !SUPPORTED_NATIVE_MODULES.includes(importedModule)\n ) {\n const isBun = isBunModule(importedModule)\n compilation.warnings.push(\n buildWebpackError({\n message: `A ${isBun ? 'Bun' : 'Node.js'} module is loaded ('${importedModule}' at line ${node.loc.start.line}) which is not supported in the Edge Runtime.\nLearn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`,\n compilation,\n parser,\n ...node,\n })\n )\n }\n }\n }\n\n /**\n * A noop handler to skip analyzing some cases.\n * Order matters: for it to work, it must be registered first\n */\n const skip = () => (isInMiddlewareLayer(parser) ? true : undefined)\n\n for (const prefix of ['', 'global.']) {\n hooks.expression.for(`${prefix}Function.prototype`).tap(NAME, skip)\n hooks.expression.for(`${prefix}Function.bind`).tap(NAME, skip)\n hooks.call.for(`${prefix}eval`).tap(NAME, handleWrapExpression)\n hooks.call.for(`${prefix}Function`).tap(NAME, handleWrapExpression)\n hooks.new.for(`${prefix}Function`).tap(NAME, handleWrapExpression)\n hooks.call\n .for(`${prefix}WebAssembly.compile`)\n .tap(NAME, handleWrapWasmCompileExpression)\n hooks.call\n .for(`${prefix}WebAssembly.instantiate`)\n .tap(NAME, handleWrapWasmInstantiateExpression)\n }\n\n hooks.importCall.tap(NAME, handleImport)\n hooks.import.tap(NAME, handleImport)\n\n if (!dev) {\n // do not issue compilation warning on dev: invoking code will provide details\n registerUnsupportedApiHooks(parser, compilation)\n }\n }\n}\n\nasync function codeAnalyzerBySwc(\n compilation: webpack.Compilation,\n modules: Iterable<webpack.Module>,\n dev: boolean\n) {\n const binding = require('../../swc') as typeof import('../../swc')\n for (const module of modules) {\n if (\n module.layer !== WEBPACK_LAYERS.middleware &&\n module.layer !== WEBPACK_LAYERS.apiEdge\n ) {\n continue\n }\n if (module.constructor.name !== 'NormalModule') {\n continue\n }\n const normalModule = module as webpack.NormalModule\n if (!normalModule.type.startsWith('javascript')) {\n // Only analyze JavaScript modules\n continue\n }\n const originalSource = normalModule.originalSource()\n if (!originalSource) {\n continue\n }\n const source = originalSource.source()\n if (typeof source !== 'string') {\n continue\n }\n const diagnostics = await binding.warnForEdgeRuntime(source, !dev)\n for (const diagnostic of diagnostics) {\n const webpackError = buildWebpackError({\n message: diagnostic.message,\n loc: diagnostic.loc,\n compilation,\n entryModule: module,\n })\n if (diagnostic.severity === 'Warning') {\n compilation.warnings.push(webpackError)\n } else {\n compilation.errors.push(webpackError)\n }\n }\n }\n}\n\nfunction getExtractMetadata(params: {\n compilation: webpack.Compilation\n compiler: webpack.Compiler\n dev: boolean\n metadataByEntry: Map<string, EntryMetadata>\n}): () => Promise<void> {\n const { dev, compilation, metadataByEntry, compiler } = params\n const { webpack: wp } = compiler\n return async () => {\n metadataByEntry.clear()\n const telemetry: Telemetry | undefined = traceGlobals.get('telemetry')\n\n for (const [entryName, entry] of compilation.entries) {\n if (entry.options.runtime !== EDGE_RUNTIME_WEBPACK) {\n // Only process edge runtime entries\n continue\n }\n const entryDependency = entry.dependencies?.[0]\n const resolvedModule =\n compilation.moduleGraph.getResolvedModule(entryDependency)\n if (!resolvedModule) {\n continue\n }\n const { rootDir, route } = getModuleBuildInfo(resolvedModule)\n\n const { moduleGraph } = compilation\n const modules = new Set<webpack.NormalModule>()\n const addEntriesFromDependency = (dependency: any) => {\n const module = moduleGraph.getModule(dependency)\n if (module) {\n modules.add(module as webpack.NormalModule)\n }\n }\n\n entry.dependencies.forEach(addEntriesFromDependency)\n entry.includeDependencies.forEach(addEntriesFromDependency)\n\n const entryMetadata: EntryMetadata = {\n wasmBindings: new Map(),\n assetBindings: new Map(),\n }\n\n if (route?.middlewareConfig?.regions) {\n entryMetadata.regions = route.middlewareConfig.regions\n }\n\n if (route?.preferredRegion) {\n const preferredRegion = route.preferredRegion\n entryMetadata.regions =\n // Ensures preferredRegion is always an array in the manifest.\n typeof preferredRegion === 'string'\n ? [preferredRegion]\n : preferredRegion\n }\n\n let ogImageGenerationCount = 0\n\n for (const module of modules) {\n const buildInfo = getModuleBuildInfo(module)\n\n /**\n * Check if it uses the image generation feature.\n */\n if (!dev) {\n const resource = module.resource\n const hasOGImageGeneration =\n resource &&\n /[\\\\/]node_modules[\\\\/]@vercel[\\\\/]og[\\\\/]dist[\\\\/]index\\.(edge|node)\\.js$|[\\\\/]next[\\\\/]dist[\\\\/](esm[\\\\/])?server[\\\\/]og[\\\\/]image-response\\.js$/.test(\n resource\n )\n\n if (hasOGImageGeneration) {\n ogImageGenerationCount++\n }\n }\n\n /**\n * When building for production checks if the module is using `eval`\n * and in such case produces a compilation error. The module has to\n * be in use.\n */\n if (\n !dev &&\n buildInfo.usingIndirectEval &&\n isUsingIndirectEvalAndUsedByExports({\n module,\n moduleGraph,\n runtime: wp.util.runtime.getEntryRuntime(compilation, entryName),\n usingIndirectEval: buildInfo.usingIndirectEval,\n wp,\n })\n ) {\n const id = module.identifier()\n if (/node_modules[\\\\/]regenerator-runtime[\\\\/]runtime\\.js/.test(id)) {\n continue\n }\n if (route?.middlewareConfig?.unstable_allowDynamic) {\n telemetry?.record({\n eventName: 'NEXT_EDGE_ALLOW_DYNAMIC_USED',\n payload: {\n file: route?.absolutePagePath.replace(rootDir ?? '', ''),\n config: route?.middlewareConfig,\n fileWithDynamicCode: module.userRequest.replace(\n rootDir ?? '',\n ''\n ),\n },\n })\n }\n if (\n !isDynamicCodeEvaluationAllowed(\n module.userRequest,\n route?.middlewareConfig,\n rootDir\n )\n ) {\n const message = `Dynamic Code Evaluation (e. g. 'eval', 'new Function', 'WebAssembly.compile') not allowed in Edge Runtime ${\n typeof buildInfo.usingIndirectEval !== 'boolean'\n ? `\\nUsed by ${Array.from(buildInfo.usingIndirectEval).join(\n ', '\n )}`\n : ''\n }\\nLearn More: https://nextjs.org/docs/messages/edge-dynamic-code-evaluation`\n compilation.errors.push(\n getDynamicCodeEvaluationError(\n message,\n module,\n compilation,\n compiler\n )\n )\n }\n }\n\n /**\n * The entry module has to be either a page or a middleware and hold\n * the corresponding metadata.\n */\n if (buildInfo?.nextEdgeSSR) {\n entryMetadata.edgeSSR = buildInfo.nextEdgeSSR\n } else if (buildInfo?.nextEdgeMiddleware) {\n entryMetadata.edgeMiddleware = buildInfo.nextEdgeMiddleware\n } else if (buildInfo?.nextEdgeApiFunction) {\n entryMetadata.edgeApiFunction = buildInfo.nextEdgeApiFunction\n }\n\n /**\n * If the module is a WASM module we read the binding information and\n * append it to the entry wasm bindings.\n */\n if (buildInfo?.nextWasmMiddlewareBinding) {\n entryMetadata.wasmBindings.set(\n buildInfo.nextWasmMiddlewareBinding.name,\n buildInfo.nextWasmMiddlewareBinding.filePath\n )\n }\n\n if (buildInfo?.nextAssetMiddlewareBinding) {\n entryMetadata.assetBindings.set(\n buildInfo.nextAssetMiddlewareBinding.name,\n buildInfo.nextAssetMiddlewareBinding.filePath\n )\n }\n\n /**\n * Append to the list of modules to process outgoingConnections from\n * the module that is being processed.\n */\n for (const conn of getModuleReferencesInOrder(module, moduleGraph)) {\n if (conn.module) {\n modules.add(conn.module as webpack.NormalModule)\n }\n }\n }\n\n telemetry?.record({\n eventName: EVENT_BUILD_FEATURE_USAGE,\n payload: {\n featureName: 'vercelImageGeneration',\n invocationCount: ogImageGenerationCount,\n },\n })\n metadataByEntry.set(entryName, entryMetadata)\n }\n }\n}\n\n// These values will be replaced again in edge runtime deployment build.\n// `buildId` represents BUILD_ID to be externalized in env vars.\n// `encryptionKey` represents server action encryption key to be externalized in env vars.\ntype EdgeRuntimeEnvironments = Record<string, string> & {\n __NEXT_BUILD_ID: string\n NEXT_SERVER_ACTIONS_ENCRYPTION_KEY: string\n}\n\ninterface Options {\n dev: boolean\n sriEnabled: boolean\n rewrites: CustomRoutes['rewrites']\n edgeEnvironments: EdgeRuntimeEnvironments\n}\n\nexport default class MiddlewarePlugin {\n private readonly dev: Options['dev']\n private readonly sriEnabled: Options['sriEnabled']\n private readonly rewrites: Options['rewrites']\n private readonly edgeEnvironments: EdgeRuntimeEnvironments\n\n constructor({ dev, sriEnabled, rewrites, edgeEnvironments }: Options) {\n this.dev = dev\n this.sriEnabled = sriEnabled\n this.rewrites = rewrites\n this.edgeEnvironments = edgeEnvironments\n }\n\n public apply(compiler: webpack.Compiler) {\n compiler.hooks.compilation.tap(NAME, (compilation, params) => {\n // parser hooks aren't available in rspack\n if (process.env.NEXT_RSPACK) {\n compilation.hooks.finishModules.tapPromise(NAME, async (modules) => {\n await codeAnalyzerBySwc(compilation, modules, this.dev)\n })\n } else {\n const { hooks } = params.normalModuleFactory\n /**\n * This is the static code analysis phase.\n */\n const codeAnalyzer = getCodeAnalyzer({\n dev: this.dev,\n compiler,\n compilation,\n })\n\n hooks.parser.for('javascript/auto').tap(NAME, codeAnalyzer)\n hooks.parser.for('javascript/dynamic').tap(NAME, codeAnalyzer)\n hooks.parser.for('javascript/esm').tap(NAME, codeAnalyzer)\n }\n\n /**\n * Extract all metadata for the entry points in a Map object.\n */\n const metadataByEntry = new Map<string, EntryMetadata>()\n compilation.hooks.finishModules.tapPromise(\n NAME,\n getExtractMetadata({\n compilation,\n compiler,\n dev: this.dev,\n metadataByEntry,\n })\n )\n\n /**\n * Emit the middleware manifest.\n */\n compilation.hooks.processAssets.tap(\n {\n name: 'NextJsMiddlewareManifest',\n stage: webpack.Compilation.PROCESS_ASSETS_STAGE_ADDITIONS,\n },\n getCreateAssets({\n compilation,\n metadataByEntry,\n opts: {\n sriEnabled: this.sriEnabled,\n rewrites: this.rewrites,\n edgeEnvironments: this.edgeEnvironments,\n dev: this.dev,\n },\n })\n )\n })\n }\n}\n\nexport const SUPPORTED_NATIVE_MODULES = [\n 'buffer',\n 'events',\n 'assert',\n 'util',\n 'async_hooks',\n] as const\n\nconst supportedEdgePolyfills = new Set<string>(SUPPORTED_NATIVE_MODULES)\n\nexport function getEdgePolyfilledModules() {\n const records: Record<string, string> = {}\n for (const mod of SUPPORTED_NATIVE_MODULES) {\n records[mod] = `commonjs node:${mod}`\n records[`node:${mod}`] = `commonjs node:${mod}`\n }\n return records\n}\n\nexport async function handleWebpackExternalForEdgeRuntime({\n request,\n context,\n contextInfo,\n getResolve,\n}: {\n request: string\n context: string\n contextInfo: any\n getResolve: () => any\n}) {\n if (\n (contextInfo.issuerLayer === WEBPACK_LAYERS.middleware ||\n contextInfo.issuerLayer === WEBPACK_LAYERS.apiEdge) &&\n (isNodeJsModule(request) || isBunModule(request)) &&\n !supportedEdgePolyfills.has(request)\n ) {\n // allows user to provide and use their polyfills, as we do with buffer.\n try {\n await getResolve()(context, request)\n } catch {\n return `root globalThis.__import_unsupported('${request}')`\n }\n }\n}\n"],"names":["getNamedMiddlewareRegex","getModuleBuildInfo","getSortedRoutes","webpack","sources","picomatch","path","EDGE_RUNTIME_WEBPACK","EDGE_UNSUPPORTED_NODE_APIS","MIDDLEWARE_BUILD_MANIFEST","CLIENT_REFERENCE_MANIFEST","MIDDLEWARE_MANIFEST","MIDDLEWARE_REACT_LOADABLE_MANIFEST","SUBRESOURCE_INTEGRITY_MANIFEST","NEXT_FONT_MANIFEST","SERVER_REFERENCE_MANIFEST","INTERCEPTION_ROUTE_REWRITE_MANIFEST","DYNAMIC_CSS_MANIFEST","traceGlobals","EVENT_BUILD_FEATURE_USAGE","normalizeAppPath","INSTRUMENTATION_HOOK_FILENAME","WEBPACK_LAYERS","isInterceptionRouteRewrite","getDynamicCodeEvaluationError","getModuleReferencesInOrder","KNOWN_SAFE_DYNAMIC_PACKAGES","require","NAME","MANIFEST_VERSION","isUsingIndirectEvalAndUsedByExports","args","moduleGraph","runtime","module","usingIndirectEval","wp","exportsInfo","getExportsInfo","exportName","getUsed","UsageState","Unused","getEntryFiles","entryFiles","meta","hasInstrumentationHook","opts","files","edgeSSR","isServerComponent","push","sriEnabled","filter","file","startsWith","endsWith","map","replace","dev","isAppDir","getCreateAssets","params","compilation","metadataByEntry","middlewareManifest","version","middleware","functions","sortedMiddleware","entrypoints","has","interceptionRewrites","JSON","stringify","rewrites","beforeFiles","emitAsset","RawSource","entrypoint","values","metadata","name","get","page","edgeMiddleware","edgeApiFunction","matcherSource","catchAll","namedRegex","matchers","regexp","originalSource","isEdgeFunction","edgeFunctionDefinition","getFiles","wasm","Array","from","wasmBindings","filePath","assets","assetBindings","env","edgeEnvironments","regions","Object","keys","buildWebpackError","message","loc","entryModule","parser","error","compiler","WebpackError","state","current","isInMiddlewareLayer","layer","apiEdge","isNodeJsModule","moduleName","builtinModules","includes","isBunModule","isDynamicCodeEvaluationAllowed","fileName","middlewareConfig","rootDir","some","pkg","sep","unstable_allowDynamic","dot","buildUnsupportedApiError","apiName","rest","start","line","registerUnsupportedApiHooks","expression","warnForUnsupportedApi","node","warnings","hooks","call","for","tap","callMemberChain","expressionMemberChain","warnForUnsupportedProcessApi","callee","getCodeAnalyzer","handleExpression","optimize","InnerGraph","onUsage","used","buildInfo","Set","handleWrapExpression","expr","ConstDependency","dependencies","dep1","range","addPresentationalDependency","dep2","handleWrapWasmCompileExpression","handleWrapWasmInstantiateExpression","handleImport","source","value","importLocByPath","Map","importedModule","toString","set","sourcePosition","identifier","sourceContent","SUPPORTED_NATIVE_MODULES","isBun","skip","undefined","prefix","new","importCall","import","codeAnalyzerBySwc","modules","binding","constructor","normalModule","type","diagnostics","warnForEdgeRuntime","diagnostic","webpackError","severity","errors","getExtractMetadata","clear","telemetry","entryName","entry","entries","route","options","entryDependency","resolvedModule","getResolvedModule","addEntriesFromDependency","dependency","getModule","add","forEach","includeDependencies","entryMetadata","preferredRegion","ogImageGenerationCount","resource","hasOGImageGeneration","test","util","getEntryRuntime","id","record","eventName","payload","absolutePagePath","config","fileWithDynamicCode","userRequest","join","nextEdgeSSR","nextEdgeMiddleware","nextEdgeApiFunction","nextWasmMiddlewareBinding","nextAssetMiddlewareBinding","conn","featureName","invocationCount","MiddlewarePlugin","apply","process","NEXT_RSPACK","finishModules","tapPromise","normalModuleFactory","codeAnalyzer","processAssets","stage","Compilation","PROCESS_ASSETS_STAGE_ADDITIONS","supportedEdgePolyfills","getEdgePolyfilledModules","records","mod","handleWebpackExternalForEdgeRuntime","request","context","contextInfo","getResolve","issuerLayer"],"mappings":"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","ignoreList":[0]}