@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
package/dist/install/cli.js
CHANGED
|
@@ -4,62 +4,107 @@
|
|
|
4
4
|
* Dynamically imported from collector-script.ts when argv[2] is install/uninstall,
|
|
5
5
|
* so commander and other heavy deps are never loaded on the hot hook path.
|
|
6
6
|
*/
|
|
7
|
-
import { Command } from 'commander';
|
|
8
7
|
import { execSync, execFileSync } from 'node:child_process';
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
8
|
+
import { existsSync, copyFileSync, realpathSync } from 'node:fs';
|
|
9
|
+
import { dirname, join, resolve } from 'node:path';
|
|
11
10
|
import { homedir } from 'node:os';
|
|
11
|
+
import { Command } from 'commander';
|
|
12
12
|
import { mergeSettings, removeSettings, mergeMcpConfig, removeMcpConfig, detectSettingsPath, detectMcpConfigPath, generateNrConfig, } from './install-helper.js';
|
|
13
13
|
import { isWsl, resolveWindowsHome } from './platform.js';
|
|
14
|
-
import { validateConfigFile, DEFAULT_STORAGE_PATH } from '../config.js';
|
|
14
|
+
import { validateConfigFile, DEFAULT_STORAGE_PATH, ConfigFileSchema } from '../config.js';
|
|
15
15
|
import { migrateStoragePath } from './migrate.js';
|
|
16
16
|
import { installSchedule, removeSchedule, getScheduleStatus, removeDashboardDaemon, getDashboardDaemonStatus, resolveBinaryPath, } from './schedule.js';
|
|
17
|
-
|
|
18
|
-
const NR_CONFIG_PATH = resolve(
|
|
19
|
-
function print(msg = '') {
|
|
20
|
-
process.stdout.write(msg + '\n');
|
|
21
|
-
}
|
|
17
|
+
import { readJsonFileStrict, writeJsonFile } from './json-utils.js';
|
|
18
|
+
const NR_CONFIG_PATH = resolve(DEFAULT_STORAGE_PATH, 'config.json');
|
|
22
19
|
// ---------------------------------------------------------------------------
|
|
23
|
-
//
|
|
20
|
+
// Platform persistence helpers — read/write platformTarget in config.json
|
|
24
21
|
// ---------------------------------------------------------------------------
|
|
25
|
-
function
|
|
22
|
+
function parsePlatformTarget(value) {
|
|
23
|
+
const result = ConfigFileSchema.shape.platformTarget.safeParse(value);
|
|
24
|
+
return result.success && result.data !== undefined ? result.data : null;
|
|
25
|
+
}
|
|
26
|
+
function clearSavedPlatform() {
|
|
26
27
|
try {
|
|
27
|
-
|
|
28
|
+
if (!existsSync(NR_CONFIG_PATH))
|
|
29
|
+
return;
|
|
30
|
+
const { platformTarget: _pt, ...rest } = readJsonFileStrict(NR_CONFIG_PATH);
|
|
31
|
+
writeJsonFile(NR_CONFIG_PATH, rest, DEFAULT_STORAGE_PATH);
|
|
28
32
|
}
|
|
29
|
-
catch {
|
|
30
|
-
|
|
33
|
+
catch (err) {
|
|
34
|
+
eprint(`\n⚠ Could not clear saved platform target: ${err instanceof Error ? err.message : String(err)}`);
|
|
35
|
+
eprint(' The next install may use the stale platform target. Fix the issue and re-run uninstall.');
|
|
31
36
|
}
|
|
32
37
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
// the Windows home path under /mnt/c/... when writing from WSL).
|
|
41
|
-
const resolvedDir = realpathSync(dir);
|
|
42
|
-
const resolvedPath = existsSync(path) ? realpathSync(path) : resolve(resolvedDir, basename(path));
|
|
43
|
-
const home = homedir();
|
|
44
|
-
const cwd = process.cwd();
|
|
45
|
-
const check = (p) => p === home ||
|
|
46
|
-
p.startsWith(home + sep) ||
|
|
47
|
-
p === cwd ||
|
|
48
|
-
p.startsWith(cwd + sep) ||
|
|
49
|
-
(additionalAllowedBase !== undefined &&
|
|
50
|
-
(p === additionalAllowedBase || p.startsWith(additionalAllowedBase + sep)));
|
|
51
|
-
if (!check(resolvedDir) || !check(resolvedPath)) {
|
|
52
|
-
throw new Error(`Refusing to write outside HOME or project root: ${resolvedPath}`);
|
|
53
|
-
}
|
|
54
|
-
const tmp = path + '.tmp';
|
|
55
|
-
try {
|
|
56
|
-
writeFileSync(tmp, JSON.stringify(data, null, 2) + '\n', { mode: 0o600 });
|
|
57
|
-
renameSync(tmp, path);
|
|
38
|
+
// ---------------------------------------------------------------------------
|
|
39
|
+
// Platform resolution — single function, single place for all errors
|
|
40
|
+
// ---------------------------------------------------------------------------
|
|
41
|
+
function resolvePlatform(options, savedPlatform) {
|
|
42
|
+
if (options.windowsCc && options.linuxCc) {
|
|
43
|
+
print('\n ⚠ --windows-cc and --linux-cc are mutually exclusive. Pass only one.');
|
|
44
|
+
process.exit(1);
|
|
58
45
|
}
|
|
59
|
-
|
|
60
|
-
if (
|
|
61
|
-
|
|
46
|
+
if (options.windowsCc) {
|
|
47
|
+
if (!isWsl()) {
|
|
48
|
+
print('\n ⚠ --windows-cc only works inside WSL — this machine is not running WSL.');
|
|
49
|
+
print(' Run without --windows-cc to install normally.');
|
|
50
|
+
process.exit(1);
|
|
51
|
+
}
|
|
52
|
+
const windowsHome = resolveWindowsHome();
|
|
53
|
+
if (!windowsHome) {
|
|
54
|
+
print('\n ⚠ --windows-cc: Windows home directory could not be resolved.');
|
|
55
|
+
print(' Check that WSL interop is enabled:');
|
|
56
|
+
print(' wsl.exe --status');
|
|
57
|
+
process.exit(1);
|
|
58
|
+
}
|
|
59
|
+
return { platform: 'wsl-windows-cc', windowsHome };
|
|
60
|
+
}
|
|
61
|
+
if (options.linuxCc) {
|
|
62
|
+
if (!isWsl()) {
|
|
63
|
+
print('\n ⚠ --linux-cc only works inside WSL — this machine is not running WSL.');
|
|
64
|
+
print(' Run without --linux-cc to install normally.');
|
|
65
|
+
process.exit(1);
|
|
66
|
+
}
|
|
67
|
+
return { platform: 'wsl-linux-cc', windowsHome: null };
|
|
68
|
+
}
|
|
69
|
+
if (!isWsl())
|
|
70
|
+
return { platform: 'native', windowsHome: null };
|
|
71
|
+
// WSL auto-detect: use the savedPlatform already read by handleInstall.
|
|
72
|
+
// 'native' is excluded — it was written on a non-WSL machine and must not
|
|
73
|
+
// suppress WSL-mode guidance or the --windows-cc hint below.
|
|
74
|
+
if (savedPlatform && savedPlatform !== 'native') {
|
|
75
|
+
if (savedPlatform === 'wsl-windows-cc') {
|
|
76
|
+
const windowsHome = resolveWindowsHome();
|
|
77
|
+
if (!windowsHome) {
|
|
78
|
+
print('\n ⚠ Saved install target is Windows Claude Code but Windows home could not be resolved.');
|
|
79
|
+
print(' WSL interop may be disabled. Re-run with --windows-cc when interop is restored,');
|
|
80
|
+
print(' or use --linux-cc to switch to Linux Claude Code mode permanently.');
|
|
81
|
+
process.exit(1);
|
|
82
|
+
}
|
|
83
|
+
return { platform: 'wsl-windows-cc', windowsHome };
|
|
84
|
+
}
|
|
85
|
+
return { platform: savedPlatform, windowsHome: null };
|
|
62
86
|
}
|
|
87
|
+
// WSL: no prior state — default to Linux CC, inform user about the Windows option.
|
|
88
|
+
print('\n ℹ WSL detected with no prior install state. Defaulting to Linux Claude Code mode.');
|
|
89
|
+
print(' If you are using the Windows Claude Code desktop app, re-run with --windows-cc:');
|
|
90
|
+
print(' preflight install --windows-cc');
|
|
91
|
+
return { platform: 'wsl-linux-cc', windowsHome: null };
|
|
92
|
+
}
|
|
93
|
+
function resolveInstallPaths(_platform, scope, windowsHome) {
|
|
94
|
+
return {
|
|
95
|
+
settingsPath: detectSettingsPath(scope, windowsHome),
|
|
96
|
+
mcpPath: detectMcpConfigPath(scope, windowsHome),
|
|
97
|
+
allowedBase: windowsHome ?? undefined,
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
// ---------------------------------------------------------------------------
|
|
101
|
+
// print helper
|
|
102
|
+
// ---------------------------------------------------------------------------
|
|
103
|
+
function print(msg = '') {
|
|
104
|
+
process.stdout.write(msg + '\n');
|
|
105
|
+
}
|
|
106
|
+
function eprint(msg = '') {
|
|
107
|
+
process.stderr.write(msg + '\n');
|
|
63
108
|
}
|
|
64
109
|
// ---------------------------------------------------------------------------
|
|
65
110
|
// PATH verification
|
|
@@ -81,9 +126,9 @@ function printPathWarning() {
|
|
|
81
126
|
print('');
|
|
82
127
|
}
|
|
83
128
|
// ---------------------------------------------------------------------------
|
|
84
|
-
// Repo root discovery (for update command)
|
|
129
|
+
// Repo root discovery (for update command and setup wizard)
|
|
85
130
|
// ---------------------------------------------------------------------------
|
|
86
|
-
function findRepoRoot() {
|
|
131
|
+
export function findRepoRoot() {
|
|
87
132
|
try {
|
|
88
133
|
let dir = dirname(realpathSync(process.argv[1]));
|
|
89
134
|
while (true) {
|
|
@@ -183,60 +228,105 @@ function handleSchedule(options) {
|
|
|
183
228
|
function handleInstall(options) {
|
|
184
229
|
migrateStoragePath(true);
|
|
185
230
|
const scope = options.project ? 'project' : 'user';
|
|
186
|
-
// Resolve the full binary path at install time so hooks work in non-login
|
|
187
|
-
// shells (e.g. /bin/sh) that don't inherit NVM/nix/Homebrew PATH entries.
|
|
188
231
|
const binPath = resolveBinaryPath();
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
//
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
const settingsPath = detectSettingsPath(scope, windowsHome);
|
|
202
|
-
let mergedSettings;
|
|
232
|
+
const credentialsProvided = !!(options.licenseKey && options.accountId);
|
|
233
|
+
const inWsl = isWsl();
|
|
234
|
+
// Read config.json once. Serves two purposes:
|
|
235
|
+
// (a) extract savedPlatform for resolvePlatform (needed on WSL auto-detect)
|
|
236
|
+
// (b) preserve existing fields when writing back platformTarget + credentials
|
|
237
|
+
// Fatal conditions: SyntaxError (can't safely write back to corrupt JSON),
|
|
238
|
+
// WSL without explicit platform flag + any IO error (EACCES/EPERM could mask a
|
|
239
|
+
// saved wsl-windows-cc platform — explicit flags make savedPlatform irrelevant),
|
|
240
|
+
// credentials provided + any IO error (can't preserve without knowing existing state).
|
|
241
|
+
const explicitPlatform = !!(options.windowsCc || options.linuxCc);
|
|
242
|
+
let existingNrConfig = {};
|
|
243
|
+
let skipNrConfigWrite = false;
|
|
203
244
|
try {
|
|
204
|
-
|
|
205
|
-
|
|
245
|
+
// readJsonFileStrict returns {} on ENOENT; throws on IO errors or malformed JSON.
|
|
246
|
+
existingNrConfig = readJsonFileStrict(NR_CONFIG_PATH);
|
|
206
247
|
}
|
|
207
248
|
catch (err) {
|
|
208
|
-
|
|
209
|
-
|
|
249
|
+
const isSyntaxError = err instanceof SyntaxError;
|
|
250
|
+
if (isSyntaxError || (inWsl && !explicitPlatform) || credentialsProvided) {
|
|
251
|
+
eprint(`\n✗ Cannot read existing NR config to determine install target: ${err instanceof Error ? err.message : String(err)}`);
|
|
252
|
+
eprint(isSyntaxError
|
|
253
|
+
? ' config.json contains invalid JSON — fix or delete it, then re-run install.'
|
|
254
|
+
: ' Fix file permissions then re-run install.');
|
|
255
|
+
throw err;
|
|
256
|
+
}
|
|
257
|
+
eprint(`\n⚠ Could not read existing NR config to persist platform target: ${err instanceof Error ? err.message : String(err)}`);
|
|
258
|
+
eprint(' Platform target not persisted — hook installation will continue. Re-run to save it.');
|
|
259
|
+
skipNrConfigWrite = true;
|
|
210
260
|
}
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
const mcpPath =
|
|
261
|
+
const savedPlatform = parsePlatformTarget(existingNrConfig.platformTarget);
|
|
262
|
+
const { platform, windowsHome } = resolvePlatform(options, savedPlatform);
|
|
263
|
+
const { settingsPath, mcpPath, allowedBase } = resolveInstallPaths(platform, scope, windowsHome);
|
|
264
|
+
let mergedSettings;
|
|
214
265
|
let mergedMcp;
|
|
215
266
|
try {
|
|
216
|
-
|
|
217
|
-
mergedMcp = mergeMcpConfig(
|
|
267
|
+
mergedSettings = mergeSettings(readJsonFileStrict(settingsPath), binPath, { platform });
|
|
268
|
+
mergedMcp = mergeMcpConfig(readJsonFileStrict(mcpPath), binPath, { platform });
|
|
218
269
|
}
|
|
219
270
|
catch (err) {
|
|
220
|
-
|
|
221
|
-
|
|
271
|
+
eprint(`\n✗ Failed to prepare config: ${err instanceof Error ? err.message : String(err)}`);
|
|
272
|
+
throw err;
|
|
273
|
+
}
|
|
274
|
+
try {
|
|
275
|
+
writeJsonFile(settingsPath, mergedSettings, allowedBase);
|
|
276
|
+
}
|
|
277
|
+
catch (err) {
|
|
278
|
+
eprint(`\n✗ Failed to write hooks config (${settingsPath}): ${err instanceof Error ? err.message : String(err)}`);
|
|
279
|
+
throw err;
|
|
222
280
|
}
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
281
|
+
try {
|
|
282
|
+
writeJsonFile(mcpPath, mergedMcp, allowedBase);
|
|
283
|
+
}
|
|
284
|
+
catch (err) {
|
|
285
|
+
eprint(`\n✗ Failed to write MCP config (${mcpPath}): ${err instanceof Error ? err.message : String(err)}`);
|
|
286
|
+
throw err;
|
|
287
|
+
}
|
|
288
|
+
// Persist platformTarget (and credentials if provided) — only after both hook files written.
|
|
289
|
+
let nrConfigWritten = false;
|
|
290
|
+
if (!skipNrConfigWrite) {
|
|
291
|
+
try {
|
|
292
|
+
const nrConfig = { ...existingNrConfig, platformTarget: platform };
|
|
293
|
+
if (credentialsProvided) {
|
|
294
|
+
Object.assign(nrConfig, generateNrConfig(options.licenseKey, options.accountId));
|
|
295
|
+
}
|
|
296
|
+
writeJsonFile(NR_CONFIG_PATH, nrConfig, DEFAULT_STORAGE_PATH);
|
|
297
|
+
nrConfigWritten = credentialsProvided;
|
|
298
|
+
}
|
|
299
|
+
catch (err) {
|
|
300
|
+
if (credentialsProvided) {
|
|
301
|
+
eprint(`\n✗ Failed to save New Relic config: ${err instanceof Error ? err.message : String(err)}`);
|
|
302
|
+
throw err;
|
|
303
|
+
}
|
|
304
|
+
eprint(`\n⚠ Could not persist platform target: ${err instanceof Error ? err.message : String(err)}`);
|
|
305
|
+
eprint(' The next install will re-detect the target platform from scratch.');
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
if (platform === 'wsl-windows-cc') {
|
|
309
|
+
print('\n ℹ Configured for Windows Claude Code (desktop app).');
|
|
226
310
|
print(` Hooks written to: ${settingsPath}`);
|
|
227
311
|
print(` MCP config written to: ${mcpPath}`);
|
|
228
312
|
print(' Hook commands use wsl.exe -e so Windows Claude Code can invoke them.');
|
|
313
|
+
print(' To switch to Linux Claude Code mode, re-run with --linux-cc:');
|
|
314
|
+
print(' preflight install --linux-cc');
|
|
315
|
+
}
|
|
316
|
+
else if (platform === 'wsl-linux-cc') {
|
|
317
|
+
print('\n ℹ Configured for Linux Claude Code (npm in WSL).');
|
|
318
|
+
print(` Hooks written to: ${settingsPath}`);
|
|
319
|
+
print(' To switch to Windows Claude Code mode, re-run with --windows-cc:');
|
|
320
|
+
print(' preflight install --windows-cc');
|
|
229
321
|
}
|
|
230
322
|
print(`\n✓ Claude Code hooks updated: ${settingsPath}`);
|
|
231
323
|
print(' - Added PreToolUse and PostToolUse hooks');
|
|
232
324
|
print(`✓ MCP server registered: ${mcpPath}`);
|
|
233
325
|
print(' - Added preflight MCP server');
|
|
234
|
-
if (
|
|
235
|
-
const config = generateNrConfig(options.licenseKey, options.accountId);
|
|
236
|
-
writeJsonFile(NR_CONFIG_PATH, config);
|
|
326
|
+
if (nrConfigWritten) {
|
|
237
327
|
print(`\n✓ New Relic config written: ${NR_CONFIG_PATH}`);
|
|
238
328
|
}
|
|
239
|
-
else if (options.licenseKey || options.accountId) {
|
|
329
|
+
else if (!credentialsProvided && (options.licenseKey || options.accountId)) {
|
|
240
330
|
print('\n⚠ Both --license-key and --account-id are required to save NR config. Skipped.');
|
|
241
331
|
}
|
|
242
332
|
if (binPath !== null) {
|
|
@@ -258,52 +348,158 @@ function handleInstall(options) {
|
|
|
258
348
|
// ---------------------------------------------------------------------------
|
|
259
349
|
function handleUninstall(options) {
|
|
260
350
|
const scope = options.project ? 'project' : 'user';
|
|
261
|
-
|
|
262
|
-
|
|
351
|
+
if (options.windowsCc && options.linuxCc) {
|
|
352
|
+
print('\n ⚠ --windows-cc and --linux-cc are mutually exclusive. Pass only one.');
|
|
353
|
+
process.exit(1);
|
|
354
|
+
}
|
|
355
|
+
if (options.windowsCc && !isWsl()) {
|
|
356
|
+
print('\n ⚠ --windows-cc only works inside WSL — this machine is not running WSL.');
|
|
357
|
+
print(' Run without --windows-cc to uninstall normally.');
|
|
358
|
+
process.exit(1);
|
|
359
|
+
}
|
|
360
|
+
if (options.linuxCc && !isWsl()) {
|
|
361
|
+
print('\n ⚠ --linux-cc only works inside WSL — this machine is not running WSL.');
|
|
362
|
+
print(' Run without --linux-cc to uninstall normally.');
|
|
363
|
+
process.exit(1);
|
|
364
|
+
}
|
|
263
365
|
const wslEnv = isWsl();
|
|
264
366
|
const windowsHome = wslEnv ? resolveWindowsHome() : null;
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
367
|
+
if (options.windowsCc && windowsHome === null) {
|
|
368
|
+
print('\n ⚠ --windows-cc: Windows home directory could not be resolved.');
|
|
369
|
+
print(' Nothing to uninstall for Windows Claude Code.');
|
|
370
|
+
process.exit(1);
|
|
371
|
+
}
|
|
372
|
+
// For bare uninstall (no flags), read the saved platform so we only clean the
|
|
373
|
+
// paths that were actually written during the matching install. Users who never
|
|
374
|
+
// ran preflight ≥1.0.4 have no saved platform, so fall back to cleaning both
|
|
375
|
+
// paths as a migration safety net.
|
|
376
|
+
// If config.json is unreadable, fall back to cleaning both paths — over-cleaning
|
|
377
|
+
// is safe, under-cleaning is not.
|
|
378
|
+
let savedPlatform = null;
|
|
379
|
+
if (!options.windowsCc && !options.linuxCc) {
|
|
380
|
+
try {
|
|
381
|
+
const config = readJsonFileStrict(NR_CONFIG_PATH);
|
|
382
|
+
savedPlatform = parsePlatformTarget(config.platformTarget);
|
|
383
|
+
}
|
|
384
|
+
catch {
|
|
385
|
+
/* unreadable config — clean both paths */
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
let includeWindows;
|
|
389
|
+
let includeLinux;
|
|
390
|
+
if (options.windowsCc) {
|
|
391
|
+
includeWindows = true;
|
|
392
|
+
includeLinux = false;
|
|
393
|
+
}
|
|
394
|
+
else if (options.linuxCc) {
|
|
395
|
+
includeWindows = false;
|
|
396
|
+
includeLinux = true;
|
|
397
|
+
}
|
|
398
|
+
else if (savedPlatform === 'wsl-windows-cc') {
|
|
399
|
+
if (!wslEnv) {
|
|
400
|
+
// Not in WSL — Windows CC paths from a prior WSL install are unreachable on this machine
|
|
401
|
+
// (e.g. config copied to macOS/Linux). Clean Linux-side paths and clear the stale target.
|
|
402
|
+
includeWindows = false;
|
|
403
|
+
includeLinux = true;
|
|
404
|
+
}
|
|
405
|
+
else if (windowsHome === null) {
|
|
406
|
+
// In WSL but interop unavailable — cannot reach Windows-side hooks without windowsHome.
|
|
407
|
+
// Exit with an actionable message rather than silently cleaning nothing and clearing the
|
|
408
|
+
// saved platform (which would make the next bare install forget the user's Windows CC intent).
|
|
409
|
+
print('\n ⚠ Saved install target is Windows Claude Code but Windows home could not be resolved.');
|
|
410
|
+
print(' WSL interop may be disabled. To uninstall:');
|
|
411
|
+
print(' Re-enable WSL interop, then re-run: preflight uninstall');
|
|
412
|
+
print(' Or clean Linux-side hooks only: preflight uninstall --linux-cc');
|
|
413
|
+
process.exit(1);
|
|
414
|
+
}
|
|
415
|
+
else {
|
|
416
|
+
// Also clean Linux-side hooks — the user may have previously run --linux-cc and then
|
|
417
|
+
// switched to --windows-cc without uninstalling first. Linux paths are always reachable.
|
|
418
|
+
includeWindows = true;
|
|
419
|
+
includeLinux = true;
|
|
420
|
+
}
|
|
421
|
+
}
|
|
422
|
+
else if (savedPlatform === 'wsl-linux-cc') {
|
|
423
|
+
// Clean Linux hooks. Also clean Windows hooks if reachable — the user may have
|
|
424
|
+
// previously run --windows-cc and then switched to --linux-cc without uninstalling first.
|
|
425
|
+
if (windowsHome !== null) {
|
|
426
|
+
print('\n ℹ Also removing Windows-side hooks (leftover from a prior --windows-cc install).');
|
|
427
|
+
}
|
|
428
|
+
includeWindows = windowsHome !== null;
|
|
429
|
+
includeLinux = true;
|
|
430
|
+
}
|
|
431
|
+
else if (savedPlatform === 'native') {
|
|
432
|
+
includeWindows = false;
|
|
433
|
+
includeLinux = true;
|
|
434
|
+
}
|
|
435
|
+
else {
|
|
436
|
+
// No saved platform (pre-1.0.4 install): clean both paths as a safety net.
|
|
437
|
+
includeWindows = windowsHome !== null;
|
|
438
|
+
includeLinux = true;
|
|
439
|
+
}
|
|
440
|
+
// Map value is the allowedBase for writeJsonFile's symlink guard.
|
|
441
|
+
const settingsPathsToClean = new Map();
|
|
442
|
+
const mcpPathsToClean = new Map();
|
|
443
|
+
if (includeWindows && windowsHome) {
|
|
444
|
+
settingsPathsToClean.set(detectSettingsPath(scope, windowsHome), windowsHome);
|
|
445
|
+
mcpPathsToClean.set(detectMcpConfigPath(scope, windowsHome), windowsHome);
|
|
446
|
+
}
|
|
447
|
+
if (includeLinux) {
|
|
448
|
+
settingsPathsToClean.set(detectSettingsPath(scope, null), undefined);
|
|
449
|
+
mcpPathsToClean.set(detectMcpConfigPath(scope, null), undefined);
|
|
450
|
+
}
|
|
273
451
|
print('');
|
|
274
|
-
// Remove hooks from settings.json (all candidate paths)
|
|
275
452
|
let settingsFound = false;
|
|
276
|
-
for (const settingsPath of settingsPathsToClean) {
|
|
453
|
+
for (const [settingsPath, allowedBase] of settingsPathsToClean) {
|
|
277
454
|
if (existsSync(settingsPath)) {
|
|
455
|
+
const backup = `${settingsPath}.backup-${Date.now()}`;
|
|
456
|
+
copyFileSync(settingsPath, backup);
|
|
457
|
+
print(` Backup saved: ${backup}`);
|
|
458
|
+
try {
|
|
459
|
+
writeJsonFile(settingsPath, removeSettings(readJsonFileStrict(settingsPath)), allowedBase);
|
|
460
|
+
}
|
|
461
|
+
catch (err) {
|
|
462
|
+
eprint(`\n✗ Failed to clean hooks config (${settingsPath}): ${err instanceof Error ? err.message : String(err)}`);
|
|
463
|
+
throw err;
|
|
464
|
+
}
|
|
278
465
|
settingsFound = true;
|
|
279
|
-
const settingsBackup = `${settingsPath}.backup-${Date.now()}`;
|
|
280
|
-
copyFileSync(settingsPath, settingsBackup);
|
|
281
|
-
print(` Backup saved: ${settingsBackup}`);
|
|
282
|
-
const existingSettings = readJsonFile(settingsPath);
|
|
283
|
-
const cleanedSettings = removeSettings(existingSettings);
|
|
284
|
-
writeJsonFile(settingsPath, cleanedSettings, windowsHome ?? undefined);
|
|
285
466
|
print(`✓ Hooks removed: ${settingsPath}`);
|
|
286
467
|
}
|
|
287
468
|
}
|
|
288
469
|
if (!settingsFound) {
|
|
289
|
-
print(`No settings file found at ${[...settingsPathsToClean].join(', ')}. Skipping hooks.`);
|
|
470
|
+
print(`No settings file found at ${[...settingsPathsToClean.keys()].join(', ')}. Skipping hooks.`);
|
|
290
471
|
}
|
|
291
|
-
// Remove MCP server from .mcp.json (all candidate paths)
|
|
292
472
|
let mcpFound = false;
|
|
293
|
-
for (const mcpPath of mcpPathsToClean) {
|
|
473
|
+
for (const [mcpPath, allowedBase] of mcpPathsToClean) {
|
|
294
474
|
if (existsSync(mcpPath)) {
|
|
475
|
+
const backup = `${mcpPath}.backup-${Date.now()}`;
|
|
476
|
+
copyFileSync(mcpPath, backup);
|
|
477
|
+
print(` Backup saved: ${backup}`);
|
|
478
|
+
try {
|
|
479
|
+
writeJsonFile(mcpPath, removeMcpConfig(readJsonFileStrict(mcpPath)), allowedBase);
|
|
480
|
+
}
|
|
481
|
+
catch (err) {
|
|
482
|
+
eprint(`\n✗ Failed to clean MCP config (${mcpPath}): ${err instanceof Error ? err.message : String(err)}`);
|
|
483
|
+
throw err;
|
|
484
|
+
}
|
|
295
485
|
mcpFound = true;
|
|
296
|
-
const mcpBackup = `${mcpPath}.backup-${Date.now()}`;
|
|
297
|
-
copyFileSync(mcpPath, mcpBackup);
|
|
298
|
-
print(` Backup saved: ${mcpBackup}`);
|
|
299
|
-
const existingMcp = readJsonFile(mcpPath);
|
|
300
|
-
const cleanedMcp = removeMcpConfig(existingMcp);
|
|
301
|
-
writeJsonFile(mcpPath, cleanedMcp, windowsHome ?? undefined);
|
|
302
486
|
print(`✓ MCP server removed: ${mcpPath}`);
|
|
303
487
|
}
|
|
304
488
|
}
|
|
305
489
|
if (!mcpFound) {
|
|
306
|
-
print(`No MCP config
|
|
490
|
+
print(`No MCP config found at ${[...mcpPathsToClean.keys()].join(', ')}. Skipping MCP server.`);
|
|
491
|
+
}
|
|
492
|
+
// Update persisted platform after cleanup.
|
|
493
|
+
// --windows-cc or bare: clear savedPlatform so the next install re-detects from scratch.
|
|
494
|
+
// After --windows-cc uninstall, the user must pass --windows-cc again to reinstall
|
|
495
|
+
// Windows CC mode — re-detection has no heuristic for Windows CC intent.
|
|
496
|
+
// --linux-cc: leave savedPlatform untouched — this only cleans Linux-side paths and must
|
|
497
|
+
// not destroy a wsl-windows-cc record that the user still intends to use.
|
|
498
|
+
if (options.windowsCc) {
|
|
499
|
+
print(' To reinstall Windows Claude Code mode, re-run: preflight install --windows-cc');
|
|
500
|
+
}
|
|
501
|
+
if (!options.linuxCc) {
|
|
502
|
+
clearSavedPlatform();
|
|
307
503
|
}
|
|
308
504
|
print('\nRestart Claude Code for changes to take effect.\n');
|
|
309
505
|
const scheduleWasInstalled = getScheduleStatus().installed;
|
|
@@ -366,11 +562,15 @@ export function createInstallProgram() {
|
|
|
366
562
|
.option('--license-key <key>', 'New Relic license key')
|
|
367
563
|
.option('--account-id <id>', 'New Relic account ID')
|
|
368
564
|
.option('--project', 'Write to project-level .claude/settings.json instead of user-level')
|
|
565
|
+
.option('--windows-cc', 'Target Windows Claude Code (desktop app) when running inside WSL')
|
|
566
|
+
.option('--linux-cc', 'Target Linux Claude Code (npm in WSL) when running inside WSL')
|
|
369
567
|
.action(handleInstall);
|
|
370
568
|
program
|
|
371
569
|
.command('uninstall')
|
|
372
570
|
.description('Remove preflight hooks and MCP server from Claude Code settings')
|
|
373
571
|
.option('--project', 'Remove from project-level .claude/settings.json instead of user-level')
|
|
572
|
+
.option('--windows-cc', 'Remove Windows Claude Code hooks only (WSL only)')
|
|
573
|
+
.option('--linux-cc', 'Remove Linux Claude Code hooks only (WSL only)')
|
|
374
574
|
.action(handleUninstall);
|
|
375
575
|
program
|
|
376
576
|
.command('setup')
|
package/dist/install/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/install/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/install/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* All functions are side-effect-free — file I/O happens in the CLI layer (cli.ts).
|
|
5
5
|
*/
|
|
6
|
+
import type { PlatformTarget } from '../config.js';
|
|
6
7
|
export interface HookCommand {
|
|
7
8
|
type: 'command';
|
|
8
9
|
command: string;
|
|
@@ -24,19 +25,19 @@ export interface NrObserveConfig {
|
|
|
24
25
|
accountId: string;
|
|
25
26
|
}
|
|
26
27
|
export declare function generateHookEntries(binPath?: string | null, options?: {
|
|
27
|
-
|
|
28
|
+
platform?: PlatformTarget;
|
|
28
29
|
}): HookEntries;
|
|
29
30
|
export declare function generateMcpServerEntry(binPath?: string | null, options?: {
|
|
30
|
-
|
|
31
|
+
platform?: PlatformTarget;
|
|
31
32
|
}): Record<string, McpServerConfig>;
|
|
32
33
|
export declare function generateNrConfig(licenseKey: string, accountId: string): NrObserveConfig;
|
|
33
34
|
export declare function detectSettingsPath(scope: 'user' | 'project', windowsHome?: string | null): string;
|
|
34
35
|
export declare function detectMcpConfigPath(scope: 'user' | 'project', windowsHome?: string | null): string;
|
|
35
36
|
export declare function mergeSettings(existing: Record<string, unknown>, binPath?: string | null, options?: {
|
|
36
|
-
|
|
37
|
+
platform?: PlatformTarget;
|
|
37
38
|
}): Record<string, unknown>;
|
|
38
39
|
export declare function mergeMcpConfig(existing: Record<string, unknown>, binPath?: string | null, options?: {
|
|
39
|
-
|
|
40
|
+
platform?: PlatformTarget;
|
|
40
41
|
}): Record<string, unknown>;
|
|
41
42
|
export declare function removeSettings(existing: Record<string, unknown>): Record<string, unknown>;
|
|
42
43
|
export declare function removeMcpConfig(existing: Record<string, unknown>): Record<string, unknown>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install-helper.d.ts","sourceRoot":"","sources":["../../src/install/install-helper.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"install-helper.d.ts","sourceRoot":"","sources":["../../src/install/install-helper.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAqBnD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,WAAW,EAAE,SAAS,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAMD,wBAAgB,mBAAmB,CACjC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,EACvB,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,cAAc,CAAA;CAAE,GACtC,WAAW,CAyBb;AAED,wBAAgB,sBAAsB,CACpC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,EACvB,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,cAAc,CAAA;CAAE,GACtC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAajC;AAED,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,eAAe,CAEvF;AAMD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAMjG;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,GAC1B,MAAM,CAMR;AA6DD,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,EACvB,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,cAAc,CAAA;CAAE,GACtC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAsCzB;AAMD,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,EACvB,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,cAAc,CAAA;CAAE,GACtC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAuCzB;AAMD,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA0BzF;AAMD,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAoB1F"}
|