@mastra/deployer 1.0.0-beta.14 → 1.0.0-beta.16

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.
Files changed (63) hide show
  1. package/CHANGELOG.md +66 -0
  2. package/dist/build/analyze/analyzeEntry.d.ts.map +1 -1
  3. package/dist/build/analyze.cjs +2 -2
  4. package/dist/build/analyze.js +1 -1
  5. package/dist/build/babel/remove-deployer.d.ts.map +1 -1
  6. package/dist/build/bundler.cjs +3 -3
  7. package/dist/build/bundler.d.ts.map +1 -1
  8. package/dist/build/bundler.js +1 -1
  9. package/dist/build/bundlerOptions.d.ts.map +1 -1
  10. package/dist/build/deployer.d.ts.map +1 -1
  11. package/dist/build/index.cjs +10 -10
  12. package/dist/build/index.js +3 -3
  13. package/dist/build/plugins/node-modules-extension-resolver.d.ts.map +1 -1
  14. package/dist/build/plugins/remove-all-except.d.ts +10 -0
  15. package/dist/build/plugins/remove-all-except.d.ts.map +1 -0
  16. package/dist/build/serverOptions.d.ts.map +1 -1
  17. package/dist/build/shared/extract-mastra-option.d.ts +4 -8
  18. package/dist/build/shared/extract-mastra-option.d.ts.map +1 -1
  19. package/dist/bundler/index.cjs +3 -3
  20. package/dist/bundler/index.d.ts.map +1 -1
  21. package/dist/bundler/index.js +1 -1
  22. package/dist/{chunk-IVKDKRCR.cjs → chunk-7F6JKGX4.cjs} +20 -12
  23. package/dist/chunk-7F6JKGX4.cjs.map +1 -0
  24. package/dist/{chunk-HNSVE6YO.js → chunk-BDA7RMRF.js} +191 -171
  25. package/dist/chunk-BDA7RMRF.js.map +1 -0
  26. package/dist/{chunk-UJXH5MNH.cjs → chunk-CRIOGWZD.cjs} +190 -171
  27. package/dist/chunk-CRIOGWZD.cjs.map +1 -0
  28. package/dist/{chunk-ZXT4NSIV.js → chunk-ESR6AK5N.js} +14 -6
  29. package/dist/chunk-ESR6AK5N.js.map +1 -0
  30. package/dist/{chunk-V5W7WIXT.cjs → chunk-HRCR6OKC.cjs} +11 -22
  31. package/dist/chunk-HRCR6OKC.cjs.map +1 -0
  32. package/dist/{chunk-C6UFSG3V.js → chunk-ONWHS3PA.js} +34 -79
  33. package/dist/chunk-ONWHS3PA.js.map +1 -0
  34. package/dist/{chunk-PB5O2NTZ.cjs → chunk-OVVUJ46G.cjs} +39 -85
  35. package/dist/chunk-OVVUJ46G.cjs.map +1 -0
  36. package/dist/{chunk-BFA354MH.js → chunk-WFIG7I5C.js} +5 -16
  37. package/dist/chunk-WFIG7I5C.js.map +1 -0
  38. package/dist/index.cjs +4 -15
  39. package/dist/index.cjs.map +1 -1
  40. package/dist/index.js +3 -14
  41. package/dist/index.js.map +1 -1
  42. package/dist/server/index.cjs +269 -15
  43. package/dist/server/index.cjs.map +1 -1
  44. package/dist/server/index.d.ts.map +1 -1
  45. package/dist/server/index.js +267 -13
  46. package/dist/server/index.js.map +1 -1
  47. package/package.json +6 -6
  48. package/dist/build/babel/get-deployer.d.ts +0 -3
  49. package/dist/build/babel/get-deployer.d.ts.map +0 -1
  50. package/dist/build/babel/remove-all-options-bundler.d.ts +0 -5
  51. package/dist/build/babel/remove-all-options-bundler.d.ts.map +0 -1
  52. package/dist/build/babel/remove-all-options-deployer.d.ts +0 -5
  53. package/dist/build/babel/remove-all-options-deployer.d.ts.map +0 -1
  54. package/dist/build/babel/remove-all-options-server.d.ts +0 -5
  55. package/dist/build/babel/remove-all-options-server.d.ts.map +0 -1
  56. package/dist/chunk-BFA354MH.js.map +0 -1
  57. package/dist/chunk-C6UFSG3V.js.map +0 -1
  58. package/dist/chunk-HNSVE6YO.js.map +0 -1
  59. package/dist/chunk-IVKDKRCR.cjs.map +0 -1
  60. package/dist/chunk-PB5O2NTZ.cjs.map +0 -1
  61. package/dist/chunk-UJXH5MNH.cjs.map +0 -1
  62. package/dist/chunk-V5W7WIXT.cjs.map +0 -1
  63. package/dist/chunk-ZXT4NSIV.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { subpathExternalsResolver, tsConfigPaths, esbuild, esmShim, removeDeployer } from './chunk-HNSVE6YO.js';
1
+ import { getPackageRootPath, subpathExternalsResolver, tsConfigPaths, esbuild, esmShim, removeDeployer } from './chunk-BDA7RMRF.js';
2
2
  import { isBuiltinModule, getPackageName, slash } from './chunk-HHA2Y3AS.js';
3
3
  import alias from '@rollup/plugin-alias';
4
4
  import commonjs from '@rollup/plugin-commonjs';
@@ -7,47 +7,16 @@ import nodeResolve2 from '@rollup/plugin-node-resolve';
7
7
  import { pathToFileURL, fileURLToPath } from 'url';
8
8
  import { rollup } from 'rollup';
9
9
  import { optimizeLodashImports } from '@optimize-lodash/rollup-plugin';
10
- import { extname, join, dirname } from 'path';
11
- import { readFileSync } from 'fs';
12
- import resolveFrom from 'resolve-from';
10
+ import { join } from 'path';
11
+ import { readFile } from 'fs/promises';
13
12
 
