@cairnvibe/indexer 0.2.9 → 0.2.10

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 (2) hide show
  1. package/dist/setup.js +14 -1
  2. package/package.json +1 -1
package/dist/setup.js CHANGED
@@ -171,8 +171,21 @@ async function runSetup(dir) {
171
171
  (0, node_child_process_1.execSync)(`npm install ${PACKAGES.join(" ")}`, { cwd: absDir, stdio: "pipe" });
172
172
  spinner.stop((0, ui_1.green)(`✓ installed ${PACKAGES.join(", ")}`));
173
173
  }
174
- catch {
174
+ catch (err) {
175
175
  spinner.stop((0, ui_1.red)("✗ npm install failed"));
176
+ // Real, live-found bug this closes: `catch {}` (no bound error) threw
177
+ // away npm's own stderr — the ONE thing that actually explains why it
178
+ // failed (a real registry error, an ERESOLVE conflict, a permissions
179
+ // problem, no network) — leaving a user with nothing but "failed, try
180
+ // again," which just fails the same way for the same unknown reason.
181
+ // execSync's thrown error carries the captured output on
182
+ // `.stderr`/`.stdout` (Buffers, from the `stdio: "pipe"` above) even
183
+ // though the command itself never printed anything to this process's
184
+ // own stderr — surface it instead of discarding it.
185
+ const e = err;
186
+ const detail = (e.stderr?.toString().trim() || e.stdout?.toString().trim() || "").trim();
187
+ if (detail)
188
+ console.error(`\n${detail}\n`);
176
189
  console.error(`Install these yourself and re-run \`cairn setup\`:\n npm install ${PACKAGES.join(" ")}`);
177
190
  return;
178
191
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cairnvibe/indexer",
3
- "version": "0.2.9",
3
+ "version": "0.2.10",
4
4
  "description": "Cairn's analyzer and installer (the `cairn` CLI) — scans Next.js source or crawls any running app, and scaffolds the backend either way.",
5
5
  "license": "MIT",
6
6
  "publishConfig": { "access": "public" },