@mastra/deployer 0.14.1 → 0.14.2-alpha.1
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.d.ts +10 -2
- package/dist/build/analyze.d.ts.map +1 -1
- package/dist/build/analyze.js +1 -1
- package/dist/build/index.cjs +12 -12
- package/dist/build/index.js +4 -4
- package/dist/build/plugins/node-modules-extension-resolver.d.ts.map +1 -1
- package/dist/build/utils.d.ts +8 -0
- package/dist/build/utils.d.ts.map +1 -1
- package/dist/build/watcher.d.ts.map +1 -1
- package/dist/bundler/index.cjs +2 -2
- package/dist/bundler/index.d.ts +1 -0
- package/dist/bundler/index.d.ts.map +1 -1
- package/dist/bundler/index.js +1 -1
- package/dist/bundler/workspaceDependencies.d.ts +1 -1
- package/dist/bundler/workspaceDependencies.d.ts.map +1 -1
- package/dist/{chunk-UWLRJIAY.js → chunk-3V2K2BKG.js} +10 -102
- package/dist/chunk-3V2K2BKG.js.map +1 -0
- package/dist/{chunk-GXPWEOOA.js → chunk-656BANCN.js} +158 -24
- package/dist/chunk-656BANCN.js.map +1 -0
- package/dist/{chunk-EYS7MMO2.cjs → chunk-AQGVS5EE.cjs} +14 -17
- package/dist/chunk-AQGVS5EE.cjs.map +1 -0
- package/dist/{chunk-37Q52RJU.js → chunk-GPGRGCTW.js} +7 -5
- package/dist/chunk-GPGRGCTW.js.map +1 -0
- package/dist/{chunk-HHNOUMJH.js → chunk-IPCTGBLD.js} +3 -3
- package/dist/{chunk-HHNOUMJH.js.map → chunk-IPCTGBLD.js.map} +1 -1
- package/dist/{chunk-UD4WRJI3.cjs → chunk-NBXPDOUR.cjs} +5 -5
- package/dist/{chunk-UD4WRJI3.cjs.map → chunk-NBXPDOUR.cjs.map} +1 -1
- package/dist/{chunk-ZXOY3YZC.js → chunk-NTVZIRGD.js} +9 -12
- package/dist/chunk-NTVZIRGD.js.map +1 -0
- package/dist/{chunk-G4TSJE4W.cjs → chunk-QXZRRU7Y.cjs} +162 -23
- package/dist/chunk-QXZRRU7Y.cjs.map +1 -0
- package/dist/{chunk-YOW73UMM.cjs → chunk-RU2NPMEC.cjs} +20 -114
- package/dist/chunk-RU2NPMEC.cjs.map +1 -0
- package/dist/{chunk-J4SL7224.cjs → chunk-X54LEGAC.cjs} +9 -7
- package/dist/chunk-X54LEGAC.cjs.map +1 -0
- package/dist/index.cjs +12 -12
- package/dist/index.js +4 -4
- package/dist/server/handlers/routes/observability/handlers.d.ts +4 -0
- package/dist/server/handlers/routes/observability/handlers.d.ts.map +1 -0
- package/dist/server/handlers/routes/observability/router.d.ts +3 -0
- package/dist/server/handlers/routes/observability/router.d.ts.map +1 -0
- package/dist/server/index.cjs +170 -7
- package/dist/server/index.cjs.map +1 -1
- package/dist/server/index.d.ts +1 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +164 -1
- package/dist/server/index.js.map +1 -1
- package/dist/server/types.d.ts +1 -1
- package/dist/server/types.d.ts.map +1 -1
- package/dist/services/index.cjs +4 -4
- package/dist/services/index.js +1 -1
- package/package.json +9 -8
- package/dist/chunk-37Q52RJU.js.map +0 -1
- package/dist/chunk-AVHNLB72.cjs +0 -4
- package/dist/chunk-AVHNLB72.cjs.map +0 -1
- package/dist/chunk-DESEJA4T.js +0 -3
- package/dist/chunk-DESEJA4T.js.map +0 -1
- package/dist/chunk-EYS7MMO2.cjs.map +0 -1
- package/dist/chunk-G4TSJE4W.cjs.map +0 -1
- package/dist/chunk-GXPWEOOA.js.map +0 -1
- package/dist/chunk-J4SL7224.cjs.map +0 -1
- package/dist/chunk-UWLRJIAY.js.map +0 -1
- package/dist/chunk-YOW73UMM.cjs.map +0 -1
- package/dist/chunk-ZXOY3YZC.js.map +0 -1
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
3
|
+
var chunkNBXPDOUR_cjs = require('./chunk-NBXPDOUR.cjs');
|
|
4
|
+
var chunkQXZRRU7Y_cjs = require('./chunk-QXZRRU7Y.cjs');
|
|
5
5
|
var chunkEXQIONBD_cjs = require('./chunk-EXQIONBD.cjs');
|
|
6
6
|
var chunkLG5W6D2R_cjs = require('./chunk-LG5W6D2R.cjs');
|
|
7
|
-
var
|
|
7
|
+
var chunkX54LEGAC_cjs = require('./chunk-X54LEGAC.cjs');
|
|
8
8
|
var fs = require('fs');
|
|
9
9
|
var promises = require('fs/promises');
|
|
10
10
|
var path = require('path');
|
|
@@ -14,21 +14,15 @@ var error = require('@mastra/core/error');
|
|
|
14
14
|
var virtual = require('@rollup/plugin-virtual');
|
|
15
15
|
var fsExtra = require('fs-extra/esm');
|
|
16
16
|
var globby = require('globby');
|
|
17
|
-
var resolveFrom = require('resolve-from');
|
|
18
17
|
var rollup = require('rollup');
|
|
19
18
|
var commonjs = require('@rollup/plugin-commonjs');
|
|
20
|
-
var slugify = require('@sindresorhus/slugify');
|
|
21
|
-
var findWorkspaces = require('find-workspaces');
|
|
22
|
-
var fsExtra$1 = require('fs-extra');
|
|
23
19
|
|
|
24
20
|
var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
|
|
25
21
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
26
22
|
|
|
27
23
|
var virtual__default = /*#__PURE__*/_interopDefault(virtual);
|
|
28
24
|
var fsExtra__default = /*#__PURE__*/_interopDefault(fsExtra);
|
|
29
|
-
var resolveFrom__default = /*#__PURE__*/_interopDefault(resolveFrom);
|
|
30
25
|
var commonjs__default = /*#__PURE__*/_interopDefault(commonjs);
|
|
31
|
-
var slugify__default = /*#__PURE__*/_interopDefault(slugify);
|
|
32
26
|
|
|
33
27
|
function getCustomInstrumentationBundler(entryFile, result) {
|
|
34
28
|
return rollup.rollup({
|
|
@@ -63,93 +57,6 @@ async function writeCustomInstrumentation(entryFile, outputDir, options = {}) {
|
|
|
63
57
|
const externals = output[0].imports.filter((x) => !x.startsWith("./"));
|
|
64
58
|
return { ...result, externalDependencies: externals };
|
|
65
59
|
}
|
|
66
|
-
var createWorkspacePackageMap = async () => {
|
|
67
|
-
const workspaces = await findWorkspaces.findWorkspaces();
|
|
68
|
-
const workspaceMap = new Map(
|
|
69
|
-
workspaces?.map((workspace) => [
|
|
70
|
-
workspace.package.name,
|
|
71
|
-
{
|
|
72
|
-
location: workspace.location,
|
|
73
|
-
dependencies: workspace.package.dependencies,
|
|
74
|
-
version: workspace.package.version
|
|
75
|
-
}
|
|
76
|
-
]) ?? []
|
|
77
|
-
);
|
|
78
|
-
return workspaceMap;
|
|
79
|
-
};
|
|
80
|
-
var collectTransitiveWorkspaceDependencies = ({
|
|
81
|
-
workspaceMap,
|
|
82
|
-
initialDependencies,
|
|
83
|
-
logger
|
|
84
|
-
}) => {
|
|
85
|
-
const usedWorkspacePackages = /* @__PURE__ */ new Set();
|
|
86
|
-
const queue = Array.from(initialDependencies);
|
|
87
|
-
const resolutions = {};
|
|
88
|
-
while (queue.length > 0) {
|
|
89
|
-
const len = queue.length;
|
|
90
|
-
for (let i = 0; i < len; i += 1) {
|
|
91
|
-
const pkgName = queue.shift();
|
|
92
|
-
if (!pkgName || usedWorkspacePackages.has(pkgName)) {
|
|
93
|
-
continue;
|
|
94
|
-
}
|
|
95
|
-
const dep = workspaceMap.get(pkgName);
|
|
96
|
-
if (!dep) continue;
|
|
97
|
-
const root = findWorkspaces.findWorkspacesRoot();
|
|
98
|
-
if (!root) {
|
|
99
|
-
throw new Error("Could not find workspace root");
|
|
100
|
-
}
|
|
101
|
-
const depsService = new chunkJ4SL7224_cjs.DepsService(root.location);
|
|
102
|
-
depsService.__setLogger(logger);
|
|
103
|
-
const sanitizedName = slugify__default.default(pkgName);
|
|
104
|
-
const tgzPath = depsService.getWorkspaceDependencyPath({
|
|
105
|
-
pkgName: sanitizedName,
|
|
106
|
-
version: dep.version
|
|
107
|
-
});
|
|
108
|
-
resolutions[pkgName] = tgzPath;
|
|
109
|
-
usedWorkspacePackages.add(pkgName);
|
|
110
|
-
for (const [depName, _depVersion] of Object.entries(dep?.dependencies ?? {})) {
|
|
111
|
-
if (!usedWorkspacePackages.has(depName) && workspaceMap.has(depName)) {
|
|
112
|
-
queue.push(depName);
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
return { resolutions, usedWorkspacePackages };
|
|
118
|
-
};
|
|
119
|
-
var packWorkspaceDependencies = async ({
|
|
120
|
-
workspaceMap,
|
|
121
|
-
usedWorkspacePackages,
|
|
122
|
-
bundleOutputDir,
|
|
123
|
-
logger
|
|
124
|
-
}) => {
|
|
125
|
-
const root = findWorkspaces.findWorkspacesRoot();
|
|
126
|
-
if (!root) {
|
|
127
|
-
throw new Error("Could not find workspace root");
|
|
128
|
-
}
|
|
129
|
-
const depsService = new chunkJ4SL7224_cjs.DepsService(root.location);
|
|
130
|
-
depsService.__setLogger(logger);
|
|
131
|
-
if (usedWorkspacePackages.size > 0) {
|
|
132
|
-
const workspaceDirPath = path.join(bundleOutputDir, "workspace-module");
|
|
133
|
-
await fsExtra$1.ensureDir(workspaceDirPath);
|
|
134
|
-
logger.info(`Packaging ${usedWorkspacePackages.size} workspace dependencies...`);
|
|
135
|
-
const batchSize = 5;
|
|
136
|
-
const packages = Array.from(usedWorkspacePackages.values());
|
|
137
|
-
for (let i = 0; i < packages.length; i += batchSize) {
|
|
138
|
-
const batch = packages.slice(i, i + batchSize);
|
|
139
|
-
logger.info(
|
|
140
|
-
`Packaging batch ${Math.floor(i / batchSize) + 1}/${Math.ceil(packages.length / batchSize)}: ${batch.join(", ")}`
|
|
141
|
-
);
|
|
142
|
-
await Promise.all(
|
|
143
|
-
batch.map(async (pkgName) => {
|
|
144
|
-
const dep = workspaceMap.get(pkgName);
|
|
145
|
-
if (!dep) return;
|
|
146
|
-
await depsService.pack({ dir: dep.location, destination: workspaceDirPath });
|
|
147
|
-
})
|
|
148
|
-
);
|
|
149
|
-
}
|
|
150
|
-
logger.info(`Successfully packaged ${usedWorkspacePackages.size} workspace dependencies`);
|
|
151
|
-
}
|
|
152
|
-
};
|
|
153
60
|
|
|
154
61
|
// src/bundler/index.ts
|
|
155
62
|
var Bundler = class extends bundler.MastraBundler {
|
|
@@ -165,7 +72,7 @@ var Bundler = class extends bundler.MastraBundler {
|
|
|
165
72
|
}
|
|
166
73
|
async writeInstrumentationFile(outputDirectory, customInstrumentationFile) {
|
|
167
74
|
const instrumentationFile = path.join(outputDirectory, "instrumentation.mjs");
|
|
168
|
-
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-RU2NPMEC.cjs', document.baseURI).href))));
|
|
169
76
|
if (customInstrumentationFile) {
|
|
170
77
|
await fsExtra.copy(customInstrumentationFile, instrumentationFile);
|
|
171
78
|
} else {
|
|
@@ -224,7 +131,7 @@ var Bundler = class extends bundler.MastraBundler {
|
|
|
224
131
|
return chunkEXQIONBD_cjs.createBundler(inputOptions, outputOptions);
|
|
225
132
|
}
|
|
226
133
|
async analyze(entry, mastraFile, outputDirectory) {
|
|
227
|
-
return await
|
|
134
|
+
return await chunkQXZRRU7Y_cjs.analyzeBundle(
|
|
228
135
|
[].concat(entry),
|
|
229
136
|
mastraFile,
|
|
230
137
|
path.join(outputDirectory, this.analyzeOutputDir),
|
|
@@ -233,7 +140,7 @@ var Bundler = class extends bundler.MastraBundler {
|
|
|
233
140
|
);
|
|
234
141
|
}
|
|
235
142
|
async installDependencies(outputDirectory, rootDir = process.cwd()) {
|
|
236
|
-
const deps = new
|
|
143
|
+
const deps = new chunkX54LEGAC_cjs.DepsService(rootDir);
|
|
237
144
|
deps.__setLogger(this.logger);
|
|
238
145
|
await deps.install({ dir: path.join(outputDirectory, this.outputDir) });
|
|
239
146
|
}
|
|
@@ -289,7 +196,7 @@ var Bundler = class extends bundler.MastraBundler {
|
|
|
289
196
|
const expandedPaths = await globby.globby(toolPath, {});
|
|
290
197
|
for (const path$1 of expandedPaths) {
|
|
291
198
|
if (await fsExtra__default.default.pathExists(path$1)) {
|
|
292
|
-
const fileService = new
|
|
199
|
+
const fileService = new chunkX54LEGAC_cjs.FileService();
|
|
293
200
|
const entryFile = fileService.getFirstExistingFile([
|
|
294
201
|
path.join(path$1, "index.ts"),
|
|
295
202
|
path.join(path$1, "index.js"),
|
|
@@ -313,7 +220,7 @@ var Bundler = class extends bundler.MastraBundler {
|
|
|
313
220
|
this.logger.info("Start bundling Mastra");
|
|
314
221
|
let sourcemap = false;
|
|
315
222
|
try {
|
|
316
|
-
const bundlerOptions = await
|
|
223
|
+
const bundlerOptions = await chunkQXZRRU7Y_cjs.getBundlerOptions(mastraEntryFile, outputDirectory);
|
|
317
224
|
sourcemap = !!bundlerOptions?.sourcemap;
|
|
318
225
|
} catch (error) {
|
|
319
226
|
this.logger.debug("Failed to get bundler options, sourcemap will be disabled", { error });
|
|
@@ -321,7 +228,7 @@ var Bundler = class extends bundler.MastraBundler {
|
|
|
321
228
|
let analyzedBundleInfo;
|
|
322
229
|
try {
|
|
323
230
|
const resolvedToolsPaths = await this.getToolsInputOptions(toolsPaths);
|
|
324
|
-
analyzedBundleInfo = await
|
|
231
|
+
analyzedBundleInfo = await chunkQXZRRU7Y_cjs.analyzeBundle(
|
|
325
232
|
[serverFile, ...Object.values(resolvedToolsPaths)],
|
|
326
233
|
mastraEntryFile,
|
|
327
234
|
path.join(outputDirectory, this.analyzeOutputDir),
|
|
@@ -343,7 +250,7 @@ var Bundler = class extends bundler.MastraBundler {
|
|
|
343
250
|
}
|
|
344
251
|
let externalDependencies;
|
|
345
252
|
try {
|
|
346
|
-
const result = await
|
|
253
|
+
const result = await chunkNBXPDOUR_cjs.writeTelemetryConfig(mastraEntryFile, path.join(outputDirectory, this.outputDir));
|
|
347
254
|
externalDependencies = result?.externalDependencies ?? [];
|
|
348
255
|
} catch (error$1) {
|
|
349
256
|
const message = error$1 instanceof Error ? error$1.message : String(error$1);
|
|
@@ -358,7 +265,7 @@ var Bundler = class extends bundler.MastraBundler {
|
|
|
358
265
|
);
|
|
359
266
|
}
|
|
360
267
|
const mastraFolder = path.dirname(mastraEntryFile);
|
|
361
|
-
const fileService = new
|
|
268
|
+
const fileService = new chunkX54LEGAC_cjs.FileService();
|
|
362
269
|
const customInstrumentation = fileService.getFirstExistingFileOrUndefined([
|
|
363
270
|
path.join(mastraFolder, "instrumentation.js"),
|
|
364
271
|
path.join(mastraFolder, "instrumentation.ts"),
|
|
@@ -390,16 +297,15 @@ var Bundler = class extends bundler.MastraBundler {
|
|
|
390
297
|
for (const external of externalDependencies) {
|
|
391
298
|
dependenciesToInstall.set(external, "latest");
|
|
392
299
|
}
|
|
393
|
-
const workspaceMap = await createWorkspacePackageMap();
|
|
394
300
|
const workspaceDependencies = /* @__PURE__ */ new Set();
|
|
395
301
|
for (const dep of analyzedBundleInfo.externalDependencies) {
|
|
396
302
|
try {
|
|
397
|
-
if (workspaceMap.has(dep)) {
|
|
303
|
+
if (analyzedBundleInfo.workspaceMap.has(dep)) {
|
|
398
304
|
workspaceDependencies.add(dep);
|
|
399
305
|
continue;
|
|
400
306
|
}
|
|
401
|
-
const
|
|
402
|
-
const pkg = await fsExtra.readJSON(
|
|
307
|
+
const rootPath = await chunkQXZRRU7Y_cjs.getPackageRootPath(dep);
|
|
308
|
+
const pkg = await fsExtra.readJSON(`${rootPath}/package.json`);
|
|
403
309
|
dependenciesToInstall.set(dep, pkg.version);
|
|
404
310
|
} catch {
|
|
405
311
|
dependenciesToInstall.set(dep, "latest");
|
|
@@ -408,8 +314,8 @@ var Bundler = class extends bundler.MastraBundler {
|
|
|
408
314
|
let resolutions = {};
|
|
409
315
|
if (workspaceDependencies.size > 0) {
|
|
410
316
|
try {
|
|
411
|
-
const result = collectTransitiveWorkspaceDependencies({
|
|
412
|
-
workspaceMap,
|
|
317
|
+
const result = chunkQXZRRU7Y_cjs.collectTransitiveWorkspaceDependencies({
|
|
318
|
+
workspaceMap: analyzedBundleInfo.workspaceMap,
|
|
413
319
|
initialDependencies: workspaceDependencies,
|
|
414
320
|
logger: this.logger
|
|
415
321
|
});
|
|
@@ -417,8 +323,8 @@ var Bundler = class extends bundler.MastraBundler {
|
|
|
417
323
|
Object.entries(resolutions).forEach(([pkgName, tgzPath]) => {
|
|
418
324
|
dependenciesToInstall.set(pkgName, tgzPath);
|
|
419
325
|
});
|
|
420
|
-
await packWorkspaceDependencies({
|
|
421
|
-
workspaceMap,
|
|
326
|
+
await chunkQXZRRU7Y_cjs.packWorkspaceDependencies({
|
|
327
|
+
workspaceMap: analyzedBundleInfo.workspaceMap,
|
|
422
328
|
usedWorkspacePackages: result.usedWorkspacePackages,
|
|
423
329
|
bundleOutputDir: path.join(outputDirectory, this.outputDir),
|
|
424
330
|
logger: this.logger
|
|
@@ -514,5 +420,5 @@ export const tools = [${toolsExports.join(", ")}]`
|
|
|
514
420
|
};
|
|
515
421
|
|
|
516
422
|
exports.Bundler = Bundler;
|
|
517
|
-
//# sourceMappingURL=chunk-
|
|
518
|
-
//# sourceMappingURL=chunk-
|
|
423
|
+
//# sourceMappingURL=chunk-RU2NPMEC.cjs.map
|
|
424
|
+
//# sourceMappingURL=chunk-RU2NPMEC.cjs.map
|
|
@@ -0,0 +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-RU2NPMEC.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 sourcemapEnabled: boolean = false,\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: sourcemapEnabled },\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 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,13 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var child_process = require('child_process');
|
|
4
|
-
var stream = require('stream');
|
|
5
3
|
var fs3 = require('fs');
|
|
6
4
|
var fsPromises = require('fs/promises');
|
|
7
5
|
var path = require('path');
|
|
8
6
|
var url = require('url');
|
|
9
7
|
var base = require('@mastra/core/base');
|
|
10
8
|
var fsExtra = require('fs-extra/esm');
|
|
9
|
+
var child_process = require('child_process');
|
|
10
|
+
var stream = require('stream');
|
|
11
11
|
|
|
12
12
|
var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
|
|
13
13
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -35,7 +35,7 @@ var fsPromises__default = /*#__PURE__*/_interopDefault(fsPromises);
|
|
|
35
35
|
var path__default = /*#__PURE__*/_interopDefault(path);
|
|
36
36
|
var fsExtra__default = /*#__PURE__*/_interopDefault(fsExtra);
|
|
37
37
|
|
|
38
|
-
// src/
|
|
38
|
+
// src/services/deps.ts
|
|
39
39
|
var createPinoStream = (logger) => {
|
|
40
40
|
return new stream.Transform({
|
|
41
41
|
transform(chunk, _encoding, callback) {
|
|
@@ -82,6 +82,8 @@ function createChildProcessLogger({ logger, root }) {
|
|
|
82
82
|
}
|
|
83
83
|
};
|
|
84
84
|
}
|
|
85
|
+
|
|
86
|
+
// src/services/deps.ts
|
|
85
87
|
var Deps = class extends base.MastraBase {
|
|
86
88
|
packageManager;
|
|
87
89
|
rootDir;
|
|
@@ -261,7 +263,7 @@ ${Object.entries(config.supportedArchitectures).map(([key, value]) => ` ${key}:
|
|
|
261
263
|
}
|
|
262
264
|
}
|
|
263
265
|
async getPackageVersion() {
|
|
264
|
-
const __filename = url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('chunk-
|
|
266
|
+
const __filename = url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('chunk-X54LEGAC.cjs', document.baseURI).href)));
|
|
265
267
|
const __dirname = path.dirname(__filename);
|
|
266
268
|
const pkgJsonPath = path__default.default.join(__dirname, "..", "..", "package.json");
|
|
267
269
|
const content = await fsExtra.readJSON(pkgJsonPath);
|
|
@@ -348,7 +350,7 @@ var FileService = class {
|
|
|
348
350
|
* @returns
|
|
349
351
|
*/
|
|
350
352
|
async copyStarterFile(inputFile, outputFilePath, replaceIfExists) {
|
|
351
|
-
const __filename = url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('chunk-
|
|
353
|
+
const __filename = url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('chunk-X54LEGAC.cjs', document.baseURI).href)));
|
|
352
354
|
const __dirname = path__default.default.dirname(__filename);
|
|
353
355
|
const filePath = path__default.default.resolve(__dirname, "..", "starter-files", inputFile);
|
|
354
356
|
const fileString = fs3__namespace.default.readFileSync(filePath, "utf8");
|
|
@@ -404,5 +406,5 @@ exports.EnvService = EnvService;
|
|
|
404
406
|
exports.FileService = FileService;
|
|
405
407
|
exports.createChildProcessLogger = createChildProcessLogger;
|
|
406
408
|
exports.createPinoStream = createPinoStream;
|
|
407
|
-
//# sourceMappingURL=chunk-
|
|
408
|
-
//# sourceMappingURL=chunk-
|
|
409
|
+
//# sourceMappingURL=chunk-X54LEGAC.cjs.map
|
|
410
|
+
//# sourceMappingURL=chunk-X54LEGAC.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/deploy/log.ts","../src/services/deps.ts","../src/services/env.ts","../src/services/fs.ts"],"names":["Transform","spawn","MastraBase","fs","path","readJSON","writeJSON","fsPromises","ensureFile","fileURLToPath","dirname","fs2","fsExtra"],"mappings":"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","file":"chunk-X54LEGAC.cjs","sourcesContent":["import { spawn } from 'child_process';\nimport { Transform } from 'stream';\nimport type { IMastraLogger } from '@mastra/core/logger';\n\nexport const createPinoStream = (logger: IMastraLogger) => {\n return new Transform({\n transform(chunk, _encoding, callback) {\n // Convert Buffer/string to string and trim whitespace\n const line = chunk.toString().trim();\n\n if (line) {\n console.log(line);\n // Log each line through Pino\n logger.info(line);\n }\n\n // Pass through the original data\n callback(null, chunk);\n },\n });\n};\n\nexport function createChildProcessLogger({ logger, root }: { logger: IMastraLogger; root: string }) {\n const pinoStream = createPinoStream(logger);\n return async ({ cmd, args, env }: { cmd: string; args: string[]; env: Record<string, string> }) => {\n try {\n const subprocess = spawn(cmd, args, {\n cwd: root,\n shell: true,\n env,\n });\n\n // Pipe stdout and stderr through the Pino stream\n subprocess.stdout?.pipe(pinoStream);\n subprocess.stderr?.pipe(pinoStream);\n\n // Wait for the process to complete\n return new Promise((resolve, reject) => {\n subprocess.on('close', code => {\n pinoStream.end();\n if (code === 0) {\n resolve({ success: true });\n } else {\n reject(new Error(`Process exited with code ${code}`));\n }\n });\n\n subprocess.on('error', error => {\n pinoStream.end();\n logger.error('Process failed', { error });\n reject(error);\n });\n });\n } catch (error) {\n console.log(error);\n logger.error('Process failed', { error });\n pinoStream.end();\n return { success: false, error };\n }\n };\n}\n","import fs from 'fs';\nimport fsPromises from 'fs/promises';\nimport path, { dirname } from 'path';\nimport { fileURLToPath } from 'url';\nimport { MastraBase } from '@mastra/core/base';\nimport { readJSON, writeJSON, ensureFile } from 'fs-extra/esm';\nimport type { PackageJson } from 'type-fest';\n\nimport { createChildProcessLogger } from '../deploy/log.js';\n\ninterface ArchitectureOptions {\n os?: string[];\n cpu?: string[];\n libc?: string[];\n}\n\nexport class Deps extends MastraBase {\n private packageManager: string;\n private rootDir: string;\n\n constructor(rootDir = process.cwd()) {\n super({ component: 'DEPLOYER', name: 'DEPS' });\n\n this.rootDir = rootDir;\n this.packageManager = this.getPackageManager();\n }\n\n private findLockFile(dir: string): string | null {\n const lockFiles = ['pnpm-lock.yaml', 'package-lock.json', 'yarn.lock', 'bun.lock'];\n for (const file of lockFiles) {\n if (fs.existsSync(path.join(dir, file))) {\n return file;\n }\n }\n const parentDir = path.resolve(dir, '..');\n if (parentDir !== dir) {\n return this.findLockFile(parentDir);\n }\n return null;\n }\n\n private getPackageManager(): string {\n const lockFile = this.findLockFile(this.rootDir);\n switch (lockFile) {\n case 'pnpm-lock.yaml':\n return 'pnpm';\n case 'package-lock.json':\n return 'npm';\n case 'yarn.lock':\n return 'yarn';\n case 'bun.lock':\n return 'bun';\n default:\n return 'npm';\n }\n }\n\n public getWorkspaceDependencyPath({ pkgName, version }: { pkgName: string; version: string }) {\n return `file:./workspace-module/${pkgName}-${version}.tgz`;\n }\n\n public async pack({ dir, destination }: { dir: string; destination: string }) {\n const cpLogger = createChildProcessLogger({\n logger: this.logger,\n root: dir,\n });\n\n return cpLogger({\n cmd: `${this.packageManager} pack --pack-destination ${destination}`,\n args: [],\n env: {\n PATH: process.env.PATH!,\n },\n });\n }\n\n private async writePnpmConfig(dir: string, options: ArchitectureOptions) {\n const packageJsonPath = path.join(dir, 'package.json');\n const packageJson = await readJSON(packageJsonPath);\n\n packageJson.pnpm = {\n ...packageJson.pnpm,\n supportedArchitectures: {\n os: options.os || [],\n cpu: options.cpu || [],\n libc: options.libc || [],\n },\n };\n\n await writeJSON(packageJsonPath, packageJson, { spaces: 2 });\n }\n\n private async writeYarnConfig(dir: string, options: ArchitectureOptions) {\n const yarnrcPath = path.join(dir, '.yarnrc.yml');\n const config = {\n supportedArchitectures: {\n cpu: options.cpu || [],\n os: options.os || [],\n libc: options.libc || [],\n },\n };\n\n await fsPromises.writeFile(\n yarnrcPath,\n `supportedArchitectures:\\n${Object.entries(config.supportedArchitectures)\n .map(([key, value]) => ` ${key}: ${JSON.stringify(value)}`)\n .join('\\n')}`,\n );\n }\n\n private getNpmArgs(options: ArchitectureOptions): string[] {\n const args: string[] = [];\n if (options.cpu) args.push(`--cpu=${options.cpu.join(',')}`);\n if (options.os) args.push(`--os=${options.os.join(',')}`);\n if (options.libc) args.push(`--libc=${options.libc.join(',')}`);\n return args;\n }\n\n public async install({\n dir = this.rootDir,\n architecture,\n }: { dir?: string; architecture?: ArchitectureOptions } = {}) {\n let runCommand = this.packageManager;\n let args: string[] = [];\n\n switch (this.packageManager) {\n case 'pnpm':\n runCommand = `${this.packageManager} --ignore-workspace install`;\n if (architecture) {\n await this.writePnpmConfig(dir, architecture);\n }\n break;\n case 'yarn':\n // similar to --ignore-workspace but for yarn\n await ensureFile(path.join(dir, 'yarn.lock'));\n if (architecture) {\n await this.writeYarnConfig(dir, architecture);\n }\n runCommand = `${this.packageManager} install`;\n break;\n case 'npm':\n runCommand = `${this.packageManager} install`;\n if (architecture) {\n args = this.getNpmArgs(architecture);\n }\n break;\n default:\n runCommand = `${this.packageManager} install`;\n }\n\n const cpLogger = createChildProcessLogger({\n logger: this.logger,\n root: dir,\n });\n\n return cpLogger({\n cmd: runCommand,\n args,\n env: process.env as Record<string, string>,\n });\n }\n\n public async installPackages(packages: string[]) {\n let runCommand = this.packageManager;\n if (this.packageManager === 'npm') {\n runCommand = `${this.packageManager} i`;\n } else {\n runCommand = `${this.packageManager} add`;\n }\n\n const env: Record<string, string> = {\n PATH: process.env.PATH!,\n };\n\n if (process.env.npm_config_registry) {\n env.npm_config_registry = process.env.npm_config_registry;\n }\n\n const cpLogger = createChildProcessLogger({\n logger: this.logger,\n root: '',\n });\n\n return cpLogger({\n cmd: `${runCommand}`,\n args: packages,\n env,\n });\n }\n\n public async checkDependencies(dependencies: string[]): Promise<string> {\n try {\n const packageJsonPath = path.join(this.rootDir, 'package.json');\n\n try {\n await fsPromises.access(packageJsonPath);\n } catch {\n return 'No package.json file found in the current directory';\n }\n\n const packageJson = await readJSON(packageJsonPath);\n for (const dependency of dependencies) {\n if (!packageJson.dependencies || !packageJson.dependencies[dependency]) {\n return `Please install ${dependency} before running this command (${this.packageManager} install ${dependency})`;\n }\n }\n\n return 'ok';\n } catch (err) {\n console.error(err);\n return 'Could not check dependencies';\n }\n }\n\n public async getProjectName() {\n try {\n const packageJsonPath = path.join(this.rootDir, 'package.json');\n const pkg = await readJSON(packageJsonPath);\n return pkg.name;\n } catch (err) {\n throw err;\n }\n }\n\n public async getPackageVersion() {\n const __filename = fileURLToPath(import.meta.url);\n const __dirname = dirname(__filename);\n const pkgJsonPath = path.join(__dirname, '..', '..', 'package.json');\n\n const content = (await readJSON(pkgJsonPath)) as PackageJson;\n return content.version;\n }\n\n public async addScriptsToPackageJson(scripts: Record<string, string>) {\n const packageJson = await readJSON('package.json');\n packageJson.scripts = {\n ...packageJson.scripts,\n ...scripts,\n };\n await writeJSON('package.json', packageJson, { spaces: 2 });\n }\n}\n\nexport class DepsService extends Deps {}\n","import * as fs from 'fs';\n\nexport abstract class EnvService {\n abstract getEnvValue(key: string): Promise<string | null>;\n abstract setEnvValue(key: string, value: string): Promise<void>;\n}\n\nexport class FileEnvService extends EnvService {\n private filePath: string;\n\n constructor(filePath: string) {\n super();\n this.filePath = filePath;\n }\n\n private readFile(filePath: string): Promise<string> {\n return new Promise((resolve, reject) => {\n fs.readFile(filePath, 'utf8', (err: NodeJS.ErrnoException | null, data: string) => {\n if (err) reject(err);\n else resolve(data);\n });\n });\n }\n\n private writeFile({ filePath, data }: { filePath: string; data: string }): Promise<void> {\n return new Promise((resolve, reject) => {\n fs.writeFile(filePath, data, 'utf8', (err: NodeJS.ErrnoException | null) => {\n if (err) reject(err);\n else resolve();\n });\n });\n }\n\n private async updateEnvData({\n key,\n value,\n filePath = this.filePath,\n data,\n }: {\n key: string;\n value: string;\n filePath?: string;\n data: string;\n }): Promise<string> {\n const regex = new RegExp(`^${key}=.*$`, 'm');\n if (data.match(regex)) {\n data = data.replace(regex, `${key}=${value}`);\n } else {\n data += `\\n${key}=${value}`;\n }\n await this.writeFile({ filePath, data });\n console.log(`${key} set to ${value} in ENV file.`);\n return data;\n }\n\n async getEnvValue(key: string): Promise<string | null> {\n try {\n const data = await this.readFile(this.filePath);\n const regex = new RegExp(`^${key}=(.*)$`, 'm');\n const match = data.match(regex);\n return match?.[1] || null;\n } catch (err) {\n console.error(`Error reading ENV value: ${err}`);\n return null;\n }\n }\n\n async setEnvValue(key: string, value: string): Promise<void> {\n try {\n const data = await this.readFile(this.filePath);\n await this.updateEnvData({ key, value, data });\n } catch (err) {\n console.error(`Error writing ENV value: ${err}`);\n }\n }\n}\n","import fs from 'fs';\nimport path from 'path';\nimport { fileURLToPath } from 'url';\n\nimport fsExtra from 'fs-extra/esm';\n\nimport { FileEnvService } from './env.js';\n\nexport class FileService {\n /**\n *\n * @param inputFile the file in the starter files directory to copy\n * @param outputFilePath the destination path\n * @param replaceIfExists flag to replace if it exists\n * @returns\n */\n public async copyStarterFile(inputFile: string, outputFilePath: string, replaceIfExists?: boolean) {\n const __filename = fileURLToPath(import.meta.url);\n const __dirname = path.dirname(__filename);\n const filePath = path.resolve(__dirname, '..', 'starter-files', inputFile);\n const fileString = fs.readFileSync(filePath, 'utf8');\n\n if (fs.existsSync(outputFilePath) && !replaceIfExists) {\n console.log(`${outputFilePath} already exists`);\n return false;\n }\n\n await fsExtra.outputFile(outputFilePath, fileString);\n\n return true;\n }\n\n public async setupEnvFile({ dbUrl }: { dbUrl: string }) {\n const envPath = path.join(process.cwd(), '.env.development');\n\n await fsExtra.ensureFile(envPath);\n\n const fileEnvService = new FileEnvService(envPath);\n await fileEnvService.setEnvValue('DB_URL', dbUrl);\n }\n\n public getFirstExistingFile(files: string[]): string {\n for (const f of files) {\n if (fs.existsSync(f)) {\n return f;\n }\n }\n\n throw new Error('Missing required file, checked the following paths: ' + files.join(', '));\n }\n\n /**\n * Returns the first existing file from the provided array, or undefined if none exist\n * @param files array of file paths to check\n * @returns the first existing file path or undefined\n */\n public getFirstExistingFileOrUndefined(files: string[]): string | undefined {\n for (const f of files) {\n if (fs.existsSync(f)) {\n return f;\n }\n }\n\n return undefined;\n }\n\n public replaceValuesInFile({\n filePath,\n replacements,\n }: {\n filePath: string;\n replacements: { search: string; replace: string }[];\n }) {\n let fileContent = fs.readFileSync(filePath, 'utf8');\n replacements.forEach(({ search, replace }) => {\n fileContent = fileContent.replaceAll(search, replace);\n });\n\n fs.writeFileSync(filePath, fileContent);\n }\n}\n"]}
|
package/dist/index.cjs
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
5
|
-
var
|
|
3
|
+
var chunkRU2NPMEC_cjs = require('./chunk-RU2NPMEC.cjs');
|
|
4
|
+
var chunkQXZRRU7Y_cjs = require('./chunk-QXZRRU7Y.cjs');
|
|
5
|
+
var chunkX54LEGAC_cjs = require('./chunk-X54LEGAC.cjs');
|
|
6
6
|
|
|
7
7
|
// src/deploy/base.ts
|
|
8
|
-
var Deployer = class extends
|
|
9
|
-
deps = new
|
|
8
|
+
var Deployer = class extends chunkRU2NPMEC_cjs.Bundler {
|
|
9
|
+
deps = new chunkX54LEGAC_cjs.DepsService();
|
|
10
10
|
constructor(args) {
|
|
11
11
|
super(args.name, "DEPLOYER");
|
|
12
12
|
this.deps.__setLogger(this.logger);
|
|
@@ -14,7 +14,7 @@ var Deployer = class extends chunkYOW73UMM_cjs.Bundler {
|
|
|
14
14
|
getEnvFiles() {
|
|
15
15
|
const possibleFiles = [".env.production", ".env.local", ".env"];
|
|
16
16
|
try {
|
|
17
|
-
const fileService = new
|
|
17
|
+
const fileService = new chunkX54LEGAC_cjs.FileService();
|
|
18
18
|
const envFile = fileService.getFirstExistingFile(possibleFiles);
|
|
19
19
|
return Promise.resolve([envFile]);
|
|
20
20
|
} catch {
|
|
@@ -25,12 +25,12 @@ var Deployer = class extends chunkYOW73UMM_cjs.Bundler {
|
|
|
25
25
|
|
|
26
26
|
// src/build/babel/remove-all-options-deployer.ts
|
|
27
27
|
function removeAllOptionsExceptDeployer(result, logger) {
|
|
28
|
-
return
|
|
28
|
+
return chunkQXZRRU7Y_cjs.removeAllOptionsFromMastraExcept(result, "deployer", logger);
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
// src/build/deployer.ts
|
|
32
32
|
async function getDeployer(entryFile, outputDir, logger) {
|
|
33
|
-
const result = await
|
|
33
|
+
const result = await chunkQXZRRU7Y_cjs.extractMastraOption(
|
|
34
34
|
"deployer",
|
|
35
35
|
entryFile,
|
|
36
36
|
removeAllOptionsExceptDeployer,
|
|
@@ -45,19 +45,19 @@ async function getDeployer(entryFile, outputDir, logger) {
|
|
|
45
45
|
|
|
46
46
|
Object.defineProperty(exports, "Deps", {
|
|
47
47
|
enumerable: true,
|
|
48
|
-
get: function () { return
|
|
48
|
+
get: function () { return chunkX54LEGAC_cjs.Deps; }
|
|
49
49
|
});
|
|
50
50
|
Object.defineProperty(exports, "FileService", {
|
|
51
51
|
enumerable: true,
|
|
52
|
-
get: function () { return
|
|
52
|
+
get: function () { return chunkX54LEGAC_cjs.FileService; }
|
|
53
53
|
});
|
|
54
54
|
Object.defineProperty(exports, "createChildProcessLogger", {
|
|
55
55
|
enumerable: true,
|
|
56
|
-
get: function () { return
|
|
56
|
+
get: function () { return chunkX54LEGAC_cjs.createChildProcessLogger; }
|
|
57
57
|
});
|
|
58
58
|
Object.defineProperty(exports, "createPinoStream", {
|
|
59
59
|
enumerable: true,
|
|
60
|
-
get: function () { return
|
|
60
|
+
get: function () { return chunkX54LEGAC_cjs.createPinoStream; }
|
|
61
61
|
});
|
|
62
62
|
exports.Deployer = Deployer;
|
|
63
63
|
exports.getDeployer = getDeployer;
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Bundler } from './chunk-
|
|
2
|
-
import { extractMastraOption, removeAllOptionsFromMastraExcept } from './chunk-
|
|
3
|
-
import { DepsService, FileService } from './chunk-
|
|
4
|
-
export { Deps, FileService, createChildProcessLogger, createPinoStream } from './chunk-
|
|
1
|
+
import { Bundler } from './chunk-3V2K2BKG.js';
|
|
2
|
+
import { extractMastraOption, removeAllOptionsFromMastraExcept } from './chunk-656BANCN.js';
|
|
3
|
+
import { DepsService, FileService } from './chunk-GPGRGCTW.js';
|
|
4
|
+
export { Deps, FileService, createChildProcessLogger, createPinoStream } from './chunk-GPGRGCTW.js';
|
|
5
5
|
|
|
6
6
|
// src/deploy/base.ts
|
|
7
7
|
var Deployer = class extends Bundler {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../../../../src/server/handlers/routes/observability/handlers.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAGpC,wBAAsB,iBAAiB,CAAC,CAAC,EAAE,OAAO,qBAkBjD;AAED,wBAAsB,2BAA2B,CAAC,CAAC,EAAE,OAAO,qBAqD3D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../../../../src/server/handlers/routes/observability/router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAI5B,wBAAgB,mBAAmB,+EA8FlC"}
|