14
- var JS_EXTENSIONS = /* @__PURE__ */ new Set([".js", ".mjs", ".cjs"]);
15
- var packageExportsCache = /* @__PURE__ */ new Map();
16
- var resolveCache = /* @__PURE__ */ new Map();
17
- function safeResolve(id, importer) {
18
- const cacheKey = `${id}\0${importer}`;
19
- const cached = resolveCache.get(cacheKey);
20
- if (cached !== void 0) {
21
- return cached;
13
+ async function getPackageJSON(pkgName, importer) {
14
+ const pkgRoot = await getPackageRootPath(pkgName, importer);
15
+ if (!pkgRoot) {
16
+ throw new Error(`Package ${pkgName} not found`);
22
17
  }
23
- let result;
24
- try {
25
- result = resolveFrom(importer, id);
26
- } catch {
27
- result = null;
28
- }
29
- resolveCache.set(cacheKey, result);
30
- return result;
31
- }
32
- function packageHasExports(pkgName, importer) {
33
- const pkgMainPath = safeResolve(pkgName, importer);
34
- if (!pkgMainPath) return false;
35
- let dir = pkgMainPath;
36
- for (let i = 0; i < 10; i++) {
37
- dir = dirname(dir);
38
- const cached = packageExportsCache.get(dir);
39
- if (cached !== void 0) return cached;
40
- try {
41
- const pkgJson = JSON.parse(readFileSync(`${dir}/package.json`, "utf-8"));
42
- if (pkgJson.name === pkgName) {
43
- const result = !!pkgJson.exports;
44
- packageExportsCache.set(dir, result);
45
- return result;
46
- }
47
- } catch {
48
- }
49
- }
50
- return false;
18
+ const pkgJSON = JSON.parse(await readFile(join(pkgRoot, "package.json"), "utf-8"));
19
+ return pkgJSON;
51
20
  }
52
21
  function nodeModulesExtensionResolver() {
53
22
  const nodeResolvePlugin = nodeResolve2();
@@ -62,49 +31,35 @@ function nodeModulesExtensionResolver() {
62
31
  if (isScoped && parts.length === 2 || !isScoped && parts.length === 1) {
63
32
  return null;
64
33
  }
65
- const foundExt = extname(id);
66
34
  const pkgName = getPackageName(id);
67
- if (foundExt && JS_EXTENSIONS.has(foundExt)) {
68
- if (pkgName && packageHasExports(pkgName, importer)) {
69
- return {
70
- id: id.slice(0, -foundExt.length),
71
- external: true
72
- };
73
- }
74
- return { id, external: true };
35
+ if (!pkgName) {
36
+ return null;
75
37
  }
76
38
  try {
77
- const resolved2 = import.meta.resolve(id);
78
- if (resolved2 && extname(resolved2)) {
79
- return { id, external: true };
39
+ const packageJSON = await getPackageJSON(pkgName, importer);
40
+ if (!!packageJSON.exports) {
41
+ return null;
80
42
  }
81
- } catch {
82
- }
83
- const nodeResolved = await nodeResolvePlugin.resolveId?.handler?.call(this, id, importer, options);
84
- if (!nodeResolved?.id) {
85
- return null;
86
- }
87
- const resolved = safeResolve(id, importer);
88
- if (!resolved) {
89
- for (const ext of JS_EXTENSIONS) {
90
- if (safeResolve(id + ext, importer)) {
91
- return { id: id + ext, external: true };
92
- }
43
+ const packageRoot = await getPackageRootPath(pkgName, importer);
44
+ const nodeResolved = await nodeResolvePlugin.resolveId?.handler?.call(this, id, importer, options);
45
+ if (!nodeResolved?.id) {
46
+ return null;
93
47
  }
48
+ let filePath = nodeResolved.id;
49
+ console.log({ nodeResolved });
50
+ if (nodeResolved.resolvedBy === "commonjs--resolver") {
51
+ filePath = filePath.substring(1).split("?")[0];
52
+ console.log({ filePath });
53
+ }
54
+ const resolvedImportPath = filePath.replace(packageRoot, pkgName);
55
+ return {
56
+ id: resolvedImportPath,
57
+ external: true
58
+ };
59
+ } catch (err) {
60
+ console.error(err);
94
61
  return null;
95
62
  }
96
- const resolvedExt = extname(resolved);
97
- if (!resolvedExt || !JS_EXTENSIONS.has(resolvedExt)) {
98
- return { id, external: true };
99
- }
100
- if (pkgName && packageHasExports(pkgName, importer)) {
101
- return { id, external: true };
102
- }
103
- const subpath = pkgName ? id.slice(pkgName.length + 1) : "";
104
- if (subpath && resolved.endsWith(`/${subpath}${resolvedExt}`)) {
105
- return { id: id + resolvedExt, external: true };
106
- }
107
- return { id, external: true };
108
63
  }
109
64
  };
110
65
  }
@@ -194,7 +149,7 @@ async function getInputOptions(entryFile, analyzedBundleInfo, platform, env = {
194
149
  optimizeLodashImports({
195
150
  include: "**/*.{js,ts,mjs,cjs}"
196
151
  }),
197
- commonjs({
152
+ externalsPreset ? null : commonjs({
198
153
  extensions: [".js", ".ts"],
199
154
  transformMixedEsModules: true,
200
155
  esmExternals(id) {
@@ -245,5 +200,5 @@ async function createBundler(inputOptions, outputOptions) {
245
200
  }
246
201
 
247
202
  export { createBundler, getInputOptions, nodeModulesExtensionResolver };
248
- //# sourceMappingURL=chunk-C6UFSG3V.js.map
249
- //# sourceMappingURL=chunk-C6UFSG3V.js.map
203
+ //# sourceMappingURL=chunk-ONWHS3PA.js.map
204
+ //# sourceMappingURL=chunk-ONWHS3PA.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/build/plugins/node-modules-extension-resolver.ts","../src/build/bundler.ts"],"names":["nodeResolve","join"],"mappings":"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","file":"chunk-ONWHS3PA.js","sourcesContent":["import { join } from 'node:path';\nimport { readFile } from 'node:fs/promises';\nimport type { Plugin } from 'rollup';\nimport nodeResolve from '@rollup/plugin-node-resolve';\nimport { getPackageName, isBuiltinModule } from '../utils';\nimport { getPackageRootPath } from '../package-info';\nimport type { PackageJson } from 'type-fest';\n\n/**\n * Check if a package has an exports field in its package.json.\n * Results are cached to avoid repeated filesystem reads.\n */\nasync function getPackageJSON(pkgName: string, importer: string): Promise<PackageJson> {\n const pkgRoot = await getPackageRootPath(pkgName, importer);\n if (!pkgRoot) {\n throw new Error(`Package ${pkgName} not found`);\n }\n\n const pkgJSON = JSON.parse(await readFile(join(pkgRoot, 'package.json'), 'utf-8')) as PackageJson;\n return pkgJSON;\n}\n\n/**\n * Rollup plugin that resolves module extensions for external dependencies.\n *\n * This plugin handles ESM compatibility for external imports when node-resolve is not used:\n * - Packages WITH exports field (e.g., hono, date-fns): Keep imports as-is or strip redundant extensions\n * - Packages WITHOUT exports field (e.g., lodash): Add .js extension for direct file imports\n */\nexport function nodeModulesExtensionResolver(): Plugin {\n // Create a single instance of node-resolve to reuse\n const nodeResolvePlugin = nodeResolve();\n\n return {\n name: 'node-modules-extension-resolver',\n async resolveId(id, importer, options) {\n // Skip relative imports, absolute paths, no importer, or builtin modules\n if (!importer || id.startsWith('.') || id.startsWith('/') || isBuiltinModule(id)) {\n return null;\n }\n\n // Skip direct package imports (e.g., 'lodash', '@mastra/core')\n const parts = id.split('/');\n const isScoped = id.startsWith('@');\n if ((isScoped && parts.length === 2) || (!isScoped && parts.length === 1)) {\n return null;\n }\n\n const pkgName = getPackageName(id);\n if (!pkgName) {\n return null;\n }\n\n try {\n const packageJSON = await getPackageJSON(pkgName, importer);\n // if it has exports, node should be able to rsolve it, if not the exports map is wrong.\n if (!!packageJSON.exports) {\n return null;\n }\n\n const packageRoot = await getPackageRootPath(pkgName, importer);\n // @ts-expect-error - handle is part of resolveId signature\n const nodeResolved = await nodeResolvePlugin.resolveId?.handler?.call(this, id, importer, options);\n // if we cannot resolve it, it's not a valid import so we let node handle it\n if (!nodeResolved?.id) {\n return null;\n }\n\n let filePath = nodeResolved.id;\n console.log({ nodeResolved });\n if (nodeResolved.resolvedBy === 'commonjs--resolver') {\n filePath = filePath.substring(1).split('?')[0];\n console.log({ filePath });\n }\n\n const resolvedImportPath = filePath.replace(packageRoot, pkgName);\n\n return {\n id: resolvedImportPath,\n external: true,\n };\n } catch (err) {\n console.error(err);\n return null;\n }\n },\n };\n}\n","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 './plugins/esm-shim';\nimport { fileURLToPath, pathToFileURL } from 'node:url';\nimport { rollup, type InputOptions, type OutputOptions, type Plugin } from 'rollup';\nimport { esbuild } from './plugins/esbuild';\nimport { optimizeLodashImports } from '@optimize-lodash/rollup-plugin';\nimport { analyzeBundle } from './analyze';\nimport { removeAllOptionsFromMastraExceptPlugin } from './plugins/remove-all-except';\nimport { tsConfigPaths } from './plugins/tsconfig-paths';\nimport { join } from 'node:path';\nimport { slash } from './utils';\nimport { subpathExternalsResolver } from './plugins/subpath-externals-resolver';\nimport { nodeModulesExtensionResolver } from './plugins/node-modules-extension-resolver';\nimport { removeDeployer } from './plugins/remove-deployer';\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 {\n sourcemap = false,\n isDev = false,\n projectRoot,\n workspaceRoot = undefined,\n enableEsmShim = true,\n externalsPreset = false,\n }: {\n sourcemap?: boolean;\n isDev?: boolean;\n workspaceRoot?: string;\n projectRoot: string;\n enableEsmShim?: boolean;\n externalsPreset?: boolean;\n },\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>(analyzedBundleInfo.externalDependencies);\n const externals = externalsPreset ? [] : Array.from(externalsCopy);\n\n const normalizedEntryFile = slash(entryFile);\n return {\n logLevel: process.env.MASTRA_BUNDLER_DEBUG === 'true' ? 'debug' : 'silent',\n treeshake: 'smallest',\n preserveSymlinks: true,\n external: externals,\n plugins: [\n subpathExternalsResolver(externals),\n {\n name: 'alias-optimized-deps',\n resolveId(id: string) {\n if (!analyzedBundleInfo.dependencies.has(id)) {\n return null;\n }\n\n const filename = analyzedBundleInfo.dependencies.get(id)!;\n const absolutePath = join(workspaceRoot || projectRoot, filename);\n\n // During `mastra dev` we want to keep deps as external\n if (isDev) {\n return {\n id: process.platform === 'win32' ? pathToFileURL(absolutePath).href : absolutePath,\n external: true,\n };\n }\n\n // For production builds return the absolute path as-is so Rollup can handle itself\n return {\n id: absolutePath,\n external: false,\n };\n },\n } satisfies Plugin,\n alias({\n entries: [\n {\n find: /^\\#server$/,\n replacement: slash(fileURLToPath(import.meta.resolve('@mastra/deployer/server'))),\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 } satisfies Plugin,\n esbuild({\n platform,\n define: env,\n }),\n optimizeLodashImports({\n include: '**/*.{js,ts,mjs,cjs}',\n }),\n externalsPreset\n ? null\n : commonjs({\n extensions: ['.js', '.ts'],\n transformMixedEsModules: true,\n esmExternals(id) {\n return externals.includes(id);\n },\n }),\n enableEsmShim ? esmShim() : undefined,\n externalsPreset ? nodeModulesExtensionResolver() : 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"]}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkUJXH5MNH_cjs = require('./chunk-UJXH5MNH.cjs');
3
+ var chunkCRIOGWZD_cjs = require('./chunk-CRIOGWZD.cjs');
4
4
  var chunkVA2CSOKJ_cjs = require('./chunk-VA2CSOKJ.cjs');
5
5
  var alias = require('@rollup/plugin-alias');
6
6
  var commonjs = require('@rollup/plugin-commonjs');
@@ -10,8 +10,7 @@ var url = require('url');
10
10
  var rollup = require('rollup');
11
11
  var rollupPlugin = require('@optimize-lodash/rollup-plugin');
12
12
  var path = require('path');
13
- var fs = require('fs');
14
- var resolveFrom = require('resolve-from');
13
+ var promises = require('fs/promises');
15
14
 
16
15
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
17
16
 
@@ -19,45 +18,14 @@ var alias__default = /*#__PURE__*/_interopDefault(alias);
19
18
  var commonjs__default = /*#__PURE__*/_interopDefault(commonjs);
20
19
  var json__default = /*#__PURE__*/_interopDefault(json);
21
20
  var nodeResolve2__default = /*#__PURE__*/_interopDefault(nodeResolve2);
22
- var resolveFrom__default = /*#__PURE__*/_interopDefault(resolveFrom);
23
21
 
24
- var JS_EXTENSIONS = /* @__PURE__ */ new Set([".js", ".mjs", ".cjs"]);
25
- var packageExportsCache = /* @__PURE__ */ new Map();
26
- var resolveCache = /* @__PURE__ */ new Map();
27
- function safeResolve(id, importer) {
28
- const cacheKey = `${id}\0${importer}`;
29
- const cached = resolveCache.get(cacheKey);
30
- if (cached !== void 0) {
31
- return cached;
22
+ async function getPackageJSON(pkgName, importer) {
23
+ const pkgRoot = await chunkCRIOGWZD_cjs.getPackageRootPath(pkgName, importer);
24
+ if (!pkgRoot) {
25
+ throw new Error(`Package ${pkgName} not found`);
32
26
  }
33
- let result;
34
- try {
35
- result = resolveFrom__default.default(importer, id);
36
- } catch {
37
- result = null;
38
- }
39
- resolveCache.set(cacheKey, result);
40
- return result;
41
- }
42
- function packageHasExports(pkgName, importer) {
43
- const pkgMainPath = safeResolve(pkgName, importer);
44
- if (!pkgMainPath) return false;
45
- let dir = pkgMainPath;
46
- for (let i = 0; i < 10; i++) {
47
- dir = path.dirname(dir);
48
- const cached = packageExportsCache.get(dir);
49
- if (cached !== void 0) return cached;
50
- try {
51
- const pkgJson = JSON.parse(fs.readFileSync(`${dir}/package.json`, "utf-8"));
52
- if (pkgJson.name === pkgName) {
53
- const result = !!pkgJson.exports;
54
- packageExportsCache.set(dir, result);
55
- return result;
56
- }
57
- } catch {
58
- }
59
- }
60
- return false;
27
+ const pkgJSON = JSON.parse(await promises.readFile(path.join(pkgRoot, "package.json"), "utf-8"));
28
+ return pkgJSON;
61
29
  }
62
30
  function nodeModulesExtensionResolver() {
63
31
  const nodeResolvePlugin = nodeResolve2__default.default();
@@ -72,49 +40,35 @@ function nodeModulesExtensionResolver() {
72
40
  if (isScoped && parts.length === 2 || !isScoped && parts.length === 1) {
73
41
  return null;
74
42
  }
75
- const foundExt = path.extname(id);
76
43
  const pkgName = chunkVA2CSOKJ_cjs.getPackageName(id);
77
- if (foundExt && JS_EXTENSIONS.has(foundExt)) {
78
- if (pkgName && packageHasExports(pkgName, importer)) {
79
- return {
80
- id: id.slice(0, -foundExt.length),
81
- external: true
82
- };
83
- }
84
- return { id, external: true };
44
+ if (!pkgName) {
45
+ return null;
85
46
  }
86
47
  try {
87
- const resolved2 = undefined(id);
88
- if (resolved2 && path.extname(resolved2)) {
89
- return { id, external: true };
48
+ const packageJSON = await getPackageJSON(pkgName, importer);
49
+ if (!!packageJSON.exports) {
50
+ return null;
90
51
  }
91
- } catch {
92
- }
93
- const nodeResolved = await nodeResolvePlugin.resolveId?.handler?.call(this, id, importer, options);
94
- if (!nodeResolved?.id) {
95
- return null;
96
- }
97
- const resolved = safeResolve(id, importer);
98
- if (!resolved) {
99
- for (const ext of JS_EXTENSIONS) {
100
- if (safeResolve(id + ext, importer)) {
101
- return { id: id + ext, external: true };
102
- }
52
+ const packageRoot = await chunkCRIOGWZD_cjs.getPackageRootPath(pkgName, importer);
53
+ const nodeResolved = await nodeResolvePlugin.resolveId?.handler?.call(this, id, importer, options);
54
+ if (!nodeResolved?.id) {
55
+ return null;
103
56
  }
57
+ let filePath = nodeResolved.id;
58
+ console.log({ nodeResolved });
59
+ if (nodeResolved.resolvedBy === "commonjs--resolver") {
60
+ filePath = filePath.substring(1).split("?")[0];
61
+ console.log({ filePath });
62
+ }
63
+ const resolvedImportPath = filePath.replace(packageRoot, pkgName);
64
+ return {
65
+ id: resolvedImportPath,
66
+ external: true
67
+ };
68
+ } catch (err) {
69
+ console.error(err);
104
70
  return null;
105
71
  }
106
- const resolvedExt = path.extname(resolved);
107
- if (!resolvedExt || !JS_EXTENSIONS.has(resolvedExt)) {
108
- return { id, external: true };
109
- }
110
- if (pkgName && packageHasExports(pkgName, importer)) {
111
- return { id, external: true };
112
- }
113
- const subpath = pkgName ? id.slice(pkgName.length + 1) : "";
114
- if (subpath && resolved.endsWith(`/${subpath}${resolvedExt}`)) {
115
- return { id: id + resolvedExt, external: true };
116
- }
117
- return { id, external: true };
118
72
  }
119
73
  };
120
74
  }
@@ -144,7 +98,7 @@ async function getInputOptions(entryFile, analyzedBundleInfo, platform, env = {
144
98
  preserveSymlinks: true,
145
99
  external: externals,
146
100
  plugins: [
147
- chunkUJXH5MNH_cjs.subpathExternalsResolver(externals),
101
+ chunkCRIOGWZD_cjs.subpathExternalsResolver(externals),
148
102
  {
149
103
  name: "alias-optimized-deps",
150
104
  resolveId(id) {
@@ -185,7 +139,7 @@ async function getInputOptions(entryFile, analyzedBundleInfo, platform, env = {
185
139
  { find: /^\#mastra$/, replacement: normalizedEntryFile }
186
140
  ]
187
141
  }),
188
- chunkUJXH5MNH_cjs.tsConfigPaths(),
142
+ chunkCRIOGWZD_cjs.tsConfigPaths(),
189
143
  {
190
144
  name: "tools-rewriter",
191
145
  resolveId(id) {
@@ -197,21 +151,21 @@ async function getInputOptions(entryFile, analyzedBundleInfo, platform, env = {
197
151
  }
198
152
  }
199
153
  },
200
- chunkUJXH5MNH_cjs.esbuild({
154
+ chunkCRIOGWZD_cjs.esbuild({
201
155
  platform,
202
156
  define: env
203
157
  }),
204
158
  rollupPlugin.optimizeLodashImports({
205
159
  include: "**/*.{js,ts,mjs,cjs}"
206
160
  }),
207
- commonjs__default.default({
161
+ externalsPreset ? null : commonjs__default.default({
208
162
  extensions: [".js", ".ts"],
209
163
  transformMixedEsModules: true,
210
164
  esmExternals(id) {
211
165
  return externals.includes(id);
212
166
  }
213
167
  }),
214
- enableEsmShim ? chunkUJXH5MNH_cjs.esmShim() : void 0,
168
+ enableEsmShim ? chunkCRIOGWZD_cjs.esmShim() : void 0,
215
169
  externalsPreset ? nodeModulesExtensionResolver() : nodeResolvePlugin,
216
170
  // for debugging
217
171
  // {
@@ -228,9 +182,9 @@ async function getInputOptions(entryFile, analyzedBundleInfo, platform, env = {
228
182
  // },
229
183
  // },
230
184
  json__default.default(),
231
- chunkUJXH5MNH_cjs.removeDeployer(entryFile, { sourcemap }),
185
+ chunkCRIOGWZD_cjs.removeDeployer(entryFile, { sourcemap }),
232
186
  // treeshake unused imports
233
- chunkUJXH5MNH_cjs.esbuild({
187
+ chunkCRIOGWZD_cjs.esbuild({
234
188
  include: entryFile,
235
189
  platform
236
190
  })
@@ -257,5 +211,5 @@ async function createBundler(inputOptions, outputOptions) {
257
211
  exports.createBundler = createBundler;
258
212
  exports.getInputOptions = getInputOptions;
259
213
  exports.nodeModulesExtensionResolver = nodeModulesExtensionResolver;
260
- //# sourceMappingURL=chunk-PB5O2NTZ.cjs.map
261
- //# sourceMappingURL=chunk-PB5O2NTZ.cjs.map
214
+ //# sourceMappingURL=chunk-OVVUJ46G.cjs.map
215
+ //# sourceMappingURL=chunk-OVVUJ46G.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/build/plugins/node-modules-extension-resolver.ts","../src/build/bundler.ts"],"names":["getPackageRootPath","readFile","join","nodeResolve","isBuiltinModule","getPackageName","slash","subpathExternalsResolver","pathToFileURL","alias","fileURLToPath","tsConfigPaths","esbuild","optimizeLodashImports","commonjs","esmShim","json","removeDeployer","rollup"],"mappings":"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","file":"chunk-OVVUJ46G.cjs","sourcesContent":["import { join } from 'node:path';\nimport { readFile } from 'node:fs/promises';\nimport type { Plugin } from 'rollup';\nimport nodeResolve from '@rollup/plugin-node-resolve';\nimport { getPackageName, isBuiltinModule } from '../utils';\nimport { getPackageRootPath } from '../package-info';\nimport type { PackageJson } from 'type-fest';\n\n/**\n * Check if a package has an exports field in its package.json.\n * Results are cached to avoid repeated filesystem reads.\n */\nasync function getPackageJSON(pkgName: string, importer: string): Promise<PackageJson> {\n const pkgRoot = await getPackageRootPath(pkgName, importer);\n if (!pkgRoot) {\n throw new Error(`Package ${pkgName} not found`);\n }\n\n const pkgJSON = JSON.parse(await readFile(join(pkgRoot, 'package.json'), 'utf-8')) as PackageJson;\n return pkgJSON;\n}\n\n/**\n * Rollup plugin that resolves module extensions for external dependencies.\n *\n * This plugin handles ESM compatibility for external imports when node-resolve is not used:\n * - Packages WITH exports field (e.g., hono, date-fns): Keep imports as-is or strip redundant extensions\n * - Packages WITHOUT exports field (e.g., lodash): Add .js extension for direct file imports\n */\nexport function nodeModulesExtensionResolver(): Plugin {\n // Create a single instance of node-resolve to reuse\n const nodeResolvePlugin = nodeResolve();\n\n return {\n name: 'node-modules-extension-resolver',\n async resolveId(id, importer, options) {\n // Skip relative imports, absolute paths, no importer, or builtin modules\n if (!importer || id.startsWith('.') || id.startsWith('/') || isBuiltinModule(id)) {\n return null;\n }\n\n // Skip direct package imports (e.g., 'lodash', '@mastra/core')\n const parts = id.split('/');\n const isScoped = id.startsWith('@');\n if ((isScoped && parts.length === 2) || (!isScoped && parts.length === 1)) {\n return null;\n }\n\n const pkgName = getPackageName(id);\n if (!pkgName) {\n return null;\n }\n\n try {\n const packageJSON = await getPackageJSON(pkgName, importer);\n // if it has exports, node should be able to rsolve it, if not the exports map is wrong.\n if (!!packageJSON.exports) {\n return null;\n }\n\n const packageRoot = await getPackageRootPath(pkgName, importer);\n // @ts-expect-error - handle is part of resolveId signature\n const nodeResolved = await nodeResolvePlugin.resolveId?.handler?.call(this, id, importer, options);\n // if we cannot resolve it, it's not a valid import so we let node handle it\n if (!nodeResolved?.id) {\n return null;\n }\n\n let filePath = nodeResolved.id;\n console.log({ nodeResolved });\n if (nodeResolved.resolvedBy === 'commonjs--resolver') {\n filePath = filePath.substring(1).split('?')[0];\n console.log({ filePath });\n }\n\n const resolvedImportPath = filePath.replace(packageRoot, pkgName);\n\n return {\n id: resolvedImportPath,\n external: true,\n };\n } catch (err) {\n console.error(err);\n return null;\n }\n },\n };\n}\n","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 './plugins/esm-shim';\nimport { fileURLToPath, pathToFileURL } from 'node:url';\nimport { rollup, type InputOptions, type OutputOptions, type Plugin } from 'rollup';\nimport { esbuild } from './plugins/esbuild';\nimport { optimizeLodashImports } from '@optimize-lodash/rollup-plugin';\nimport { analyzeBundle } from './analyze';\nimport { removeAllOptionsFromMastraExceptPlugin } from './plugins/remove-all-except';\nimport { tsConfigPaths } from './plugins/tsconfig-paths';\nimport { join } from 'node:path';\nimport { slash } from './utils';\nimport { subpathExternalsResolver } from './plugins/subpath-externals-resolver';\nimport { nodeModulesExtensionResolver } from './plugins/node-modules-extension-resolver';\nimport { removeDeployer } from './plugins/remove-deployer';\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 {\n sourcemap = false,\n isDev = false,\n projectRoot,\n workspaceRoot = undefined,\n enableEsmShim = true,\n externalsPreset = false,\n }: {\n sourcemap?: boolean;\n isDev?: boolean;\n workspaceRoot?: string;\n projectRoot: string;\n enableEsmShim?: boolean;\n externalsPreset?: boolean;\n },\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>(analyzedBundleInfo.externalDependencies);\n const externals = externalsPreset ? [] : Array.from(externalsCopy);\n\n const normalizedEntryFile = slash(entryFile);\n return {\n logLevel: process.env.MASTRA_BUNDLER_DEBUG === 'true' ? 'debug' : 'silent',\n treeshake: 'smallest',\n preserveSymlinks: true,\n external: externals,\n plugins: [\n subpathExternalsResolver(externals),\n {\n name: 'alias-optimized-deps',\n resolveId(id: string) {\n if (!analyzedBundleInfo.dependencies.has(id)) {\n return null;\n }\n\n const filename = analyzedBundleInfo.dependencies.get(id)!;\n const absolutePath = join(workspaceRoot || projectRoot, filename);\n\n // During `mastra dev` we want to keep deps as external\n if (isDev) {\n return {\n id: process.platform === 'win32' ? pathToFileURL(absolutePath).href : absolutePath,\n external: true,\n };\n }\n\n // For production builds return the absolute path as-is so Rollup can handle itself\n return {\n id: absolutePath,\n external: false,\n };\n },\n } satisfies Plugin,\n alias({\n entries: [\n {\n find: /^\\#server$/,\n replacement: slash(fileURLToPath(import.meta.resolve('@mastra/deployer/server'))),\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 } satisfies Plugin,\n esbuild({\n platform,\n define: env,\n }),\n optimizeLodashImports({\n include: '**/*.{js,ts,mjs,cjs}',\n }),\n externalsPreset\n ? null\n : commonjs({\n extensions: ['.js', '.ts'],\n transformMixedEsModules: true,\n esmExternals(id) {\n return externals.includes(id);\n },\n }),\n enableEsmShim ? esmShim() : undefined,\n externalsPreset ? nodeModulesExtensionResolver() : 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"]}
@@ -1,5 +1,5 @@
1
- import { getInputOptions, nodeModulesExtensionResolver } from './chunk-C6UFSG3V.js';
2
- import { getWorkspaceInformation, analyzeBundle, tsConfigPaths, aliasHono, extractMastraOption, removeAllOptionsFromMastraExcept } from './chunk-HNSVE6YO.js';
1
+ import { getInputOptions, nodeModulesExtensionResolver } from './chunk-ONWHS3PA.js';
2
+ import { getWorkspaceInformation, analyzeBundle, tsConfigPaths, aliasHono, extractMastraOption } from './chunk-BDA7RMRF.js';
3
3
  import { slash, getPackageName } from './chunk-HHA2Y3AS.js';
4
4
  import { watch } from 'rollup';
5
5
  import { dirname, posix } from 'path';
@@ -74,20 +74,9 @@ async function createWatcher(inputOptions, outputOptions) {
74
74
  return watcher;
75
75
  }
76
76
 
77
- // src/build/babel/remove-all-options-server.ts
78
- function removeAllOptionsExceptServer(result, logger) {
79
- return removeAllOptionsFromMastraExcept(result, "server", logger);
80
- }
81
-
82
77
  // src/build/serverOptions.ts
83
78
  async function getServerOptions(entryFile, outputDir, logger) {
84
- const result = await extractMastraOption(
85
- "server",
86
- entryFile,
87
- removeAllOptionsExceptServer,
88
- outputDir,
89
- logger
90
- );
79
+ const result = await extractMastraOption("server", entryFile, outputDir, logger);
91
80
  if (!result) {
92
81
  return null;
93
82
  }
@@ -95,5 +84,5 @@ async function getServerOptions(entryFile, outputDir, logger) {
95
84
  }
96
85
 
97
86
  export { createWatcher, getInputOptions2 as getInputOptions, getServerOptions };
98
- //# sourceMappingURL=chunk-BFA354MH.js.map
99
- //# sourceMappingURL=chunk-BFA354MH.js.map
87
+ //# sourceMappingURL=chunk-WFIG7I5C.js.map
88
+ //# sourceMappingURL=chunk-WFIG7I5C.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/build/watcher.ts","../src/build/serverOptions.ts"],"names":["getInputOptions"],"mappings":"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","file":"chunk-WFIG7I5C.js","sourcesContent":["import type { InputOptions, OutputOptions, Plugin } from 'rollup';\nimport { watch } from 'rollup';\nimport { dirname, posix } from 'node:path';\nimport * as pkg from 'empathic/package';\nimport { getInputOptions as getBundlerInputOptions } from './bundler';\nimport { aliasHono } from './plugins/hono-alias';\nimport { nodeModulesExtensionResolver } from './plugins/node-modules-extension-resolver';\nimport { tsConfigPaths } from './plugins/tsconfig-paths';\nimport { noopLogger } from '@mastra/core/logger';\nimport { getWorkspaceInformation } from '../bundler/workspaceDependencies';\nimport { analyzeBundle } from './analyze';\nimport { getPackageName, slash } from './utils';\n\nexport async function getInputOptions(\n entryFile: string,\n platform: 'node' | 'browser',\n env?: Record<string, string>,\n { sourcemap = false }: { sourcemap?: boolean } = {},\n) {\n const closestPkgJson = pkg.up({ cwd: dirname(entryFile) });\n const projectRoot = closestPkgJson ? dirname(slash(closestPkgJson)) : slash(process.cwd());\n const { workspaceMap, workspaceRoot } = await getWorkspaceInformation({ mastraEntryFile: entryFile });\n\n const analyzeEntryResult = await analyzeBundle(\n [entryFile],\n entryFile,\n {\n outputDir: posix.join(process.cwd(), '.mastra', '.build'),\n projectRoot: workspaceRoot || process.cwd(),\n platform: 'node',\n isDev: true,\n },\n noopLogger,\n );\n\n const deps = /* @__PURE__ */ new Map();\n for (const [dep, metadata] of analyzeEntryResult.dependencies.entries()) {\n const pkgName = getPackageName(dep);\n if (pkgName && workspaceMap.has(pkgName)) {\n deps.set(dep, metadata);\n }\n }\n\n const inputOptions = await getBundlerInputOptions(\n entryFile,\n {\n dependencies: deps,\n externalDependencies: new Set(),\n workspaceMap,\n },\n platform,\n env,\n { sourcemap, isDev: true, workspaceRoot, projectRoot },\n );\n\n if (Array.isArray(inputOptions.plugins)) {\n // filter out node-resolve plugin so all node_modules are external\n // and tsconfig-paths plugin as we are injection a custom one\n const plugins = [] as Plugin[];\n inputOptions.plugins.forEach(plugin => {\n if ((plugin as Plugin | undefined)?.name === 'node-resolve') {\n return;\n }\n\n if ((plugin as Plugin | undefined)?.name === 'tsconfig-paths') {\n plugins.push(\n tsConfigPaths({\n localResolve: true,\n }),\n );\n return;\n }\n\n plugins.push(plugin as Plugin);\n });\n\n inputOptions.plugins = plugins;\n inputOptions.plugins.push(aliasHono());\n // fixes imports like lodash/fp/get\n inputOptions.plugins.push(nodeModulesExtensionResolver());\n }\n\n return inputOptions;\n}\n\nexport async function createWatcher(inputOptions: InputOptions, outputOptions: OutputOptions) {\n const watcher = await watch({\n ...inputOptions,\n output: {\n ...outputOptions,\n format: 'esm',\n entryFileNames: '[name].mjs',\n chunkFileNames: '[name].mjs',\n },\n });\n\n return watcher;\n}\n","import type { Config } from '@mastra/core/mastra';\nimport { extractMastraOption, extractMastraOptionBundler } from './shared/extract-mastra-option';\nimport type { IMastraLogger } from '@mastra/core/logger';\n\nexport function getServerOptionsBundler(\n entryFile: string,\n result: {\n hasCustomConfig: false;\n },\n) {\n return extractMastraOptionBundler('server', entryFile, result);\n}\n\nexport async function getServerOptions(\n entryFile: string,\n outputDir: string,\n logger?: IMastraLogger,\n): Promise<Config['server'] | null> {\n const result = await extractMastraOption('server', entryFile, outputDir, logger);\n if (!result) {\n return null;\n }\n\n return result.getConfig();\n}\n"]}
package/dist/index.cjs CHANGED
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var chunkIVKDKRCR_cjs = require('./chunk-IVKDKRCR.cjs');
4
- var chunkUJXH5MNH_cjs = require('./chunk-UJXH5MNH.cjs');
3
+ var chunk7F6JKGX4_cjs = require('./chunk-7F6JKGX4.cjs');
4
+ var chunkCRIOGWZD_cjs = require('./chunk-CRIOGWZD.cjs');
5
5
  var chunkJVBCN3RH_cjs = require('./chunk-JVBCN3RH.cjs');
6
6
 
7
7
  // src/deploy/base.ts
8
- var Deployer = class extends chunkIVKDKRCR_cjs.Bundler {
8
+ var Deployer = class extends chunk7F6JKGX4_cjs.Bundler {
9
9
  deps = new chunkJVBCN3RH_cjs.DepsService();
10
10
  constructor(args) {
11
11
  super(args.name, "DEPLOYER");
@@ -23,20 +23,9 @@ var Deployer = class extends chunkIVKDKRCR_cjs.Bundler {
23
23
  }
24
24
  };
25
25
 
26
- // src/build/babel/remove-all-options-deployer.ts
27
- function removeAllOptionsExceptDeployer(result, logger) {
28
- return chunkUJXH5MNH_cjs.removeAllOptionsFromMastraExcept(result, "deployer", logger);
29
- }
30
-
31
26
  // src/build/deployer.ts
32
27
  async function getDeployer(entryFile, outputDir, logger) {
33
- const result = await chunkUJXH5MNH_cjs.extractMastraOption(
34
- "deployer",
35
- entryFile,
36
- removeAllOptionsExceptDeployer,
37
- outputDir,
38
- logger
39
- );
28
+ const result = await chunkCRIOGWZD_cjs.extractMastraOption("deployer", entryFile, outputDir, logger);
40
29
  if (!result) {
41
30
  return null;
42
31
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/deploy/base.ts","../src/build/babel/remove-all-options-deployer.ts","../src/build/deployer.ts"],"names":["Bundler","DepsService","FileService","removeAllOptionsFromMastraExcept","extractMastraOption"],"mappings":";;;;;;;AAMO,IAAe,QAAA,GAAf,cAAgCA,yBAAA,CAA6B;AAAA,EAClE,IAAA,GAAoB,IAAIC,6BAAA,EAAY;AAAA,EAEpC,YAAY,IAAA,EAAwB;AAClC,IAAA,KAAA,CAAM,IAAA,CAAK,MAAM,UAAU,CAAA;AAE3B,IAAA,IAAA,CAAK,IAAA,CAAK,WAAA,CAAY,IAAA,CAAK,MAAM,CAAA;AAAA,EACnC;AAAA,EAEA,WAAA,GAAiC;AAC/B,IAAA,MAAM,aAAA,GAAgB,CAAC,iBAAA,EAAmB,YAAA,EAAc,MAAM,CAAA;AAE9D,IAAA,IAAI;AACF,MAAA,MAAM,WAAA,GAAc,IAAIC,6BAAA,EAAY;AACpC,MAAA,MAAM,OAAA,GAAU,WAAA,CAAY,oBAAA,CAAqB,aAAa,CAAA;AAE9D,MAAA,OAAO,OAAA,CAAQ,OAAA,CAAQ,CAAC,OAAO,CAAC,CAAA;AAAA,IAClC,CAAA,CAAA,MAAQ;AAAA,IAAC;AAET,IAAA,OAAO,OAAA,CAAQ,OAAA,CAAQ,EAAE,CAAA;AAAA,EAC3B;AAGF;;;AC1BO,SAAS,8BAAA,CAA+B,QAAsC,MAAA,EAAwB;AAC3G,EAAA,OAAOC,kDAAA,CAAiC,MAAA,EAAQ,UAAA,EAAY,MAAM,CAAA;AACpE;;;ACSA,eAAsB,WAAA,CACpB,SAAA,EACA,SAAA,EACA,MAAA,EACoC;AACpC,EAAA,MAAM,SAAS,MAAMC,qCAAA;AAAA,IACnB,UAAA;AAAA,IACA,SAAA;AAAA,IACA,8BAAA;AAAA,IACA,SAAA;AAAA,IACA;AAAA,GACF;AACA,EAAA,IAAI,CAAC,MAAA,EAAQ;AACX,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,OAAO,OAAO,SAAA,EAAU;AAC1B","file":"index.cjs","sourcesContent":["import type { IDeployer } from '@mastra/core/deployer';\n\nimport { Bundler } from '../bundler';\nimport { DepsService } from '../services/deps.js';\nimport { FileService } from '../services/fs.js';\n\nexport abstract class Deployer extends Bundler implements IDeployer {\n deps: DepsService = new DepsService();\n\n constructor(args: { name: string }) {\n super(args.name, 'DEPLOYER');\n\n this.deps.__setLogger(this.logger);\n }\n\n getEnvFiles(): Promise<string[]> {\n const possibleFiles = ['.env.production', '.env.local', '.env'];\n\n try {\n const fileService = new FileService();\n const envFile = fileService.getFirstExistingFile(possibleFiles);\n\n return Promise.resolve([envFile]);\n } catch {}\n\n return Promise.resolve([]);\n }\n\n abstract deploy(outputDirectory: string): Promise<void>;\n}\n","import { removeAllOptionsFromMastraExcept } from './remove-all-options-except';\nimport type { IMastraLogger } from '@mastra/core/logger';\n\nexport function removeAllOptionsExceptDeployer(result: { hasCustomConfig: boolean }, logger?: IMastraLogger) {\n return removeAllOptionsFromMastraExcept(result, 'deployer', logger);\n}\n","import { removeAllOptionsExceptDeployer } from './babel/remove-all-options-deployer';\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 getDeployerBundler(\n entryFile: string,\n result: {\n hasCustomConfig: false;\n },\n) {\n return extractMastraOptionBundler('deployer', entryFile, removeAllOptionsExceptDeployer, result);\n}\n\nexport async function getDeployer(\n entryFile: string,\n outputDir: string,\n logger?: IMastraLogger,\n): Promise<Config['deployer'] | null> {\n const result = await extractMastraOption<Config['deployer']>(\n 'deployer',\n entryFile,\n removeAllOptionsExceptDeployer,\n outputDir,\n logger,\n );\n if (!result) {\n return null;\n }\n\n return result.getConfig();\n}\n"]}
1
+ {"version":3,"sources":["../src/deploy/base.ts","../src/build/deployer.ts"],"names":["Bundler","DepsService","FileService","extractMastraOption"],"mappings":";;;;;;;AAMO,IAAe,QAAA,GAAf,cAAgCA,yBAAA,CAA6B;AAAA,EAClE,IAAA,GAAoB,IAAIC,6BAAA,EAAY;AAAA,EAEpC,YAAY,IAAA,EAAwB;AAClC,IAAA,KAAA,CAAM,IAAA,CAAK,MAAM,UAAU,CAAA;AAE3B,IAAA,IAAA,CAAK,IAAA,CAAK,WAAA,CAAY,IAAA,CAAK,MAAM,CAAA;AAAA,EACnC;AAAA,EAEA,WAAA,GAAiC;AAC/B,IAAA,MAAM,aAAA,GAAgB,CAAC,iBAAA,EAAmB,YAAA,EAAc,MAAM,CAAA;AAE9D,IAAA,IAAI;AACF,MAAA,MAAM,WAAA,GAAc,IAAIC,6BAAA,EAAY;AACpC,MAAA,MAAM,OAAA,GAAU,WAAA,CAAY,oBAAA,CAAqB,aAAa,CAAA;AAE9D,MAAA,OAAO,OAAA,CAAQ,OAAA,CAAQ,CAAC,OAAO,CAAC,CAAA;AAAA,IAClC,CAAA,CAAA,MAAQ;AAAA,IAAC;AAET,IAAA,OAAO,OAAA,CAAQ,OAAA,CAAQ,EAAE,CAAA;AAAA,EAC3B;AAGF;;;AChBA,eAAsB,WAAA,CACpB,SAAA,EACA,SAAA,EACA,MAAA,EACoC;AACpC,EAAA,MAAM,SAAS,MAAMC,qCAAA,CAAoB,UAAA,EAAY,SAAA,EAAW,WAAW,MAAM,CAAA;AACjF,EAAA,IAAI,CAAC,MAAA,EAAQ;AACX,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,OAAO,OAAO,SAAA,EAAU;AAC1B","file":"index.cjs","sourcesContent":["import type { IDeployer } from '@mastra/core/deployer';\n\nimport { Bundler } from '../bundler';\nimport { DepsService } from '../services/deps.js';\nimport { FileService } from '../services/fs.js';\n\nexport abstract class Deployer extends Bundler implements IDeployer {\n deps: DepsService = new DepsService();\n\n constructor(args: { name: string }) {\n super(args.name, 'DEPLOYER');\n\n this.deps.__setLogger(this.logger);\n }\n\n getEnvFiles(): Promise<string[]> {\n const possibleFiles = ['.env.production', '.env.local', '.env'];\n\n try {\n const fileService = new FileService();\n const envFile = fileService.getFirstExistingFile(possibleFiles);\n\n return Promise.resolve([envFile]);\n } catch {}\n\n return Promise.resolve([]);\n }\n\n abstract deploy(outputDirectory: string): Promise<void>;\n}\n","import type { Config } from '@mastra/core/mastra';\nimport { extractMastraOption, extractMastraOptionBundler } from './shared/extract-mastra-option';\nimport type { IMastraLogger } from '@mastra/core/logger';\n\nexport function getDeployerBundler(\n entryFile: string,\n result: {\n hasCustomConfig: false;\n },\n) {\n return extractMastraOptionBundler('deployer', entryFile, result);\n}\n\nexport async function getDeployer(\n entryFile: string,\n outputDir: string,\n logger?: IMastraLogger,\n): Promise<Config['deployer'] | null> {\n const result = await extractMastraOption('deployer', entryFile, outputDir, logger);\n if (!result) {\n return null;\n }\n\n return result.getConfig();\n}\n"]}
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
- import { Bundler } from './chunk-ZXT4NSIV.js';
2
- import { extractMastraOption, removeAllOptionsFromMastraExcept } from './chunk-HNSVE6YO.js';
1
+ import { Bundler } from './chunk-ESR6AK5N.js';
2
+ import { extractMastraOption } from './chunk-BDA7RMRF.js';
3
3
  import { DepsService, FileService } from './chunk-DPDWM7HQ.js';
4
4
  export { Deps, FileService, createChildProcessLogger, createPinoStream } from './chunk-DPDWM7HQ.js';
5
5
 
@@ -22,20 +22,9 @@ var Deployer = class extends Bundler {
22
22
  }
23
23
  };
24
24
 
25
- // src/build/babel/remove-all-options-deployer.ts
26
- function removeAllOptionsExceptDeployer(result, logger) {
27
- return removeAllOptionsFromMastraExcept(result, "deployer", logger);
28
- }
29
-
30
25
  // src/build/deployer.ts
31
26
  async function getDeployer(entryFile, outputDir, logger) {
32
- const result = await extractMastraOption(
33
- "deployer",
34
- entryFile,
35
- removeAllOptionsExceptDeployer,
36
- outputDir,
37
- logger
38
- );
27
+ const result = await extractMastraOption("deployer", entryFile, outputDir, logger);
39
28
  if (!result) {
40
29
  return null;
41
30
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/deploy/base.ts","../src/build/babel/remove-all-options-deployer.ts","../src/build/deployer.ts"],"names":[],"mappings":";;;;;;AAMO,IAAe,QAAA,GAAf,cAAgC,OAAA,CAA6B;AAAA,EAClE,IAAA,GAAoB,IAAI,WAAA,EAAY;AAAA,EAEpC,YAAY,IAAA,EAAwB;AAClC,IAAA,KAAA,CAAM,IAAA,CAAK,MAAM,UAAU,CAAA;AAE3B,IAAA,IAAA,CAAK,IAAA,CAAK,WAAA,CAAY,IAAA,CAAK,MAAM,CAAA;AAAA,EACnC;AAAA,EAEA,WAAA,GAAiC;AAC/B,IAAA,MAAM,aAAA,GAAgB,CAAC,iBAAA,EAAmB,YAAA,EAAc,MAAM,CAAA;AAE9D,IAAA,IAAI;AACF,MAAA,MAAM,WAAA,GAAc,IAAI,WAAA,EAAY;AACpC,MAAA,MAAM,OAAA,GAAU,WAAA,CAAY,oBAAA,CAAqB,aAAa,CAAA;AAE9D,MAAA,OAAO,OAAA,CAAQ,OAAA,CAAQ,CAAC,OAAO,CAAC,CAAA;AAAA,IAClC,CAAA,CAAA,MAAQ;AAAA,IAAC;AAET,IAAA,OAAO,OAAA,CAAQ,OAAA,CAAQ,EAAE,CAAA;AAAA,EAC3B;AAGF;;;AC1BO,SAAS,8BAAA,CAA+B,QAAsC,MAAA,EAAwB;AAC3G,EAAA,OAAO,gCAAA,CAAiC,MAAA,EAAQ,UAAA,EAAY,MAAM,CAAA;AACpE;;;ACSA,eAAsB,WAAA,CACpB,SAAA,EACA,SAAA,EACA,MAAA,EACoC;AACpC,EAAA,MAAM,SAAS,MAAM,mBAAA;AAAA,IACnB,UAAA;AAAA,IACA,SAAA;AAAA,IACA,8BAAA;AAAA,IACA,SAAA;AAAA,IACA;AAAA,GACF;AACA,EAAA,IAAI,CAAC,MAAA,EAAQ;AACX,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,OAAO,OAAO,SAAA,EAAU;AAC1B","file":"index.js","sourcesContent":["import type { IDeployer } from '@mastra/core/deployer';\n\nimport { Bundler } from '../bundler';\nimport { DepsService } from '../services/deps.js';\nimport { FileService } from '../services/fs.js';\n\nexport abstract class Deployer extends Bundler implements IDeployer {\n deps: DepsService = new DepsService();\n\n constructor(args: { name: string }) {\n super(args.name, 'DEPLOYER');\n\n this.deps.__setLogger(this.logger);\n }\n\n getEnvFiles(): Promise<string[]> {\n const possibleFiles = ['.env.production', '.env.local', '.env'];\n\n try {\n const fileService = new FileService();\n const envFile = fileService.getFirstExistingFile(possibleFiles);\n\n return Promise.resolve([envFile]);\n } catch {}\n\n return Promise.resolve([]);\n }\n\n abstract deploy(outputDirectory: string): Promise<void>;\n}\n","import { removeAllOptionsFromMastraExcept } from './remove-all-options-except';\nimport type { IMastraLogger } from '@mastra/core/logger';\n\nexport function removeAllOptionsExceptDeployer(result: { hasCustomConfig: boolean }, logger?: IMastraLogger) {\n return removeAllOptionsFromMastraExcept(result, 'deployer', logger);\n}\n","import { removeAllOptionsExceptDeployer } from './babel/remove-all-options-deployer';\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 getDeployerBundler(\n entryFile: string,\n result: {\n hasCustomConfig: false;\n },\n) {\n return extractMastraOptionBundler('deployer', entryFile, removeAllOptionsExceptDeployer, result);\n}\n\nexport async function getDeployer(\n entryFile: string,\n outputDir: string,\n logger?: IMastraLogger,\n): Promise<Config['deployer'] | null> {\n const result = await extractMastraOption<Config['deployer']>(\n 'deployer',\n entryFile,\n removeAllOptionsExceptDeployer,\n outputDir,\n logger,\n );\n if (!result) {\n return null;\n }\n\n return result.getConfig();\n}\n"]}
1
+ {"version":3,"sources":["../src/deploy/base.ts","../src/build/deployer.ts"],"names":[],"mappings":";;;;;;AAMO,IAAe,QAAA,GAAf,cAAgC,OAAA,CAA6B;AAAA,EAClE,IAAA,GAAoB,IAAI,WAAA,EAAY;AAAA,EAEpC,YAAY,IAAA,EAAwB;AAClC,IAAA,KAAA,CAAM,IAAA,CAAK,MAAM,UAAU,CAAA;AAE3B,IAAA,IAAA,CAAK,IAAA,CAAK,WAAA,CAAY,IAAA,CAAK,MAAM,CAAA;AAAA,EACnC;AAAA,EAEA,WAAA,GAAiC;AAC/B,IAAA,MAAM,aAAA,GAAgB,CAAC,iBAAA,EAAmB,YAAA,EAAc,MAAM,CAAA;AAE9D,IAAA,IAAI;AACF,MAAA,MAAM,WAAA,GAAc,IAAI,WAAA,EAAY;AACpC,MAAA,MAAM,OAAA,GAAU,WAAA,CAAY,oBAAA,CAAqB,aAAa,CAAA;AAE9D,MAAA,OAAO,OAAA,CAAQ,OAAA,CAAQ,CAAC,OAAO,CAAC,CAAA;AAAA,IAClC,CAAA,CAAA,MAAQ;AAAA,IAAC;AAET,IAAA,OAAO,OAAA,CAAQ,OAAA,CAAQ,EAAE,CAAA;AAAA,EAC3B;AAGF;;;AChBA,eAAsB,WAAA,CACpB,SAAA,EACA,SAAA,EACA,MAAA,EACoC;AACpC,EAAA,MAAM,SAAS,MAAM,mBAAA,CAAoB,UAAA,EAAY,SAAA,EAAW,WAAW,MAAM,CAAA;AACjF,EAAA,IAAI,CAAC,MAAA,EAAQ;AACX,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,OAAO,OAAO,SAAA,EAAU;AAC1B","file":"index.js","sourcesContent":["import type { IDeployer } from '@mastra/core/deployer';\n\nimport { Bundler } from '../bundler';\nimport { DepsService } from '../services/deps.js';\nimport { FileService } from '../services/fs.js';\n\nexport abstract class Deployer extends Bundler implements IDeployer {\n deps: DepsService = new DepsService();\n\n constructor(args: { name: string }) {\n super(args.name, 'DEPLOYER');\n\n this.deps.__setLogger(this.logger);\n }\n\n getEnvFiles(): Promise<string[]> {\n const possibleFiles = ['.env.production', '.env.local', '.env'];\n\n try {\n const fileService = new FileService();\n const envFile = fileService.getFirstExistingFile(possibleFiles);\n\n return Promise.resolve([envFile]);\n } catch {}\n\n return Promise.resolve([]);\n }\n\n abstract deploy(outputDirectory: string): Promise<void>;\n}\n","import type { Config } from '@mastra/core/mastra';\nimport { extractMastraOption, extractMastraOptionBundler } from './shared/extract-mastra-option';\nimport type { IMastraLogger } from '@mastra/core/logger';\n\nexport function getDeployerBundler(\n entryFile: string,\n result: {\n hasCustomConfig: false;\n },\n) {\n return extractMastraOptionBundler('deployer', entryFile, result);\n}\n\nexport async function getDeployer(\n entryFile: string,\n outputDir: string,\n logger?: IMastraLogger,\n): Promise<Config['deployer'] | null> {\n const result = await extractMastraOption('deployer', entryFile, outputDir, logger);\n if (!result) {\n return null;\n }\n\n return result.getConfig();\n}\n"]}