@bitfab/sdk 0.65.4 → 0.65.5
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/autoTrace-CZu0BXhG.js +270 -0
- package/dist/autoTrace-CZu0BXhG.js.map +1 -0
- package/dist/autoTrace-KM9pYqk9.cjs +395 -0
- package/dist/autoTrace-KM9pYqk9.cjs.map +1 -0
- package/dist/autoTrace.cjs +15 -353
- package/dist/autoTrace.d.cts +44 -44
- package/dist/autoTrace.d.ts +44 -44
- package/dist/autoTrace.js +1 -28
- package/dist/babelPlugin-C70OxrqA.js +209 -0
- package/dist/babelPlugin-C70OxrqA.js.map +1 -0
- package/dist/babelPlugin-Nta4-VcL.cjs +232 -0
- package/dist/babelPlugin-Nta4-VcL.cjs.map +1 -0
- package/dist/http-CG1Irqxx.js +2154 -0
- package/dist/http-CG1Irqxx.js.map +1 -0
- package/dist/index-BFkAwvuc.d.cts +4410 -0
- package/dist/index-BFkAwvuc.d.ts +4410 -0
- package/dist/index.cjs +48 -12504
- package/dist/index.d.cts +2 -4443
- package/dist/index.d.ts +2 -4443
- package/dist/index.js +3 -96
- package/dist/loaderRuntime-0huddOOP.d.ts +12 -0
- package/dist/loaderRuntime-CslfDFO7.d.cts +12 -0
- package/dist/node.cjs +56 -12520
- package/dist/node.cjs.map +1 -1
- package/dist/node.d.cts +2 -1
- package/dist/node.d.ts +2 -1
- package/dist/node.js +10 -105
- package/dist/node.js.map +1 -1
- package/dist/registryCommand-Di8x0YoJ.js +1111 -0
- package/dist/registryCommand-Di8x0YoJ.js.map +1 -0
- package/dist/replayCli.js +49 -87
- package/dist/replayCli.js.map +1 -1
- package/dist/rolldown-runtime-D7D4PA-g.js +13 -0
- package/dist/seedCli.js +10 -24
- package/dist/seedCli.js.map +1 -1
- package/dist/src-BRKm0P_S.cjs +8434 -0
- package/dist/src-BRKm0P_S.cjs.map +1 -0
- package/dist/src-CfFkki5l.js +6011 -0
- package/dist/src-CfFkki5l.js.map +1 -0
- package/dist/transform/babel.cjs +5 -422
- package/dist/transform/babel.d.cts +16 -16
- package/dist/transform/babel.d.ts +16 -16
- package/dist/transform/babel.js +1 -7
- package/dist/transform/bun.cjs +9 -478
- package/dist/transform/bun.cjs.map +1 -1
- package/dist/transform/bun.d.cts +5 -7
- package/dist/transform/bun.d.ts +5 -7
- package/dist/transform/bun.js +6 -11
- package/dist/transform/bun.js.map +1 -1
- package/dist/transform/esbuild.cjs +9 -478
- package/dist/transform/esbuild.cjs.map +1 -1
- package/dist/transform/esbuild.d.cts +5 -7
- package/dist/transform/esbuild.d.ts +5 -7
- package/dist/transform/esbuild.js +6 -11
- package/dist/transform/esbuild.js.map +1 -1
- package/dist/transform/loaderRuntime.cjs +85 -532
- package/dist/transform/loaderRuntime.cjs.map +1 -1
- package/dist/transform/loaderRuntime.d.cts +2 -12
- package/dist/transform/loaderRuntime.d.ts +2 -12
- package/dist/transform/loaderRuntime.js +56 -98
- package/dist/transform/loaderRuntime.js.map +1 -1
- package/dist/transform/nest.cjs +12 -481
- package/dist/transform/nest.cjs.map +1 -1
- package/dist/transform/nest.d.cts +8 -9
- package/dist/transform/nest.d.ts +8 -9
- package/dist/transform/nest.js +9 -14
- package/dist/transform/nest.js.map +1 -1
- package/dist/transform/next.cjs +56 -528
- package/dist/transform/next.cjs.map +1 -1
- package/dist/transform/next.d.cts +25 -25
- package/dist/transform/next.d.ts +24 -24
- package/dist/transform/next.js +52 -60
- package/dist/transform/next.js.map +1 -1
- package/dist/transform/nodeLoader.js +260 -506
- package/dist/transform/nodeLoader.js.map +1 -1
- package/dist/transform/register.js +4 -1
- package/dist/transform/register.js.map +1 -1
- package/dist/transform/rolldown.cjs +9 -478
- package/dist/transform/rolldown.cjs.map +1 -1
- package/dist/transform/rolldown.d.cts +5 -7
- package/dist/transform/rolldown.d.ts +5 -7
- package/dist/transform/rolldown.js +6 -11
- package/dist/transform/rolldown.js.map +1 -1
- package/dist/transform/rollup.cjs +9 -478
- package/dist/transform/rollup.cjs.map +1 -1
- package/dist/transform/rollup.d.cts +5 -7
- package/dist/transform/rollup.d.ts +5 -7
- package/dist/transform/rollup.js +6 -11
- package/dist/transform/rollup.js.map +1 -1
- package/dist/transform/rsbuild.cjs +9 -478
- package/dist/transform/rsbuild.cjs.map +1 -1
- package/dist/transform/rsbuild.d.cts +5 -7
- package/dist/transform/rsbuild.d.ts +5 -7
- package/dist/transform/rsbuild.js +6 -11
- package/dist/transform/rsbuild.js.map +1 -1
- package/dist/transform/rspack.cjs +9 -478
- package/dist/transform/rspack.cjs.map +1 -1
- package/dist/transform/rspack.d.cts +5 -7
- package/dist/transform/rspack.d.ts +5 -7
- package/dist/transform/rspack.js +6 -11
- package/dist/transform/rspack.js.map +1 -1
- package/dist/transform/swc.cjs +18 -486
- package/dist/transform/swc.cjs.map +1 -1
- package/dist/transform/swc.d.cts +15 -14
- package/dist/transform/swc.d.ts +15 -14
- package/dist/transform/swc.js +14 -32
- package/dist/transform/swc.js.map +1 -1
- package/dist/transform/unplugin.cjs +20 -476
- package/dist/transform/unplugin.cjs.map +1 -1
- package/dist/transform/unplugin.d.cts +4 -6
- package/dist/transform/unplugin.d.ts +4 -6
- package/dist/transform/unplugin.js +19 -8
- package/dist/transform/unplugin.js.map +1 -1
- package/dist/transform/vite.cjs +9 -478
- package/dist/transform/vite.cjs.map +1 -1
- package/dist/transform/vite.d.cts +5 -7
- package/dist/transform/vite.d.ts +5 -7
- package/dist/transform/vite.js +6 -11
- package/dist/transform/vite.js.map +1 -1
- package/dist/transform/webpack.cjs +9 -478
- package/dist/transform/webpack.cjs.map +1 -1
- package/dist/transform/webpack.d.cts +5 -7
- package/dist/transform/webpack.d.ts +5 -7
- package/dist/transform/webpack.js +6 -11
- package/dist/transform/webpack.js.map +1 -1
- package/dist/transform-BcyUocwm.js +36 -0
- package/dist/transform-BcyUocwm.js.map +1 -0
- package/dist/transform-BjxHGGKc.cjs +47 -0
- package/dist/transform-BjxHGGKc.cjs.map +1 -0
- package/dist/transformOptions-BsjCELkh.d.cts +11 -0
- package/dist/transformOptions-BsjCELkh.d.ts +11 -0
- package/package.json +5 -5
- package/dist/autoTrace.cjs.map +0 -1
- package/dist/autoTrace.js.map +0 -1
- package/dist/chunk-27B3UBSS.js +0 -2547
- package/dist/chunk-27B3UBSS.js.map +0 -1
- package/dist/chunk-B2M4KELA.js +0 -1912
- package/dist/chunk-B2M4KELA.js.map +0 -1
- package/dist/chunk-I233ERUH.js +0 -2979
- package/dist/chunk-I233ERUH.js.map +0 -1
- package/dist/chunk-ISU6FQKY.js +0 -6877
- package/dist/chunk-ISU6FQKY.js.map +0 -1
- package/dist/chunk-MT36GJMW.js +0 -106
- package/dist/chunk-MT36GJMW.js.map +0 -1
- package/dist/chunk-PTCLRG4E.js +0 -28
- package/dist/chunk-PTCLRG4E.js.map +0 -1
- package/dist/chunk-QRNHRY7F.js +0 -270
- package/dist/chunk-QRNHRY7F.js.map +0 -1
- package/dist/chunk-R6M54SPO.js +0 -1176
- package/dist/chunk-R6M54SPO.js.map +0 -1
- package/dist/chunk-SOP5AFMH.js +0 -2060
- package/dist/chunk-SOP5AFMH.js.map +0 -1
- package/dist/chunk-YVJAOGHE.js +0 -45
- package/dist/chunk-YVJAOGHE.js.map +0 -1
- package/dist/chunk-ZG6SHKEF.js +0 -404
- package/dist/chunk-ZG6SHKEF.js.map +0 -1
- package/dist/http-LL3JD2JE.js +0 -24
- package/dist/http-LL3JD2JE.js.map +0 -1
- package/dist/http-QZDTQC3C.js +0 -23
- package/dist/http-QZDTQC3C.js.map +0 -1
- package/dist/index.cjs.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/replay-636XZIS2.js +0 -29
- package/dist/replay-636XZIS2.js.map +0 -1
- package/dist/replay-S4DNF4VR.js +0 -28
- package/dist/replay-S4DNF4VR.js.map +0 -1
- package/dist/transform/babel.cjs.map +0 -1
- package/dist/transform/babel.js.map +0 -1
- package/dist/transformOptions-Df2_Chtc.d.cts +0 -10
- package/dist/transformOptions-Df2_Chtc.d.ts +0 -10
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../bitfab-typescript-transform/src/nextSdk.ts","../../../bitfab-typescript-transform/src/unplugin.ts","../../../bitfab-typescript-transform/src/transform.ts","../../../bitfab-typescript-transform/src/transformOptions.ts","../../../bitfab-typescript-transform/src/babelPlugin.ts","../../../bitfab-typescript-transform/src/next.ts"],"sourcesContent":["import { createWithBitfabTrace } from \"./next.js\"\n\nexport type { BitfabNextOptions } from \"./next.js\"\n\nexport default createWithBitfabTrace(\"@bitfab/sdk/transform/loader\")\n","import { createUnplugin } from \"unplugin\"\nimport { transformBitfabSource } from \"./transform.js\"\nimport type { BitfabTransformOptions } from \"./transformOptions.js\"\nimport { shouldTransformBitfabFile } from \"./transformOptions.js\"\n\nexport const bitfabTraceUnplugin = createUnplugin<\n BitfabTransformOptions | undefined,\n false\n>((options) => {\n const resolvedOptions = options ?? {}\n\n return {\n name: \"bitfab-auto-trace\",\n enforce: \"pre\",\n transform(source, filename) {\n if (!shouldTransformBitfabFile(filename, resolvedOptions)) {\n return null\n }\n\n const result = transformBitfabSource(source, filename, resolvedOptions)\n return result.map ? result : null\n },\n }\n})\n","import { type InputOptions, transformSync } from \"@babel/core\"\nimport bitfabBabelPlugin from \"./babelPlugin.js\"\nimport type { BitfabTransformOptions } from \"./transformOptions.js\"\nimport {\n AUTO_TRACE_TRANSFORM_MARKER,\n shouldTransformBitfabFile,\n sourceFilename,\n} from \"./transformOptions.js\"\n\nexport type { BitfabTransformOptions } from \"./transformOptions.js\"\n\ntype ParserPlugin = NonNullable<\n NonNullable<InputOptions[\"parserOpts\"]>[\"plugins\"]\n>[number]\n\nexport interface BitfabSourceMap {\n version: number\n sources: string[]\n names: string[]\n mappings: string\n file?: string\n sourceRoot?: string\n sourcesContent?: Array<string | null>\n}\n\nexport interface BitfabTransformResult {\n code: string\n map?: BitfabSourceMap\n}\n\nexport function parserPlugins(filename: string): ParserPlugin[] {\n const path = sourceFilename(filename)\n const typescript = /\\.[cm]?tsx?$/.test(path)\n const jsx = /\\.tsx$/.test(path) || /\\.[cm]?jsx?$/.test(path)\n return [\n ...(typescript ? ([\"typescript\"] as const) : []),\n ...(jsx ? ([\"jsx\"] as const) : []),\n \"decorators\",\n ]\n}\n\nexport function transformBitfabSource(\n source: string,\n filename: string,\n options: BitfabTransformOptions = {},\n): BitfabTransformResult {\n if (!shouldTransformBitfabFile(filename, options)) {\n return { code: source }\n }\n const result = transformSync(source, {\n babelrc: false,\n configFile: false,\n filename: sourceFilename(filename),\n parserOpts: { plugins: parserPlugins(filename), sourceType: \"module\" },\n plugins: [[bitfabBabelPlugin, options]],\n sourceMaps: true,\n })\n if (!result?.code || !result.metadata?.[AUTO_TRACE_TRANSFORM_MARKER]) {\n return { code: source }\n }\n return {\n code: result.code,\n ...(result.map ? { map: result.map as BitfabSourceMap } : {}),\n }\n}\n","export interface BitfabTransformOptions {\n /** Module that exports the automatic span runtime. */\n runtimeModule?: string\n /** Working directory removed from generated function IDs. */\n cwd?: string\n /** Return false to leave a file unchanged. */\n include?: (filename: string) => boolean\n}\n\nconst AUTO_TRACE_FUNCTION_ID_VERSION = \"ts-auto-v1\"\nexport const AUTO_TRACE_TRANSFORM_MARKER =\n \"__bitfab_auto_trace_transformed_v1__\"\n\nexport function autoTraceFunctionId(file: string, name: string): string {\n return `${AUTO_TRACE_FUNCTION_ID_VERSION}:${file}#${name}`\n}\n\nexport function sourceFilename(filename: string): string {\n return filename.replace(/\\\\/g, \"/\").split(/[?#]/, 1)[0] ?? \"\"\n}\n\nexport function autoTraceFilename(filename: string, cwd: string): string {\n const normalized = sourceFilename(filename)\n const normalizedCwd = cwd.replace(/\\\\/g, \"/\").replace(/\\/$/, \"\")\n return normalized.startsWith(`${normalizedCwd}/`)\n ? normalized.slice(normalizedCwd.length + 1)\n : normalized\n}\n\nexport function shouldTransformBitfabFile(\n filename: string,\n options: BitfabTransformOptions,\n): boolean {\n if (!filename) {\n return false\n }\n if (options.include && !options.include(filename)) {\n return false\n }\n\n const normalized = sourceFilename(filename)\n const normalizedCwd = options.cwd?.replace(/\\\\/g, \"/\").replace(/\\/$/, \"\")\n const isAbsolute =\n normalized.startsWith(\"/\") || /^[A-Za-z]:\\//.test(normalized)\n if (\n normalizedCwd &&\n isAbsolute &&\n normalized !== normalizedCwd &&\n !normalized.startsWith(`${normalizedCwd}/`)\n ) {\n return false\n }\n return (\n !normalized.includes(\"/node_modules/\") &&\n !normalized.endsWith(\".d.ts\") &&\n /\\.[cm]?[jt]sx?$/.test(normalized)\n )\n}\n","import type { NodePath, PluginObject, PluginPass } from \"@babel/core\"\nimport type * as BabelTypes from \"@babel/types\"\nimport type { BitfabTransformOptions } from \"./transformOptions.js\"\nimport {\n AUTO_TRACE_TRANSFORM_MARKER,\n autoTraceFilename,\n autoTraceFunctionId,\n shouldTransformBitfabFile,\n} from \"./transformOptions.js\"\n\ntype BabelTypesApi = typeof BabelTypes\n\ntype BitfabPluginOptions = BitfabTransformOptions\n\ninterface BitfabPluginState extends PluginPass {\n opts: BitfabPluginOptions\n runtimeIdentifier?: ReturnType<BabelTypesApi[\"identifier\"]>\n activeIdentifier?: ReturnType<BabelTypesApi[\"identifier\"]>\n wrapperIdentifier?: ReturnType<BabelTypesApi[\"identifier\"]>\n definitions?: Array<ReturnType<BabelTypesApi[\"variableDeclaration\"]>>\n skipFile?: boolean\n usedRuntime?: boolean\n usedWrapper?: boolean\n}\n\ninterface InstrumentedFunction {\n _bitfabInstrumented?: boolean\n}\n\nfunction propertyName(\n node: BabelTypes.Node | null | undefined,\n types: BabelTypesApi,\n): string | null {\n if (types.isIdentifier(node)) {\n return node.name\n }\n if (types.isStringLiteral(node)) {\n return node.value\n }\n return null\n}\n\nfunction functionName(\n path: NodePath<BabelTypes.Function>,\n types: BabelTypesApi,\n): string {\n const node = path.node\n if (types.isFunctionDeclaration(node) || types.isFunctionExpression(node)) {\n if (node.id) {\n return node.id.name\n }\n }\n\n if (\n (types.isClassMethod(node) || types.isObjectMethod(node)) &&\n !node.computed &&\n types.isIdentifier(node.key)\n ) {\n return node.key.name\n }\n\n const parent = path.parentPath?.node\n if (types.isVariableDeclarator(parent)) {\n return propertyName(parent.id, types) ?? \"anonymous\"\n }\n if (types.isObjectProperty(parent) && !parent.computed) {\n return propertyName(parent.key, types) ?? \"anonymous\"\n }\n if (types.isClassProperty(parent) && !parent.computed) {\n const name = propertyName(parent.key, types)\n if (name) {\n return name\n }\n }\n\n const { line, column } = sourcePosition(path)\n return `anonymous-${line}-${column}`\n}\n\nfunction isInstrumentableFunction(\n node: BabelTypes.Function,\n types: BabelTypesApi,\n): boolean {\n if (node.generator || types.isClassPrivateMethod(node)) {\n return false\n }\n return (\n !(types.isClassMethod(node) || types.isObjectMethod(node)) ||\n node.kind === \"method\"\n )\n}\n\nfunction sourcePosition(path: NodePath<BabelTypes.Function>): {\n line: number\n column: number\n} {\n const exportDeclaration = path.parentPath?.isExportDeclaration()\n ? path.parentPath.node\n : undefined\n const start = (exportDeclaration ?? path.node).loc?.start\n return { line: start?.line ?? 0, column: start?.column ?? 0 }\n}\n\nfunction qualifiedFunctionName(\n path: NodePath<BabelTypes.Function>,\n types: BabelTypesApi,\n): string {\n const ownName = functionName(path, types)\n if (ownName.startsWith(\"anonymous-\")) {\n return ownName\n }\n const scopes: string[] = []\n let ancestor: NodePath | null = path.parentPath\n while (ancestor) {\n if (ancestor.isFunction()) {\n if (!isInstrumentableFunction(ancestor.node, types)) {\n ancestor = ancestor.parentPath\n continue\n }\n const name = functionName(\n ancestor as NodePath<BabelTypes.Function>,\n types,\n )\n if (!name.startsWith(\"anonymous-\")) {\n scopes.unshift(name)\n }\n } else if (\n (ancestor.isClassDeclaration() || ancestor.isClassExpression()) &&\n ancestor.node.id\n ) {\n scopes.unshift(ancestor.node.id.name)\n } else if (ancestor.isObjectExpression()) {\n const parent = ancestor.parentPath?.node\n if (types.isVariableDeclarator(parent)) {\n const name = propertyName(parent.id, types)\n if (name) {\n scopes.unshift(name)\n }\n } else if (types.isObjectProperty(parent) && !parent.computed) {\n const name = propertyName(parent.key, types)\n if (name) {\n scopes.unshift(name)\n }\n }\n }\n ancestor = ancestor.parentPath\n }\n return [...scopes, ownName].join(\".\")\n}\n\nfunction isTraceDecoratorRoot(\n path: NodePath<BabelTypes.Function>,\n types: BabelTypesApi,\n): boolean {\n const node = path.node\n const parent = path.parentPath?.node\n const decorated =\n types.isClassMethod(node) || types.isClassPrivateMethod(node)\n ? node\n : types.isClassProperty(parent) && parent.value === node\n ? parent\n : null\n if (!decorated) {\n return false\n }\n\n return (\n decorated.decorators?.some((decorator) => {\n const expression = decorator.expression\n if (!types.isCallExpression(expression)) {\n return false\n }\n const callee = expression.callee\n return (\n types.isMemberExpression(callee) &&\n !callee.computed &&\n types.isIdentifier(callee.property, { name: \"trace\" })\n )\n }) ?? false\n )\n}\n\nfunction withNodeFunctionName(\n path: NodePath<BabelTypes.CallExpression>,\n types: BabelTypesApi,\n): string | null {\n if (path.node.arguments.length > 2) {\n return null\n }\n const callee = path.node.callee\n if (\n !types.isMemberExpression(callee) ||\n callee.computed ||\n !types.isIdentifier(callee.property, { name: \"withNode\" })\n ) {\n return null\n }\n const fn = path.node.arguments[path.node.arguments.length - 1]\n if (types.isIdentifier(fn)) {\n return fn.name\n }\n if (types.isMemberExpression(fn) && !fn.computed) {\n return propertyName(fn.property, types)\n }\n if (types.isFunctionExpression(fn) && fn.id) {\n return fn.id.name\n }\n return null\n}\n\nfunction runtimeParameters(\n node: BabelTypes.Function,\n types: BabelTypesApi,\n): BabelTypes.Function[\"params\"] {\n return node.params.filter(\n (parameter) => !types.isIdentifier(parameter, { name: \"this\" }),\n )\n}\n\nfunction parameterInputs(\n path: NodePath<BabelTypes.Function>,\n types: BabelTypesApi,\n): ReturnType<BabelTypesApi[\"arrayExpression\"]> {\n const elements: Array<BabelTypes.Expression | BabelTypes.SpreadElement> = []\n\n for (const [index, parameter] of runtimeParameters(\n path.node,\n types,\n ).entries()) {\n if (!types.isArrowFunctionExpression(path.node)) {\n if (types.isRestElement(parameter)) {\n elements.push(\n types.spreadElement(\n types.callExpression(\n types.memberExpression(\n types.arrayExpression([\n types.spreadElement(types.identifier(\"arguments\")),\n ]),\n types.identifier(\"slice\"),\n ),\n [types.numericLiteral(index)],\n ),\n ),\n )\n } else {\n elements.push(\n types.memberExpression(\n types.identifier(\"arguments\"),\n types.numericLiteral(index),\n true,\n ),\n )\n }\n continue\n }\n\n if (types.isIdentifier(parameter)) {\n elements.push(types.identifier(parameter.name))\n } else if (\n types.isRestElement(parameter) &&\n types.isIdentifier(parameter.argument)\n ) {\n elements.push(\n types.spreadElement(types.identifier(parameter.argument.name)),\n )\n }\n }\n\n return types.arrayExpression(elements)\n}\n\nfunction needsArgumentWrapper(\n path: NodePath<BabelTypes.Function>,\n types: BabelTypesApi,\n): boolean {\n return (\n types.isArrowFunctionExpression(path.node) &&\n path.node.params.some(\n (parameter) =>\n !types.isIdentifier(parameter) &&\n !(\n types.isRestElement(parameter) &&\n types.isIdentifier(parameter.argument)\n ),\n )\n )\n}\n\nfunction isRestWrapper(\n path: NodePath<BabelTypes.Function>,\n types: BabelTypesApi,\n): boolean {\n const parameters = runtimeParameters(path.node, types)\n return parameters.length === 1 && types.isRestElement(parameters[0])\n}\n\n/**\n * Babel adapter for Bitfab's experimental automatic call-span runtime.\n *\n * @experimental The transform protocol and generated function identities may\n * change before the feature is stable.\n */\nexport default function bitfabBabelPlugin(api: {\n types: BabelTypesApi\n}): PluginObject<BitfabPluginState> {\n const { types } = api\n\n return {\n name: \"bitfab-auto-trace\",\n visitor: {\n Program: {\n enter(path: NodePath<BabelTypes.Program>, state: BitfabPluginState) {\n const filename = state.file.opts.filename ?? \"unknown\"\n state.skipFile =\n !shouldTransformBitfabFile(filename, state.opts) ||\n path.scope.hasBinding(AUTO_TRACE_TRANSFORM_MARKER) ||\n path.node.directives.some(\n (directive) => directive.value.value === \"use client\",\n )\n state.runtimeIdentifier =\n path.scope.generateUidIdentifier(\"bitfabAutoSpan\")\n state.activeIdentifier = path.scope.generateUidIdentifier(\n \"bitfabAutoTraceActive\",\n )\n state.wrapperIdentifier =\n path.scope.generateUidIdentifier(\"bitfabAutoWrap\")\n state.definitions = []\n state.usedRuntime = false\n state.usedWrapper = false\n },\n exit(path: NodePath<BabelTypes.Program>, state: BitfabPluginState) {\n if (\n state.skipFile ||\n !state.usedRuntime ||\n !state.runtimeIdentifier ||\n !state.activeIdentifier ||\n !state.wrapperIdentifier\n ) {\n return\n }\n\n state.file.metadata[AUTO_TRACE_TRANSFORM_MARKER] = true\n path.unshiftContainer(\"body\", [\n types.importDeclaration(\n [\n types.importSpecifier(\n state.runtimeIdentifier,\n types.identifier(\"__bitfabAutoSpan\"),\n ),\n types.importSpecifier(\n state.activeIdentifier,\n types.identifier(\"__bitfabAutoTraceActive\"),\n ),\n ...(state.usedWrapper\n ? [\n types.importSpecifier(\n state.wrapperIdentifier,\n types.identifier(\"__bitfabAutoWrap\"),\n ),\n ]\n : []),\n ],\n types.stringLiteral(\n state.opts.runtimeModule ?? \"@bitfab/sdk/auto\",\n ),\n ),\n types.variableDeclaration(\"const\", [\n types.variableDeclarator(\n types.identifier(AUTO_TRACE_TRANSFORM_MARKER),\n types.assignmentExpression(\n \"=\",\n types.memberExpression(\n types.identifier(\"globalThis\"),\n types.identifier(AUTO_TRACE_TRANSFORM_MARKER),\n ),\n types.booleanLiteral(true),\n ),\n ),\n ]),\n ...(state.definitions ?? []),\n ])\n },\n },\n CallExpression: {\n exit(\n path: NodePath<BabelTypes.CallExpression>,\n state: BitfabPluginState,\n ) {\n if (state.skipFile) {\n return\n }\n const configuredName = withNodeFunctionName(path, types)\n if (configuredName === null) {\n return\n }\n if (path.node.arguments.length === 1) {\n path.node.arguments.push(types.identifier(\"undefined\"))\n }\n path.node.arguments.push(types.stringLiteral(configuredName))\n },\n },\n Function: {\n exit(path: NodePath<BabelTypes.Function>, state: BitfabPluginState) {\n const node = path.node as typeof path.node & InstrumentedFunction\n if (\n state.skipFile ||\n node._bitfabInstrumented ||\n !isInstrumentableFunction(node, types) ||\n isTraceDecoratorRoot(path, types) ||\n !state.runtimeIdentifier ||\n !state.activeIdentifier ||\n !state.wrapperIdentifier\n ) {\n return\n }\n const name = qualifiedFunctionName(path, types)\n if (name.startsWith(\"anonymous-\")) {\n return\n }\n const normalizedFilename = autoTraceFilename(\n state.file.opts.filename ?? \"unknown\",\n state.opts.cwd ?? state.file.opts.cwd ?? process.cwd(),\n )\n const { line, column } = sourcePosition(path)\n const definition = types.objectExpression([\n types.objectProperty(\n types.identifier(\"id\"),\n types.stringLiteral(\n autoTraceFunctionId(normalizedFilename, name),\n ),\n ),\n types.objectProperty(\n types.identifier(\"name\"),\n types.stringLiteral(name),\n ),\n types.objectProperty(\n types.identifier(\"file\"),\n types.stringLiteral(normalizedFilename),\n ),\n types.objectProperty(\n types.identifier(\"line\"),\n types.numericLiteral(line),\n ),\n types.objectProperty(\n types.identifier(\"column\"),\n types.numericLiteral(column),\n ),\n ...(node.async\n ? [\n types.objectProperty(\n types.identifier(\"async\"),\n types.booleanLiteral(true),\n ),\n ]\n : []),\n ...(isRestWrapper(path, types)\n ? [\n types.objectProperty(\n types.identifier(\"wrapper\"),\n types.booleanLiteral(true),\n ),\n ]\n : []),\n ])\n const definitionIdentifier = path.scope\n .getProgramParent()\n .generateUidIdentifier(\"bitfabAutoDefinition\")\n state.definitions?.push(\n types.variableDeclaration(\"const\", [\n types.variableDeclarator(definitionIdentifier, definition),\n ]),\n )\n\n if (needsArgumentWrapper(path, types)) {\n node._bitfabInstrumented = true\n path.replaceWith(\n types.callExpression(types.cloneNode(state.wrapperIdentifier), [\n types.cloneNode(definitionIdentifier),\n node as BabelTypes.ArrowFunctionExpression,\n ]),\n )\n state.usedRuntime = true\n state.usedWrapper = true\n return\n }\n\n const originalBody = types.isBlockStatement(node.body)\n ? node.body\n : types.blockStatement([types.returnStatement(node.body)])\n const directives = originalBody.directives\n originalBody.directives = []\n\n const body = types.blockStatement(\n [\n types.ifStatement(\n types.callExpression(\n types.cloneNode(state.activeIdentifier),\n [],\n ),\n types.blockStatement([\n types.returnStatement(\n types.callExpression(\n types.cloneNode(state.runtimeIdentifier),\n [\n types.cloneNode(definitionIdentifier),\n parameterInputs(path, types),\n types.arrowFunctionExpression(\n [],\n types.cloneNode(originalBody, true),\n node.async ?? false,\n ),\n ],\n ),\n ),\n ]),\n ),\n ...originalBody.body,\n ],\n directives,\n )\n node.body = body\n node._bitfabInstrumented = true\n state.usedRuntime = true\n },\n },\n },\n }\n}\n","import type { BitfabLoaderOptions } from \"./loaderRuntime.js\"\nimport { bitfabTraceUnplugin } from \"./unplugin.js\"\n\ninterface TurbopackLoader {\n loader: string\n options: BitfabLoaderOptions\n}\n\nexport interface BitfabNextOptions extends BitfabLoaderOptions {\n loader?: string\n}\n\ninterface TurbopackRule {\n condition: {\n all: Array<\"node\" | { not: \"foreign\" }>\n }\n loaders: TurbopackLoader[]\n}\n\ntype TurbopackRuleValue = TurbopackRule | TurbopackRule[] | unknown\n\nexport interface NextConfigLike {\n turbopack?: {\n rules?: Record<string, TurbopackRuleValue>\n [key: string]: unknown\n }\n webpack?: (\n config: WebpackConfigLike,\n context: WebpackContextLike,\n ) => WebpackConfigLike\n [key: string]: unknown\n}\n\ninterface WebpackConfigLike {\n plugins?: unknown[]\n [key: string]: unknown\n}\n\ninterface WebpackContextLike {\n isServer?: boolean\n nextRuntime?: string\n [key: string]: unknown\n}\n\nconst SERVER_MODULE_GLOBS = [\n \"*.js\",\n \"*.jsx\",\n \"*.ts\",\n \"*.tsx\",\n \"*.mjs\",\n \"*.mts\",\n \"*.cjs\",\n \"*.cts\",\n]\n\nfunction appendRule(\n existing: TurbopackRuleValue | undefined,\n rule: TurbopackRule,\n): TurbopackRuleValue {\n if (Array.isArray(existing)) {\n return [...existing, rule]\n }\n return existing === undefined ? rule : [existing, rule]\n}\n\nfunction turbopackRules(\n existing: Record<string, TurbopackRuleValue>,\n options: BitfabLoaderOptions,\n loader: string,\n): Record<string, TurbopackRuleValue> {\n const rules = { ...existing }\n const serverRule = (): TurbopackRule => ({\n condition: { all: [\"node\", { not: \"foreign\" }] },\n loaders: [{ loader, options }],\n })\n for (const glob of SERVER_MODULE_GLOBS) {\n rules[glob] = appendRule(rules[glob], serverRule())\n }\n return rules\n}\n\nexport function createWithBitfabTrace(defaultLoader: string) {\n return function withBitfabTrace<T extends object>(\n nextConfig: T,\n options: BitfabNextOptions = {},\n ): T & NextConfigLike {\n const { loader = defaultLoader, cwd = process.cwd(), ...rest } = options\n const transformOptions = { cwd, ...rest }\n const config = nextConfig as NextConfigLike\n const existingWebpack = config.webpack\n return {\n ...nextConfig,\n turbopack: {\n ...config.turbopack,\n rules: turbopackRules(\n config.turbopack?.rules ?? {},\n transformOptions,\n loader,\n ),\n },\n webpack(config, context) {\n const resolved = existingWebpack\n ? existingWebpack(config, context)\n : config\n if (context.isServer && context.nextRuntime !== \"edge\") {\n resolved.plugins ??= []\n resolved.plugins.push(bitfabTraceUnplugin.webpack(transformOptions))\n }\n return resolved\n },\n }\n }\n}\n\nexport default createWithBitfabTrace(\"@bitfab/transform/loader\")\n"],"mappings":"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","names":["config"]}
|
|
1
|
+
{"version":3,"file":"next.cjs","names":["bitfabTraceUnplugin"],"sources":["../../../bitfab-typescript-transform/src/next.ts","../../../bitfab-typescript-transform/src/nextSdk.ts"],"sourcesContent":["import type { BitfabLoaderOptions } from \"./loaderRuntime.js\"\nimport { bitfabTraceUnplugin } from \"./unplugin.js\"\n\ninterface TurbopackLoader {\n loader: string\n options: BitfabLoaderOptions\n}\n\nexport interface BitfabNextOptions extends BitfabLoaderOptions {\n loader?: string\n}\n\ninterface TurbopackRule {\n condition: {\n all: Array<\"node\" | { not: \"foreign\" }>\n }\n loaders: TurbopackLoader[]\n}\n\ntype TurbopackRuleValue = TurbopackRule | TurbopackRule[] | unknown\n\nexport interface NextConfigLike {\n turbopack?: {\n rules?: Record<string, TurbopackRuleValue>\n [key: string]: unknown\n }\n webpack?: (\n config: WebpackConfigLike,\n context: WebpackContextLike,\n ) => WebpackConfigLike\n [key: string]: unknown\n}\n\ninterface WebpackConfigLike {\n plugins?: unknown[]\n [key: string]: unknown\n}\n\ninterface WebpackContextLike {\n isServer?: boolean\n nextRuntime?: string\n [key: string]: unknown\n}\n\nconst SERVER_MODULE_GLOBS = [\n \"*.js\",\n \"*.jsx\",\n \"*.ts\",\n \"*.tsx\",\n \"*.mjs\",\n \"*.mts\",\n \"*.cjs\",\n \"*.cts\",\n]\n\nfunction appendRule(\n existing: TurbopackRuleValue | undefined,\n rule: TurbopackRule,\n): TurbopackRuleValue {\n if (Array.isArray(existing)) {\n return [...existing, rule]\n }\n return existing === undefined ? rule : [existing, rule]\n}\n\nfunction turbopackRules(\n existing: Record<string, TurbopackRuleValue>,\n options: BitfabLoaderOptions,\n loader: string,\n): Record<string, TurbopackRuleValue> {\n const rules = { ...existing }\n const serverRule = (): TurbopackRule => ({\n condition: { all: [\"node\", { not: \"foreign\" }] },\n loaders: [{ loader, options }],\n })\n for (const glob of SERVER_MODULE_GLOBS) {\n rules[glob] = appendRule(rules[glob], serverRule())\n }\n return rules\n}\n\nexport function createWithBitfabTrace(defaultLoader: string) {\n return function withBitfabTrace<T extends object>(\n nextConfig: T,\n options: BitfabNextOptions = {},\n ): T & NextConfigLike {\n const { loader = defaultLoader, cwd = process.cwd(), ...rest } = options\n const transformOptions = { cwd, ...rest }\n const config = nextConfig as NextConfigLike\n const existingWebpack = config.webpack\n return {\n ...nextConfig,\n turbopack: {\n ...config.turbopack,\n rules: turbopackRules(\n config.turbopack?.rules ?? {},\n transformOptions,\n loader,\n ),\n },\n webpack(config, context) {\n const resolved = existingWebpack\n ? existingWebpack(config, context)\n : config\n if (context.isServer && context.nextRuntime !== \"edge\") {\n resolved.plugins ??= []\n resolved.plugins.push(bitfabTraceUnplugin.webpack(transformOptions))\n }\n return resolved\n },\n }\n }\n}\n\nexport default createWithBitfabTrace(\"@bitfab/transform/loader\")\n","import { createWithBitfabTrace } from \"./next.js\"\n\nexport type { BitfabNextOptions } from \"./next.js\"\n\nexport default createWithBitfabTrace(\"@bitfab/sdk/transform/loader\")\n"],"mappings":";;;;;;AA4CA,MAAM,sBAAsB;CAC1B;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;AAEA,SAAS,WACP,UACA,MACoB;CACpB,IAAI,MAAM,QAAQ,QAAQ,GACxB,OAAO,CAAC,GAAG,UAAU,IAAI;CAE3B,OAAO,aAAa,KAAA,IAAY,OAAO,CAAC,UAAU,IAAI;AACxD;AAEA,SAAS,eACP,UACA,SACA,QACoC;CACpC,MAAM,QAAQ,EAAE,GAAG,SAAS;CAC5B,MAAM,oBAAmC;EACvC,WAAW,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,UAAU,CAAC,EAAE;EAC/C,SAAS,CAAC;GAAE;GAAQ;EAAQ,CAAC;CAC/B;CACA,KAAK,MAAM,QAAQ,qBACjB,MAAM,QAAQ,WAAW,MAAM,OAAO,WAAW,CAAC;CAEpD,OAAO;AACT;AAEA,SAAgB,sBAAsB,eAAuB;CAC3D,OAAO,SAAS,gBACd,YACA,UAA6B,CAAC,GACV;EACpB,MAAM,EAAE,SAAS,eAAe,MAAM,QAAQ,IAAI,GAAG,GAAG,SAAS;EACjE,MAAM,mBAAmB;GAAE;GAAK,GAAG;EAAK;EACxC,MAAM,SAAS;EACf,MAAM,kBAAkB,OAAO;EAC/B,OAAO;GACL,GAAG;GACH,WAAW;IACT,GAAG,OAAO;IACV,OAAO,eACL,OAAO,WAAW,SAAS,CAAC,GAC5B,kBACA,MACF;GACF;GACA,QAAQ,QAAQ,SAAS;IACvB,MAAM,WAAW,kBACb,gBAAgB,QAAQ,OAAO,IAC/B;IACJ,IAAI,QAAQ,YAAY,QAAQ,gBAAgB,QAAQ;KACtD,SAAS,YAAT,SAAS,UAAY,CAAC;KACtB,SAAS,QAAQ,KAAKA,2BAAAA,oBAAoB,QAAQ,gBAAgB,CAAC;IACrE;IACA,OAAO;GACT;EACF;CACF;AACF;;;AC5GA,IAAA,kBAAe,sBAAsB,8BAA8B"}
|
|
@@ -1,40 +1,40 @@
|
|
|
1
|
-
import { BitfabLoaderOptions } from
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import { n as BitfabLoaderOptions } from "../loaderRuntime-CslfDFO7.cjs";
|
|
2
|
+
//#region ../bitfab-typescript-transform/src/next.d.ts
|
|
4
3
|
interface TurbopackLoader {
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
loader: string;
|
|
5
|
+
options: BitfabLoaderOptions;
|
|
7
6
|
}
|
|
8
7
|
interface BitfabNextOptions extends BitfabLoaderOptions {
|
|
9
|
-
|
|
8
|
+
loader?: string;
|
|
10
9
|
}
|
|
11
10
|
interface TurbopackRule {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
11
|
+
condition: {
|
|
12
|
+
all: Array<"node" | {
|
|
13
|
+
not: "foreign";
|
|
14
|
+
}>;
|
|
15
|
+
};
|
|
16
|
+
loaders: TurbopackLoader[];
|
|
18
17
|
}
|
|
19
18
|
type TurbopackRuleValue = TurbopackRule | TurbopackRule[] | unknown;
|
|
20
19
|
interface NextConfigLike {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
[key: string]: unknown;
|
|
24
|
-
};
|
|
25
|
-
webpack?: (config: WebpackConfigLike, context: WebpackContextLike) => WebpackConfigLike;
|
|
20
|
+
turbopack?: {
|
|
21
|
+
rules?: Record<string, TurbopackRuleValue>;
|
|
26
22
|
[key: string]: unknown;
|
|
23
|
+
};
|
|
24
|
+
webpack?: (config: WebpackConfigLike, context: WebpackContextLike) => WebpackConfigLike;
|
|
25
|
+
[key: string]: unknown;
|
|
27
26
|
}
|
|
28
27
|
interface WebpackConfigLike {
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
plugins?: unknown[];
|
|
29
|
+
[key: string]: unknown;
|
|
31
30
|
}
|
|
32
31
|
interface WebpackContextLike {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
32
|
+
isServer?: boolean;
|
|
33
|
+
nextRuntime?: string;
|
|
34
|
+
[key: string]: unknown;
|
|
36
35
|
}
|
|
37
|
-
|
|
36
|
+
//#endregion
|
|
37
|
+
//#region ../bitfab-typescript-transform/src/nextSdk.d.ts
|
|
38
38
|
declare const _default: <T extends object>(nextConfig: T, options?: BitfabNextOptions) => T & NextConfigLike;
|
|
39
|
-
|
|
40
|
-
export { type BitfabNextOptions, _default as default };
|
|
39
|
+
//#endregion
|
|
40
|
+
export { type BitfabNextOptions, _default as default };
|
package/dist/transform/next.d.ts
CHANGED
|
@@ -1,40 +1,40 @@
|
|
|
1
|
-
import { BitfabLoaderOptions } from
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import { n as BitfabLoaderOptions } from "../loaderRuntime-0huddOOP.js";
|
|
2
|
+
//#region ../bitfab-typescript-transform/src/next.d.ts
|
|
4
3
|
interface TurbopackLoader {
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
loader: string;
|
|
5
|
+
options: BitfabLoaderOptions;
|
|
7
6
|
}
|
|
8
7
|
interface BitfabNextOptions extends BitfabLoaderOptions {
|
|
9
|
-
|
|
8
|
+
loader?: string;
|
|
10
9
|
}
|
|
11
10
|
interface TurbopackRule {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
11
|
+
condition: {
|
|
12
|
+
all: Array<"node" | {
|
|
13
|
+
not: "foreign";
|
|
14
|
+
}>;
|
|
15
|
+
};
|
|
16
|
+
loaders: TurbopackLoader[];
|
|
18
17
|
}
|
|
19
18
|
type TurbopackRuleValue = TurbopackRule | TurbopackRule[] | unknown;
|
|
20
19
|
interface NextConfigLike {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
[key: string]: unknown;
|
|
24
|
-
};
|
|
25
|
-
webpack?: (config: WebpackConfigLike, context: WebpackContextLike) => WebpackConfigLike;
|
|
20
|
+
turbopack?: {
|
|
21
|
+
rules?: Record<string, TurbopackRuleValue>;
|
|
26
22
|
[key: string]: unknown;
|
|
23
|
+
};
|
|
24
|
+
webpack?: (config: WebpackConfigLike, context: WebpackContextLike) => WebpackConfigLike;
|
|
25
|
+
[key: string]: unknown;
|
|
27
26
|
}
|
|
28
27
|
interface WebpackConfigLike {
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
plugins?: unknown[];
|
|
29
|
+
[key: string]: unknown;
|
|
31
30
|
}
|
|
32
31
|
interface WebpackContextLike {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
32
|
+
isServer?: boolean;
|
|
33
|
+
nextRuntime?: string;
|
|
34
|
+
[key: string]: unknown;
|
|
36
35
|
}
|
|
37
|
-
|
|
36
|
+
//#endregion
|
|
37
|
+
//#region ../bitfab-typescript-transform/src/nextSdk.d.ts
|
|
38
38
|
declare const _default: <T extends object>(nextConfig: T, options?: BitfabNextOptions) => T & NextConfigLike;
|
|
39
|
-
|
|
39
|
+
//#endregion
|
|
40
40
|
export { type BitfabNextOptions, _default as default };
|
package/dist/transform/next.js
CHANGED
|
@@ -1,69 +1,61 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
"*.tsx",
|
|
13
|
-
"*.mjs",
|
|
14
|
-
"*.mts",
|
|
15
|
-
"*.cjs",
|
|
16
|
-
"*.cts"
|
|
1
|
+
import { bitfabTraceUnplugin } from "./unplugin.js";
|
|
2
|
+
//#region ../bitfab-typescript-transform/src/next.ts
|
|
3
|
+
const SERVER_MODULE_GLOBS = [
|
|
4
|
+
"*.js",
|
|
5
|
+
"*.jsx",
|
|
6
|
+
"*.ts",
|
|
7
|
+
"*.tsx",
|
|
8
|
+
"*.mjs",
|
|
9
|
+
"*.mts",
|
|
10
|
+
"*.cjs",
|
|
11
|
+
"*.cts"
|
|
17
12
|
];
|
|
18
13
|
function appendRule(existing, rule) {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
}
|
|
22
|
-
return existing === void 0 ? rule : [existing, rule];
|
|
14
|
+
if (Array.isArray(existing)) return [...existing, rule];
|
|
15
|
+
return existing === void 0 ? rule : [existing, rule];
|
|
23
16
|
}
|
|
24
17
|
function turbopackRules(existing, options, loader) {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
18
|
+
const rules = { ...existing };
|
|
19
|
+
const serverRule = () => ({
|
|
20
|
+
condition: { all: ["node", { not: "foreign" }] },
|
|
21
|
+
loaders: [{
|
|
22
|
+
loader,
|
|
23
|
+
options
|
|
24
|
+
}]
|
|
25
|
+
});
|
|
26
|
+
for (const glob of SERVER_MODULE_GLOBS) rules[glob] = appendRule(rules[glob], serverRule());
|
|
27
|
+
return rules;
|
|
34
28
|
}
|
|
35
29
|
function createWithBitfabTrace(defaultLoader) {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
};
|
|
30
|
+
return function withBitfabTrace(nextConfig, options = {}) {
|
|
31
|
+
const { loader = defaultLoader, cwd = process.cwd(), ...rest } = options;
|
|
32
|
+
const transformOptions = {
|
|
33
|
+
cwd,
|
|
34
|
+
...rest
|
|
35
|
+
};
|
|
36
|
+
const config = nextConfig;
|
|
37
|
+
const existingWebpack = config.webpack;
|
|
38
|
+
return {
|
|
39
|
+
...nextConfig,
|
|
40
|
+
turbopack: {
|
|
41
|
+
...config.turbopack,
|
|
42
|
+
rules: turbopackRules(config.turbopack?.rules ?? {}, transformOptions, loader)
|
|
43
|
+
},
|
|
44
|
+
webpack(config, context) {
|
|
45
|
+
const resolved = existingWebpack ? existingWebpack(config, context) : config;
|
|
46
|
+
if (context.isServer && context.nextRuntime !== "edge") {
|
|
47
|
+
resolved.plugins ?? (resolved.plugins = []);
|
|
48
|
+
resolved.plugins.push(bitfabTraceUnplugin.webpack(transformOptions));
|
|
49
|
+
}
|
|
50
|
+
return resolved;
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
};
|
|
61
54
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
// ../bitfab-typescript-transform/src/nextSdk.ts
|
|
55
|
+
//#endregion
|
|
56
|
+
//#region ../bitfab-typescript-transform/src/nextSdk.ts
|
|
65
57
|
var nextSdk_default = createWithBitfabTrace("@bitfab/sdk/transform/loader");
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
58
|
+
//#endregion
|
|
59
|
+
export { nextSdk_default as default };
|
|
60
|
+
|
|
69
61
|
//# sourceMappingURL=next.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../bitfab-typescript-transform/src/next.ts","../../../bitfab-typescript-transform/src/nextSdk.ts"],"sourcesContent":["import type { BitfabLoaderOptions } from \"./loaderRuntime.js\"\nimport { bitfabTraceUnplugin } from \"./unplugin.js\"\n\ninterface TurbopackLoader {\n loader: string\n options: BitfabLoaderOptions\n}\n\nexport interface BitfabNextOptions extends BitfabLoaderOptions {\n loader?: string\n}\n\ninterface TurbopackRule {\n condition: {\n all: Array<\"node\" | { not: \"foreign\" }>\n }\n loaders: TurbopackLoader[]\n}\n\ntype TurbopackRuleValue = TurbopackRule | TurbopackRule[] | unknown\n\nexport interface NextConfigLike {\n turbopack?: {\n rules?: Record<string, TurbopackRuleValue>\n [key: string]: unknown\n }\n webpack?: (\n config: WebpackConfigLike,\n context: WebpackContextLike,\n ) => WebpackConfigLike\n [key: string]: unknown\n}\n\ninterface WebpackConfigLike {\n plugins?: unknown[]\n [key: string]: unknown\n}\n\ninterface WebpackContextLike {\n isServer?: boolean\n nextRuntime?: string\n [key: string]: unknown\n}\n\nconst SERVER_MODULE_GLOBS = [\n \"*.js\",\n \"*.jsx\",\n \"*.ts\",\n \"*.tsx\",\n \"*.mjs\",\n \"*.mts\",\n \"*.cjs\",\n \"*.cts\",\n]\n\nfunction appendRule(\n existing: TurbopackRuleValue | undefined,\n rule: TurbopackRule,\n): TurbopackRuleValue {\n if (Array.isArray(existing)) {\n return [...existing, rule]\n }\n return existing === undefined ? rule : [existing, rule]\n}\n\nfunction turbopackRules(\n existing: Record<string, TurbopackRuleValue>,\n options: BitfabLoaderOptions,\n loader: string,\n): Record<string, TurbopackRuleValue> {\n const rules = { ...existing }\n const serverRule = (): TurbopackRule => ({\n condition: { all: [\"node\", { not: \"foreign\" }] },\n loaders: [{ loader, options }],\n })\n for (const glob of SERVER_MODULE_GLOBS) {\n rules[glob] = appendRule(rules[glob], serverRule())\n }\n return rules\n}\n\nexport function createWithBitfabTrace(defaultLoader: string) {\n return function withBitfabTrace<T extends object>(\n nextConfig: T,\n options: BitfabNextOptions = {},\n ): T & NextConfigLike {\n const { loader = defaultLoader, cwd = process.cwd(), ...rest } = options\n const transformOptions = { cwd, ...rest }\n const config = nextConfig as NextConfigLike\n const existingWebpack = config.webpack\n return {\n ...nextConfig,\n turbopack: {\n ...config.turbopack,\n rules: turbopackRules(\n config.turbopack?.rules ?? {},\n transformOptions,\n loader,\n ),\n },\n webpack(config, context) {\n const resolved = existingWebpack\n ? existingWebpack(config, context)\n : config\n if (context.isServer && context.nextRuntime !== \"edge\") {\n resolved.plugins ??= []\n resolved.plugins.push(bitfabTraceUnplugin.webpack(transformOptions))\n }\n return resolved\n },\n }\n }\n}\n\nexport default createWithBitfabTrace(\"@bitfab/transform/loader\")\n","import { createWithBitfabTrace } from \"./next.js\"\n\nexport type { BitfabNextOptions } from \"./next.js\"\n\nexport default createWithBitfabTrace(\"@bitfab/sdk/transform/loader\")\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"next.js","names":[],"sources":["../../../bitfab-typescript-transform/src/next.ts","../../../bitfab-typescript-transform/src/nextSdk.ts"],"sourcesContent":["import type { BitfabLoaderOptions } from \"./loaderRuntime.js\"\nimport { bitfabTraceUnplugin } from \"./unplugin.js\"\n\ninterface TurbopackLoader {\n loader: string\n options: BitfabLoaderOptions\n}\n\nexport interface BitfabNextOptions extends BitfabLoaderOptions {\n loader?: string\n}\n\ninterface TurbopackRule {\n condition: {\n all: Array<\"node\" | { not: \"foreign\" }>\n }\n loaders: TurbopackLoader[]\n}\n\ntype TurbopackRuleValue = TurbopackRule | TurbopackRule[] | unknown\n\nexport interface NextConfigLike {\n turbopack?: {\n rules?: Record<string, TurbopackRuleValue>\n [key: string]: unknown\n }\n webpack?: (\n config: WebpackConfigLike,\n context: WebpackContextLike,\n ) => WebpackConfigLike\n [key: string]: unknown\n}\n\ninterface WebpackConfigLike {\n plugins?: unknown[]\n [key: string]: unknown\n}\n\ninterface WebpackContextLike {\n isServer?: boolean\n nextRuntime?: string\n [key: string]: unknown\n}\n\nconst SERVER_MODULE_GLOBS = [\n \"*.js\",\n \"*.jsx\",\n \"*.ts\",\n \"*.tsx\",\n \"*.mjs\",\n \"*.mts\",\n \"*.cjs\",\n \"*.cts\",\n]\n\nfunction appendRule(\n existing: TurbopackRuleValue | undefined,\n rule: TurbopackRule,\n): TurbopackRuleValue {\n if (Array.isArray(existing)) {\n return [...existing, rule]\n }\n return existing === undefined ? rule : [existing, rule]\n}\n\nfunction turbopackRules(\n existing: Record<string, TurbopackRuleValue>,\n options: BitfabLoaderOptions,\n loader: string,\n): Record<string, TurbopackRuleValue> {\n const rules = { ...existing }\n const serverRule = (): TurbopackRule => ({\n condition: { all: [\"node\", { not: \"foreign\" }] },\n loaders: [{ loader, options }],\n })\n for (const glob of SERVER_MODULE_GLOBS) {\n rules[glob] = appendRule(rules[glob], serverRule())\n }\n return rules\n}\n\nexport function createWithBitfabTrace(defaultLoader: string) {\n return function withBitfabTrace<T extends object>(\n nextConfig: T,\n options: BitfabNextOptions = {},\n ): T & NextConfigLike {\n const { loader = defaultLoader, cwd = process.cwd(), ...rest } = options\n const transformOptions = { cwd, ...rest }\n const config = nextConfig as NextConfigLike\n const existingWebpack = config.webpack\n return {\n ...nextConfig,\n turbopack: {\n ...config.turbopack,\n rules: turbopackRules(\n config.turbopack?.rules ?? {},\n transformOptions,\n loader,\n ),\n },\n webpack(config, context) {\n const resolved = existingWebpack\n ? existingWebpack(config, context)\n : config\n if (context.isServer && context.nextRuntime !== \"edge\") {\n resolved.plugins ??= []\n resolved.plugins.push(bitfabTraceUnplugin.webpack(transformOptions))\n }\n return resolved\n },\n }\n }\n}\n\nexport default createWithBitfabTrace(\"@bitfab/transform/loader\")\n","import { createWithBitfabTrace } from \"./next.js\"\n\nexport type { BitfabNextOptions } from \"./next.js\"\n\nexport default createWithBitfabTrace(\"@bitfab/sdk/transform/loader\")\n"],"mappings":";;AA4CA,MAAM,sBAAsB;CAC1B;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;AAEA,SAAS,WACP,UACA,MACoB;CACpB,IAAI,MAAM,QAAQ,QAAQ,GACxB,OAAO,CAAC,GAAG,UAAU,IAAI;CAE3B,OAAO,aAAa,KAAA,IAAY,OAAO,CAAC,UAAU,IAAI;AACxD;AAEA,SAAS,eACP,UACA,SACA,QACoC;CACpC,MAAM,QAAQ,EAAE,GAAG,SAAS;CAC5B,MAAM,oBAAmC;EACvC,WAAW,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,UAAU,CAAC,EAAE;EAC/C,SAAS,CAAC;GAAE;GAAQ;EAAQ,CAAC;CAC/B;CACA,KAAK,MAAM,QAAQ,qBACjB,MAAM,QAAQ,WAAW,MAAM,OAAO,WAAW,CAAC;CAEpD,OAAO;AACT;AAEA,SAAgB,sBAAsB,eAAuB;CAC3D,OAAO,SAAS,gBACd,YACA,UAA6B,CAAC,GACV;EACpB,MAAM,EAAE,SAAS,eAAe,MAAM,QAAQ,IAAI,GAAG,GAAG,SAAS;EACjE,MAAM,mBAAmB;GAAE;GAAK,GAAG;EAAK;EACxC,MAAM,SAAS;EACf,MAAM,kBAAkB,OAAO;EAC/B,OAAO;GACL,GAAG;GACH,WAAW;IACT,GAAG,OAAO;IACV,OAAO,eACL,OAAO,WAAW,SAAS,CAAC,GAC5B,kBACA,MACF;GACF;GACA,QAAQ,QAAQ,SAAS;IACvB,MAAM,WAAW,kBACb,gBAAgB,QAAQ,OAAO,IAC/B;IACJ,IAAI,QAAQ,YAAY,QAAQ,gBAAgB,QAAQ;KACtD,SAAS,YAAT,SAAS,UAAY,CAAC;KACtB,SAAS,QAAQ,KAAK,oBAAoB,QAAQ,gBAAgB,CAAC;IACrE;IACA,OAAO;GACT;EACF;CACF;AACF;;;AC5GA,IAAA,kBAAe,sBAAsB,8BAA8B"}
|