agenticros 0.1.3 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAaH,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAaH,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA8JlE"}
|
package/dist/commands/init.js
CHANGED
|
@@ -36,6 +36,22 @@ export async function initCommand(opts) {
|
|
|
36
36
|
warn("--force given; refreshing install dir from the published bundle.");
|
|
37
37
|
await syncBundleToInstallDir(targetInstallDir, { overwrite: true });
|
|
38
38
|
}
|
|
39
|
+
else {
|
|
40
|
+
// Auto-heal: if any critical bundle files are missing (e.g. user installed
|
|
41
|
+
// an older CLI version that didn't bundle patches/), copy them in
|
|
42
|
+
// non-destructively before pnpm install hits ENOENT. We don't overwrite
|
|
43
|
+
// existing files so the user's customisations to config/, scripts/, etc.
|
|
44
|
+
// are preserved.
|
|
45
|
+
const missing = findMissingBundleFiles(paths.repoRoot);
|
|
46
|
+
if (missing.length > 0) {
|
|
47
|
+
warn(`Existing install is missing ${missing.length} file(s) shipped in this CLI version:`);
|
|
48
|
+
for (const m of missing.slice(0, 5))
|
|
49
|
+
dim(` ${m}`);
|
|
50
|
+
if (missing.length > 5)
|
|
51
|
+
dim(` ... +${missing.length - 5} more`);
|
|
52
|
+
await syncBundleToInstallDir(targetInstallDir, { overwrite: false, additive: true });
|
|
53
|
+
}
|
|
54
|
+
}
|
|
39
55
|
}
|
|
40
56
|
else {
|
|
41
57
|
info("Bundle mode detected. Copying the published snapshot to:");
|
|
@@ -50,13 +66,36 @@ export async function initCommand(opts) {
|
|
|
50
66
|
}
|
|
51
67
|
}
|
|
52
68
|
const repoRoot = paths.repoRoot;
|
|
69
|
+
// Always (re)write the install dir's .npmrc from inline content. npm pack
|
|
70
|
+
// strips .npmrc from the published tarball, so we can't ship it - and even
|
|
71
|
+
// workspace-mode users benefit from having strict-peer-dependencies=false
|
|
72
|
+
// for the init flow specifically. This is a no-op for live monorepos
|
|
73
|
+
// because the root .npmrc takes precedence (pnpm walks UP for config).
|
|
74
|
+
if (paths.mode !== "workspace") {
|
|
75
|
+
writeInitNpmrcInline(repoRoot);
|
|
76
|
+
}
|
|
53
77
|
const before = await runDoctorChecks();
|
|
54
78
|
// Step: workspace deps.
|
|
55
79
|
if (opts.force || !nodeModulesPresent(repoRoot)) {
|
|
56
80
|
await runStep("Installing JS workspace dependencies (pnpm install)", async () => {
|
|
57
|
-
|
|
81
|
+
// Explicitly pass the flags here in addition to writing them to .npmrc.
|
|
82
|
+
// Reason: in some environments (containers, ephemeral CI, certain pnpm
|
|
83
|
+
// versions) the .npmrc is not picked up reliably from cwd. Passing
|
|
84
|
+
// --no-strict-peer-dependencies on the CLI guarantees mem0ai-style peer
|
|
85
|
+
// mismatches downgrade to a warning. --config.auto-install-peers=true
|
|
86
|
+
// matches the inline .npmrc value so behaviour is identical either way.
|
|
87
|
+
await execa("pnpm", [
|
|
88
|
+
"install",
|
|
89
|
+
"--no-strict-peer-dependencies",
|
|
90
|
+
"--config.auto-install-peers=true",
|
|
91
|
+
], {
|
|
58
92
|
cwd: repoRoot,
|
|
59
93
|
stdio: "inherit",
|
|
94
|
+
env: {
|
|
95
|
+
...process.env,
|
|
96
|
+
npm_config_strict_peer_dependencies: "false",
|
|
97
|
+
npm_config_auto_install_peers: "true",
|
|
98
|
+
},
|
|
60
99
|
});
|
|
61
100
|
});
|
|
62
101
|
}
|
|
@@ -231,10 +270,66 @@ async function promptAndConfigureOpenAi() {
|
|
|
231
270
|
});
|
|
232
271
|
});
|
|
233
272
|
}
|
|
273
|
+
/**
|
|
274
|
+
* Files / directories that MUST exist in the install dir for `pnpm install`
|
|
275
|
+
* and `colcon build` to succeed. If any of these are missing on an existing
|
|
276
|
+
* install (because the user previously installed an older CLI version that
|
|
277
|
+
* didn't bundle them), the init flow re-syncs additively.
|
|
278
|
+
*
|
|
279
|
+
* NOTE: .npmrc is NOT in this list - it's never bundled (npm pack strips it).
|
|
280
|
+
* We write it inline via writeInitNpmrcInline() instead.
|
|
281
|
+
*
|
|
282
|
+
* Order: most-likely-to-break-first.
|
|
283
|
+
*/
|
|
284
|
+
const CRITICAL_BUNDLE_FILES = [
|
|
285
|
+
"patches",
|
|
286
|
+
"patches/@eclipse-zenoh__zenoh-ts@1.9.0.patch",
|
|
287
|
+
"pnpm-workspace.yaml",
|
|
288
|
+
"pnpm-lock.yaml",
|
|
289
|
+
"package.json",
|
|
290
|
+
"ros2_ws/src/agenticros_sim",
|
|
291
|
+
"ros2_ws/src/agenticros_sim/urdf/agenticros_amr.urdf.xacro",
|
|
292
|
+
"scripts/sim/run_sim.sh",
|
|
293
|
+
];
|
|
294
|
+
function findMissingBundleFiles(installDir) {
|
|
295
|
+
return CRITICAL_BUNDLE_FILES.filter((f) => !existsSync(join(installDir, f)));
|
|
296
|
+
}
|
|
297
|
+
/**
|
|
298
|
+
* Write an init-friendly .npmrc into the install dir.
|
|
299
|
+
*
|
|
300
|
+
* Why inline instead of bundled? `npm pack` ALWAYS strips .npmrc from the
|
|
301
|
+
* published tarball (hardcoded denylist alongside .gitignore, .npmignore).
|
|
302
|
+
* That means anything we put in runtime/.npmrc is invisible to end users.
|
|
303
|
+
* Writing it from inline JS at init/heal time guarantees the file lands.
|
|
304
|
+
*
|
|
305
|
+
* We always overwrite (not append) so each CLI upgrade can refresh the
|
|
306
|
+
* settings. If the user wants custom pnpm config they can edit
|
|
307
|
+
* ~/.npmrc (user-level) which takes precedence.
|
|
308
|
+
*/
|
|
309
|
+
function writeInitNpmrcInline(installDir) {
|
|
310
|
+
const target = join(installDir, ".npmrc");
|
|
311
|
+
const contents = [
|
|
312
|
+
"# Auto-generated by `agenticros init` - safe defaults for end-user installs.",
|
|
313
|
+
"# Devs working on the repo from a git clone use the repo root .npmrc.",
|
|
314
|
+
"# Anything you want to customise goes in ~/.npmrc (user-level), which",
|
|
315
|
+
"# takes precedence over this file.",
|
|
316
|
+
"shamefully-hoist=false",
|
|
317
|
+
"strict-peer-dependencies=false",
|
|
318
|
+
"auto-install-peers=true",
|
|
319
|
+
"",
|
|
320
|
+
].join("\n");
|
|
321
|
+
writeFileSync(target, contents);
|
|
322
|
+
ok(`Wrote install-friendly .npmrc to ${target}`);
|
|
323
|
+
}
|
|
234
324
|
/**
|
|
235
325
|
* Copy the bundled monorepo snapshot (`packages/agenticros-cli/runtime/`) into
|
|
236
326
|
* the user's install dir (default ~/agenticros) so colcon and pnpm have a full
|
|
237
|
-
* tree to operate on.
|
|
327
|
+
* tree to operate on.
|
|
328
|
+
*
|
|
329
|
+
* Modes:
|
|
330
|
+
* - default -> no-op if targetDir exists
|
|
331
|
+
* - overwrite=true -> cp -a SRC/. DEST (clobbers)
|
|
332
|
+
* - additive=true -> cp -an SRC/. DEST (fills in missing files; never clobbers)
|
|
238
333
|
*/
|
|
239
334
|
async function syncBundleToInstallDir(targetDir, opts = {}) {
|
|
240
335
|
const paths = getCliPaths();
|
|
@@ -245,15 +340,28 @@ async function syncBundleToInstallDir(targetDir, opts = {}) {
|
|
|
245
340
|
"monorepo checkout.");
|
|
246
341
|
process.exit(1);
|
|
247
342
|
}
|
|
248
|
-
if (existsSync(targetDir) && !opts.overwrite) {
|
|
343
|
+
if (existsSync(targetDir) && !opts.overwrite && !opts.additive) {
|
|
249
344
|
ok(`Install directory ${targetDir} already exists (skipping copy).`);
|
|
250
345
|
return;
|
|
251
346
|
}
|
|
252
|
-
|
|
347
|
+
const label = opts.additive
|
|
348
|
+
? `Healing install at ${targetDir} (adding missing files only)`
|
|
349
|
+
: `Copying bundled snapshot to ${targetDir}`;
|
|
350
|
+
await withSpinner(label, async () => {
|
|
253
351
|
mkdirSync(targetDir, { recursive: true });
|
|
254
|
-
// `cp -a SRC/. DEST`
|
|
255
|
-
//
|
|
256
|
-
|
|
352
|
+
// `cp -a SRC/. DEST` copies contents preserving attrs (clobbering).
|
|
353
|
+
// `cp -an SRC/. DEST` same, but `-n` = never overwrite existing files.
|
|
354
|
+
const cpArgs = opts.additive ? ["-an", `${source}/.`, targetDir] : ["-a", `${source}/.`, targetDir];
|
|
355
|
+
// `cp -n` reports "would not overwrite" as exit 0 on GNU coreutils, which
|
|
356
|
+
// is the behaviour we want. macOS / BSD cp may exit 1 - tolerate it.
|
|
357
|
+
try {
|
|
358
|
+
await execa("cp", cpArgs);
|
|
359
|
+
}
|
|
360
|
+
catch (e) {
|
|
361
|
+
if (!opts.additive)
|
|
362
|
+
throw e;
|
|
363
|
+
dim(`(cp -an returned non-zero; this is OK if some targets pre-existed)`);
|
|
364
|
+
}
|
|
257
365
|
});
|
|
258
366
|
}
|
|
259
367
|
//# sourceMappingURL=init.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAE9B,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAClF,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAO9C,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAiB;IACjD,MAAM,CAAC,6BAA6B,CAAC,CAAC;IAEtC,IAAI,KAAK,GAAG,WAAW,EAAE,CAAC;IAC1B,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,CAAC;IAE7D,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAC/B,IAAI,CAAC,yDAAyD,CAAC,CAAC;QAChE,GAAG,CAAC,KAAK,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC7B,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QACtC,IAAI,CAAC,sDAAsD,CAAC,CAAC;QAC7D,GAAG,CAAC,KAAK,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,kEAAkE,CAAC,CAAC;YACzE,MAAM,sBAAsB,CAAC,gBAAgB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,0DAA0D,CAAC,CAAC;QACjE,GAAG,CAAC,KAAK,gBAAgB,EAAE,CAAC,CAAC;QAC7B,MAAM,sBAAsB,CAAC,gBAAgB,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC,CAAC;QACnF,eAAe,EAAE,CAAC;QAClB,KAAK,GAAG,WAAW,EAAE,CAAC;QACtB,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC5B,GAAG,CACD,mCAAmC,gBAAgB,qBAAqB;gBACtE,0EAA0E,CAC7E,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAS,CAAC;IACjC,MAAM,MAAM,GAAG,MAAM,eAAe,EAAE,CAAC;IAEvC,wBAAwB;IACxB,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChD,MAAM,OAAO,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;YAC9E,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,EAAE;gBAC/B,GAAG,EAAE,QAAQ;gBACb,KAAK,EAAE,SAAS;aACjB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,EAAE,CAAC,6CAA6C,CAAC,CAAC;IACpD,CAAC;IAED,4BAA4B;IAC5B,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;QACnC,MAAM,OAAO,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;YACrE,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,EAAE,CAAC,uCAAuC,CAAC,CAAC;IAC9C,CAAC;IAED,0BAA0B;IAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC7C,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3C,MAAM,OAAO,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;YAC5D,MAAM,QAAQ,CACZ,aAAa,UAAU,YAAY,UAAU;;wCAEb,CACjC,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,EAAE,CAAC,uCAAuC,CAAC,CAAC;IAC9C,CAAC;IAED,iCAAiC;IACjC,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,uBAAuB,EAAE,EAAE,CAAC;QAC7C,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC;YAC/B,OAAO,EAAE,gDAAgD;YACzD,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QACH,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,yBAAyB,CAAC,CAAC;YACjE,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBACvB,MAAM,OAAO,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;oBACrD,MAAM,QAAQ,CAAC,SAAS,MAAM,GAAG,CAAC,CAAC;gBACrC,CAAC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,wCAAwC,MAAM,aAAa,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,EAAE,CAAC,2CAA2C,CAAC,CAAC;IAClD,CAAC;IAED,sBAAsB;IACtB,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;QACtC,MAAM,yBAAyB,EAAE,CAAC;IACpC,CAAC;SAAM,CAAC;QACN,EAAE,CAAC,kEAAkE,CAAC,CAAC;IACzE,CAAC;IAED,oBAAoB;IACpB,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/C,MAAM,wBAAwB,EAAE,CAAC;IACnC,CAAC;SAAM,CAAC;QACN,EAAE,CAAC,2CAA2C,CAAC,CAAC;IAClD,CAAC;IAED,wBAAwB;IACxB,IAAI,CAAC,4CAA4C,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,MAAM,eAAe,EAAE,CAAC;IACtC,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC;IAC7D,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,EAAE,CAAC,wEAAwE,CAAC,CAAC;IAC/E,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,sDAAsD,CAAC,CAAC;IAC5E,CAAC;IAED,UAAU,CAAC,EAAE,CAAC,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,KAAa,EAAE,IAAyB;IAC7D,IAAI,CAAC,KAAK,CAAC,CAAC;IACZ,IAAI,CAAC;QACH,MAAM,IAAI,EAAE,CAAC;QACb,EAAE,CAAC,KAAK,CAAC,CAAC;IACZ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,GAAG,CAAC,GAAG,KAAK,YAAY,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,GAAW;IACjC,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,kBAAkB,CAAC,QAAgB;IAC1C,OAAO,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,aAAa;IACpB,OAAO,UAAU,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,WAAW,CAAC,EAAU;IAC7B,OAAO,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,uBAAuB;IAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACvC,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,gBAAgB;IACvB,OAAO,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC;AACpE,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAuD;IAClF,2EAA2E;IAC3E,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAClE,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,CAAC,CAAC;IAC1F,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC9B,CAAC;AAED,KAAK,UAAU,yBAAyB;IACtC,MAAM,KAAK,GAAG,CAAC,MAAM,MAAM,CAAS;QAClC,OAAO,EAAE,6CAA6C;QACtD,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,qDAAqD,EAAE,KAAK,EAAE,MAAM,EAAE;YAC9E,EAAE,IAAI,EAAE,4DAA4D,EAAE,KAAK,EAAE,KAAK,EAAE;SACrF;QACD,OAAO,EAAE,KAAK;KACf,CAAC,CAAC,KAAK,KAAK,CAAC;IAEd,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC;IACnD,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC;QAC5B,OAAO,EAAE,mEAAmE;QAC5E,OAAO,EAAE,SAAS;KACnB,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC,WAAW,CAAC;IAC3C,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,MAAM,GAAG,GAAG;QACV,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;QAC5B,KAAK,EAAE;YACL,SAAS;YACT,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU;YACtC,WAAW,EAAE,gCAAgC;SAC9C;QACD,MAAM,EAAE;YACN,iBAAiB,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;YACpC,kBAAkB,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;SACtC;QACD,MAAM,EAAE;YACN,WAAW,EAAE,UAAU;YACvB,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;SAChC;KACF,CAAC;IACF,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3E,EAAE,CAAC,8CAA8C,SAAS,IAAI,CAAC,CAAC;IAChE,UAAU,CAAC,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC;AAC3C,CAAC;AAED,KAAK,UAAU,wBAAwB;IACrC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC;QAC5B,OAAO,EAAE,4DAA4D;QACrE,OAAO,EAAE,IAAI;KACd,CAAC,CAAC;IACH,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,IAAI,CACF,wFAAwF,CACzF,CAAC;QACF,OAAO;IACT,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,EAAE,OAAO,EAAE,0CAA0C,EAAE,CAAC,CAAC;IACpF,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC,mEAAmE,CAAC,CAAC;QAC1E,OAAO;IACT,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,EAAE,yBAAyB,CAAC,CAAC;IACzE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC,wCAAwC,MAAM,0BAA0B,CAAC,CAAC;QAC/E,OAAO;IACT,CAAC;IACD,MAAM,WAAW,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAC7E,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE;YAC5B,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,cAAc,EAAE,GAAG,EAAE;YAC5C,KAAK,EAAE,MAAM;SACd,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,sBAAsB,CACnC,SAAiB,EACjB,OAAgC,EAAE;IAElC,MAAM,KAAK,GAAG,WAAW,EAAE,CAAC;IAC5B,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC;IAC/B,IAAI,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACnC,GAAG,CACD,qEAAqE;YACnE,2EAA2E;YAC3E,oBAAoB,CACvB,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QAC7C,EAAE,CAAC,qBAAqB,SAAS,kCAAkC,CAAC,CAAC;QACrE,OAAO;IACT,CAAC;IACD,MAAM,WAAW,CAAC,+BAA+B,SAAS,EAAE,EAAE,KAAK,IAAI,EAAE;QACvE,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1C,0EAA0E;QAC1E,wEAAwE;QACxE,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,MAAM,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agenticros",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.5",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "AgenticROS - agentic AI for ROS-powered robots. Single CLI to launch real-robot or simulated demos, manage configuration, and inspect status.",
|
|
6
6
|
"keywords": [
|
|
@@ -37,7 +37,8 @@
|
|
|
37
37
|
"clean": "rm -rf dist runtime tsconfig.tsbuildinfo",
|
|
38
38
|
"pack:runtime": "node ../../scripts/pack-runtime.mjs",
|
|
39
39
|
"size:check": "node ../../scripts/check-cli-tarball-size.mjs",
|
|
40
|
-
"
|
|
40
|
+
"tarball:check": "node ../../scripts/check-cli-tarball-install.mjs",
|
|
41
|
+
"prepublishOnly": "pnpm run clean && pnpm run build && pnpm run pack:runtime && pnpm run size:check && pnpm run tarball:check"
|
|
41
42
|
},
|
|
42
43
|
"dependencies": {
|
|
43
44
|
"@inquirer/prompts": "^7.0.0",
|
package/runtime/BUNDLE.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"packedAt": "2026-06-05T22:
|
|
2
|
+
"packedAt": "2026-06-05T22:45:10.880Z",
|
|
3
3
|
"repo": "https://github.com/PlaiPin/agenticros",
|
|
4
4
|
"note": "This directory is a snapshot of the agenticros monorepo source. `agenticros init` will copy it to ~/agenticros and run pnpm install + colcon build there.",
|
|
5
5
|
"layout": {
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* check-cli-tarball-install.mjs
|
|
4
|
+
*
|
|
5
|
+
* Pre-publish guard that pretends to be a brand-new user on a fresh machine
|
|
6
|
+
* running `npx agenticros init`. Catches the entire class of bugs we hit
|
|
7
|
+
* across 0.1.2 -> 0.1.5:
|
|
8
|
+
*
|
|
9
|
+
* * patches/ missing from the published tarball (0.1.2 ENOENT)
|
|
10
|
+
* * .npmrc stripped by npm pack so pnpm sees strict-peer mode (0.1.4)
|
|
11
|
+
* * --no-strict-peer-dependencies not actually wired up
|
|
12
|
+
* * runtime/scripts/sim/run_sim.sh accidentally dropped
|
|
13
|
+
* * etc.
|
|
14
|
+
*
|
|
15
|
+
* Flow:
|
|
16
|
+
* 1. `npm pack` the agenticros CLI into a tmpdir
|
|
17
|
+
* 2. Extract the tarball
|
|
18
|
+
* 3. Sanity-check the extracted tree against CRITICAL_BUNDLE_FILES
|
|
19
|
+
* 4. Copy runtime/ to a sibling install dir (what init.ts does)
|
|
20
|
+
* 5. Write the inline .npmrc (mirrors init.ts writeInitNpmrcInline)
|
|
21
|
+
* 6. Run `pnpm install` with the same flags init.ts uses
|
|
22
|
+
* 7. Verify it exits 0 and that the zenoh-ts patch was actually applied
|
|
23
|
+
*
|
|
24
|
+
* Exits 0 on success, non-zero on any failure. Hooked into the CLI's
|
|
25
|
+
* `prepublishOnly` chain so `npm publish` cannot succeed without it.
|
|
26
|
+
*
|
|
27
|
+
* Run manually:
|
|
28
|
+
* node scripts/check-cli-tarball-install.mjs
|
|
29
|
+
*
|
|
30
|
+
* Skip (e.g. air-gapped CI):
|
|
31
|
+
* AGENTICROS_SKIP_TARBALL_INSTALL=1 node scripts/check-cli-tarball-install.mjs
|
|
32
|
+
*/
|
|
33
|
+
|
|
34
|
+
import { execSync, spawnSync } from "node:child_process";
|
|
35
|
+
import { existsSync, mkdirSync, mkdtempSync, readdirSync, rmSync } from "node:fs";
|
|
36
|
+
import { tmpdir } from "node:os";
|
|
37
|
+
import { dirname, join, resolve } from "node:path";
|
|
38
|
+
import { fileURLToPath } from "node:url";
|
|
39
|
+
|
|
40
|
+
// ---------- config ----------
|
|
41
|
+
|
|
42
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
43
|
+
const REPO_ROOT = resolve(__dirname, "..");
|
|
44
|
+
const CLI_DIR = join(REPO_ROOT, "packages", "agenticros-cli");
|
|
45
|
+
|
|
46
|
+
// Mirror of CRITICAL_BUNDLE_FILES in packages/agenticros-cli/src/commands/init.ts.
|
|
47
|
+
// Keep these in sync (small surface area, low maintenance cost).
|
|
48
|
+
const REQUIRED_RUNTIME_FILES = [
|
|
49
|
+
"patches",
|
|
50
|
+
"patches/@eclipse-zenoh__zenoh-ts@1.9.0.patch",
|
|
51
|
+
"pnpm-workspace.yaml",
|
|
52
|
+
"pnpm-lock.yaml",
|
|
53
|
+
"package.json",
|
|
54
|
+
"ros2_ws/src/agenticros_sim",
|
|
55
|
+
"ros2_ws/src/agenticros_sim/urdf/agenticros_amr.urdf.xacro",
|
|
56
|
+
"scripts/sim/run_sim.sh",
|
|
57
|
+
];
|
|
58
|
+
|
|
59
|
+
// ---------- logging ----------
|
|
60
|
+
|
|
61
|
+
function step(msg) {
|
|
62
|
+
process.stdout.write(`\x1b[36m[tarball-test]\x1b[0m ${msg}\n`);
|
|
63
|
+
}
|
|
64
|
+
function ok(msg) {
|
|
65
|
+
process.stdout.write(`\x1b[32m[tarball-test ✓]\x1b[0m ${msg}\n`);
|
|
66
|
+
}
|
|
67
|
+
function fail(msg) {
|
|
68
|
+
process.stderr.write(`\x1b[31m[tarball-test ✗]\x1b[0m ${msg}\n`);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
// ---------- helpers ----------
|
|
72
|
+
|
|
73
|
+
function run(cmd, args, opts = {}) {
|
|
74
|
+
const r = spawnSync(cmd, args, { encoding: "utf8", ...opts });
|
|
75
|
+
if (r.status !== 0) {
|
|
76
|
+
fail(`${cmd} ${args.join(" ")} exited ${r.status}`);
|
|
77
|
+
if (r.stdout) process.stdout.write(r.stdout);
|
|
78
|
+
if (r.stderr) process.stderr.write(r.stderr);
|
|
79
|
+
throw new Error(`Command failed: ${cmd} ${args.join(" ")}`);
|
|
80
|
+
}
|
|
81
|
+
return r;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
function detectPnpm() {
|
|
85
|
+
const r = spawnSync("pnpm", ["--version"], { encoding: "utf8" });
|
|
86
|
+
if (r.status !== 0) {
|
|
87
|
+
fail("pnpm is not on PATH. Install pnpm before publishing.");
|
|
88
|
+
process.exit(2);
|
|
89
|
+
}
|
|
90
|
+
return r.stdout.trim();
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
// ---------- main ----------
|
|
94
|
+
|
|
95
|
+
if (process.env.AGENTICROS_SKIP_TARBALL_INSTALL === "1") {
|
|
96
|
+
step("AGENTICROS_SKIP_TARBALL_INSTALL=1 set; skipping.");
|
|
97
|
+
process.exit(0);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
const pnpmVer = detectPnpm();
|
|
101
|
+
step(`Using pnpm ${pnpmVer}`);
|
|
102
|
+
|
|
103
|
+
const work = mkdtempSync(join(tmpdir(), "agenticros-tarball-test-"));
|
|
104
|
+
const packDir = join(work, "pack");
|
|
105
|
+
const extractDir = join(work, "extract");
|
|
106
|
+
const installDir = join(work, "install");
|
|
107
|
+
mkdirSync(packDir);
|
|
108
|
+
mkdirSync(extractDir);
|
|
109
|
+
mkdirSync(installDir);
|
|
110
|
+
|
|
111
|
+
try {
|
|
112
|
+
// 1. npm pack
|
|
113
|
+
step("npm pack...");
|
|
114
|
+
const packResult = run("npm", ["pack", "--pack-destination", packDir, "--silent"], {
|
|
115
|
+
cwd: CLI_DIR,
|
|
116
|
+
});
|
|
117
|
+
const tgz = readdirSync(packDir).find((f) => f.endsWith(".tgz"));
|
|
118
|
+
if (!tgz) {
|
|
119
|
+
fail("npm pack did not produce a .tgz file.");
|
|
120
|
+
process.exit(1);
|
|
121
|
+
}
|
|
122
|
+
const tgzPath = join(packDir, tgz);
|
|
123
|
+
ok(`Packed: ${tgz}`);
|
|
124
|
+
|
|
125
|
+
// 2. extract
|
|
126
|
+
step("Extracting tarball...");
|
|
127
|
+
run("tar", ["-xzf", tgzPath, "-C", extractDir]);
|
|
128
|
+
const pkgDir = join(extractDir, "package"); // npm tar convention
|
|
129
|
+
if (!existsSync(pkgDir)) {
|
|
130
|
+
fail(`Extract did not produce a 'package/' directory.`);
|
|
131
|
+
process.exit(1);
|
|
132
|
+
}
|
|
133
|
+
ok(`Extracted to ${pkgDir}`);
|
|
134
|
+
|
|
135
|
+
// 3. critical files present in the SHIPPED tarball
|
|
136
|
+
step("Verifying critical runtime files are in the tarball...");
|
|
137
|
+
const runtimeInTar = join(pkgDir, "runtime");
|
|
138
|
+
const missing = REQUIRED_RUNTIME_FILES.filter((f) => !existsSync(join(runtimeInTar, f)));
|
|
139
|
+
if (missing.length > 0) {
|
|
140
|
+
fail(`Tarball is missing required runtime files:`);
|
|
141
|
+
for (const m of missing) process.stderr.write(` ${m}\n`);
|
|
142
|
+
process.exit(1);
|
|
143
|
+
}
|
|
144
|
+
ok(`All ${REQUIRED_RUNTIME_FILES.length} critical runtime files present.`);
|
|
145
|
+
|
|
146
|
+
// 4. simulate init: cp -a runtime/. installDir/
|
|
147
|
+
step("Copying runtime/ into a fresh install dir (simulating `agenticros init`)...");
|
|
148
|
+
run("cp", ["-a", `${runtimeInTar}/.`, installDir]);
|
|
149
|
+
ok(`Install dir populated at ${installDir}`);
|
|
150
|
+
|
|
151
|
+
// 5. write inline .npmrc (mirrors init.ts writeInitNpmrcInline)
|
|
152
|
+
step("Writing inline .npmrc (mirroring writeInitNpmrcInline)...");
|
|
153
|
+
const fs = await import("node:fs");
|
|
154
|
+
fs.writeFileSync(
|
|
155
|
+
join(installDir, ".npmrc"),
|
|
156
|
+
[
|
|
157
|
+
"shamefully-hoist=false",
|
|
158
|
+
"strict-peer-dependencies=false",
|
|
159
|
+
"auto-install-peers=true",
|
|
160
|
+
"",
|
|
161
|
+
].join("\n"),
|
|
162
|
+
);
|
|
163
|
+
ok(".npmrc written.");
|
|
164
|
+
|
|
165
|
+
// 6. pnpm install with the same flags init.ts uses
|
|
166
|
+
step("Running pnpm install with init.ts flags (this can take a minute)...");
|
|
167
|
+
const installResult = spawnSync(
|
|
168
|
+
"pnpm",
|
|
169
|
+
[
|
|
170
|
+
"install",
|
|
171
|
+
"--no-strict-peer-dependencies",
|
|
172
|
+
"--config.auto-install-peers=true",
|
|
173
|
+
"--prefer-offline",
|
|
174
|
+
"--ignore-scripts", // skip postinstalls to keep this guard fast
|
|
175
|
+
],
|
|
176
|
+
{
|
|
177
|
+
cwd: installDir,
|
|
178
|
+
encoding: "utf8",
|
|
179
|
+
env: {
|
|
180
|
+
...process.env,
|
|
181
|
+
npm_config_strict_peer_dependencies: "false",
|
|
182
|
+
npm_config_auto_install_peers: "true",
|
|
183
|
+
},
|
|
184
|
+
},
|
|
185
|
+
);
|
|
186
|
+
|
|
187
|
+
if (installResult.status !== 0) {
|
|
188
|
+
fail(`pnpm install failed (exit ${installResult.status}):`);
|
|
189
|
+
if (installResult.stdout) process.stdout.write(installResult.stdout);
|
|
190
|
+
if (installResult.stderr) process.stderr.write(installResult.stderr);
|
|
191
|
+
process.exit(1);
|
|
192
|
+
}
|
|
193
|
+
ok("pnpm install exited 0.");
|
|
194
|
+
|
|
195
|
+
// 7. verify the zenoh-ts patch was applied (signature in the pnpm store path)
|
|
196
|
+
step("Verifying zenoh-ts patch landed (looking for _patch_hash in .pnpm)...");
|
|
197
|
+
const pnpmStore = join(installDir, "node_modules", ".pnpm");
|
|
198
|
+
if (!existsSync(pnpmStore)) {
|
|
199
|
+
fail(`Expected ${pnpmStore} after pnpm install.`);
|
|
200
|
+
process.exit(1);
|
|
201
|
+
}
|
|
202
|
+
const entries = readdirSync(pnpmStore);
|
|
203
|
+
const patched = entries.find(
|
|
204
|
+
(e) => e.startsWith("@eclipse-zenoh+zenoh-ts@") && e.includes("_patch_hash="),
|
|
205
|
+
);
|
|
206
|
+
if (!patched) {
|
|
207
|
+
fail(
|
|
208
|
+
"Could not find a patched @eclipse-zenoh/zenoh-ts in the pnpm store.\n" +
|
|
209
|
+
" This means patches/ either wasn't shipped or wasn't applied.\n" +
|
|
210
|
+
" Looking for entry matching: @eclipse-zenoh+zenoh-ts@*_patch_hash=*",
|
|
211
|
+
);
|
|
212
|
+
process.exit(1);
|
|
213
|
+
}
|
|
214
|
+
ok(`Patched zenoh-ts present in store: ${patched.slice(0, 70)}...`);
|
|
215
|
+
|
|
216
|
+
ok("ALL CHECKS PASSED. Tarball is publish-ready.");
|
|
217
|
+
} finally {
|
|
218
|
+
// best-effort cleanup; don't mask earlier errors
|
|
219
|
+
try {
|
|
220
|
+
rmSync(work, { recursive: true, force: true });
|
|
221
|
+
} catch {
|
|
222
|
+
// ignore
|
|
223
|
+
}
|
|
224
|
+
}
|
|
@@ -55,6 +55,9 @@ const INCLUDED_PACKAGES = [
|
|
|
55
55
|
"agenticros-gemini",
|
|
56
56
|
];
|
|
57
57
|
|
|
58
|
+
// NOTE: .npmrc is deliberately absent here. npm pack strips .npmrc from
|
|
59
|
+
// every published tarball (hardcoded denylist), so bundling it is pointless.
|
|
60
|
+
// The CLI writes ~/agenticros/.npmrc inline at init/heal time instead.
|
|
58
61
|
const TOP_LEVEL_FILES = [
|
|
59
62
|
"package.json",
|
|
60
63
|
"pnpm-workspace.yaml",
|
|
@@ -62,7 +65,6 @@ const TOP_LEVEL_FILES = [
|
|
|
62
65
|
"tsconfig.base.json",
|
|
63
66
|
"LICENSE",
|
|
64
67
|
"README.md",
|
|
65
|
-
".npmrc",
|
|
66
68
|
];
|
|
67
69
|
|
|
68
70
|
const DOCS_FILES = ["cli.md", "architecture.md", "robot-setup.md", "memory.md"];
|
|
@@ -214,25 +216,11 @@ function copyPatches() {
|
|
|
214
216
|
copyTree(join(REPO_ROOT, "patches"), join(RUNTIME_DIR, "patches"));
|
|
215
217
|
}
|
|
216
218
|
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
// don't satisfy, which aborts pnpm install. Overwriting .npmrc in the
|
|
223
|
-
// shipped snapshot keeps dev strictness intact while letting `init` succeed
|
|
224
|
-
// on a clean machine.
|
|
225
|
-
logStep("Writing init-friendly .npmrc (overrides dev settings)");
|
|
226
|
-
const contents = [
|
|
227
|
-
"# Generated by scripts/pack-runtime.mjs - safe defaults for `agenticros init`.",
|
|
228
|
-
"# Devs working on the repo itself get the stricter root .npmrc.",
|
|
229
|
-
"shamefully-hoist=false",
|
|
230
|
-
"strict-peer-dependencies=false",
|
|
231
|
-
"auto-install-peers=true",
|
|
232
|
-
"",
|
|
233
|
-
].join("\n");
|
|
234
|
-
writeFileSync(join(RUNTIME_DIR, ".npmrc"), contents);
|
|
235
|
-
}
|
|
219
|
+
// NOTE: We intentionally do NOT ship runtime/.npmrc here. npm strips .npmrc
|
|
220
|
+
// from every published tarball (hardcoded denylist alongside .gitignore), so
|
|
221
|
+
// any .npmrc we write into runtime/ vanishes from the user's `npx agenticros`
|
|
222
|
+
// install. Instead, the CLI writes ~/agenticros/.npmrc from inline content at
|
|
223
|
+
// init/heal time (see commands/init.ts -> writeInitNpmrcInline).
|
|
236
224
|
|
|
237
225
|
function writeBundleManifest() {
|
|
238
226
|
const manifestPath = join(RUNTIME_DIR, "BUNDLE.json");
|
|
@@ -271,7 +259,6 @@ copyPackages();
|
|
|
271
259
|
copyTopLevel();
|
|
272
260
|
copyDocs();
|
|
273
261
|
copyPatches();
|
|
274
|
-
writeInitNpmrc(); // Must come AFTER copyTopLevel which copies the dev .npmrc
|
|
275
262
|
writeBundleManifest();
|
|
276
263
|
reportSize();
|
|
277
264
|
logStep("Done.");
|