@mastra/deployer 0.15.3-alpha.1 → 0.15.3-alpha.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/build/analyze.cjs +3 -3
- package/dist/build/analyze.js +1 -1
- package/dist/build/bundler.cjs +3 -3
- package/dist/build/bundler.js +1 -1
- package/dist/build/index.cjs +12 -12
- package/dist/build/index.js +4 -4
- package/dist/bundler/index.cjs +2 -2
- package/dist/bundler/index.js +1 -1
- package/dist/{chunk-IPCTGBLD.js → chunk-7P4PV6QU.js} +3 -3
- package/dist/{chunk-IPCTGBLD.js.map → chunk-7P4PV6QU.js.map} +1 -1
- package/dist/{chunk-YSFTC4AH.js → chunk-AVESU2SU.js} +6 -6
- package/dist/{chunk-YSFTC4AH.js.map → chunk-AVESU2SU.js.map} +1 -1
- package/dist/{chunk-ETHVQE5F.js → chunk-C5VTZTAY.js} +5 -5
- package/dist/{chunk-ETHVQE5F.js.map → chunk-C5VTZTAY.js.map} +1 -1
- package/dist/{chunk-K5ES6Z7D.cjs → chunk-EJQ67F7F.cjs} +13 -13
- package/dist/{chunk-K5ES6Z7D.cjs.map → chunk-EJQ67F7F.cjs.map} +1 -1
- package/dist/{chunk-NBXPDOUR.cjs → chunk-GDMDXD6B.cjs} +5 -5
- package/dist/{chunk-NBXPDOUR.cjs.map → chunk-GDMDXD6B.cjs.map} +1 -1
- package/dist/{chunk-OXFTV5D2.cjs → chunk-HFSNFLSA.cjs} +7 -7
- package/dist/{chunk-OXFTV5D2.cjs.map → chunk-HFSNFLSA.cjs.map} +1 -1
- package/dist/{chunk-NOI4CTSN.js → chunk-IKIYTFYW.js} +3 -3
- package/dist/chunk-IKIYTFYW.js.map +1 -0
- package/dist/{chunk-3NMAUV2K.js → chunk-LQCSOGOC.js} +4 -4
- package/dist/{chunk-3NMAUV2K.js.map → chunk-LQCSOGOC.js.map} +1 -1
- package/dist/{chunk-LG5W6D2R.cjs → chunk-NK2IP3RO.cjs} +3 -3
- package/dist/chunk-NK2IP3RO.cjs.map +1 -0
- package/dist/{chunk-FXJQRVOQ.cjs → chunk-PEPYV5JI.cjs} +17 -17
- package/dist/{chunk-FXJQRVOQ.cjs.map → chunk-PEPYV5JI.cjs.map} +1 -1
- package/dist/{chunk-QXZRRU7Y.cjs → chunk-TE5Y7CVX.cjs} +12 -12
- package/dist/{chunk-QXZRRU7Y.cjs.map → chunk-TE5Y7CVX.cjs.map} +1 -1
- package/dist/{chunk-656BANCN.js → chunk-WAZSZUBG.js} +3 -3
- package/dist/{chunk-656BANCN.js.map → chunk-WAZSZUBG.js.map} +1 -1
- package/dist/index.cjs +5 -5
- package/dist/index.js +2 -2
- package/dist/templates/instrumentation-template.js +11 -1
- package/package.json +3 -3
- package/dist/chunk-LG5W6D2R.cjs.map +0 -1
- package/dist/chunk-NOI4CTSN.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/build/babel/remove-all-options-telemetry.ts","../src/build/telemetry.ts"],"names":["removeAllOptionsFromMastraExcept","extractMastraOption"],"mappings":";;;;;AAGO,SAAS,+BAAA,CAAgC,QAAsC,MAAA,EAAwB;AAC5G,EAAA,OAAOA,kDAAA,CAAiC,MAAA,EAAQ,WAAA,EAAa,MAAM,CAAA;AACrE;;;ACSA,eAAsB,oBAAA,CACpB,SAAA,EACA,SAAA,EACA,MAAA,EACoD;AACpD,EAAA,MAAM,SAAS,MAAMC,qCAAA;AAAA,IACnB,WAAA;AAAA,IACA,SAAA;AAAA,IACA,+BAAA;AAAA,IACA,SAAA;AAAA,IACA;AAAA,GACF;AAEA,EAAA,IAAI,CAAC,MAAA,EAAQ;AACX,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,MAAM,SAAA,GAAY,MAAA,CAAO,YAAA,CAAa,MAAA,CAAO,CAAC,CAAA,CAAE,OAAA,CAAQ,MAAA,CAAO,CAAA,CAAA,KAAK,CAAC,CAAA,CAAE,UAAA,CAAW,IAAI,CAAC,CAAA;AAEvF,EAAA,OAAO,EAAE,sBAAsB,SAAA,EAAU;AAC3C","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/build/babel/remove-all-options-telemetry.ts","../src/build/telemetry.ts"],"names":["removeAllOptionsFromMastraExcept","extractMastraOption"],"mappings":";;;;;AAGO,SAAS,+BAAA,CAAgC,QAAsC,MAAA,EAAwB;AAC5G,EAAA,OAAOA,kDAAA,CAAiC,MAAA,EAAQ,WAAA,EAAa,MAAM,CAAA;AACrE;;;ACSA,eAAsB,oBAAA,CACpB,SAAA,EACA,SAAA,EACA,MAAA,EACoD;AACpD,EAAA,MAAM,SAAS,MAAMC,qCAAA;AAAA,IACnB,WAAA;AAAA,IACA,SAAA;AAAA,IACA,+BAAA;AAAA,IACA,SAAA;AAAA,IACA;AAAA,GACF;AAEA,EAAA,IAAI,CAAC,MAAA,EAAQ;AACX,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,MAAM,SAAA,GAAY,MAAA,CAAO,YAAA,CAAa,MAAA,CAAO,CAAC,CAAA,CAAE,OAAA,CAAQ,MAAA,CAAO,CAAA,CAAA,KAAK,CAAC,CAAA,CAAE,UAAA,CAAW,IAAI,CAAC,CAAA;AAEvF,EAAA,OAAO,EAAE,sBAAsB,SAAA,EAAU;AAC3C","file":"chunk-GDMDXD6B.cjs","sourcesContent":["import { removeAllOptionsFromMastraExcept } from './remove-all-options-except';\nimport type { IMastraLogger } from '@mastra/core/logger';\n\nexport function removeAllOptionsExceptTelemetry(result: { hasCustomConfig: boolean }, logger?: IMastraLogger) {\n return removeAllOptionsFromMastraExcept(result, 'telemetry', logger);\n}\n","import { removeAllOptionsExceptTelemetry } from './babel/remove-all-options-telemetry';\nimport type { Config } from '@mastra/core/mastra';\nimport { extractMastraOption, extractMastraOptionBundler } from './shared/extract-mastra-option';\nimport type { IMastraLogger } from '@mastra/core/logger';\n\nexport function getTelemetryBundler(\n entryFile: string,\n result: {\n hasCustomConfig: false;\n },\n) {\n return extractMastraOptionBundler('telemetry', entryFile, removeAllOptionsExceptTelemetry, result);\n}\n\nexport async function writeTelemetryConfig(\n entryFile: string,\n outputDir: string,\n logger?: IMastraLogger,\n): Promise<{ externalDependencies: string[] } | null> {\n const result = await extractMastraOption<Config['telemetry']>(\n 'telemetry',\n entryFile,\n removeAllOptionsExceptTelemetry,\n outputDir,\n logger,\n );\n\n if (!result) {\n return null;\n }\n\n const externals = result.bundleOutput.output[0].imports.filter(x => !x.startsWith('./'));\n\n return { externalDependencies: externals };\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkNK2IP3RO_cjs = require('./chunk-NK2IP3RO.cjs');
|
|
4
4
|
var alias = require('@rollup/plugin-alias');
|
|
5
5
|
var commonjs = require('@rollup/plugin-commonjs');
|
|
6
6
|
var json = require('@rollup/plugin-json');
|
|
@@ -65,7 +65,6 @@ async function getInputOptions(entryFile, analyzedBundleInfo, platform, env = {
|
|
|
65
65
|
};
|
|
66
66
|
}
|
|
67
67
|
},
|
|
68
|
-
chunkLG5W6D2R_cjs.tsConfigPaths(),
|
|
69
68
|
alias__default.default({
|
|
70
69
|
entries: [
|
|
71
70
|
{
|
|
@@ -86,6 +85,7 @@ async function getInputOptions(entryFile, analyzedBundleInfo, platform, env = {
|
|
|
86
85
|
{ find: /^\#mastra$/, replacement: normalizedEntryFile }
|
|
87
86
|
]
|
|
88
87
|
}),
|
|
88
|
+
chunkNK2IP3RO_cjs.tsConfigPaths(),
|
|
89
89
|
{
|
|
90
90
|
name: "tools-rewriter",
|
|
91
91
|
resolveId(id) {
|
|
@@ -97,7 +97,7 @@ async function getInputOptions(entryFile, analyzedBundleInfo, platform, env = {
|
|
|
97
97
|
}
|
|
98
98
|
}
|
|
99
99
|
},
|
|
100
|
-
|
|
100
|
+
chunkNK2IP3RO_cjs.esbuild({
|
|
101
101
|
platform,
|
|
102
102
|
define: env
|
|
103
103
|
}),
|
|
@@ -126,9 +126,9 @@ async function getInputOptions(entryFile, analyzedBundleInfo, platform, env = {
|
|
|
126
126
|
// },
|
|
127
127
|
// },
|
|
128
128
|
json__default.default(),
|
|
129
|
-
|
|
129
|
+
chunkNK2IP3RO_cjs.removeDeployer(entryFile, { sourcemap }),
|
|
130
130
|
// treeshake unused imports
|
|
131
|
-
|
|
131
|
+
chunkNK2IP3RO_cjs.esbuild({
|
|
132
132
|
include: entryFile,
|
|
133
133
|
platform
|
|
134
134
|
})
|
|
@@ -154,5 +154,5 @@ async function createBundler(inputOptions, outputOptions) {
|
|
|
154
154
|
|
|
155
155
|
exports.createBundler = createBundler;
|
|
156
156
|
exports.getInputOptions = getInputOptions;
|
|
157
|
-
//# sourceMappingURL=chunk-
|
|
158
|
-
//# sourceMappingURL=chunk-
|
|
157
|
+
//# sourceMappingURL=chunk-HFSNFLSA.cjs.map
|
|
158
|
+
//# sourceMappingURL=chunk-HFSNFLSA.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/build/bundler.ts"],"names":["nodeResolve","
|
|
1
|
+
{"version":3,"sources":["../src/build/bundler.ts"],"names":["nodeResolve","alias","fileURLToPath","tsConfigPaths","esbuild","optimizeLodashImports","commonjs","esmShim","json","removeDeployer","rollup"],"mappings":"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","file":"chunk-HFSNFLSA.cjs","sourcesContent":["import alias from '@rollup/plugin-alias';\nimport commonjs from '@rollup/plugin-commonjs';\nimport json from '@rollup/plugin-json';\nimport nodeResolve from '@rollup/plugin-node-resolve';\nimport esmShim from '@rollup/plugin-esm-shim';\nimport { fileURLToPath } from 'node:url';\nimport { rollup, type InputOptions, type OutputOptions } from 'rollup';\nimport { esbuild } from './plugins/esbuild';\nimport { optimizeLodashImports } from '@optimize-lodash/rollup-plugin';\nimport type { analyzeBundle } from './analyze';\nimport { removeDeployer } from './plugins/remove-deployer';\nimport { tsConfigPaths } from './plugins/tsconfig-paths';\n\nexport async function getInputOptions(\n entryFile: string,\n analyzedBundleInfo: Awaited<ReturnType<typeof analyzeBundle>>,\n platform: 'node' | 'browser',\n env: Record<string, string> = { 'process.env.NODE_ENV': JSON.stringify('production') },\n { sourcemap = false, enableEsmShim = true }: { sourcemap?: boolean; enableEsmShim?: boolean } = {},\n): Promise<InputOptions> {\n let nodeResolvePlugin =\n platform === 'node'\n ? nodeResolve({\n preferBuiltins: true,\n exportConditions: ['node'],\n })\n : nodeResolve({\n preferBuiltins: false,\n browser: true,\n });\n\n const externalsCopy = new Set<string>();\n // make all nested imports external from the same package\n for (const external of analyzedBundleInfo.externalDependencies) {\n if (external.startsWith('@')) {\n const [scope, name] = external.split('/', 3);\n externalsCopy.add(`${scope}/${name}`);\n externalsCopy.add(`${scope}/${name}/*`);\n } else {\n externalsCopy.add(external);\n externalsCopy.add(`${external}/*`);\n }\n }\n\n const externals = Array.from(externalsCopy);\n\n const normalizedEntryFile = entryFile.replaceAll('\\\\', '/');\n return {\n logLevel: process.env.MASTRA_BUNDLER_DEBUG === 'true' ? 'debug' : 'silent',\n treeshake: 'smallest',\n preserveSymlinks: true,\n external: externals,\n plugins: [\n {\n name: 'alias-optimized-deps',\n // @ts-ignore\n resolveId(id) {\n if (!analyzedBundleInfo.dependencies.has(id)) {\n return null;\n }\n\n const isInvalidChunk = analyzedBundleInfo.invalidChunks.has(analyzedBundleInfo.dependencies.get(id)!);\n if (isInvalidChunk) {\n return {\n id,\n external: true,\n };\n }\n\n return {\n id: '.mastra/.build/' + analyzedBundleInfo.dependencies.get(id)!,\n external: false,\n };\n },\n },\n alias({\n entries: [\n {\n find: /^\\#server$/,\n replacement: fileURLToPath(import.meta.resolve('@mastra/deployer/server')).replaceAll('\\\\', '/'),\n },\n {\n find: /^\\@mastra\\/server\\/(.*)/,\n replacement: `@mastra/server/$1`,\n customResolver: id => {\n if (id.startsWith('@mastra/server')) {\n return {\n id: fileURLToPath(import.meta.resolve(id)),\n };\n }\n },\n },\n { find: /^\\#mastra$/, replacement: normalizedEntryFile },\n ],\n }),\n tsConfigPaths(),\n {\n name: 'tools-rewriter',\n resolveId(id: string) {\n if (id === '#tools') {\n return {\n id: './tools.mjs',\n external: true,\n };\n }\n },\n },\n esbuild({\n platform,\n define: env,\n }),\n optimizeLodashImports(),\n commonjs({\n extensions: ['.js', '.ts'],\n transformMixedEsModules: true,\n esmExternals(id) {\n return externals.includes(id);\n },\n }),\n enableEsmShim ? esmShim() : undefined,\n nodeResolvePlugin,\n // for debugging\n // {\n // name: 'logger',\n // //@ts-ignore\n // resolveId(id, ...args) {\n // console.log({ id, args });\n // },\n // // @ts-ignore\n // transform(code, id) {\n // if (code.includes('class Duplexify ')) {\n // console.log({ duplex: id });\n // }\n // },\n // },\n json(),\n removeDeployer(entryFile, { sourcemap }),\n // treeshake unused imports\n esbuild({\n include: entryFile,\n platform,\n }),\n ].filter(Boolean),\n } satisfies InputOptions;\n}\n\nexport async function createBundler(\n inputOptions: InputOptions,\n outputOptions: Partial<OutputOptions> & { dir: string },\n) {\n const bundler = await rollup(inputOptions);\n\n return {\n write: () => {\n return bundler.write({\n ...outputOptions,\n format: 'esm',\n entryFileNames: '[name].mjs',\n chunkFileNames: '[name].mjs',\n });\n },\n close: () => {\n return bundler.close();\n },\n };\n}\n"]}
|
|
@@ -119,7 +119,7 @@ function tsConfigPaths({ tsConfigPath, respectCoreModule, localResolve } = {}) {
|
|
|
119
119
|
if (!request.startsWith("./") && !request.startsWith("../") && importerMeta?.[PLUGIN_NAME]?.resolved) {
|
|
120
120
|
return {
|
|
121
121
|
...resolved,
|
|
122
|
-
external:
|
|
122
|
+
external: !request.startsWith("hono/") && request !== "hono"
|
|
123
123
|
};
|
|
124
124
|
}
|
|
125
125
|
}
|
|
@@ -159,5 +159,5 @@ function tsConfigPaths({ tsConfigPath, respectCoreModule, localResolve } = {}) {
|
|
|
159
159
|
}
|
|
160
160
|
|
|
161
161
|
export { esbuild, removeDeployer2 as removeDeployer, tsConfigPaths };
|
|
162
|
-
//# sourceMappingURL=chunk-
|
|
163
|
-
//# sourceMappingURL=chunk-
|
|
162
|
+
//# sourceMappingURL=chunk-IKIYTFYW.js.map
|
|
163
|
+
//# sourceMappingURL=chunk-IKIYTFYW.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/build/plugins/esbuild.ts","../src/build/babel/remove-deployer.ts","../src/build/plugins/remove-deployer.ts","../src/build/plugins/tsconfig-paths.ts"],"names":["babel","path","removeDeployer","babel2"],"mappings":"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","file":"chunk-IKIYTFYW.js","sourcesContent":["import originalEsbuild from 'rollup-plugin-esbuild';\n\nexport function esbuild(options: Parameters<typeof originalEsbuild>[0] = {}) {\n return originalEsbuild({\n target: 'node20',\n platform: 'node',\n minify: false,\n ...options,\n });\n}\n","import babel from '@babel/core';\n\nexport function removeDeployer() {\n const t = babel.types;\n\n return {\n name: 'remove-deployer',\n visitor: {\n NewExpression(path, state) {\n // is a variable declaration\n const varDeclaratorPath = path.findParent(path => t.isVariableDeclarator(path.node));\n if (!varDeclaratorPath) {\n return;\n }\n\n const parentNode = path.parentPath.node;\n // check if it's a const of mastra\n if (!t.isVariableDeclarator(parentNode) || !t.isIdentifier(parentNode.id) || parentNode.id.name !== 'mastra') {\n return;\n }\n\n if (!state.hasReplaced) {\n state.hasReplaced = true;\n const newMastraObj = t.cloneNode(path.node);\n if (t.isObjectExpression(newMastraObj.arguments[0]) && newMastraObj.arguments[0].properties?.[0]) {\n const deployer = newMastraObj.arguments[0].properties.find(\n prop => t.isObjectProperty(prop) && t.isIdentifier(prop.key) && prop.key.name === 'deployer',\n );\n\n if (!deployer) {\n return;\n }\n\n newMastraObj.arguments[0].properties = newMastraObj.arguments[0].properties.filter(\n prop => prop !== deployer,\n );\n\n // try to find the binding of the deployer which should be the reference to the deployer\n if (t.isObjectProperty(deployer) && t.isIdentifier(deployer.value)) {\n const deployerBinding = state.file.scope.getBinding(deployer.value.name);\n\n if (deployerBinding) {\n deployerBinding?.path?.parentPath?.remove();\n }\n }\n\n path.replaceWith(newMastraObj);\n }\n }\n },\n },\n } as babel.PluginObj;\n}\n","import * as babel from '@babel/core';\nimport type { Plugin } from 'rollup';\n\nimport { removeDeployer as removeDeployerBabelPlugin } from '../babel/remove-deployer';\n\nexport function removeDeployer(mastraEntry: string, options?: { sourcemap?: boolean }): Plugin {\n return {\n name: 'remove-deployer',\n transform(code, id) {\n if (id !== mastraEntry) {\n return;\n }\n\n return new Promise((resolve, reject) => {\n babel.transform(\n code,\n {\n babelrc: false,\n configFile: false,\n filename: id,\n plugins: [removeDeployerBabelPlugin],\n sourceMaps: options?.sourcemap,\n },\n (err, result) => {\n if (err) {\n return reject(err);\n }\n\n resolve({\n code: result!.code!,\n map: result!.map!,\n });\n },\n );\n });\n },\n } satisfies Plugin;\n}\n","import fs from 'node:fs';\nimport path, { normalize } from 'node:path';\nimport resolveFrom from 'resolve-from';\nimport type { Plugin } from 'rollup';\nimport type { RegisterOptions } from 'typescript-paths';\nimport { createHandler } from 'typescript-paths';\n\nconst PLUGIN_NAME = 'tsconfig-paths';\n\nexport type PluginOptions = Omit<RegisterOptions, 'loggerID'> & { localResolve?: boolean };\n\nexport function tsConfigPaths({ tsConfigPath, respectCoreModule, localResolve }: PluginOptions = {}): Plugin {\n let handler: ReturnType<typeof createHandler>;\n return {\n name: PLUGIN_NAME,\n buildStart() {\n handler = createHandler({\n log: () => {},\n tsConfigPath,\n respectCoreModule,\n falllback: moduleName => fs.existsSync(moduleName),\n });\n return;\n },\n async resolveId(request, importer, options) {\n if (!importer || request.startsWith('\\0')) {\n return null;\n }\n\n const moduleName = handler?.(request, normalize(importer));\n // No tsconfig alias found, so we need to resolve it normally\n if (!moduleName) {\n let importerMeta: { [PLUGIN_NAME]?: { resolved?: boolean } } = {};\n\n const resolved = await this.resolve(request, importer, { skipSelf: true, ...options });\n if (!resolved) {\n return null;\n }\n\n // If localResolve is true, we need to check if the importer has been resolved by the tsconfig-paths plugin\n // if so, we need to resolve the request from the importer instead of the root and mark it as external\n if (localResolve) {\n const importerInfo = this.getModuleInfo(importer);\n importerMeta = importerInfo?.meta || {};\n\n if (!request.startsWith('./') && !request.startsWith('../') && importerMeta?.[PLUGIN_NAME]?.resolved) {\n return {\n ...resolved,\n external: !request.startsWith('hono/') && request !== 'hono',\n };\n }\n }\n\n return {\n ...resolved,\n meta: {\n ...(resolved.meta || {}),\n ...importerMeta,\n },\n };\n }\n\n // When a module does not have an extension, we need to resolve it to a file\n if (!path.extname(moduleName)) {\n const resolved = await this.resolve(moduleName, importer, { skipSelf: true, ...options });\n\n if (!resolved) {\n return null;\n }\n\n return {\n ...resolved,\n meta: {\n ...resolved.meta,\n [PLUGIN_NAME]: {\n resolved: true,\n },\n },\n };\n }\n\n return {\n id: moduleName,\n meta: {\n [PLUGIN_NAME]: {\n resolved: true,\n },\n },\n };\n },\n } satisfies Plugin;\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { tsConfigPaths, esbuild, removeDeployer } from './chunk-
|
|
1
|
+
import { tsConfigPaths, esbuild, removeDeployer } from './chunk-IKIYTFYW.js';
|
|
2
2
|
import alias from '@rollup/plugin-alias';
|
|
3
3
|
import commonjs from '@rollup/plugin-commonjs';
|
|
4
4
|
import json from '@rollup/plugin-json';
|
|
@@ -55,7 +55,6 @@ async function getInputOptions(entryFile, analyzedBundleInfo, platform, env = {
|
|
|
55
55
|
};
|
|
56
56
|
}
|
|
57
57
|
},
|
|
58
|
-
tsConfigPaths(),
|
|
59
58
|
alias({
|
|
60
59
|
entries: [
|
|
61
60
|
{
|
|
@@ -76,6 +75,7 @@ async function getInputOptions(entryFile, analyzedBundleInfo, platform, env = {
|
|
|
76
75
|
{ find: /^\#mastra$/, replacement: normalizedEntryFile }
|
|
77
76
|
]
|
|
78
77
|
}),
|
|
78
|
+
tsConfigPaths(),
|
|
79
79
|
{
|
|
80
80
|
name: "tools-rewriter",
|
|
81
81
|
resolveId(id) {
|
|
@@ -143,5 +143,5 @@ async function createBundler(inputOptions, outputOptions) {
|
|
|
143
143
|
}
|
|
144
144
|
|
|
145
145
|
export { createBundler, getInputOptions };
|
|
146
|
-
//# sourceMappingURL=chunk-
|
|
147
|
-
//# sourceMappingURL=chunk-
|
|
146
|
+
//# sourceMappingURL=chunk-LQCSOGOC.js.map
|
|
147
|
+
//# sourceMappingURL=chunk-LQCSOGOC.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/build/bundler.ts"],"names":[],"mappings":";;;;;;;;;;AAaA,eAAsB,gBACpB,SAAA,EACA,kBAAA,EACA,UACA,GAAA,GAA8B,EAAE,wBAAwB,IAAA,CAAK,SAAA,CAAU,YAAY,CAAA,EAAE,EACrF,EAAE,SAAA,GAAY,KAAA,EAAO,gBAAgB,IAAA,EAAK,GAAsD,EAAC,EAC1E;AACvB,EAAA,IAAI,iBAAA,GACF,QAAA,KAAa,MAAA,GACT,WAAA,CAAY;AAAA,IACV,cAAA,EAAgB,IAAA;AAAA,IAChB,gBAAA,EAAkB,CAAC,MAAM;AAAA,GAC1B,IACD,WAAA,CAAY;AAAA,IACV,cAAA,EAAgB,KAAA;AAAA,IAChB,OAAA,EAAS;AAAA,GACV,CAAA;AAEP,EAAA,MAAM,aAAA,uBAAoB,GAAA,EAAY;AAEtC,EAAA,KAAA,MAAW,QAAA,IAAY,mBAAmB,oBAAA,EAAsB;AAC9D,IAAA,IAAI,QAAA,CAAS,UAAA,CAAW,GAAG,CAAA,EAAG;AAC5B,MAAA,MAAM,CAAC,KAAA,EAAO,IAAI,IAAI,QAAA,CAAS,KAAA,CAAM,KAAK,CAAC,CAAA;AAC3C,MAAA,aAAA,CAAc,GAAA,CAAI,CAAA,EAAG,KAAK,CAAA,CAAA,EAAI,IAAI,CAAA,CAAE,CAAA;AACpC,MAAA,aAAA,CAAc,GAAA,CAAI,CAAA,EAAG,KAAK,CAAA,CAAA,EAAI,IAAI,CAAA,EAAA,CAAI,CAAA;AAAA,IACxC,CAAA,MAAO;AACL,MAAA,aAAA,CAAc,IAAI,QAAQ,CAAA;AAC1B,MAAA,aAAA,CAAc,GAAA,CAAI,CAAA,EAAG,QAAQ,CAAA,EAAA,CAAI,CAAA;AAAA,IACnC;AAAA,EACF;AAEA,EAAA,MAAM,SAAA,GAAY,KAAA,CAAM,IAAA,CAAK,aAAa,CAAA;AAE1C,EAAA,MAAM,mBAAA,GAAsB,SAAA,CAAU,UAAA,CAAW,IAAA,EAAM,GAAG,CAAA;AAC1D,EAAA,OAAO;AAAA,IACL,QAAA,EAAU,OAAA,CAAQ,GAAA,CAAI,oBAAA,KAAyB,SAAS,OAAA,GAAU,QAAA;AAAA,IAClE,SAAA,EAAW,UAAA;AAAA,IACX,gBAAA,EAAkB,IAAA;AAAA,IAClB,QAAA,EAAU,SAAA;AAAA,IACV,OAAA,EAAS;AAAA,MACP;AAAA,QACE,IAAA,EAAM,sBAAA;AAAA;AAAA,QAEN,UAAU,EAAA,EAAI;AACZ,UAAA,IAAI,CAAC,kBAAA,CAAmB,YAAA,CAAa,GAAA,CAAI,EAAE,CAAA,EAAG;AAC5C,YAAA,OAAO,IAAA;AAAA,UACT;AAEA,UAAA,MAAM,cAAA,GAAiB,mBAAmB,aAAA,CAAc,GAAA,CAAI,mBAAmB,YAAA,CAAa,GAAA,CAAI,EAAE,CAAE,CAAA;AACpG,UAAA,IAAI,cAAA,EAAgB;AAClB,YAAA,OAAO;AAAA,cACL,EAAA;AAAA,cACA,QAAA,EAAU;AAAA,aACZ;AAAA,UACF;AAEA,UAAA,OAAO;AAAA,YACL,EAAA,EAAI,iBAAA,GAAoB,kBAAA,CAAmB,YAAA,CAAa,IAAI,EAAE,CAAA;AAAA,YAC9D,QAAA,EAAU;AAAA,WACZ;AAAA,QACF;AAAA,OACF;AAAA,MACA,
|
|
1
|
+
{"version":3,"sources":["../src/build/bundler.ts"],"names":[],"mappings":"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","file":"chunk-LQCSOGOC.js","sourcesContent":["import alias from '@rollup/plugin-alias';\nimport commonjs from '@rollup/plugin-commonjs';\nimport json from '@rollup/plugin-json';\nimport nodeResolve from '@rollup/plugin-node-resolve';\nimport esmShim from '@rollup/plugin-esm-shim';\nimport { fileURLToPath } from 'node:url';\nimport { rollup, type InputOptions, type OutputOptions } from 'rollup';\nimport { esbuild } from './plugins/esbuild';\nimport { optimizeLodashImports } from '@optimize-lodash/rollup-plugin';\nimport type { analyzeBundle } from './analyze';\nimport { removeDeployer } from './plugins/remove-deployer';\nimport { tsConfigPaths } from './plugins/tsconfig-paths';\n\nexport async function getInputOptions(\n entryFile: string,\n analyzedBundleInfo: Awaited<ReturnType<typeof analyzeBundle>>,\n platform: 'node' | 'browser',\n env: Record<string, string> = { 'process.env.NODE_ENV': JSON.stringify('production') },\n { sourcemap = false, enableEsmShim = true }: { sourcemap?: boolean; enableEsmShim?: boolean } = {},\n): Promise<InputOptions> {\n let nodeResolvePlugin =\n platform === 'node'\n ? nodeResolve({\n preferBuiltins: true,\n exportConditions: ['node'],\n })\n : nodeResolve({\n preferBuiltins: false,\n browser: true,\n });\n\n const externalsCopy = new Set<string>();\n // make all nested imports external from the same package\n for (const external of analyzedBundleInfo.externalDependencies) {\n if (external.startsWith('@')) {\n const [scope, name] = external.split('/', 3);\n externalsCopy.add(`${scope}/${name}`);\n externalsCopy.add(`${scope}/${name}/*`);\n } else {\n externalsCopy.add(external);\n externalsCopy.add(`${external}/*`);\n }\n }\n\n const externals = Array.from(externalsCopy);\n\n const normalizedEntryFile = entryFile.replaceAll('\\\\', '/');\n return {\n logLevel: process.env.MASTRA_BUNDLER_DEBUG === 'true' ? 'debug' : 'silent',\n treeshake: 'smallest',\n preserveSymlinks: true,\n external: externals,\n plugins: [\n {\n name: 'alias-optimized-deps',\n // @ts-ignore\n resolveId(id) {\n if (!analyzedBundleInfo.dependencies.has(id)) {\n return null;\n }\n\n const isInvalidChunk = analyzedBundleInfo.invalidChunks.has(analyzedBundleInfo.dependencies.get(id)!);\n if (isInvalidChunk) {\n return {\n id,\n external: true,\n };\n }\n\n return {\n id: '.mastra/.build/' + analyzedBundleInfo.dependencies.get(id)!,\n external: false,\n };\n },\n },\n alias({\n entries: [\n {\n find: /^\\#server$/,\n replacement: fileURLToPath(import.meta.resolve('@mastra/deployer/server')).replaceAll('\\\\', '/'),\n },\n {\n find: /^\\@mastra\\/server\\/(.*)/,\n replacement: `@mastra/server/$1`,\n customResolver: id => {\n if (id.startsWith('@mastra/server')) {\n return {\n id: fileURLToPath(import.meta.resolve(id)),\n };\n }\n },\n },\n { find: /^\\#mastra$/, replacement: normalizedEntryFile },\n ],\n }),\n tsConfigPaths(),\n {\n name: 'tools-rewriter',\n resolveId(id: string) {\n if (id === '#tools') {\n return {\n id: './tools.mjs',\n external: true,\n };\n }\n },\n },\n esbuild({\n platform,\n define: env,\n }),\n optimizeLodashImports(),\n commonjs({\n extensions: ['.js', '.ts'],\n transformMixedEsModules: true,\n esmExternals(id) {\n return externals.includes(id);\n },\n }),\n enableEsmShim ? esmShim() : undefined,\n nodeResolvePlugin,\n // for debugging\n // {\n // name: 'logger',\n // //@ts-ignore\n // resolveId(id, ...args) {\n // console.log({ id, args });\n // },\n // // @ts-ignore\n // transform(code, id) {\n // if (code.includes('class Duplexify ')) {\n // console.log({ duplex: id });\n // }\n // },\n // },\n json(),\n removeDeployer(entryFile, { sourcemap }),\n // treeshake unused imports\n esbuild({\n include: entryFile,\n platform,\n }),\n ].filter(Boolean),\n } satisfies InputOptions;\n}\n\nexport async function createBundler(\n inputOptions: InputOptions,\n outputOptions: Partial<OutputOptions> & { dir: string },\n) {\n const bundler = await rollup(inputOptions);\n\n return {\n write: () => {\n return bundler.write({\n ...outputOptions,\n format: 'esm',\n entryFileNames: '[name].mjs',\n chunkFileNames: '[name].mjs',\n });\n },\n close: () => {\n return bundler.close();\n },\n };\n}\n"]}
|
|
@@ -145,7 +145,7 @@ function tsConfigPaths({ tsConfigPath, respectCoreModule, localResolve } = {}) {
|
|
|
145
145
|
if (!request.startsWith("./") && !request.startsWith("../") && importerMeta?.[PLUGIN_NAME]?.resolved) {
|
|
146
146
|
return {
|
|
147
147
|
...resolved,
|
|
148
|
-
external:
|
|
148
|
+
external: !request.startsWith("hono/") && request !== "hono"
|
|
149
149
|
};
|
|
150
150
|
}
|
|
151
151
|
}
|
|
@@ -187,5 +187,5 @@ function tsConfigPaths({ tsConfigPath, respectCoreModule, localResolve } = {}) {
|
|
|
187
187
|
exports.esbuild = esbuild;
|
|
188
188
|
exports.removeDeployer = removeDeployer2;
|
|
189
189
|
exports.tsConfigPaths = tsConfigPaths;
|
|
190
|
-
//# sourceMappingURL=chunk-
|
|
191
|
-
//# sourceMappingURL=chunk-
|
|
190
|
+
//# sourceMappingURL=chunk-NK2IP3RO.cjs.map
|
|
191
|
+
//# sourceMappingURL=chunk-NK2IP3RO.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/build/plugins/esbuild.ts","../src/build/babel/remove-deployer.ts","../src/build/plugins/remove-deployer.ts","../src/build/plugins/tsconfig-paths.ts"],"names":["originalEsbuild","babel","path","removeDeployer","babel2","createHandler","fs","normalize"],"mappings":"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","file":"chunk-NK2IP3RO.cjs","sourcesContent":["import originalEsbuild from 'rollup-plugin-esbuild';\n\nexport function esbuild(options: Parameters<typeof originalEsbuild>[0] = {}) {\n return originalEsbuild({\n target: 'node20',\n platform: 'node',\n minify: false,\n ...options,\n });\n}\n","import babel from '@babel/core';\n\nexport function removeDeployer() {\n const t = babel.types;\n\n return {\n name: 'remove-deployer',\n visitor: {\n NewExpression(path, state) {\n // is a variable declaration\n const varDeclaratorPath = path.findParent(path => t.isVariableDeclarator(path.node));\n if (!varDeclaratorPath) {\n return;\n }\n\n const parentNode = path.parentPath.node;\n // check if it's a const of mastra\n if (!t.isVariableDeclarator(parentNode) || !t.isIdentifier(parentNode.id) || parentNode.id.name !== 'mastra') {\n return;\n }\n\n if (!state.hasReplaced) {\n state.hasReplaced = true;\n const newMastraObj = t.cloneNode(path.node);\n if (t.isObjectExpression(newMastraObj.arguments[0]) && newMastraObj.arguments[0].properties?.[0]) {\n const deployer = newMastraObj.arguments[0].properties.find(\n prop => t.isObjectProperty(prop) && t.isIdentifier(prop.key) && prop.key.name === 'deployer',\n );\n\n if (!deployer) {\n return;\n }\n\n newMastraObj.arguments[0].properties = newMastraObj.arguments[0].properties.filter(\n prop => prop !== deployer,\n );\n\n // try to find the binding of the deployer which should be the reference to the deployer\n if (t.isObjectProperty(deployer) && t.isIdentifier(deployer.value)) {\n const deployerBinding = state.file.scope.getBinding(deployer.value.name);\n\n if (deployerBinding) {\n deployerBinding?.path?.parentPath?.remove();\n }\n }\n\n path.replaceWith(newMastraObj);\n }\n }\n },\n },\n } as babel.PluginObj;\n}\n","import * as babel from '@babel/core';\nimport type { Plugin } from 'rollup';\n\nimport { removeDeployer as removeDeployerBabelPlugin } from '../babel/remove-deployer';\n\nexport function removeDeployer(mastraEntry: string, options?: { sourcemap?: boolean }): Plugin {\n return {\n name: 'remove-deployer',\n transform(code, id) {\n if (id !== mastraEntry) {\n return;\n }\n\n return new Promise((resolve, reject) => {\n babel.transform(\n code,\n {\n babelrc: false,\n configFile: false,\n filename: id,\n plugins: [removeDeployerBabelPlugin],\n sourceMaps: options?.sourcemap,\n },\n (err, result) => {\n if (err) {\n return reject(err);\n }\n\n resolve({\n code: result!.code!,\n map: result!.map!,\n });\n },\n );\n });\n },\n } satisfies Plugin;\n}\n","import fs from 'node:fs';\nimport path, { normalize } from 'node:path';\nimport resolveFrom from 'resolve-from';\nimport type { Plugin } from 'rollup';\nimport type { RegisterOptions } from 'typescript-paths';\nimport { createHandler } from 'typescript-paths';\n\nconst PLUGIN_NAME = 'tsconfig-paths';\n\nexport type PluginOptions = Omit<RegisterOptions, 'loggerID'> & { localResolve?: boolean };\n\nexport function tsConfigPaths({ tsConfigPath, respectCoreModule, localResolve }: PluginOptions = {}): Plugin {\n let handler: ReturnType<typeof createHandler>;\n return {\n name: PLUGIN_NAME,\n buildStart() {\n handler = createHandler({\n log: () => {},\n tsConfigPath,\n respectCoreModule,\n falllback: moduleName => fs.existsSync(moduleName),\n });\n return;\n },\n async resolveId(request, importer, options) {\n if (!importer || request.startsWith('\\0')) {\n return null;\n }\n\n const moduleName = handler?.(request, normalize(importer));\n // No tsconfig alias found, so we need to resolve it normally\n if (!moduleName) {\n let importerMeta: { [PLUGIN_NAME]?: { resolved?: boolean } } = {};\n\n const resolved = await this.resolve(request, importer, { skipSelf: true, ...options });\n if (!resolved) {\n return null;\n }\n\n // If localResolve is true, we need to check if the importer has been resolved by the tsconfig-paths plugin\n // if so, we need to resolve the request from the importer instead of the root and mark it as external\n if (localResolve) {\n const importerInfo = this.getModuleInfo(importer);\n importerMeta = importerInfo?.meta || {};\n\n if (!request.startsWith('./') && !request.startsWith('../') && importerMeta?.[PLUGIN_NAME]?.resolved) {\n return {\n ...resolved,\n external: !request.startsWith('hono/') && request !== 'hono',\n };\n }\n }\n\n return {\n ...resolved,\n meta: {\n ...(resolved.meta || {}),\n ...importerMeta,\n },\n };\n }\n\n // When a module does not have an extension, we need to resolve it to a file\n if (!path.extname(moduleName)) {\n const resolved = await this.resolve(moduleName, importer, { skipSelf: true, ...options });\n\n if (!resolved) {\n return null;\n }\n\n return {\n ...resolved,\n meta: {\n ...resolved.meta,\n [PLUGIN_NAME]: {\n resolved: true,\n },\n },\n };\n }\n\n return {\n id: moduleName,\n meta: {\n [PLUGIN_NAME]: {\n resolved: true,\n },\n },\n };\n },\n } satisfies Plugin;\n}\n"]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
5
|
-
var
|
|
6
|
-
var
|
|
3
|
+
var chunkGDMDXD6B_cjs = require('./chunk-GDMDXD6B.cjs');
|
|
4
|
+
var chunkTE5Y7CVX_cjs = require('./chunk-TE5Y7CVX.cjs');
|
|
5
|
+
var chunkHFSNFLSA_cjs = require('./chunk-HFSNFLSA.cjs');
|
|
6
|
+
var chunkNK2IP3RO_cjs = require('./chunk-NK2IP3RO.cjs');
|
|
7
7
|
var chunkX54LEGAC_cjs = require('./chunk-X54LEGAC.cjs');
|
|
8
8
|
var fs = require('fs');
|
|
9
9
|
var promises = require('fs/promises');
|
|
@@ -33,7 +33,7 @@ function getCustomInstrumentationBundler(entryFile, result) {
|
|
|
33
33
|
treeshake: false,
|
|
34
34
|
plugins: [
|
|
35
35
|
// transpile typescript to something we understand
|
|
36
|
-
|
|
36
|
+
chunkNK2IP3RO_cjs.esbuild(),
|
|
37
37
|
commonjs__default.default({
|
|
38
38
|
extensions: [".js", ".ts"],
|
|
39
39
|
strictRequires: "strict",
|
|
@@ -72,7 +72,7 @@ var Bundler = class extends bundler.MastraBundler {
|
|
|
72
72
|
}
|
|
73
73
|
async writeInstrumentationFile(outputDirectory, customInstrumentationFile) {
|
|
74
74
|
const instrumentationFile = path.join(outputDirectory, "instrumentation.mjs");
|
|
75
|
-
const __dirname = path.dirname(url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('chunk-
|
|
75
|
+
const __dirname = path.dirname(url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('chunk-PEPYV5JI.cjs', document.baseURI).href))));
|
|
76
76
|
if (customInstrumentationFile) {
|
|
77
77
|
await fsExtra.copy(customInstrumentationFile, instrumentationFile);
|
|
78
78
|
} else {
|
|
@@ -128,10 +128,10 @@ var Bundler = class extends bundler.MastraBundler {
|
|
|
128
128
|
);
|
|
129
129
|
}
|
|
130
130
|
createBundler(inputOptions, outputOptions) {
|
|
131
|
-
return
|
|
131
|
+
return chunkHFSNFLSA_cjs.createBundler(inputOptions, outputOptions);
|
|
132
132
|
}
|
|
133
133
|
async analyze(entry, mastraFile, outputDirectory) {
|
|
134
|
-
return await
|
|
134
|
+
return await chunkTE5Y7CVX_cjs.analyzeBundle(
|
|
135
135
|
[].concat(entry),
|
|
136
136
|
mastraFile,
|
|
137
137
|
path.join(outputDirectory, this.analyzeOutputDir),
|
|
@@ -167,7 +167,7 @@ var Bundler = class extends bundler.MastraBundler {
|
|
|
167
167
|
}
|
|
168
168
|
}
|
|
169
169
|
async getBundlerOptions(serverFile, mastraEntryFile, analyzedBundleInfo, toolsPaths, { enableSourcemap = false, enableEsmShim = true } = {}) {
|
|
170
|
-
const inputOptions = await
|
|
170
|
+
const inputOptions = await chunkHFSNFLSA_cjs.getInputOptions(
|
|
171
171
|
mastraEntryFile,
|
|
172
172
|
analyzedBundleInfo,
|
|
173
173
|
"node",
|
|
@@ -220,7 +220,7 @@ var Bundler = class extends bundler.MastraBundler {
|
|
|
220
220
|
this.logger.info("Start bundling Mastra");
|
|
221
221
|
let sourcemap = false;
|
|
222
222
|
try {
|
|
223
|
-
const bundlerOptions = await
|
|
223
|
+
const bundlerOptions = await chunkTE5Y7CVX_cjs.getBundlerOptions(mastraEntryFile, outputDirectory);
|
|
224
224
|
sourcemap = !!bundlerOptions?.sourcemap;
|
|
225
225
|
} catch (error) {
|
|
226
226
|
this.logger.debug("Failed to get bundler options, sourcemap will be disabled", { error });
|
|
@@ -228,7 +228,7 @@ var Bundler = class extends bundler.MastraBundler {
|
|
|
228
228
|
let analyzedBundleInfo;
|
|
229
229
|
try {
|
|
230
230
|
const resolvedToolsPaths = await this.getToolsInputOptions(toolsPaths);
|
|
231
|
-
analyzedBundleInfo = await
|
|
231
|
+
analyzedBundleInfo = await chunkTE5Y7CVX_cjs.analyzeBundle(
|
|
232
232
|
[serverFile, ...Object.values(resolvedToolsPaths)],
|
|
233
233
|
mastraEntryFile,
|
|
234
234
|
path.join(outputDirectory, this.analyzeOutputDir),
|
|
@@ -250,7 +250,7 @@ var Bundler = class extends bundler.MastraBundler {
|
|
|
250
250
|
}
|
|
251
251
|
let externalDependencies;
|
|
252
252
|
try {
|
|
253
|
-
const result = await
|
|
253
|
+
const result = await chunkGDMDXD6B_cjs.writeTelemetryConfig(mastraEntryFile, path.join(outputDirectory, this.outputDir));
|
|
254
254
|
externalDependencies = result?.externalDependencies ?? [];
|
|
255
255
|
} catch (error$1) {
|
|
256
256
|
const message = error$1 instanceof Error ? error$1.message : String(error$1);
|
|
@@ -304,7 +304,7 @@ var Bundler = class extends bundler.MastraBundler {
|
|
|
304
304
|
workspaceDependencies.add(dep);
|
|
305
305
|
continue;
|
|
306
306
|
}
|
|
307
|
-
const rootPath = await
|
|
307
|
+
const rootPath = await chunkTE5Y7CVX_cjs.getPackageRootPath(dep);
|
|
308
308
|
const pkg = await fsExtra.readJSON(`${rootPath}/package.json`);
|
|
309
309
|
dependenciesToInstall.set(dep, pkg.version);
|
|
310
310
|
} catch {
|
|
@@ -314,7 +314,7 @@ var Bundler = class extends bundler.MastraBundler {
|
|
|
314
314
|
let resolutions = {};
|
|
315
315
|
if (workspaceDependencies.size > 0) {
|
|
316
316
|
try {
|
|
317
|
-
const result =
|
|
317
|
+
const result = chunkTE5Y7CVX_cjs.collectTransitiveWorkspaceDependencies({
|
|
318
318
|
workspaceMap: analyzedBundleInfo.workspaceMap,
|
|
319
319
|
initialDependencies: workspaceDependencies,
|
|
320
320
|
logger: this.logger
|
|
@@ -323,7 +323,7 @@ var Bundler = class extends bundler.MastraBundler {
|
|
|
323
323
|
Object.entries(resolutions).forEach(([pkgName, tgzPath]) => {
|
|
324
324
|
dependenciesToInstall.set(pkgName, tgzPath);
|
|
325
325
|
});
|
|
326
|
-
await
|
|
326
|
+
await chunkTE5Y7CVX_cjs.packWorkspaceDependencies({
|
|
327
327
|
workspaceMap: analyzedBundleInfo.workspaceMap,
|
|
328
328
|
usedWorkspacePackages: result.usedWorkspacePackages,
|
|
329
329
|
bundleOutputDir: path.join(outputDirectory, this.outputDir),
|
|
@@ -420,5 +420,5 @@ export const tools = [${toolsExports.join(", ")}]`
|
|
|
420
420
|
};
|
|
421
421
|
|
|
422
422
|
exports.Bundler = Bundler;
|
|
423
|
-
//# sourceMappingURL=chunk-
|
|
424
|
-
//# sourceMappingURL=chunk-
|
|
423
|
+
//# sourceMappingURL=chunk-PEPYV5JI.cjs.map
|
|
424
|
+
//# sourceMappingURL=chunk-PEPYV5JI.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/build/customInstrumentation.ts","../src/bundler/index.ts"],"names":["rollup","esbuild","commonjs","MastraBundler","emptyDir","ensureDir","join","dirname","fileURLToPath","copy","writeFile","createBundler","analyzeBundle","DepsService","stat","getInputOptions","existsSync","virtual","globby","path","fsExtra","FileService","getBundlerOptions","error","MastraError","ErrorDomain","ErrorCategory","writeTelemetryConfig","getPackageRootPath","readJSON","collectTransitiveWorkspaceDependencies","packWorkspaceDependencies"],"mappings":"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","file":"chunk-FXJQRVOQ.cjs","sourcesContent":["import { rollup } from 'rollup';\nimport { esbuild } from './plugins/esbuild';\nimport commonjs from '@rollup/plugin-commonjs';\n\nexport function getCustomInstrumentationBundler(\n entryFile: string,\n result: {\n hasCustomConfig: false;\n },\n) {\n return rollup({\n logLevel: 'silent',\n input: {\n instrumentation: entryFile,\n },\n treeshake: false,\n plugins: [\n // transpile typescript to something we understand\n esbuild(),\n commonjs({\n extensions: ['.js', '.ts'],\n strictRequires: 'strict',\n transformMixedEsModules: true,\n ignoreTryCatch: false,\n }),\n ],\n });\n}\n\nexport async function writeCustomInstrumentation(\n entryFile: string,\n outputDir: string,\n options: {\n sourcemap?: boolean;\n } = {},\n): Promise<{\n hasCustomConfig: boolean;\n externalDependencies: string[];\n}> {\n const result = {\n hasCustomConfig: false,\n } as const;\n\n const bundle = await getCustomInstrumentationBundler(entryFile, result);\n\n const { output } = await bundle.write({\n dir: outputDir,\n format: 'es',\n entryFileNames: '[name].mjs',\n sourcemap: options.sourcemap,\n });\n const externals = output[0].imports.filter(x => !x.startsWith('./'));\n\n return { ...result, externalDependencies: externals };\n}\n","import { existsSync } from 'node:fs';\nimport { stat, writeFile } from 'node:fs/promises';\nimport { dirname, join } from 'node:path';\nimport { fileURLToPath } from 'node:url';\nimport { MastraBundler } from '@mastra/core/bundler';\nimport { MastraError, ErrorDomain, ErrorCategory } from '@mastra/core/error';\nimport virtual from '@rollup/plugin-virtual';\nimport fsExtra, { copy, ensureDir, readJSON, emptyDir } from 'fs-extra/esm';\nimport { globby } from 'globby';\nimport type { InputOptions, OutputOptions } from 'rollup';\nimport { analyzeBundle } from '../build/analyze';\nimport { createBundler as createBundlerUtil, getInputOptions } from '../build/bundler';\nimport { getBundlerOptions } from '../build/bundlerOptions';\nimport { writeCustomInstrumentation } from '../build/customInstrumentation';\nimport { writeTelemetryConfig } from '../build/telemetry';\nimport { getPackageRootPath } from '../build/utils';\nimport { DepsService } from '../services/deps';\nimport { FileService } from '../services/fs';\nimport { collectTransitiveWorkspaceDependencies, packWorkspaceDependencies } from './workspaceDependencies';\n\nexport abstract class Bundler extends MastraBundler {\n protected analyzeOutputDir = '.build';\n protected outputDir = 'output';\n\n constructor(name: string, component: 'BUNDLER' | 'DEPLOYER' = 'BUNDLER') {\n super({ name, component });\n }\n\n async prepare(outputDirectory: string): Promise<void> {\n // Clean up the output directory first\n await emptyDir(outputDirectory);\n\n await ensureDir(join(outputDirectory, this.analyzeOutputDir));\n await ensureDir(join(outputDirectory, this.outputDir));\n }\n\n async writeInstrumentationFile(outputDirectory: string, customInstrumentationFile?: string) {\n const instrumentationFile = join(outputDirectory, 'instrumentation.mjs');\n const __dirname = dirname(fileURLToPath(import.meta.url));\n\n if (customInstrumentationFile) {\n await copy(customInstrumentationFile, instrumentationFile);\n } else {\n await copy(join(__dirname, 'templates', 'instrumentation-template.js'), instrumentationFile);\n }\n }\n\n async writePackageJson(\n outputDirectory: string,\n dependencies: Map<string, string>,\n resolutions?: Record<string, string>,\n ) {\n this.logger.debug(`Writing project's package.json`);\n\n await ensureDir(outputDirectory);\n const pkgPath = join(outputDirectory, 'package.json');\n\n const dependenciesMap = new Map();\n for (const [key, value] of dependencies.entries()) {\n if (key.startsWith('@')) {\n // Handle scoped packages (e.g. @org/package)\n const pkgChunks = key.split('/');\n dependenciesMap.set(`${pkgChunks[0]}/${pkgChunks[1]}`, value);\n } else {\n // For non-scoped packages, take only the first part before any slash\n const pkgName = key.split('/')[0] || key;\n dependenciesMap.set(pkgName, value);\n }\n }\n\n // add telemetry dependencies\n dependenciesMap.set('@opentelemetry/core', '^2.0.1');\n dependenciesMap.set('@opentelemetry/auto-instrumentations-node', '^0.59.0');\n dependenciesMap.set('@opentelemetry/exporter-trace-otlp-grpc', '^0.201.0');\n dependenciesMap.set('@opentelemetry/exporter-trace-otlp-http', '^0.201.0');\n dependenciesMap.set('@opentelemetry/resources', '^2.0.1');\n dependenciesMap.set('@opentelemetry/sdk-node', '^0.201.0');\n dependenciesMap.set('@opentelemetry/sdk-trace-base', '^2.0.1');\n dependenciesMap.set('@opentelemetry/semantic-conventions', '^1.33.0');\n dependenciesMap.set('@opentelemetry/instrumentation', '^0.202.0');\n\n await writeFile(\n pkgPath,\n JSON.stringify(\n {\n name: 'server',\n version: '1.0.0',\n description: '',\n type: 'module',\n main: 'index.mjs',\n scripts: {\n start: 'node --import=./instrumentation.mjs --import=@opentelemetry/instrumentation/hook.mjs ./index.mjs',\n },\n author: 'Mastra',\n license: 'ISC',\n dependencies: Object.fromEntries(dependenciesMap.entries()),\n ...(Object.keys(resolutions ?? {}).length > 0 && { resolutions }),\n pnpm: {\n neverBuiltDependencies: [],\n },\n },\n null,\n 2,\n ),\n );\n }\n\n protected createBundler(inputOptions: InputOptions, outputOptions: Partial<OutputOptions> & { dir: string }) {\n return createBundlerUtil(inputOptions, outputOptions);\n }\n\n protected async analyze(entry: string | string[], mastraFile: string, outputDirectory: string) {\n return await analyzeBundle(\n ([] as string[]).concat(entry),\n mastraFile,\n join(outputDirectory, this.analyzeOutputDir),\n 'node',\n this.logger,\n );\n }\n\n protected async installDependencies(outputDirectory: string, rootDir = process.cwd()) {\n const deps = new DepsService(rootDir);\n deps.__setLogger(this.logger);\n\n await deps.install({ dir: join(outputDirectory, this.outputDir) });\n }\n\n protected async copyPublic(mastraDir: string, outputDirectory: string) {\n const publicDir = join(mastraDir, 'public');\n\n try {\n await stat(publicDir);\n } catch {\n return;\n }\n\n await copy(publicDir, join(outputDirectory, this.outputDir));\n }\n\n protected async copyDOTNPMRC({\n rootDir = process.cwd(),\n outputDirectory,\n }: {\n rootDir?: string;\n outputDirectory: string;\n }) {\n const sourceDotNpmRcPath = join(rootDir, '.npmrc');\n const targetDotNpmRcPath = join(outputDirectory, this.outputDir, '.npmrc');\n\n try {\n await stat(sourceDotNpmRcPath);\n await copy(sourceDotNpmRcPath, targetDotNpmRcPath);\n } catch {\n return;\n }\n }\n\n protected async getBundlerOptions(\n serverFile: string,\n mastraEntryFile: string,\n analyzedBundleInfo: Awaited<ReturnType<typeof analyzeBundle>>,\n toolsPaths: (string | string[])[],\n { enableSourcemap = false, enableEsmShim = true }: { enableSourcemap?: boolean; enableEsmShim?: boolean } = {},\n ) {\n const inputOptions: InputOptions = await getInputOptions(\n mastraEntryFile,\n analyzedBundleInfo,\n 'node',\n {\n 'process.env.NODE_ENV': JSON.stringify('production'),\n },\n { sourcemap: enableSourcemap, enableEsmShim },\n );\n const isVirtual = serverFile.includes('\\n') || existsSync(serverFile);\n\n const toolsInputOptions = await this.getToolsInputOptions(toolsPaths);\n\n if (isVirtual) {\n inputOptions.input = { index: '#entry', ...toolsInputOptions };\n\n if (Array.isArray(inputOptions.plugins)) {\n inputOptions.plugins.unshift(virtual({ '#entry': serverFile }));\n } else {\n inputOptions.plugins = [virtual({ '#entry': serverFile })];\n }\n } else {\n inputOptions.input = { index: serverFile, ...toolsInputOptions };\n }\n\n return inputOptions;\n }\n\n async getToolsInputOptions(toolsPaths: (string | string[])[]) {\n const inputs: Record<string, string> = {};\n\n for (const toolPath of toolsPaths) {\n const expandedPaths = await globby(toolPath, {});\n\n for (const path of expandedPaths) {\n if (await fsExtra.pathExists(path)) {\n const fileService = new FileService();\n const entryFile = fileService.getFirstExistingFile([\n join(path, 'index.ts'),\n join(path, 'index.js'),\n path, // if path itself is a file\n ]);\n\n // if it doesn't exist or is a dir skip it. using a dir as a tool will crash the process\n if (!entryFile || (await stat(entryFile)).isDirectory()) {\n this.logger.warn(`No entry file found in ${path}, skipping...`);\n continue;\n }\n\n const uniqueToolID = crypto.randomUUID();\n inputs[`tools/${uniqueToolID}`] = entryFile;\n } else {\n this.logger.warn(`Tool path ${path} does not exist, skipping...`);\n }\n }\n }\n\n return inputs;\n }\n\n protected async _bundle(\n serverFile: string,\n mastraEntryFile: string,\n outputDirectory: string,\n toolsPaths: (string | string[])[] = [],\n bundleLocation: string = join(outputDirectory, this.outputDir),\n ): Promise<void> {\n this.logger.info('Start bundling Mastra');\n\n let sourcemap = false;\n\n try {\n const bundlerOptions = await getBundlerOptions(mastraEntryFile, outputDirectory);\n sourcemap = !!bundlerOptions?.sourcemap;\n } catch (error) {\n this.logger.debug('Failed to get bundler options, sourcemap will be disabled', { error });\n }\n\n let analyzedBundleInfo;\n try {\n const resolvedToolsPaths = await this.getToolsInputOptions(toolsPaths);\n analyzedBundleInfo = await analyzeBundle(\n [serverFile, ...Object.values(resolvedToolsPaths)],\n mastraEntryFile,\n join(outputDirectory, this.analyzeOutputDir),\n 'node',\n this.logger,\n sourcemap,\n );\n } catch (error) {\n const message = error instanceof Error ? error.message : String(error);\n throw new MastraError(\n {\n id: 'DEPLOYER_BUNDLER_ANALYZE_FAILED',\n text: `Failed to analyze Mastra application: ${message}`,\n domain: ErrorDomain.DEPLOYER,\n category: ErrorCategory.SYSTEM,\n },\n error,\n );\n }\n\n let externalDependencies: string[];\n try {\n const result = await writeTelemetryConfig(mastraEntryFile, join(outputDirectory, this.outputDir));\n\n externalDependencies = result?.externalDependencies ?? [];\n } catch (error) {\n const message = error instanceof Error ? error.message : String(error);\n throw new MastraError(\n {\n id: 'DEPLOYER_BUNDLER_TELEMETRY_FAILED',\n text: `Failed to write telemetry config: ${message}`,\n domain: ErrorDomain.DEPLOYER,\n category: ErrorCategory.SYSTEM,\n },\n error,\n );\n }\n\n const mastraFolder = dirname(mastraEntryFile);\n\n const fileService = new FileService();\n const customInstrumentation = fileService.getFirstExistingFileOrUndefined([\n join(mastraFolder, 'instrumentation.js'),\n join(mastraFolder, 'instrumentation.ts'),\n join(mastraFolder, 'instrumentation.mjs'),\n ]);\n\n try {\n if (customInstrumentation) {\n const result = await writeCustomInstrumentation(customInstrumentation, join(outputDirectory, this.outputDir), {\n sourcemap,\n });\n externalDependencies = [...externalDependencies, ...result.externalDependencies];\n await this.writeInstrumentationFile(join(outputDirectory, this.outputDir), customInstrumentation);\n } else {\n await this.writeInstrumentationFile(join(outputDirectory, this.outputDir));\n }\n } catch (error) {\n const message = error instanceof Error ? error.message : String(error);\n throw new MastraError(\n {\n id: 'DEPLOYER_BUNDLER_INSTRUMENTATION_FILE_FAILED',\n text: `Failed to write instrumentation file: ${message}, ${customInstrumentation ? ` Found custom instrumentation file: ${customInstrumentation}` : ''}`,\n domain: ErrorDomain.DEPLOYER,\n category: ErrorCategory.SYSTEM,\n },\n error,\n );\n }\n\n const dependenciesToInstall = new Map<string, string>();\n\n // Add extenal dependencies from telemetry file\n for (const external of externalDependencies) {\n dependenciesToInstall.set(external, 'latest');\n }\n\n const workspaceDependencies = new Set<string>();\n for (const dep of analyzedBundleInfo.externalDependencies) {\n try {\n if (analyzedBundleInfo.workspaceMap.has(dep)) {\n workspaceDependencies.add(dep);\n continue;\n }\n\n const rootPath = await getPackageRootPath(dep);\n const pkg = await readJSON(`${rootPath}/package.json`);\n\n dependenciesToInstall.set(dep, pkg.version);\n } catch {\n dependenciesToInstall.set(dep, 'latest');\n }\n }\n\n let resolutions: Record<string, string> = {};\n if (workspaceDependencies.size > 0) {\n try {\n const result = collectTransitiveWorkspaceDependencies({\n workspaceMap: analyzedBundleInfo.workspaceMap,\n initialDependencies: workspaceDependencies,\n logger: this.logger,\n });\n resolutions = result.resolutions;\n\n // Update dependenciesToInstall with the resolved TGZ paths\n Object.entries(resolutions).forEach(([pkgName, tgzPath]) => {\n dependenciesToInstall.set(pkgName, tgzPath);\n });\n\n await packWorkspaceDependencies({\n workspaceMap: analyzedBundleInfo.workspaceMap,\n usedWorkspacePackages: result.usedWorkspacePackages,\n bundleOutputDir: join(outputDirectory, this.outputDir),\n logger: this.logger,\n });\n } catch (error) {\n throw new MastraError(\n {\n id: 'DEPLOYER_BUNDLER_WORKSPACE_DEPS_FAILED',\n text: `Failed to collect and pack workspace dependencies.`,\n domain: ErrorDomain.DEPLOYER,\n category: ErrorCategory.USER,\n },\n error,\n );\n }\n }\n\n try {\n await this.writePackageJson(join(outputDirectory, this.outputDir), dependenciesToInstall, resolutions);\n\n this.logger.info('Bundling Mastra application');\n const inputOptions: InputOptions = await this.getBundlerOptions(\n serverFile,\n mastraEntryFile,\n analyzedBundleInfo,\n toolsPaths,\n { enableSourcemap: sourcemap },\n );\n\n const bundler = await this.createBundler(\n {\n ...inputOptions,\n logLevel: inputOptions.logLevel === 'silent' ? 'warn' : inputOptions.logLevel,\n onwarn: warning => {\n if (warning.code === 'CIRCULAR_DEPENDENCY') {\n if (warning.ids?.[0]?.includes('node_modules')) {\n return;\n }\n\n this.logger.warn(`Circular dependency found:\n\\t${warning.message.replace('Circular dependency: ', '')}`);\n }\n },\n },\n {\n dir: bundleLocation,\n manualChunks: {\n mastra: ['#mastra'],\n },\n sourcemap,\n },\n );\n\n await bundler.write();\n const toolImports: string[] = [];\n const toolsExports: string[] = [];\n Array.from(Object.keys(inputOptions.input || {}))\n .filter(key => key.startsWith('tools/'))\n .forEach((key, index) => {\n const toolExport = `tool${index}`;\n toolImports.push(`import * as ${toolExport} from './${key}.mjs';`);\n toolsExports.push(toolExport);\n });\n\n await writeFile(\n join(bundleLocation, 'tools.mjs'),\n `${toolImports.join('\\n')}\n\nexport const tools = [${toolsExports.join(', ')}]`,\n );\n this.logger.info('Bundling Mastra done');\n\n this.logger.info('Copying public files');\n await this.copyPublic(dirname(mastraEntryFile), outputDirectory);\n this.logger.info('Done copying public files');\n\n this.logger.info('Copying .npmrc file');\n await this.copyDOTNPMRC({ outputDirectory });\n\n this.logger.info('Done copying .npmrc file');\n\n this.logger.info('Installing dependencies');\n await this.installDependencies(outputDirectory);\n\n this.logger.info('Done installing dependencies');\n } catch (error) {\n const message = error instanceof Error ? error.message : String(error);\n throw new MastraError(\n {\n id: 'DEPLOYER_BUNDLER_BUNDLE_STAGE_FAILED',\n text: `Failed during bundler bundle stage: ${message}`,\n domain: ErrorDomain.DEPLOYER,\n category: ErrorCategory.SYSTEM,\n },\n error,\n );\n }\n }\n\n async lint(_entryFile: string, _outputDirectory: string, toolsPaths: (string | string[])[]): Promise<void> {\n const toolsInputOptions = await this.getToolsInputOptions(toolsPaths);\n const toolsLength = Object.keys(toolsInputOptions).length;\n if (toolsLength > 0) {\n this.logger.info(`Found ${toolsLength} ${toolsLength === 1 ? 'tool' : 'tools'}`);\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/build/customInstrumentation.ts","../src/bundler/index.ts"],"names":["rollup","esbuild","commonjs","MastraBundler","emptyDir","ensureDir","join","dirname","fileURLToPath","copy","writeFile","createBundler","analyzeBundle","DepsService","stat","getInputOptions","existsSync","virtual","globby","path","fsExtra","FileService","getBundlerOptions","error","MastraError","ErrorDomain","ErrorCategory","writeTelemetryConfig","getPackageRootPath","readJSON","collectTransitiveWorkspaceDependencies","packWorkspaceDependencies"],"mappings":"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","file":"chunk-PEPYV5JI.cjs","sourcesContent":["import { rollup } from 'rollup';\nimport { esbuild } from './plugins/esbuild';\nimport commonjs from '@rollup/plugin-commonjs';\n\nexport function getCustomInstrumentationBundler(\n entryFile: string,\n result: {\n hasCustomConfig: false;\n },\n) {\n return rollup({\n logLevel: 'silent',\n input: {\n instrumentation: entryFile,\n },\n treeshake: false,\n plugins: [\n // transpile typescript to something we understand\n esbuild(),\n commonjs({\n extensions: ['.js', '.ts'],\n strictRequires: 'strict',\n transformMixedEsModules: true,\n ignoreTryCatch: false,\n }),\n ],\n });\n}\n\nexport async function writeCustomInstrumentation(\n entryFile: string,\n outputDir: string,\n options: {\n sourcemap?: boolean;\n } = {},\n): Promise<{\n hasCustomConfig: boolean;\n externalDependencies: string[];\n}> {\n const result = {\n hasCustomConfig: false,\n } as const;\n\n const bundle = await getCustomInstrumentationBundler(entryFile, result);\n\n const { output } = await bundle.write({\n dir: outputDir,\n format: 'es',\n entryFileNames: '[name].mjs',\n sourcemap: options.sourcemap,\n });\n const externals = output[0].imports.filter(x => !x.startsWith('./'));\n\n return { ...result, externalDependencies: externals };\n}\n","import { existsSync } from 'node:fs';\nimport { stat, writeFile } from 'node:fs/promises';\nimport { dirname, join } from 'node:path';\nimport { fileURLToPath } from 'node:url';\nimport { MastraBundler } from '@mastra/core/bundler';\nimport { MastraError, ErrorDomain, ErrorCategory } from '@mastra/core/error';\nimport virtual from '@rollup/plugin-virtual';\nimport fsExtra, { copy, ensureDir, readJSON, emptyDir } from 'fs-extra/esm';\nimport { globby } from 'globby';\nimport type { InputOptions, OutputOptions } from 'rollup';\nimport { analyzeBundle } from '../build/analyze';\nimport { createBundler as createBundlerUtil, getInputOptions } from '../build/bundler';\nimport { getBundlerOptions } from '../build/bundlerOptions';\nimport { writeCustomInstrumentation } from '../build/customInstrumentation';\nimport { writeTelemetryConfig } from '../build/telemetry';\nimport { getPackageRootPath } from '../build/utils';\nimport { DepsService } from '../services/deps';\nimport { FileService } from '../services/fs';\nimport { collectTransitiveWorkspaceDependencies, packWorkspaceDependencies } from './workspaceDependencies';\n\nexport abstract class Bundler extends MastraBundler {\n protected analyzeOutputDir = '.build';\n protected outputDir = 'output';\n\n constructor(name: string, component: 'BUNDLER' | 'DEPLOYER' = 'BUNDLER') {\n super({ name, component });\n }\n\n async prepare(outputDirectory: string): Promise<void> {\n // Clean up the output directory first\n await emptyDir(outputDirectory);\n\n await ensureDir(join(outputDirectory, this.analyzeOutputDir));\n await ensureDir(join(outputDirectory, this.outputDir));\n }\n\n async writeInstrumentationFile(outputDirectory: string, customInstrumentationFile?: string) {\n const instrumentationFile = join(outputDirectory, 'instrumentation.mjs');\n const __dirname = dirname(fileURLToPath(import.meta.url));\n\n if (customInstrumentationFile) {\n await copy(customInstrumentationFile, instrumentationFile);\n } else {\n await copy(join(__dirname, 'templates', 'instrumentation-template.js'), instrumentationFile);\n }\n }\n\n async writePackageJson(\n outputDirectory: string,\n dependencies: Map<string, string>,\n resolutions?: Record<string, string>,\n ) {\n this.logger.debug(`Writing project's package.json`);\n\n await ensureDir(outputDirectory);\n const pkgPath = join(outputDirectory, 'package.json');\n\n const dependenciesMap = new Map();\n for (const [key, value] of dependencies.entries()) {\n if (key.startsWith('@')) {\n // Handle scoped packages (e.g. @org/package)\n const pkgChunks = key.split('/');\n dependenciesMap.set(`${pkgChunks[0]}/${pkgChunks[1]}`, value);\n } else {\n // For non-scoped packages, take only the first part before any slash\n const pkgName = key.split('/')[0] || key;\n dependenciesMap.set(pkgName, value);\n }\n }\n\n // add telemetry dependencies\n dependenciesMap.set('@opentelemetry/core', '^2.0.1');\n dependenciesMap.set('@opentelemetry/auto-instrumentations-node', '^0.59.0');\n dependenciesMap.set('@opentelemetry/exporter-trace-otlp-grpc', '^0.201.0');\n dependenciesMap.set('@opentelemetry/exporter-trace-otlp-http', '^0.201.0');\n dependenciesMap.set('@opentelemetry/resources', '^2.0.1');\n dependenciesMap.set('@opentelemetry/sdk-node', '^0.201.0');\n dependenciesMap.set('@opentelemetry/sdk-trace-base', '^2.0.1');\n dependenciesMap.set('@opentelemetry/semantic-conventions', '^1.33.0');\n dependenciesMap.set('@opentelemetry/instrumentation', '^0.202.0');\n\n await writeFile(\n pkgPath,\n JSON.stringify(\n {\n name: 'server',\n version: '1.0.0',\n description: '',\n type: 'module',\n main: 'index.mjs',\n scripts: {\n start: 'node --import=./instrumentation.mjs --import=@opentelemetry/instrumentation/hook.mjs ./index.mjs',\n },\n author: 'Mastra',\n license: 'ISC',\n dependencies: Object.fromEntries(dependenciesMap.entries()),\n ...(Object.keys(resolutions ?? {}).length > 0 && { resolutions }),\n pnpm: {\n neverBuiltDependencies: [],\n },\n },\n null,\n 2,\n ),\n );\n }\n\n protected createBundler(inputOptions: InputOptions, outputOptions: Partial<OutputOptions> & { dir: string }) {\n return createBundlerUtil(inputOptions, outputOptions);\n }\n\n protected async analyze(entry: string | string[], mastraFile: string, outputDirectory: string) {\n return await analyzeBundle(\n ([] as string[]).concat(entry),\n mastraFile,\n join(outputDirectory, this.analyzeOutputDir),\n 'node',\n this.logger,\n );\n }\n\n protected async installDependencies(outputDirectory: string, rootDir = process.cwd()) {\n const deps = new DepsService(rootDir);\n deps.__setLogger(this.logger);\n\n await deps.install({ dir: join(outputDirectory, this.outputDir) });\n }\n\n protected async copyPublic(mastraDir: string, outputDirectory: string) {\n const publicDir = join(mastraDir, 'public');\n\n try {\n await stat(publicDir);\n } catch {\n return;\n }\n\n await copy(publicDir, join(outputDirectory, this.outputDir));\n }\n\n protected async copyDOTNPMRC({\n rootDir = process.cwd(),\n outputDirectory,\n }: {\n rootDir?: string;\n outputDirectory: string;\n }) {\n const sourceDotNpmRcPath = join(rootDir, '.npmrc');\n const targetDotNpmRcPath = join(outputDirectory, this.outputDir, '.npmrc');\n\n try {\n await stat(sourceDotNpmRcPath);\n await copy(sourceDotNpmRcPath, targetDotNpmRcPath);\n } catch {\n return;\n }\n }\n\n protected async getBundlerOptions(\n serverFile: string,\n mastraEntryFile: string,\n analyzedBundleInfo: Awaited<ReturnType<typeof analyzeBundle>>,\n toolsPaths: (string | string[])[],\n { enableSourcemap = false, enableEsmShim = true }: { enableSourcemap?: boolean; enableEsmShim?: boolean } = {},\n ) {\n const inputOptions: InputOptions = await getInputOptions(\n mastraEntryFile,\n analyzedBundleInfo,\n 'node',\n {\n 'process.env.NODE_ENV': JSON.stringify('production'),\n },\n { sourcemap: enableSourcemap, enableEsmShim },\n );\n const isVirtual = serverFile.includes('\\n') || existsSync(serverFile);\n\n const toolsInputOptions = await this.getToolsInputOptions(toolsPaths);\n\n if (isVirtual) {\n inputOptions.input = { index: '#entry', ...toolsInputOptions };\n\n if (Array.isArray(inputOptions.plugins)) {\n inputOptions.plugins.unshift(virtual({ '#entry': serverFile }));\n } else {\n inputOptions.plugins = [virtual({ '#entry': serverFile })];\n }\n } else {\n inputOptions.input = { index: serverFile, ...toolsInputOptions };\n }\n\n return inputOptions;\n }\n\n async getToolsInputOptions(toolsPaths: (string | string[])[]) {\n const inputs: Record<string, string> = {};\n\n for (const toolPath of toolsPaths) {\n const expandedPaths = await globby(toolPath, {});\n\n for (const path of expandedPaths) {\n if (await fsExtra.pathExists(path)) {\n const fileService = new FileService();\n const entryFile = fileService.getFirstExistingFile([\n join(path, 'index.ts'),\n join(path, 'index.js'),\n path, // if path itself is a file\n ]);\n\n // if it doesn't exist or is a dir skip it. using a dir as a tool will crash the process\n if (!entryFile || (await stat(entryFile)).isDirectory()) {\n this.logger.warn(`No entry file found in ${path}, skipping...`);\n continue;\n }\n\n const uniqueToolID = crypto.randomUUID();\n inputs[`tools/${uniqueToolID}`] = entryFile;\n } else {\n this.logger.warn(`Tool path ${path} does not exist, skipping...`);\n }\n }\n }\n\n return inputs;\n }\n\n protected async _bundle(\n serverFile: string,\n mastraEntryFile: string,\n outputDirectory: string,\n toolsPaths: (string | string[])[] = [],\n bundleLocation: string = join(outputDirectory, this.outputDir),\n ): Promise<void> {\n this.logger.info('Start bundling Mastra');\n\n let sourcemap = false;\n\n try {\n const bundlerOptions = await getBundlerOptions(mastraEntryFile, outputDirectory);\n sourcemap = !!bundlerOptions?.sourcemap;\n } catch (error) {\n this.logger.debug('Failed to get bundler options, sourcemap will be disabled', { error });\n }\n\n let analyzedBundleInfo;\n try {\n const resolvedToolsPaths = await this.getToolsInputOptions(toolsPaths);\n analyzedBundleInfo = await analyzeBundle(\n [serverFile, ...Object.values(resolvedToolsPaths)],\n mastraEntryFile,\n join(outputDirectory, this.analyzeOutputDir),\n 'node',\n this.logger,\n sourcemap,\n );\n } catch (error) {\n const message = error instanceof Error ? error.message : String(error);\n throw new MastraError(\n {\n id: 'DEPLOYER_BUNDLER_ANALYZE_FAILED',\n text: `Failed to analyze Mastra application: ${message}`,\n domain: ErrorDomain.DEPLOYER,\n category: ErrorCategory.SYSTEM,\n },\n error,\n );\n }\n\n let externalDependencies: string[];\n try {\n const result = await writeTelemetryConfig(mastraEntryFile, join(outputDirectory, this.outputDir));\n\n externalDependencies = result?.externalDependencies ?? [];\n } catch (error) {\n const message = error instanceof Error ? error.message : String(error);\n throw new MastraError(\n {\n id: 'DEPLOYER_BUNDLER_TELEMETRY_FAILED',\n text: `Failed to write telemetry config: ${message}`,\n domain: ErrorDomain.DEPLOYER,\n category: ErrorCategory.SYSTEM,\n },\n error,\n );\n }\n\n const mastraFolder = dirname(mastraEntryFile);\n\n const fileService = new FileService();\n const customInstrumentation = fileService.getFirstExistingFileOrUndefined([\n join(mastraFolder, 'instrumentation.js'),\n join(mastraFolder, 'instrumentation.ts'),\n join(mastraFolder, 'instrumentation.mjs'),\n ]);\n\n try {\n if (customInstrumentation) {\n const result = await writeCustomInstrumentation(customInstrumentation, join(outputDirectory, this.outputDir), {\n sourcemap,\n });\n externalDependencies = [...externalDependencies, ...result.externalDependencies];\n await this.writeInstrumentationFile(join(outputDirectory, this.outputDir), customInstrumentation);\n } else {\n await this.writeInstrumentationFile(join(outputDirectory, this.outputDir));\n }\n } catch (error) {\n const message = error instanceof Error ? error.message : String(error);\n throw new MastraError(\n {\n id: 'DEPLOYER_BUNDLER_INSTRUMENTATION_FILE_FAILED',\n text: `Failed to write instrumentation file: ${message}, ${customInstrumentation ? ` Found custom instrumentation file: ${customInstrumentation}` : ''}`,\n domain: ErrorDomain.DEPLOYER,\n category: ErrorCategory.SYSTEM,\n },\n error,\n );\n }\n\n const dependenciesToInstall = new Map<string, string>();\n\n // Add extenal dependencies from telemetry file\n for (const external of externalDependencies) {\n dependenciesToInstall.set(external, 'latest');\n }\n\n const workspaceDependencies = new Set<string>();\n for (const dep of analyzedBundleInfo.externalDependencies) {\n try {\n if (analyzedBundleInfo.workspaceMap.has(dep)) {\n workspaceDependencies.add(dep);\n continue;\n }\n\n const rootPath = await getPackageRootPath(dep);\n const pkg = await readJSON(`${rootPath}/package.json`);\n\n dependenciesToInstall.set(dep, pkg.version);\n } catch {\n dependenciesToInstall.set(dep, 'latest');\n }\n }\n\n let resolutions: Record<string, string> = {};\n if (workspaceDependencies.size > 0) {\n try {\n const result = collectTransitiveWorkspaceDependencies({\n workspaceMap: analyzedBundleInfo.workspaceMap,\n initialDependencies: workspaceDependencies,\n logger: this.logger,\n });\n resolutions = result.resolutions;\n\n // Update dependenciesToInstall with the resolved TGZ paths\n Object.entries(resolutions).forEach(([pkgName, tgzPath]) => {\n dependenciesToInstall.set(pkgName, tgzPath);\n });\n\n await packWorkspaceDependencies({\n workspaceMap: analyzedBundleInfo.workspaceMap,\n usedWorkspacePackages: result.usedWorkspacePackages,\n bundleOutputDir: join(outputDirectory, this.outputDir),\n logger: this.logger,\n });\n } catch (error) {\n throw new MastraError(\n {\n id: 'DEPLOYER_BUNDLER_WORKSPACE_DEPS_FAILED',\n text: `Failed to collect and pack workspace dependencies.`,\n domain: ErrorDomain.DEPLOYER,\n category: ErrorCategory.USER,\n },\n error,\n );\n }\n }\n\n try {\n await this.writePackageJson(join(outputDirectory, this.outputDir), dependenciesToInstall, resolutions);\n\n this.logger.info('Bundling Mastra application');\n const inputOptions: InputOptions = await this.getBundlerOptions(\n serverFile,\n mastraEntryFile,\n analyzedBundleInfo,\n toolsPaths,\n { enableSourcemap: sourcemap },\n );\n\n const bundler = await this.createBundler(\n {\n ...inputOptions,\n logLevel: inputOptions.logLevel === 'silent' ? 'warn' : inputOptions.logLevel,\n onwarn: warning => {\n if (warning.code === 'CIRCULAR_DEPENDENCY') {\n if (warning.ids?.[0]?.includes('node_modules')) {\n return;\n }\n\n this.logger.warn(`Circular dependency found:\n\\t${warning.message.replace('Circular dependency: ', '')}`);\n }\n },\n },\n {\n dir: bundleLocation,\n manualChunks: {\n mastra: ['#mastra'],\n },\n sourcemap,\n },\n );\n\n await bundler.write();\n const toolImports: string[] = [];\n const toolsExports: string[] = [];\n Array.from(Object.keys(inputOptions.input || {}))\n .filter(key => key.startsWith('tools/'))\n .forEach((key, index) => {\n const toolExport = `tool${index}`;\n toolImports.push(`import * as ${toolExport} from './${key}.mjs';`);\n toolsExports.push(toolExport);\n });\n\n await writeFile(\n join(bundleLocation, 'tools.mjs'),\n `${toolImports.join('\\n')}\n\nexport const tools = [${toolsExports.join(', ')}]`,\n );\n this.logger.info('Bundling Mastra done');\n\n this.logger.info('Copying public files');\n await this.copyPublic(dirname(mastraEntryFile), outputDirectory);\n this.logger.info('Done copying public files');\n\n this.logger.info('Copying .npmrc file');\n await this.copyDOTNPMRC({ outputDirectory });\n\n this.logger.info('Done copying .npmrc file');\n\n this.logger.info('Installing dependencies');\n await this.installDependencies(outputDirectory);\n\n this.logger.info('Done installing dependencies');\n } catch (error) {\n const message = error instanceof Error ? error.message : String(error);\n throw new MastraError(\n {\n id: 'DEPLOYER_BUNDLER_BUNDLE_STAGE_FAILED',\n text: `Failed during bundler bundle stage: ${message}`,\n domain: ErrorDomain.DEPLOYER,\n category: ErrorCategory.SYSTEM,\n },\n error,\n );\n }\n }\n\n async lint(_entryFile: string, _outputDirectory: string, toolsPaths: (string | string[])[]): Promise<void> {\n const toolsInputOptions = await this.getToolsInputOptions(toolsPaths);\n const toolsLength = Object.keys(toolsInputOptions).length;\n if (toolsLength > 0) {\n this.logger.info(`Found ${toolsLength} ${toolsLength === 1 ? 'tool' : 'tools'}`);\n }\n }\n}\n"]}
|