@newrelic/preflight 1.0.3 → 1.0.4
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/README.md +5 -0
- package/dist/config.d.ts +7 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +2 -0
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/dist/install/cli.d.ts +1 -0
- package/dist/install/cli.d.ts.map +1 -1
- package/dist/install/cli.js +306 -106
- package/dist/install/cli.js.map +1 -1
- package/dist/install/install-helper.d.ts +5 -4
- package/dist/install/install-helper.d.ts.map +1 -1
- package/dist/install/install-helper.js +2 -2
- package/dist/install/install-helper.js.map +1 -1
- package/dist/install/json-utils.d.ts +4 -0
- package/dist/install/json-utils.d.ts.map +1 -0
- package/dist/install/json-utils.js +88 -0
- package/dist/install/json-utils.js.map +1 -0
- package/dist/install/migrate.d.ts.map +1 -1
- package/dist/install/migrate.js +57 -1
- package/dist/install/migrate.js.map +1 -1
- package/dist/install/setup-wizard.d.ts.map +1 -1
- package/dist/install/setup-wizard.js +105 -44
- package/dist/install/setup-wizard.js.map +1 -1
- package/package.json +1 -1
|
@@ -25,7 +25,7 @@ const NR_HOOK_RE = /preflight-collector"?\s+(?:pre|post)-tool/;
|
|
|
25
25
|
export function generateHookEntries(binPath, options) {
|
|
26
26
|
let pre;
|
|
27
27
|
let post;
|
|
28
|
-
if (options?.wsl) {
|
|
28
|
+
if (options?.platform === 'wsl-windows-cc') {
|
|
29
29
|
// Windows Claude Code runs hooks via wsl.exe — call the WSL binary through interop.
|
|
30
30
|
// Quote the path so cmd.exe doesn't split on spaces (e.g. /home/john doe/...).
|
|
31
31
|
const collectorPath = binPath ? join(dirname(binPath), COLLECTOR_COMMAND) : COLLECTOR_COMMAND;
|
|
@@ -48,7 +48,7 @@ export function generateHookEntries(binPath, options) {
|
|
|
48
48
|
};
|
|
49
49
|
}
|
|
50
50
|
export function generateMcpServerEntry(binPath, options) {
|
|
51
|
-
if (options?.wsl) {
|
|
51
|
+
if (options?.platform === 'wsl-windows-cc') {
|
|
52
52
|
// Windows Claude Code launches MCP servers as Windows processes — use wsl.exe interop.
|
|
53
53
|
const serverPath = binPath ? join(dirname(binPath), MCP_SERVER_COMMAND) : MCP_SERVER_COMMAND;
|
|
54
54
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install-helper.js","sourceRoot":"","sources":["../../src/install/install-helper.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"install-helper.js","sourceRoot":"","sources":["../../src/install/install-helper.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare function readJsonFile(path: string): Record<string, unknown>;
|
|
2
|
+
export declare function readJsonFileStrict(path: string): Record<string, unknown>;
|
|
3
|
+
export declare function writeJsonFile(path: string, data: Record<string, unknown>, additionalAllowedBase?: string): void;
|
|
4
|
+
//# sourceMappingURL=json-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-utils.d.ts","sourceRoot":"","sources":["../../src/install/json-utils.ts"],"names":[],"mappings":"AAYA,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAMlE;AAMD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAcxE;AAED,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,qBAAqB,CAAC,EAAE,MAAM,GAC7B,IAAI,CAsDN"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { readFileSync, writeFileSync, mkdirSync, existsSync, renameSync, unlinkSync, realpathSync, } from 'node:fs';
|
|
2
|
+
import { basename, dirname, resolve, sep } from 'node:path';
|
|
3
|
+
import { homedir } from 'node:os';
|
|
4
|
+
export function readJsonFile(path) {
|
|
5
|
+
try {
|
|
6
|
+
return JSON.parse(readFileSync(path, 'utf-8'));
|
|
7
|
+
}
|
|
8
|
+
catch {
|
|
9
|
+
return {};
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
// Like readJsonFile but throws on IO errors (EBUSY, EPERM, etc.) and on
|
|
13
|
+
// malformed or non-object JSON rather than returning {}. Returns {} only for
|
|
14
|
+
// ENOENT (file absent). Use when the file is known to exist and its contents
|
|
15
|
+
// must be preserved.
|
|
16
|
+
export function readJsonFileStrict(path) {
|
|
17
|
+
try {
|
|
18
|
+
const val = JSON.parse(readFileSync(path, 'utf-8'));
|
|
19
|
+
if (val !== null && typeof val === 'object' && !Array.isArray(val)) {
|
|
20
|
+
return val;
|
|
21
|
+
}
|
|
22
|
+
throw new SyntaxError(`Expected a JSON object but got ${Array.isArray(val) ? 'array' : typeof val}`);
|
|
23
|
+
}
|
|
24
|
+
catch (err) {
|
|
25
|
+
if (err instanceof SyntaxError)
|
|
26
|
+
throw err;
|
|
27
|
+
if (err.code === 'ENOENT')
|
|
28
|
+
return {};
|
|
29
|
+
throw err;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
export function writeJsonFile(path, data, additionalAllowedBase) {
|
|
33
|
+
const dir = dirname(path);
|
|
34
|
+
if (!existsSync(dir)) {
|
|
35
|
+
mkdirSync(dir, { recursive: true, mode: 0o700 });
|
|
36
|
+
}
|
|
37
|
+
// Symlink guard: verify both the resolved parent directory AND the resolved
|
|
38
|
+
// target file path are under HOME, cwd, or an explicitly allowed base (e.g.
|
|
39
|
+
// the Windows home path under /mnt/c/... when writing from WSL).
|
|
40
|
+
const resolvedDir = realpathSync(dir);
|
|
41
|
+
const resolvedPath = existsSync(path) ? realpathSync(path) : resolve(resolvedDir, basename(path));
|
|
42
|
+
const home = homedir();
|
|
43
|
+
const cwd = process.cwd();
|
|
44
|
+
// Resolve additionalAllowedBase so symlinked storage directories (e.g. ~/.newrelic-preflight
|
|
45
|
+
// → /data/shared/preflight) are correctly matched against the resolved target path.
|
|
46
|
+
const resolvedAllowedBase = additionalAllowedBase !== undefined
|
|
47
|
+
? (() => {
|
|
48
|
+
try {
|
|
49
|
+
return realpathSync(additionalAllowedBase);
|
|
50
|
+
}
|
|
51
|
+
catch (err) {
|
|
52
|
+
// ENOENT: path doesn't exist yet (created by mkdirSync above on first write).
|
|
53
|
+
// All other errors (EACCES, EPERM) propagate — a permission failure here
|
|
54
|
+
// means the resolved base is unknown, which would defeat the symlink guard.
|
|
55
|
+
if (err.code === 'ENOENT')
|
|
56
|
+
return additionalAllowedBase;
|
|
57
|
+
throw err;
|
|
58
|
+
}
|
|
59
|
+
})()
|
|
60
|
+
: undefined;
|
|
61
|
+
const check = (p) => p === home ||
|
|
62
|
+
p.startsWith(home + sep) ||
|
|
63
|
+
p === cwd ||
|
|
64
|
+
p.startsWith(cwd + sep) ||
|
|
65
|
+
(resolvedAllowedBase !== undefined &&
|
|
66
|
+
(p === resolvedAllowedBase || p.startsWith(resolvedAllowedBase + sep)));
|
|
67
|
+
if (!check(resolvedDir) || !check(resolvedPath)) {
|
|
68
|
+
throw new Error(`Refusing to write outside HOME or project root: ${resolvedPath}`);
|
|
69
|
+
}
|
|
70
|
+
const tmp = path + '.tmp';
|
|
71
|
+
try {
|
|
72
|
+
writeFileSync(tmp, JSON.stringify(data, null, 2) + '\n', { mode: 0o600 });
|
|
73
|
+
renameSync(tmp, path);
|
|
74
|
+
}
|
|
75
|
+
catch (err) {
|
|
76
|
+
// Best-effort cleanup of the temp file — suppress secondary errors so the
|
|
77
|
+
// original write/rename error is what propagates to the caller.
|
|
78
|
+
try {
|
|
79
|
+
if (existsSync(tmp))
|
|
80
|
+
unlinkSync(tmp);
|
|
81
|
+
}
|
|
82
|
+
catch {
|
|
83
|
+
/* best-effort */
|
|
84
|
+
}
|
|
85
|
+
throw err;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=json-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-utils.js","sourceRoot":"","sources":["../../src/install/json-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../src/install/migrate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../src/install/migrate.ts"],"names":[],"mappings":"AAkFA;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,UAAQ,GAAG,IAAI,CAkG5D"}
|
package/dist/install/migrate.js
CHANGED
|
@@ -1,7 +1,62 @@
|
|
|
1
|
-
import { existsSync, renameSync, cpSync, rmSync, readSync, openSync, closeSync } from 'node:fs';
|
|
1
|
+
import { existsSync, renameSync, cpSync, rmSync, readSync, openSync, closeSync, readFileSync, unlinkSync, } from 'node:fs';
|
|
2
2
|
import { homedir } from 'node:os';
|
|
3
3
|
import { resolve } from 'node:path';
|
|
4
4
|
import { DEFAULT_STORAGE_PATH } from '../config.js';
|
|
5
|
+
import { readJsonFileStrict, writeJsonFile } from './json-utils.js';
|
|
6
|
+
function migrateWslMarker() {
|
|
7
|
+
const markerPath = resolve(DEFAULT_STORAGE_PATH, '.wsl-mode');
|
|
8
|
+
if (!existsSync(markerPath))
|
|
9
|
+
return;
|
|
10
|
+
try {
|
|
11
|
+
const raw = readFileSync(markerPath, 'utf8').trim();
|
|
12
|
+
const platform = raw === 'windows' ? 'wsl-windows-cc' : raw === 'linux' ? 'wsl-linux-cc' : null;
|
|
13
|
+
if (platform !== null) {
|
|
14
|
+
const configPath = resolve(DEFAULT_STORAGE_PATH, 'config.json');
|
|
15
|
+
// Use strict read: if config.json is malformed or unreadable (EBUSY, EPERM),
|
|
16
|
+
// throw so the outer catch skips the write and leaves credentials intact.
|
|
17
|
+
// ENOENT (file absent) still returns {} — safe to write a fresh config.
|
|
18
|
+
const existing = readJsonFileStrict(configPath);
|
|
19
|
+
// Skip the write if config.json already has a WSL platformTarget set by a
|
|
20
|
+
// ≥1.0.4 install on this machine — that value reflects a deliberate WSL
|
|
21
|
+
// mode choice and must not be overwritten by a stale marker.
|
|
22
|
+
// 'native' is intentionally excluded: it can arrive via cross-machine
|
|
23
|
+
// config copy (e.g. macOS → WSL) and must not suppress a real WSL marker.
|
|
24
|
+
// Typed constants: TypeScript will error here if these drift from PlatformTarget.
|
|
25
|
+
const wslWindowsCc = 'wsl-windows-cc';
|
|
26
|
+
const wslLinuxCc = 'wsl-linux-cc';
|
|
27
|
+
const alreadyMigrated = existing.platformTarget === wslWindowsCc || existing.platformTarget === wslLinuxCc;
|
|
28
|
+
if (!alreadyMigrated) {
|
|
29
|
+
// Pass DEFAULT_STORAGE_PATH as the allowed base so the symlink guard accepts
|
|
30
|
+
// writes when the storage directory is symlinked outside HOME.
|
|
31
|
+
writeJsonFile(configPath, { ...existing, platformTarget: platform }, DEFAULT_STORAGE_PATH);
|
|
32
|
+
}
|
|
33
|
+
// Delete marker after the rename is committed (or skipped). Wrapped in its own
|
|
34
|
+
// catch so a failure here (e.g. WSL1 DrvFs read-only file attribute on .wsl-mode)
|
|
35
|
+
// is handled inline rather than propagating to the outer catch — which would
|
|
36
|
+
// exit the function without deleting the marker on the current call, but would
|
|
37
|
+
// not cause re-migration loops because config.json is already correct.
|
|
38
|
+
try {
|
|
39
|
+
unlinkSync(markerPath);
|
|
40
|
+
}
|
|
41
|
+
catch {
|
|
42
|
+
/* re-migration on next startup is idempotent */
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
// Unrecognized marker content — cannot migrate, but deleting it prevents this
|
|
47
|
+
// function from re-running on every startup (existsSync would fire each time).
|
|
48
|
+
try {
|
|
49
|
+
unlinkSync(markerPath);
|
|
50
|
+
}
|
|
51
|
+
catch {
|
|
52
|
+
/* WSL1 DrvFs read-only attribute — re-run on next startup is harmless */
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
catch {
|
|
57
|
+
// Non-fatal: next install falls back to filesystem detection.
|
|
58
|
+
}
|
|
59
|
+
}
|
|
5
60
|
function promptYesNo(question) {
|
|
6
61
|
process.stderr.write(question);
|
|
7
62
|
// Open /dev/tty directly — Node.js sets fd 0 to O_NONBLOCK on TTY startup,
|
|
@@ -27,6 +82,7 @@ function promptYesNo(question) {
|
|
|
27
82
|
* (server startup, update) print a notice instead.
|
|
28
83
|
*/
|
|
29
84
|
export function migrateStoragePath(interactive = false) {
|
|
85
|
+
migrateWslMarker();
|
|
30
86
|
const oldPath = resolve(homedir(), '.nr-ai-observe');
|
|
31
87
|
const newPath = DEFAULT_STORAGE_PATH;
|
|
32
88
|
if (!existsSync(oldPath))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/install/migrate.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/install/migrate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-wizard.d.ts","sourceRoot":"","sources":["../../src/install/setup-wizard.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"setup-wizard.d.ts","sourceRoot":"","sources":["../../src/install/setup-wizard.ts"],"names":[],"mappings":"AAqBA,UAAU,YAAY;IACpB,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACxC;AAkBD,MAAM,WAAW,4BAA4B;IAC3C,0DAA0D;IAC1D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,2EAA2E;IAC3E,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,wCAAwC;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;CAChC;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,4BAA4B,GACjC,2BAA2B,CA6B7B;AA2CD,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;AAEpD,wBAAgB,WAAW,CACzB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,MAAM,EAAE;IACN,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B,GACA,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAiBzB;AAWD,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAmhBpD"}
|
|
@@ -1,37 +1,31 @@
|
|
|
1
1
|
import { createInterface } from 'node:readline/promises';
|
|
2
|
-
import {
|
|
2
|
+
import { mkdirSync, readFileSync, existsSync, copyFileSync, chmodSync, realpathSync, } from 'node:fs';
|
|
3
3
|
import { resolve, dirname } from 'node:path';
|
|
4
|
-
import {
|
|
5
|
-
import { normalizeDeveloperName, ConfigFileSchema } from '../config.js';
|
|
4
|
+
import { normalizeDeveloperName, ConfigFileSchema, DEFAULT_STORAGE_PATH } from '../config.js';
|
|
6
5
|
import { migrateStoragePath } from './migrate.js';
|
|
7
|
-
import { runInstallCli, verifyBinaryOnPath } from './cli.js';
|
|
6
|
+
import { runInstallCli, verifyBinaryOnPath, findRepoRoot } from './cli.js';
|
|
7
|
+
import { writeJsonFile } from './json-utils.js';
|
|
8
8
|
import { installSchedule, installDashboardDaemon, resolveBinaryPath } from './schedule.js';
|
|
9
|
-
import { isWsl } from './platform.js';
|
|
9
|
+
import { isWsl, resolveWindowsHome } from './platform.js';
|
|
10
10
|
import { validateLicenseKey, validateApiKey } from './key-validator.js';
|
|
11
|
-
const DEFAULT_STORAGE_PATH = resolve(homedir(), '.newrelic-preflight');
|
|
12
11
|
const CONFIG_PATH = resolve(DEFAULT_STORAGE_PATH, 'config.json');
|
|
13
12
|
const ALERT_RULES_DEST = resolve(DEFAULT_STORAGE_PATH, 'alerts', 'rules.json');
|
|
14
|
-
/**
|
|
15
|
-
* Resolve the path to the bundled `examples/local-alert-rules.json`. The
|
|
16
|
-
* wizard ships from either `dist/install/` (when installed via npm) or
|
|
17
|
-
* `src/install/` (when executed via `npx tsx`); both resolve to the repo
|
|
18
|
-
* root by walking up two directories from the running script.
|
|
19
|
-
*
|
|
20
|
-
* Uses `process.argv[1]` rather than `__dirname` (which doesn't exist in
|
|
21
|
-
* ESM) or `import.meta.url` (which trips Jest's TS module check). Same
|
|
22
|
-
* pattern as `src/index.ts` for resolving the static dashboard dir.
|
|
23
|
-
*/
|
|
24
13
|
function defaultStarterRulesSource() {
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
14
|
+
const root = findRepoRoot();
|
|
15
|
+
if (root !== null)
|
|
16
|
+
return resolve(root, 'examples', 'local-alert-rules.json');
|
|
17
|
+
// findRepoRoot() failed — fall back to walking two directories up from the
|
|
18
|
+
// real entry-point path. Resolve symlinks first so a globally-installed binary
|
|
19
|
+
// (e.g. /usr/local/bin/preflight → .../node_modules/preflight/dist/index.js)
|
|
20
|
+
// correctly walks up to the package root rather than /usr/local/bin.
|
|
21
|
+
let entryPoint;
|
|
22
|
+
try {
|
|
23
|
+
entryPoint = realpathSync(process.argv[1] ?? process.cwd());
|
|
24
|
+
}
|
|
25
|
+
catch {
|
|
26
|
+
entryPoint = process.argv[1] ?? process.cwd();
|
|
27
|
+
}
|
|
28
|
+
return resolve(dirname(entryPoint), '..', '..', 'examples', 'local-alert-rules.json');
|
|
35
29
|
}
|
|
36
30
|
/**
|
|
37
31
|
* Copy the bundled starter alert rules into the destination path. Idempotent:
|
|
@@ -143,6 +137,14 @@ function parseModeAnswer(raw, fallback) {
|
|
|
143
137
|
export async function runSetupWizard() {
|
|
144
138
|
migrateStoragePath(true);
|
|
145
139
|
const rl = createInterface({ input: process.stdin, output: process.stdout });
|
|
140
|
+
// Safety net: process.exit() bypasses finally blocks but still runs 'exit' handlers.
|
|
141
|
+
// If runInstallCli's resolvePlatform calls process.exit(1) (e.g. saved wsl-windows-cc
|
|
142
|
+
// with WSL interop now disabled), rl.close() would otherwise be skipped, leaving stdin
|
|
143
|
+
// with dangling readline event listeners. rl.close() is idempotent so the finally
|
|
144
|
+
// block calling it again is harmless. The listener is explicitly removed in the finally
|
|
145
|
+
// block (normal completion path) to prevent accumulation across repeated invocations.
|
|
146
|
+
const rlCleanupOnExit = () => rl.close();
|
|
147
|
+
process.once('exit', rlCleanupOnExit);
|
|
146
148
|
try {
|
|
147
149
|
print('\n=== Preflight Setup ===\n');
|
|
148
150
|
print('This wizard will configure observability for your AI coding assistant.');
|
|
@@ -346,8 +348,11 @@ export async function runSetupWizard() {
|
|
|
346
348
|
dashboardPort = defaultPort;
|
|
347
349
|
}
|
|
348
350
|
}
|
|
349
|
-
// Write config
|
|
350
|
-
|
|
351
|
+
// Write config. Strip platformTarget before spreading — only the install subcommand
|
|
352
|
+
// (runInstallCli) should own this field. Preserving a stale value here would silently
|
|
353
|
+
// drive the next bare install toward the wrong platform if the user declines hooks.
|
|
354
|
+
const { platformTarget: _platformTarget, ...existingForWizard } = existing;
|
|
355
|
+
const config = buildConfig(existingForWizard, {
|
|
351
356
|
accountId,
|
|
352
357
|
licenseKey,
|
|
353
358
|
developer,
|
|
@@ -359,10 +364,7 @@ export async function runSetupWizard() {
|
|
|
359
364
|
nrApiKey,
|
|
360
365
|
collectorHost,
|
|
361
366
|
});
|
|
362
|
-
|
|
363
|
-
const configTmp = CONFIG_PATH + '.tmp';
|
|
364
|
-
writeFileSync(configTmp, JSON.stringify(config, null, 2), { mode: 0o600 });
|
|
365
|
-
renameSync(configTmp, CONFIG_PATH);
|
|
367
|
+
writeJsonFile(CONFIG_PATH, config, DEFAULT_STORAGE_PATH);
|
|
366
368
|
print(`\nConfig written to ${CONFIG_PATH}`);
|
|
367
369
|
// Step 5c: Starter alert rules (local + both modes only).
|
|
368
370
|
// Default-yes prompt; copy is idempotent — re-running the wizard never
|
|
@@ -394,25 +396,83 @@ export async function runSetupWizard() {
|
|
|
394
396
|
// Step 6: Hook install
|
|
395
397
|
// Config is already written above; pass no credentials to install so it only
|
|
396
398
|
// wires hooks and MCP without overwriting the config we just wrote.
|
|
399
|
+
const wslEnv = isWsl();
|
|
397
400
|
const installHooks = (await rl.question('\nInstall Claude Code hooks now? [Y/n]: '))
|
|
398
401
|
.trim()
|
|
399
402
|
.toLowerCase();
|
|
400
|
-
if (installHooks !== 'n') {
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
403
|
+
if (installHooks !== 'n' && installHooks !== 'no') {
|
|
404
|
+
// In WSL there are two distinct Claude Code setups that need different hook formats:
|
|
405
|
+
// Windows CC (desktop app on Windows): hooks must use wsl.exe -e, go in Windows paths
|
|
406
|
+
// Linux CC in WSL (npm install inside WSL): hooks are direct Linux commands, WSL paths
|
|
407
|
+
const installArgs = ['install'];
|
|
408
|
+
let skipInstall = false;
|
|
409
|
+
if (wslEnv) {
|
|
410
|
+
print('\n ℹ WSL detected. How is Claude Code installed on this machine?');
|
|
411
|
+
print(' [1] Claude Code for Windows (the desktop app running on Windows)');
|
|
412
|
+
print(' [2] Claude Code installed inside WSL via npm (default)');
|
|
413
|
+
let wslChoice = '';
|
|
414
|
+
for (let attempt = 0; attempt < 3; attempt++) {
|
|
415
|
+
wslChoice = (await rl.question(' Choice [2]: ')).trim();
|
|
416
|
+
if (wslChoice === '1' || wslChoice === '2' || wslChoice === '')
|
|
417
|
+
break;
|
|
418
|
+
print(' ⚠ Enter 1 or 2 (or press Enter for the default).');
|
|
419
|
+
}
|
|
420
|
+
if (wslChoice !== '1' && wslChoice !== '2' && wslChoice !== '') {
|
|
421
|
+
print(' ⚠ No valid choice entered after 3 attempts — defaulting to Linux Claude Code mode.');
|
|
422
|
+
}
|
|
423
|
+
if (wslChoice === '1') {
|
|
424
|
+
// Pre-validate before committing to --windows-cc: handleInstall calls
|
|
425
|
+
// process.exit(1) when windowsHome is null, which skips the wizard's
|
|
426
|
+
// finally block and leaves stdin with readline listeners attached.
|
|
427
|
+
const windowsHome = resolveWindowsHome();
|
|
428
|
+
if (windowsHome === null) {
|
|
429
|
+
print(' ⚠ Windows home directory could not be resolved (WSL interop may be disabled).');
|
|
430
|
+
print(' Skipping hook installation. Fix WSL interop first, then re-run:');
|
|
431
|
+
print(' preflight install --windows-cc');
|
|
432
|
+
// Skip the install entirely — falling back to --linux-cc would write
|
|
433
|
+
// wsl-linux-cc as the saved platform, silently corrupting the user's
|
|
434
|
+
// Windows CC intent on all future bare installs.
|
|
435
|
+
skipInstall = true;
|
|
436
|
+
}
|
|
437
|
+
else {
|
|
438
|
+
installArgs.push('--windows-cc');
|
|
439
|
+
print(' → Using Windows Claude Code mode (wsl.exe hooks, Windows paths).');
|
|
440
|
+
}
|
|
441
|
+
}
|
|
442
|
+
else {
|
|
443
|
+
// Pass --linux-cc explicitly so the installer honours this choice even
|
|
444
|
+
// when a prior Windows CC install would otherwise trigger auto-detection.
|
|
445
|
+
installArgs.push('--linux-cc');
|
|
446
|
+
print(' → Using Linux Claude Code mode (direct hooks, WSL home paths).');
|
|
447
|
+
}
|
|
406
448
|
}
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
print('
|
|
410
|
-
|
|
411
|
-
|
|
449
|
+
let hooksInstalled = false;
|
|
450
|
+
if (!skipInstall) {
|
|
451
|
+
print('\nRunning hook installer...');
|
|
452
|
+
try {
|
|
453
|
+
await runInstallCli(installArgs);
|
|
454
|
+
hooksInstalled = true;
|
|
455
|
+
}
|
|
456
|
+
catch {
|
|
457
|
+
// handleInstall already printed the specific error. Set exit code and continue
|
|
458
|
+
// so daemon, schedule, and dashboard steps still run — they do not depend on
|
|
459
|
+
// hook installation.
|
|
460
|
+
process.exitCode = 1;
|
|
461
|
+
}
|
|
462
|
+
if (hooksInstalled)
|
|
463
|
+
print('Hooks installed.');
|
|
464
|
+
if (verifyBinaryOnPath()) {
|
|
465
|
+
print('✓ preflight is on your PATH');
|
|
466
|
+
}
|
|
467
|
+
else {
|
|
468
|
+
print('\n⚠ preflight is not on your PATH.');
|
|
469
|
+
print(' Claude Code hooks will fail with "command not found" until this is resolved.');
|
|
470
|
+
print(' Fix: run `npm link` in the project directory, or install globally:');
|
|
471
|
+
print(' npm install -g @newrelic/preflight');
|
|
472
|
+
}
|
|
412
473
|
}
|
|
413
474
|
}
|
|
414
475
|
// Step 6b: Always-on background dashboard daemon
|
|
415
|
-
const wslEnv = isWsl();
|
|
416
476
|
if ((mode === 'local' || mode === 'both') && process.platform === 'darwin') {
|
|
417
477
|
const binaryPath = resolveBinaryPath();
|
|
418
478
|
const daemonAnswer = (await rl.question('\nInstall always-on background dashboard? Keeps the local dashboard running even when Claude Code is closed [Y/n]: '))
|
|
@@ -525,6 +585,7 @@ export async function runSetupWizard() {
|
|
|
525
585
|
print('');
|
|
526
586
|
}
|
|
527
587
|
finally {
|
|
588
|
+
process.removeListener('exit', rlCleanupOnExit);
|
|
528
589
|
rl.close();
|
|
529
590
|
}
|
|
530
591
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-wizard.js","sourceRoot":"","sources":["../../src/install/setup-wizard.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"setup-wizard.js","sourceRoot":"","sources":["../../src/install/setup-wizard.ts"],"names":[],"mappings":"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"}
|