figma-console-mcp-cli 0.3.0 → 0.4.0
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 +3 -4
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/steps/connection.d.ts +1 -1
- package/dist/steps/connection.js +20 -114
- package/dist/steps/connection.js.map +1 -1
- package/dist/steps/healthCheck.d.ts +1 -1
- package/dist/steps/healthCheck.js +22 -71
- package/dist/steps/healthCheck.js.map +1 -1
- package/dist/steps/installMethod.js +1 -4
- package/dist/steps/installMethod.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -16,7 +16,7 @@ The wizard walks you through:
|
|
|
16
16
|
2. **Authentication** — prompts for your Figma Personal Access Token
|
|
17
17
|
3. **Client detection** — finds installed AI clients and lets you pick which to configure
|
|
18
18
|
4. **Configuration** — injects the MCP server config into each client
|
|
19
|
-
5. **Connection setup** —
|
|
19
|
+
5. **Connection setup** — install the Bridge plugin and get setup instructions
|
|
20
20
|
6. **Health check** — verifies the connection to Figma is working
|
|
21
21
|
|
|
22
22
|
## Doctor Command
|
|
@@ -40,10 +40,9 @@ The doctor command scans all supported clients and shows their integration statu
|
|
|
40
40
|
- Cursor
|
|
41
41
|
- Windsurf
|
|
42
42
|
|
|
43
|
-
## Connection
|
|
43
|
+
## Connection Method
|
|
44
44
|
|
|
45
|
-
- **Desktop Bridge Plugin**
|
|
46
|
-
- **CDP Debug Mode** — relaunch Figma with remote debugging enabled on port 9222
|
|
45
|
+
- **Desktop Bridge Plugin** — install a Figma plugin, no restart needed
|
|
47
46
|
|
|
48
47
|
## Requirements
|
|
49
48
|
|
package/dist/index.js
CHANGED
|
@@ -30,8 +30,8 @@ program
|
|
|
30
30
|
console.log(chalk.yellow('\nNo clients were configured. Exiting.\n'));
|
|
31
31
|
return;
|
|
32
32
|
}
|
|
33
|
-
|
|
34
|
-
await runHealthCheck(configured
|
|
33
|
+
await setupConnection(installMethod);
|
|
34
|
+
await runHealthCheck(configured);
|
|
35
35
|
}
|
|
36
36
|
catch (err) {
|
|
37
37
|
if (err.name === 'ExitPromptError') {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,uBAAuB,CAAC;KAC7B,WAAW,CAAC,sDAAsD,CAAC;KACnE,OAAO,CAAC,OAAO,CAAC;KAChB,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC,CAAC;IAEvE,IAAI,CAAC;QACH,MAAM,cAAc,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,MAAM,sBAAsB,EAAE,CAAC;QAE/C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,mCAAmC,CAAC,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,cAAc,EAAE,CAAC;QACrC,MAAM,aAAa,GAAG,MAAM,mBAAmB,EAAE,CAAC;QAClD,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;QAEzE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,0CAA0C,CAAC,CAAC,CAAC;YACtE,OAAO;QACT,CAAC;QAED,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { InstallMethod } from './installMethod.js';
|
|
2
|
-
export declare function setupConnection(installMethod: InstallMethod): Promise<
|
|
2
|
+
export declare function setupConnection(installMethod: InstallMethod): Promise<void>;
|
package/dist/steps/connection.js
CHANGED
|
@@ -1,119 +1,42 @@
|
|
|
1
1
|
import { spawnSync } from 'node:child_process';
|
|
2
|
-
import { existsSync } from 'node:fs';
|
|
3
2
|
import { dirname, join } from 'node:path';
|
|
4
|
-
import {
|
|
3
|
+
import { existsSync } from 'node:fs';
|
|
5
4
|
import chalk from 'chalk';
|
|
6
|
-
import {
|
|
7
|
-
import { REPO_URL, DEFAULT_CLONE_DIR_NAME, MANIFEST_PATH_SUFFIX, } from '../utils/constants.js';
|
|
8
|
-
import { runCommandWithSpinner } from '../utils/process.js';
|
|
5
|
+
import { MANIFEST_PATH_SUFFIX } from '../utils/constants.js';
|
|
9
6
|
export async function setupConnection(installMethod) {
|
|
10
7
|
console.log(chalk.bold('\n🔌 Figma Connection Method\n'));
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
name: 'Desktop Bridge Plugin (Recommended)',
|
|
16
|
-
value: 'bridge',
|
|
17
|
-
description: 'Install a Figma plugin — no restart needed',
|
|
18
|
-
},
|
|
19
|
-
{
|
|
20
|
-
name: 'CDP Debug Mode',
|
|
21
|
-
value: 'cdp',
|
|
22
|
-
description: 'Relaunch Figma with remote debugging enabled',
|
|
23
|
-
},
|
|
24
|
-
],
|
|
25
|
-
});
|
|
26
|
-
if (method === 'bridge') {
|
|
27
|
-
const repoDir = installMethod.type === 'local'
|
|
28
|
-
? dirname(dirname(installMethod.path))
|
|
29
|
-
: undefined;
|
|
30
|
-
await setupBridge(repoDir);
|
|
31
|
-
}
|
|
32
|
-
else {
|
|
33
|
-
setupCDP();
|
|
34
|
-
}
|
|
35
|
-
return method;
|
|
36
|
-
}
|
|
37
|
-
function isGitInstalled() {
|
|
38
|
-
try {
|
|
39
|
-
const result = spawnSync('git', ['--version'], {
|
|
40
|
-
encoding: 'utf-8',
|
|
41
|
-
timeout: 5_000,
|
|
42
|
-
stdio: ['ignore', 'pipe', 'ignore'],
|
|
43
|
-
});
|
|
44
|
-
return result.status === 0;
|
|
45
|
-
}
|
|
46
|
-
catch {
|
|
47
|
-
return false;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
function isExistingClone(dir) {
|
|
51
|
-
return (existsSync(join(dir, '.git')) &&
|
|
52
|
-
existsSync(join(dir, 'figma-desktop-bridge', 'manifest.json')));
|
|
53
|
-
}
|
|
54
|
-
async function cloneOrUpdateRepo(targetDir) {
|
|
55
|
-
const manifestPath = join(targetDir, MANIFEST_PATH_SUFFIX);
|
|
56
|
-
if (isExistingClone(targetDir)) {
|
|
57
|
-
console.log(chalk.dim(' Existing clone detected — pulling latest…'));
|
|
58
|
-
try {
|
|
59
|
-
await runCommandWithSpinner('git', ['-C', targetDir, 'pull'], 'Pulling updates...', { timeout: 30_000, stdio: 'ignore' });
|
|
60
|
-
}
|
|
61
|
-
catch {
|
|
62
|
-
// non-fatal — existing clone is still usable
|
|
63
|
-
}
|
|
64
|
-
return manifestPath;
|
|
65
|
-
}
|
|
66
|
-
if (existsSync(targetDir)) {
|
|
67
|
-
throw new Error(`Directory already exists but is not the figma-console-mcp repo: ${targetDir}`);
|
|
68
|
-
}
|
|
69
|
-
console.log(chalk.dim(' Cloning figma-console-mcp…'));
|
|
70
|
-
await runCommandWithSpinner('git', ['clone', REPO_URL, targetDir], 'Cloning repository...', { timeout: 60_000 });
|
|
71
|
-
if (!existsSync(manifestPath)) {
|
|
72
|
-
throw new Error(`Clone succeeded but manifest not found at: ${manifestPath}`);
|
|
73
|
-
}
|
|
74
|
-
return manifestPath;
|
|
75
|
-
}
|
|
76
|
-
function showManualFallback() {
|
|
77
|
-
console.log(chalk.yellow('\n Automatic setup unavailable. Manual steps:\n'));
|
|
78
|
-
console.log(` 1. Clone the repo manually:\n`);
|
|
79
|
-
console.log(chalk.cyan(` git clone ${REPO_URL}\n`));
|
|
80
|
-
console.log(' 2. Open Figma Desktop');
|
|
81
|
-
console.log(' 3. Go to Plugins → Development → Import plugin from manifest…');
|
|
82
|
-
console.log(' 4. Select: <clone-dir>/figma-desktop-bridge/manifest.json\n');
|
|
83
|
-
console.log(' 5. Run the plugin: Plugins → Development → Figma Console Bridge\n');
|
|
8
|
+
const repoDir = installMethod.type === 'local'
|
|
9
|
+
? dirname(dirname(installMethod.path))
|
|
10
|
+
: undefined;
|
|
11
|
+
await setupBridge(repoDir);
|
|
84
12
|
}
|
|
85
13
|
async function setupBridge(existingRepoDir) {
|
|
86
14
|
console.log(chalk.bold('\n Desktop Bridge Setup:\n'));
|
|
87
15
|
let manifestPath;
|
|
88
16
|
if (existingRepoDir) {
|
|
89
|
-
manifestPath = join(existingRepoDir,
|
|
17
|
+
manifestPath = join(existingRepoDir, MANIFEST_PATH_SUFFIX);
|
|
90
18
|
if (!existsSync(manifestPath)) {
|
|
91
19
|
console.log(chalk.red(`\n Error: Bridge manifest not found at: ${manifestPath}`));
|
|
92
|
-
showManualFallback();
|
|
93
20
|
return;
|
|
94
21
|
}
|
|
95
22
|
}
|
|
96
23
|
else {
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
const targetDir = await input({
|
|
104
|
-
message: 'Where should we clone figma-console-mcp?',
|
|
105
|
-
default: defaultDir,
|
|
24
|
+
console.log(chalk.dim(' Locating plugin path…'));
|
|
25
|
+
const result = spawnSync('npx', ['figma-console-mcp@latest', '--print-path'], {
|
|
26
|
+
encoding: 'utf-8',
|
|
27
|
+
timeout: 60_000,
|
|
28
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
29
|
+
shell: true,
|
|
106
30
|
});
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
const msg = err instanceof Error ? err.message : String(err);
|
|
113
|
-
console.log(chalk.red(`\n Error: ${msg}`));
|
|
114
|
-
showManualFallback();
|
|
31
|
+
if (result.status !== 0) {
|
|
32
|
+
console.log(chalk.red(`\n Error: Failed to run npx figma-console-mcp@latest --print-path`));
|
|
33
|
+
if (result.stderr) {
|
|
34
|
+
console.log(chalk.red(` ${result.stderr.trim()}`));
|
|
35
|
+
}
|
|
115
36
|
return;
|
|
116
37
|
}
|
|
38
|
+
console.log(result.stdout);
|
|
39
|
+
return;
|
|
117
40
|
}
|
|
118
41
|
console.log(chalk.bold('\n Next steps:\n'));
|
|
119
42
|
console.log(' 1. Open Figma Desktop');
|
|
@@ -122,21 +45,4 @@ async function setupBridge(existingRepoDir) {
|
|
|
122
45
|
console.log(chalk.cyan(` ${manifestPath}\n`));
|
|
123
46
|
console.log(' 4. Run the plugin: Plugins → Development → Figma Console Bridge\n');
|
|
124
47
|
}
|
|
125
|
-
function setupCDP() {
|
|
126
|
-
const platform = getPlatform();
|
|
127
|
-
console.log(chalk.bold('\n CDP Debug Mode Setup:\n'));
|
|
128
|
-
if (platform === 'macos') {
|
|
129
|
-
console.log(' Close Figma if running, then launch with:\n');
|
|
130
|
-
console.log(chalk.cyan(' open -a Figma --args --remote-debugging-port=9222\n'));
|
|
131
|
-
}
|
|
132
|
-
else if (platform === 'windows') {
|
|
133
|
-
console.log(' Close Figma if running, then launch with:\n');
|
|
134
|
-
console.log(chalk.cyan(' "%LOCALAPPDATA%\\Figma\\Figma.exe" --remote-debugging-port=9222\n'));
|
|
135
|
-
}
|
|
136
|
-
else {
|
|
137
|
-
console.log(' Close Figma if running, then relaunch with the flag:\n');
|
|
138
|
-
console.log(chalk.cyan(' figma --remote-debugging-port=9222\n'));
|
|
139
|
-
}
|
|
140
|
-
console.log(' Figma must be restarted with this flag each time you want CDP access.');
|
|
141
|
-
}
|
|
142
48
|
//# sourceMappingURL=connection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/steps/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/steps/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,aAA4B;IAE5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC,CAAC;IAE1D,MAAM,OAAO,GACX,aAAa,CAAC,IAAI,KAAK,OAAO;QAC5B,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,eAAwB;IACjD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC;IAEvD,IAAI,YAAoB,CAAC;IAEzB,IAAI,eAAe,EAAE,CAAC;QACpB,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,oBAAoB,CAAC,CAAC;QAE3D,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CAAC,4CAA4C,YAAY,EAAE,CAAC,CACtE,CAAC;YACF,OAAO;QACT,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,CAAC;QAElD,MAAM,MAAM,GAAG,SAAS,CACtB,KAAK,EACL,CAAC,0BAA0B,EAAE,cAAc,CAAC,EAC5C;YACE,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;YACjC,KAAK,EAAE,IAAI;SACZ,CACF,CAAC;QAEF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CACP,oEAAoE,CACrE,CACF,CAAC;YACF,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;YACtD,CAAC;YACD,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3B,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IACvC,OAAO,CAAC,GAAG,CACT,iEAAiE,CAClE,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,YAAY,IAAI,CAAC,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CACT,qEAAqE,CACtE,CAAC;AACJ,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { Client } from './clientDetect.js';
|
|
2
|
-
export declare function runHealthCheck(clients: Client[]
|
|
2
|
+
export declare function runHealthCheck(clients: Client[]): Promise<void>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
2
|
import { createServer } from 'node:http';
|
|
3
3
|
import { createHash } from 'node:crypto';
|
|
4
|
-
import {
|
|
4
|
+
import { select } from '@inquirer/prompts';
|
|
5
5
|
const BRIDGE_PORTS = [
|
|
6
6
|
9223, 9224, 9225, 9226, 9227, 9228, 9229, 9230, 9231, 9232,
|
|
7
7
|
];
|
|
@@ -103,20 +103,6 @@ async function waitForBridgeWithCancel() {
|
|
|
103
103
|
});
|
|
104
104
|
});
|
|
105
105
|
}
|
|
106
|
-
async function checkCdp() {
|
|
107
|
-
try {
|
|
108
|
-
const controller = new AbortController();
|
|
109
|
-
const timeout = setTimeout(() => controller.abort(), 3000);
|
|
110
|
-
const res = await fetch('http://localhost:9222', {
|
|
111
|
-
signal: controller.signal,
|
|
112
|
-
});
|
|
113
|
-
clearTimeout(timeout);
|
|
114
|
-
return res.ok || res.status > 0;
|
|
115
|
-
}
|
|
116
|
-
catch {
|
|
117
|
-
return false;
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
106
|
const SPINNER_FRAMES = ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'];
|
|
121
107
|
async function withSpinner(message, fn) {
|
|
122
108
|
let i = 0;
|
|
@@ -134,69 +120,34 @@ async function withSpinner(message, fn) {
|
|
|
134
120
|
clearInterval(id);
|
|
135
121
|
}
|
|
136
122
|
}
|
|
137
|
-
export async function runHealthCheck(clients
|
|
123
|
+
export async function runHealthCheck(clients) {
|
|
138
124
|
console.log(chalk.bold('\n🏥 Health Check\n'));
|
|
139
|
-
if (method === 'cdp') {
|
|
140
|
-
const ready = await confirm({
|
|
141
|
-
message: 'Have you relaunched Figma with the --remote-debugging-port flag?',
|
|
142
|
-
default: true,
|
|
143
|
-
});
|
|
144
|
-
if (!ready) {
|
|
145
|
-
console.log(chalk.yellow('\n Complete the setup steps above, then run the wizard again.\n'));
|
|
146
|
-
return;
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
125
|
let healthy = false;
|
|
150
126
|
while (!healthy) {
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
const action = await select({
|
|
161
|
-
message: 'What would you like to do?',
|
|
162
|
-
choices: [
|
|
163
|
-
{ name: 'Retry health check', value: 'retry' },
|
|
164
|
-
{ name: 'Exit setup', value: 'exit' },
|
|
165
|
-
],
|
|
166
|
-
});
|
|
167
|
-
if (action === 'exit') {
|
|
168
|
-
console.log(chalk.yellow('\n Setup incomplete. Run the wizard again when ready.\n'));
|
|
169
|
-
return;
|
|
170
|
-
}
|
|
171
|
-
console.log('');
|
|
172
|
-
}
|
|
127
|
+
console.log(chalk.cyan('\n → Start (or restart) the Figma Console Bridge plugin in Figma now.\n'));
|
|
128
|
+
const result = await waitForBridgeWithCancel();
|
|
129
|
+
if (result === 'connected') {
|
|
130
|
+
console.log(chalk.green(' ✓ Bridge plugin connected'));
|
|
131
|
+
healthy = true;
|
|
132
|
+
}
|
|
133
|
+
else if (result === 'cancelled') {
|
|
134
|
+
console.log(chalk.yellow('\n Setup cancelled. Run the wizard again when ready.\n'));
|
|
135
|
+
return;
|
|
173
136
|
}
|
|
174
137
|
else {
|
|
175
|
-
console.log(chalk.
|
|
176
|
-
const
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
138
|
+
console.log(chalk.yellow(' ⚠ Bridge plugin not detected — make sure you started/restarted the plugin after seeing this prompt'));
|
|
139
|
+
const action = await select({
|
|
140
|
+
message: 'What would you like to do?',
|
|
141
|
+
choices: [
|
|
142
|
+
{ name: 'Retry health check', value: 'retry' },
|
|
143
|
+
{ name: 'Exit setup', value: 'exit' },
|
|
144
|
+
],
|
|
145
|
+
});
|
|
146
|
+
if (action === 'exit') {
|
|
147
|
+
console.log(chalk.yellow('\n Setup incomplete. Run the wizard again when ready.\n'));
|
|
183
148
|
return;
|
|
184
149
|
}
|
|
185
|
-
|
|
186
|
-
console.log(chalk.yellow(' ⚠ Bridge plugin not detected — make sure you started/restarted the plugin after seeing this prompt'));
|
|
187
|
-
const action = await select({
|
|
188
|
-
message: 'What would you like to do?',
|
|
189
|
-
choices: [
|
|
190
|
-
{ name: 'Retry health check', value: 'retry' },
|
|
191
|
-
{ name: 'Exit setup', value: 'exit' },
|
|
192
|
-
],
|
|
193
|
-
});
|
|
194
|
-
if (action === 'exit') {
|
|
195
|
-
console.log(chalk.yellow('\n Setup incomplete. Run the wizard again when ready.\n'));
|
|
196
|
-
return;
|
|
197
|
-
}
|
|
198
|
-
console.log('');
|
|
199
|
-
}
|
|
150
|
+
console.log('');
|
|
200
151
|
}
|
|
201
152
|
}
|
|
202
153
|
// Success dashboard
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"healthCheck.js","sourceRoot":"","sources":["../../src/steps/healthCheck.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"healthCheck.js","sourceRoot":"","sources":["../../src/steps/healthCheck.ts"],"names":[],"mappings":"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"}
|
|
@@ -57,10 +57,7 @@ async function runInstallAndBuild(dir) {
|
|
|
57
57
|
console.log(chalk.dim(' Installing dependencies…'));
|
|
58
58
|
await runCommandWithSpinner('npm', ['install'], 'Installing dependencies...', { cwd: dir, timeout: 120_000 });
|
|
59
59
|
console.log(chalk.dim(' Building…'));
|
|
60
|
-
await runCommandWithSpinner('npm', ['run', 'build'], 'Building project...', {
|
|
61
|
-
cwd: dir,
|
|
62
|
-
timeout: 60_000,
|
|
63
|
-
});
|
|
60
|
+
await runCommandWithSpinner('npm', ['run', 'build:local'], 'Building project...', { cwd: dir, timeout: 60_000 });
|
|
64
61
|
}
|
|
65
62
|
export async function selectInstallMethod() {
|
|
66
63
|
const method = await select({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installMethod.js","sourceRoot":"","sources":["../../src/steps/installMethod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACL,QAAQ,EACR,sBAAsB,EACtB,YAAY,GACb,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAI5D,SAAS,cAAc;IACrB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC,EAAE;YAC7C,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;SACpC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,GAAW;IAClC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAEtD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,SAAS,CACtB,KAAK,EACL,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,EAC1C;YACE,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;SACpC,CACF,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC3C,OAAO,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,SAAiB;IAChD,IAAI,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC,CAAC;QACtE,IAAI,CAAC;YACH,MAAM,qBAAqB,CACzB,KAAK,EACL,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,EACzB,oBAAoB,EACpB,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,CACrC,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,6CAA6C;QAC/C,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CACb,2CAA2C,YAAY,UAAU,SAAS,EAAE,CAC7E,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,YAAY,GAAG,CAAC,CAAC,CAAC;IACrD,MAAM,qBAAqB,CACzB,KAAK,EACL,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,EAC9B,uBAAuB,EACvB,EAAE,OAAO,EAAE,MAAM,EAAE,CACpB,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,GAAW;IAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,CAAC;IACrD,MAAM,qBAAqB,CACzB,KAAK,EACL,CAAC,SAAS,CAAC,EACX,4BAA4B,EAC5B,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,CAC/B,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;IACtC,MAAM,qBAAqB,
|
|
1
|
+
{"version":3,"file":"installMethod.js","sourceRoot":"","sources":["../../src/steps/installMethod.ts"],"names":[],"mappings":"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"}
|