@mastra/deployer 0.1.8-alpha.9 → 0.1.8
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/_tsup-dts-rollup.d.cts +4 -0
- package/dist/_tsup-dts-rollup.d.ts +4 -0
- package/dist/build/analyze.cjs +5 -359
- package/dist/build/analyze.js +0 -1
- package/dist/build/bundler.cjs +9 -345
- package/dist/build/bundler.js +0 -1
- package/dist/build/index.cjs +47 -1147
- package/dist/build/index.js +0 -1
- package/dist/bundler/index.cjs +5 -997
- package/dist/bundler/index.js +0 -4
- package/dist/chunk-4LYFNYJ4.cjs +87 -0
- package/dist/chunk-GDZ3GXKY.cjs +330 -0
- package/dist/chunk-KKZQZXS5.cjs +121 -0
- package/dist/chunk-QFYK5AS3.cjs +292 -0
- package/dist/chunk-YJMYF7RI.cjs +288 -0
- package/dist/chunk-YLIG5BNH.cjs +285 -0
- package/dist/index.cjs +35 -1098
- package/dist/index.js +0 -3
- package/dist/server/index.cjs +303 -215
- package/dist/server/index.js +304 -216
- package/package.json +26 -23
- package/.turbo/turbo-build.log +0 -41
- package/CHANGELOG.md +0 -1069
- package/eslint.config.js +0 -6
- package/global.d.ts +0 -0
- package/public/templates/instrumentation-template.js +0 -94
- package/src/build/analyze.ts +0 -279
- package/src/build/babel/fix-libsql.ts +0 -41
- package/src/build/babel/get-deployer.ts +0 -51
- package/src/build/babel/get-telemetry-config.ts +0 -59
- package/src/build/babel/remove-deployer.ts +0 -36
- package/src/build/bundle.ts +0 -139
- package/src/build/bundler.ts +0 -135
- package/src/build/deployer.ts +0 -74
- package/src/build/deps.ts +0 -155
- package/src/build/env.ts +0 -76
- package/src/build/fs.ts +0 -66
- package/src/build/index.ts +0 -7
- package/src/build/isNodeBuiltin.ts +0 -7
- package/src/build/plugins/fix-libsql.ts +0 -69
- package/src/build/plugins/hono-alias.ts +0 -17
- package/src/build/plugins/pino.ts +0 -93
- package/src/build/plugins/remove-deployer.ts +0 -37
- package/src/build/plugins/telemetry-fix.ts +0 -54
- package/src/build/telemetry.ts +0 -82
- package/src/build/utils.ts +0 -12
- package/src/build/watcher.ts +0 -43
- package/src/bundler/index.ts +0 -144
- package/src/deploy/base.ts +0 -30
- package/src/deploy/index.ts +0 -2
- package/src/deploy/log.ts +0 -61
- package/src/index.ts +0 -3
- package/src/server/handlers/agents.ts +0 -215
- package/src/server/handlers/client.ts +0 -36
- package/src/server/handlers/error.ts +0 -29
- package/src/server/handlers/logs.ts +0 -52
- package/src/server/handlers/memory.ts +0 -196
- package/src/server/handlers/prompt.ts +0 -128
- package/src/server/handlers/root.ts +0 -6
- package/src/server/handlers/telemetry.ts +0 -48
- package/src/server/handlers/tools.ts +0 -122
- package/src/server/handlers/utils.ts +0 -15
- package/src/server/handlers/vector.ts +0 -149
- package/src/server/handlers/voice.ts +0 -92
- package/src/server/handlers/workflows.ts +0 -136
- package/src/server/index.ts +0 -1528
- package/src/server/openapi.json +0 -442
- package/src/server/openapi.script.js +0 -22
- package/src/server/types.ts +0 -4
- package/src/server/welcome.ts +0 -105
- package/tsconfig.json +0 -5
- package/vitest.config.ts +0 -8
|
@@ -341,6 +341,10 @@ export declare function setAgentInstructionsHandler(c: Context): Promise<Respons
|
|
|
341
341
|
*/
|
|
342
342
|
export declare function speakHandler(c: Context): Promise<Response>;
|
|
343
343
|
|
|
344
|
+
export declare function startWorkflowRunHandler(c: Context): Promise<Response & TypedResponse< {
|
|
345
|
+
runId: string;
|
|
346
|
+
}, ContentfulStatusCode, "json">>;
|
|
347
|
+
|
|
344
348
|
export declare function streamGenerateHandler(c: Context): Promise<Response | undefined>;
|
|
345
349
|
|
|
346
350
|
export declare function telemetryFix(): Plugin;
|
|
@@ -341,6 +341,10 @@ export declare function setAgentInstructionsHandler(c: Context): Promise<Respons
|
|
|
341
341
|
*/
|
|
342
342
|
export declare function speakHandler(c: Context): Promise<Response>;
|
|
343
343
|
|
|
344
|
+
export declare function startWorkflowRunHandler(c: Context): Promise<Response & TypedResponse< {
|
|
345
|
+
runId: string;
|
|
346
|
+
}, ContentfulStatusCode, "json">>;
|
|
347
|
+
|
|
344
348
|
export declare function streamGenerateHandler(c: Context): Promise<Response | undefined>;
|
|
345
349
|
|
|
346
350
|
export declare function telemetryFix(): Plugin;
|
package/dist/build/analyze.cjs
CHANGED
|
@@ -1,364 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var json = require('@rollup/plugin-json');
|
|
5
|
-
var nodeResolve = require('@rollup/plugin-node-resolve');
|
|
6
|
-
var virtual = require('@rollup/plugin-virtual');
|
|
7
|
-
var fs = require('fs');
|
|
8
|
-
var url = require('url');
|
|
9
|
-
var rollup = require('rollup');
|
|
10
|
-
var esbuild = require('rollup-plugin-esbuild');
|
|
11
|
-
var module$1 = require('module');
|
|
12
|
-
var babel = require('@babel/core');
|
|
3
|
+
var chunkYLIG5BNH_cjs = require('../chunk-YLIG5BNH.cjs');
|
|
13
4
|
|
|
14
|
-
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
15
5
|
|
|
16
|
-
function _interopNamespace(e) {
|
|
17
|
-
if (e && e.__esModule) return e;
|
|
18
|
-
var n = Object.create(null);
|
|
19
|
-
if (e) {
|
|
20
|
-
Object.keys(e).forEach(function (k) {
|
|
21
|
-
if (k !== 'default') {
|
|
22
|
-
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
23
|
-
Object.defineProperty(n, k, d.get ? d : {
|
|
24
|
-
enumerable: true,
|
|
25
|
-
get: function () { return e[k]; }
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
n.default = e;
|
|
31
|
-
return Object.freeze(n);
|
|
32
|
-
}
|
|
33
6
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
var esbuild__default = /*#__PURE__*/_interopDefault(esbuild);
|
|
39
|
-
var babel__namespace = /*#__PURE__*/_interopNamespace(babel);
|
|
40
|
-
|
|
41
|
-
// src/build/analyze.ts
|
|
42
|
-
function isNodeBuiltin(dep) {
|
|
43
|
-
const [pkg] = dep.split("/");
|
|
44
|
-
return dep.startsWith("node:") || module$1.builtinModules.includes(dep) || module$1.builtinModules.includes(pkg);
|
|
45
|
-
}
|
|
46
|
-
function aliasHono() {
|
|
47
|
-
return {
|
|
48
|
-
name: "hono-alias",
|
|
49
|
-
resolveId(id) {
|
|
50
|
-
if (!id.startsWith("@hono/") && !id.startsWith("hono/") && id !== "hono" && id !== "hono-openapi") {
|
|
51
|
-
return;
|
|
52
|
-
}
|
|
53
|
-
const path = undefined(id);
|
|
54
|
-
return url.fileURLToPath(path);
|
|
55
|
-
}
|
|
56
|
-
};
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
// src/build/plugins/pino.ts
|
|
60
|
-
function pino() {
|
|
61
|
-
const workerFiles = [
|
|
62
|
-
{
|
|
63
|
-
id: "thread-stream-worker",
|
|
64
|
-
file: "pino-thread-stream-worker"
|
|
65
|
-
},
|
|
66
|
-
{
|
|
67
|
-
id: "pino-worker",
|
|
68
|
-
file: "pino-worker"
|
|
69
|
-
},
|
|
70
|
-
{
|
|
71
|
-
id: "pino/file",
|
|
72
|
-
file: "pino-file"
|
|
73
|
-
},
|
|
74
|
-
{
|
|
75
|
-
id: "pino-pretty",
|
|
76
|
-
file: "pino-pretty"
|
|
77
|
-
}
|
|
78
|
-
];
|
|
79
|
-
const fileReferences = /* @__PURE__ */ new Map();
|
|
80
|
-
return {
|
|
81
|
-
name: "rollup-plugin-pino",
|
|
82
|
-
async resolveId(id, importee) {
|
|
83
|
-
if (id === "pino") {
|
|
84
|
-
const resolvedPino = await this.resolve(id, importee);
|
|
85
|
-
if (resolvedPino) {
|
|
86
|
-
await Promise.all(
|
|
87
|
-
workerFiles.map(async (file) => {
|
|
88
|
-
const resolvedEntry = await this.resolve(file.id, resolvedPino.id);
|
|
89
|
-
if (!resolvedEntry) {
|
|
90
|
-
return null;
|
|
91
|
-
}
|
|
92
|
-
const reference = this.emitFile({
|
|
93
|
-
type: "chunk",
|
|
94
|
-
id: resolvedEntry.id,
|
|
95
|
-
name: `${file.file}`
|
|
96
|
-
});
|
|
97
|
-
fileReferences.set(file.id, reference);
|
|
98
|
-
})
|
|
99
|
-
);
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
},
|
|
103
|
-
renderChunk(code, chunk) {
|
|
104
|
-
if (chunk.type === "chunk" && chunk.isEntry && fileReferences.size && chunk.name === "index") {
|
|
105
|
-
const importRegex = /^(?:import(?:["'\s]*[\w*${}\n\r\t, ]+from\s*)?["'\s].+[;"'\s]*)$/gm;
|
|
106
|
-
const codeToInject = `globalThis.__bundlerPathsOverrides = {
|
|
107
|
-
${Array.from(fileReferences.entries()).map(([key, file]) => {
|
|
108
|
-
return '"' + key + '": import.meta.ROLLUP_FILE_URL_' + file;
|
|
109
|
-
}).join(",\n")}
|
|
110
|
-
};`;
|
|
111
|
-
const matches = Array.from(code.matchAll(importRegex));
|
|
112
|
-
if (matches.length > 0) {
|
|
113
|
-
const lastImport = matches[matches.length - 1];
|
|
114
|
-
const lastImportEnd = lastImport.index + lastImport[0].length;
|
|
115
|
-
const newCode = code.slice(0, lastImportEnd) + "\n\n" + codeToInject + "\n\n" + code.slice(lastImportEnd);
|
|
116
|
-
return {
|
|
117
|
-
code: newCode,
|
|
118
|
-
map: null
|
|
119
|
-
};
|
|
120
|
-
}
|
|
121
|
-
return {
|
|
122
|
-
code: `${codeToInject}
|
|
123
|
-
|
|
124
|
-
${code}`,
|
|
125
|
-
map: null
|
|
126
|
-
};
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
};
|
|
130
|
-
}
|
|
131
|
-
function removeDeployer() {
|
|
132
|
-
const t = babel__namespace.default.types;
|
|
133
|
-
return {
|
|
134
|
-
name: "remove-deployer",
|
|
135
|
-
visitor: {
|
|
136
|
-
NewExpression(path, state) {
|
|
137
|
-
const varDeclaratorPath = path.findParent((path2) => t.isVariableDeclarator(path2.node));
|
|
138
|
-
if (!varDeclaratorPath) {
|
|
139
|
-
return;
|
|
140
|
-
}
|
|
141
|
-
const parentNode = path.parentPath.node;
|
|
142
|
-
if (!t.isVariableDeclarator(parentNode) || !t.isIdentifier(parentNode.id) || parentNode.id.name !== "mastra") {
|
|
143
|
-
return;
|
|
144
|
-
}
|
|
145
|
-
if (!state.hasReplaced) {
|
|
146
|
-
state.hasReplaced = true;
|
|
147
|
-
const newMastraObj = t.cloneNode(path.node);
|
|
148
|
-
if (t.isObjectExpression(newMastraObj.arguments[0]) && newMastraObj.arguments[0].properties?.[0]) {
|
|
149
|
-
newMastraObj.arguments[0].properties = newMastraObj.arguments[0].properties.filter(
|
|
150
|
-
(prop) => t.isObjectProperty(prop) && t.isIdentifier(prop.key) && prop.key.name !== "deployer"
|
|
151
|
-
);
|
|
152
|
-
path.replaceWith(newMastraObj);
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
};
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
// src/build/plugins/remove-deployer.ts
|
|
161
|
-
function removeDeployer2(mastraEntry) {
|
|
162
|
-
return {
|
|
163
|
-
name: "remove-deployer",
|
|
164
|
-
transform(code, id) {
|
|
165
|
-
if (id !== mastraEntry) {
|
|
166
|
-
return;
|
|
167
|
-
}
|
|
168
|
-
return new Promise((resolve, reject) => {
|
|
169
|
-
babel__namespace.transform(
|
|
170
|
-
code,
|
|
171
|
-
{
|
|
172
|
-
babelrc: false,
|
|
173
|
-
configFile: false,
|
|
174
|
-
filename: id,
|
|
175
|
-
plugins: [removeDeployer]
|
|
176
|
-
},
|
|
177
|
-
(err, result) => {
|
|
178
|
-
if (err) {
|
|
179
|
-
return reject(err);
|
|
180
|
-
}
|
|
181
|
-
resolve({
|
|
182
|
-
code: result.code,
|
|
183
|
-
map: result.map
|
|
184
|
-
});
|
|
185
|
-
}
|
|
186
|
-
);
|
|
187
|
-
});
|
|
188
|
-
}
|
|
189
|
-
};
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
// src/build/analyze.ts
|
|
193
|
-
async function analyze(entry, mastraEntry, isVirtualFile, platform, logger) {
|
|
194
|
-
logger.info("Analyzing dependencies...");
|
|
195
|
-
let virtualPlugin = null;
|
|
196
|
-
if (isVirtualFile) {
|
|
197
|
-
virtualPlugin = virtual__default.default({
|
|
198
|
-
"#entry": entry
|
|
199
|
-
});
|
|
200
|
-
entry = "#entry";
|
|
201
|
-
}
|
|
202
|
-
const optimizerBundler = await rollup.rollup({
|
|
203
|
-
logLevel: process.env.MASTRA_BUNDLER_DEBUG === "true" ? "debug" : "silent",
|
|
204
|
-
input: isVirtualFile ? "#entry" : entry,
|
|
205
|
-
treeshake: true,
|
|
206
|
-
preserveSymlinks: true,
|
|
207
|
-
plugins: [
|
|
208
|
-
virtualPlugin,
|
|
209
|
-
{
|
|
210
|
-
name: "custom-alias-resolver",
|
|
211
|
-
resolveId(id) {
|
|
212
|
-
if (id === "#server") {
|
|
213
|
-
return url.fileURLToPath(undefined("@mastra/deployer/server")).replaceAll("\\", "/");
|
|
214
|
-
}
|
|
215
|
-
if (id === "#mastra") {
|
|
216
|
-
return mastraEntry.replaceAll("\\", "/");
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
},
|
|
220
|
-
json__default.default(),
|
|
221
|
-
esbuild__default.default({
|
|
222
|
-
target: "node20",
|
|
223
|
-
platform,
|
|
224
|
-
minify: false
|
|
225
|
-
}),
|
|
226
|
-
commonjs__default.default({
|
|
227
|
-
strictRequires: "debug",
|
|
228
|
-
ignoreTryCatch: false,
|
|
229
|
-
transformMixedEsModules: true,
|
|
230
|
-
extensions: [".js", ".ts"]
|
|
231
|
-
}),
|
|
232
|
-
removeDeployer2(mastraEntry),
|
|
233
|
-
esbuild__default.default({
|
|
234
|
-
target: "node20",
|
|
235
|
-
platform,
|
|
236
|
-
minify: false
|
|
237
|
-
})
|
|
238
|
-
].filter(Boolean)
|
|
239
|
-
});
|
|
240
|
-
const { output } = await optimizerBundler.generate({
|
|
241
|
-
format: "esm",
|
|
242
|
-
inlineDynamicImports: true
|
|
243
|
-
});
|
|
244
|
-
await optimizerBundler.close();
|
|
245
|
-
const depsToOptimize = new Map(Object.entries(output[0].importedBindings));
|
|
246
|
-
for (const dep of depsToOptimize.keys()) {
|
|
247
|
-
if (isNodeBuiltin(dep)) {
|
|
248
|
-
depsToOptimize.delete(dep);
|
|
249
|
-
}
|
|
250
|
-
}
|
|
251
|
-
return depsToOptimize;
|
|
252
|
-
}
|
|
253
|
-
async function bundleExternals(depsToOptimize, outputDir, logger) {
|
|
254
|
-
logger.info("Optimizing dependencies...");
|
|
255
|
-
logger.debug(
|
|
256
|
-
`${Array.from(depsToOptimize.keys()).map((key) => `- ${key}`).join("\n")}`
|
|
257
|
-
);
|
|
258
|
-
const reverseVirtualReferenceMap = /* @__PURE__ */ new Map();
|
|
259
|
-
const virtualDependencies = /* @__PURE__ */ new Map();
|
|
260
|
-
for (const [dep, exports] of depsToOptimize.entries()) {
|
|
261
|
-
const name = dep.replaceAll("/", "-");
|
|
262
|
-
reverseVirtualReferenceMap.set(name, dep);
|
|
263
|
-
const virtualFile = [];
|
|
264
|
-
let exportStringBuilder = [];
|
|
265
|
-
for (const local of exports) {
|
|
266
|
-
if (local === "*") {
|
|
267
|
-
virtualFile.push(`export * from '${dep}';`);
|
|
268
|
-
} else if (local === "default") {
|
|
269
|
-
virtualFile.push(`export * from '${dep}';`);
|
|
270
|
-
} else {
|
|
271
|
-
exportStringBuilder.push(local);
|
|
272
|
-
}
|
|
273
|
-
}
|
|
274
|
-
if (exportStringBuilder.length > 0) {
|
|
275
|
-
virtualFile.push(`export { ${exportStringBuilder.join(", ")} } from '${dep}';`);
|
|
276
|
-
}
|
|
277
|
-
virtualDependencies.set(dep, {
|
|
278
|
-
name,
|
|
279
|
-
virtual: virtualFile.join("\n")
|
|
280
|
-
});
|
|
281
|
-
}
|
|
282
|
-
const bundler = await rollup.rollup({
|
|
283
|
-
logLevel: process.env.MASTRA_BUNDLER_DEBUG === "true" ? "debug" : "silent",
|
|
284
|
-
input: Array.from(virtualDependencies.entries()).reduce(
|
|
285
|
-
(acc, [dep, virtualDep]) => {
|
|
286
|
-
acc[virtualDep.name] = `#virtual-${dep}`;
|
|
287
|
-
return acc;
|
|
288
|
-
},
|
|
289
|
-
{}
|
|
290
|
-
),
|
|
291
|
-
// this dependency breaks the build, so we need to exclude it
|
|
292
|
-
// TODO actually fix this so we don't need to exclude it
|
|
293
|
-
external: ["jsdom"],
|
|
294
|
-
treeshake: "smallest",
|
|
295
|
-
preserveSymlinks: true,
|
|
296
|
-
plugins: [
|
|
297
|
-
virtual__default.default(
|
|
298
|
-
Array.from(virtualDependencies.entries()).reduce(
|
|
299
|
-
(acc, [dep, virtualDep]) => {
|
|
300
|
-
acc[`#virtual-${dep}`] = virtualDep.virtual;
|
|
301
|
-
return acc;
|
|
302
|
-
},
|
|
303
|
-
{}
|
|
304
|
-
)
|
|
305
|
-
),
|
|
306
|
-
pino(),
|
|
307
|
-
commonjs__default.default({
|
|
308
|
-
strictRequires: "strict",
|
|
309
|
-
transformMixedEsModules: true,
|
|
310
|
-
ignoreTryCatch: false
|
|
311
|
-
}),
|
|
312
|
-
nodeResolve__default.default({
|
|
313
|
-
preferBuiltins: true,
|
|
314
|
-
exportConditions: ["node", "import", "require"],
|
|
315
|
-
mainFields: ["module", "main"]
|
|
316
|
-
}),
|
|
317
|
-
// hono is imported from deployer, so we need to resolve from here instead of the project root
|
|
318
|
-
aliasHono(),
|
|
319
|
-
json__default.default()
|
|
320
|
-
].filter(Boolean)
|
|
321
|
-
});
|
|
322
|
-
const { output } = await bundler.write({
|
|
323
|
-
format: "esm",
|
|
324
|
-
dir: outputDir,
|
|
325
|
-
entryFileNames: "[name].mjs",
|
|
326
|
-
chunkFileNames: "[name].mjs"
|
|
327
|
-
});
|
|
328
|
-
await bundler.close();
|
|
329
|
-
return { output, reverseVirtualReferenceMap };
|
|
330
|
-
}
|
|
331
|
-
async function validateOutput(output, reverseVirtualReferenceMap, outputDir, logger) {
|
|
332
|
-
const result = {
|
|
333
|
-
invalidChunks: /* @__PURE__ */ new Set(),
|
|
334
|
-
dependencies: /* @__PURE__ */ new Map(),
|
|
335
|
-
externalDependencies: /* @__PURE__ */ new Set()
|
|
336
|
-
};
|
|
337
|
-
for (const file of output) {
|
|
338
|
-
if (file.type === "asset") {
|
|
339
|
-
continue;
|
|
340
|
-
}
|
|
341
|
-
try {
|
|
342
|
-
logger.debug(`Validating if ${file.fileName} is a valid module.`);
|
|
343
|
-
if (file.isEntry && reverseVirtualReferenceMap.has(file.name)) {
|
|
344
|
-
result.dependencies.set(reverseVirtualReferenceMap.get(file.name), file.fileName);
|
|
345
|
-
}
|
|
346
|
-
await import(`file:${outputDir}/${file.fileName}`);
|
|
347
|
-
} catch (err) {
|
|
348
|
-
result.invalidChunks.add(file.fileName);
|
|
349
|
-
if (file.isEntry && reverseVirtualReferenceMap.has(file.name)) {
|
|
350
|
-
result.externalDependencies.add(reverseVirtualReferenceMap.get(file.name));
|
|
351
|
-
}
|
|
352
|
-
}
|
|
353
|
-
}
|
|
354
|
-
return result;
|
|
355
|
-
}
|
|
356
|
-
async function analyzeBundle(entry, mastraEntry, outputDir, platform, logger) {
|
|
357
|
-
const isVirtualFile = entry.includes("\n") || !fs.existsSync(entry);
|
|
358
|
-
const depsToOptimize = await analyze(entry, mastraEntry, isVirtualFile, platform, logger);
|
|
359
|
-
const { output, reverseVirtualReferenceMap } = await bundleExternals(depsToOptimize, outputDir, logger);
|
|
360
|
-
const result = await validateOutput(output, reverseVirtualReferenceMap, outputDir, logger);
|
|
361
|
-
return result;
|
|
362
|
-
}
|
|
363
|
-
|
|
364
|
-
exports.analyzeBundle = analyzeBundle;
|
|
7
|
+
Object.defineProperty(exports, "analyzeBundle", {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function () { return chunkYLIG5BNH_cjs.analyzeBundle; }
|
|
10
|
+
});
|
package/dist/build/analyze.js
CHANGED