figma-console-mcp-cli 0.2.1 → 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 +17 -4
- package/dist/index.js +40 -20
- package/dist/index.js.map +1 -1
- package/dist/steps/auth.js +6 -1
- package/dist/steps/auth.js.map +1 -1
- package/dist/steps/clientDetect.d.ts +2 -0
- package/dist/steps/clientDetect.js +62 -12
- package/dist/steps/clientDetect.js.map +1 -1
- package/dist/steps/configure.d.ts +5 -1
- package/dist/steps/configure.js +22 -12
- package/dist/steps/configure.js.map +1 -1
- package/dist/steps/connection.d.ts +2 -1
- package/dist/steps/connection.js +39 -131
- package/dist/steps/connection.js.map +1 -1
- package/dist/steps/doctor.d.ts +1 -0
- package/dist/steps/doctor.js +192 -0
- package/dist/steps/doctor.js.map +1 -0
- package/dist/steps/healthCheck.d.ts +2 -2
- package/dist/steps/healthCheck.js +60 -109
- package/dist/steps/healthCheck.js.map +1 -1
- package/dist/steps/installMethod.d.ts +7 -0
- package/dist/steps/installMethod.js +110 -0
- package/dist/steps/installMethod.js.map +1 -0
- package/dist/steps/systemCheck.js.map +1 -1
- package/dist/utils/config.d.ts +3 -1
- package/dist/utils/config.js +22 -3
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/constants.d.ts +4 -0
- package/dist/utils/constants.js +5 -0
- package/dist/utils/constants.js.map +1 -0
- package/dist/utils/platform.d.ts +1 -0
- package/dist/utils/platform.js +7 -1
- package/dist/utils/platform.js.map +1 -1
- package/dist/utils/process.d.ts +7 -0
- package/dist/utils/process.js +67 -0
- package/dist/utils/process.js.map +1 -0
- package/package.json +5 -6
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"installMethod.js","sourceRoot":"","sources":["../../src/steps/installMethod.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"systemCheck.js","sourceRoot":"","sources":["../../src/steps/systemCheck.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAExE,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAE/C,qBAAqB;IACrB,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IACpC,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/D,IAAI,KAAK,IAAI,EAAE,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,WAAW,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,WAAW,yBAAyB,CAAC,CAAC,CAAC;QAC5E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,sBAAsB;IACtB,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,IAAI,cAAc,GAAG,KAAK,CAAC;IAE3B,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,cAAc,GAAG,EAAE,CAAC,UAAU,CAAC,yBAAyB,CAAC,CAAC;IAC5D,CAAC;SAAM,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAClC,cAAc,GAAG,EAAE,CAAC,UAAU,CAC5B,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,OAAO,EAAE,WAAW,CAAC,CACvD,CAAC;IACJ,CAAC;IAED,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC,CAAC;IACzD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,
|
|
1
|
+
{"version":3,"file":"systemCheck.js","sourceRoot":"","sources":["../../src/steps/systemCheck.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAExE,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAE/C,qBAAqB;IACrB,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IACpC,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/D,IAAI,KAAK,IAAI,EAAE,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,WAAW,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,WAAW,yBAAyB,CAAC,CAAC,CAAC;QAC5E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,sBAAsB;IACtB,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,IAAI,cAAc,GAAG,KAAK,CAAC;IAE3B,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,cAAc,GAAG,EAAE,CAAC,UAAU,CAAC,yBAAyB,CAAC,CAAC;IAC5D,CAAC;SAAM,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAClC,cAAc,GAAG,EAAE,CAAC,UAAU,CAC5B,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,OAAO,EAAE,WAAW,CAAC,CACvD,CAAC;IACJ,CAAC;IAED,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC,CAAC;IACzD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CACV,wEAAwE,CACzE,CACF,CAAC;IACJ,CAAC;AACH,CAAC"}
|
package/dist/utils/config.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import type { InstallMethod } from '../steps/installMethod.js';
|
|
1
2
|
export declare function readJsonConfig(filePath: string): Record<string, unknown>;
|
|
2
3
|
export declare function writeJsonConfig(filePath: string, data: Record<string, unknown>): void;
|
|
3
|
-
export declare function mergeServerConfig(existing: Record<string, unknown>, token: string): Record<string, unknown>;
|
|
4
|
+
export declare function mergeServerConfig(existing: Record<string, unknown>, token: string, method?: InstallMethod): Record<string, unknown>;
|
|
5
|
+
export declare function detectInstallMethodFromConfig(configPath: string): InstallMethod;
|
package/dist/utils/config.js
CHANGED
|
@@ -16,15 +16,22 @@ export function writeJsonConfig(filePath, data) {
|
|
|
16
16
|
}
|
|
17
17
|
fs.writeFileSync(filePath, JSON.stringify(data, null, 2) + '\n', 'utf-8');
|
|
18
18
|
}
|
|
19
|
-
|
|
19
|
+
function getServerCommand(method) {
|
|
20
|
+
if (method.type === 'local') {
|
|
21
|
+
return { command: 'node', args: [method.path] };
|
|
22
|
+
}
|
|
23
|
+
return { command: 'npx', args: ['-y', 'figma-console-mcp@latest'] };
|
|
24
|
+
}
|
|
25
|
+
export function mergeServerConfig(existing, token, method = { type: 'npx' }) {
|
|
20
26
|
const mcpServers = existing.mcpServers || {};
|
|
27
|
+
const { command, args } = getServerCommand(method);
|
|
21
28
|
return {
|
|
22
29
|
...existing,
|
|
23
30
|
mcpServers: {
|
|
24
31
|
...mcpServers,
|
|
25
32
|
'figma-console': {
|
|
26
|
-
command
|
|
27
|
-
args
|
|
33
|
+
command,
|
|
34
|
+
args,
|
|
28
35
|
env: {
|
|
29
36
|
FIGMA_ACCESS_TOKEN: token,
|
|
30
37
|
ENABLE_MCP_APPS: 'true',
|
|
@@ -33,4 +40,16 @@ export function mergeServerConfig(existing, token) {
|
|
|
33
40
|
},
|
|
34
41
|
};
|
|
35
42
|
}
|
|
43
|
+
export function detectInstallMethodFromConfig(configPath) {
|
|
44
|
+
const config = readJsonConfig(configPath);
|
|
45
|
+
const mcpServers = config.mcpServers;
|
|
46
|
+
const figmaConsole = mcpServers?.['figma-console'];
|
|
47
|
+
if (figmaConsole?.command === 'node') {
|
|
48
|
+
const args = figmaConsole.args;
|
|
49
|
+
if (args?.[0]) {
|
|
50
|
+
return { type: 'local', path: args[0] };
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return { type: 'npx' };
|
|
54
|
+
}
|
|
36
55
|
//# sourceMappingURL=config.js.map
|
package/dist/utils/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC7C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAA4B,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,QAAgB,EAChB,IAA6B;IAE7B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;IACD,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAqB;IAI7C,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;IAClD,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,0BAA0B,CAAC,EAAE,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,QAAiC,EACjC,KAAa,EACb,SAAwB,EAAE,IAAI,EAAE,KAAK,EAAE;IAEvC,MAAM,UAAU,GAAI,QAAQ,CAAC,UAAsC,IAAI,EAAE,CAAC;IAC1E,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACnD,OAAO;QACL,GAAG,QAAQ;QACX,UAAU,EAAE;YACV,GAAG,UAAU;YACb,eAAe,EAAE;gBACf,OAAO;gBACP,IAAI;gBACJ,GAAG,EAAE;oBACH,kBAAkB,EAAE,KAAK;oBACzB,eAAe,EAAE,MAAM;iBACxB;aACF;SACF;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,UAAkB;IAElB,MAAM,MAAM,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,MAAM,CAAC,UAAiD,CAAC;IAC5E,MAAM,YAAY,GAAG,UAAU,EAAE,CAAC,eAAe,CAEpC,CAAC;IAEd,IAAI,YAAY,EAAE,OAAO,KAAK,MAAM,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,YAAY,CAAC,IAA4B,CAAC;QACvD,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACd,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1C,CAAC;IACH,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AACzB,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const REPO_URL = "https://github.com/southleft/figma-console-mcp.git";
|
|
2
|
+
export declare const DEFAULT_CLONE_DIR_NAME = "figma-console-mcp";
|
|
3
|
+
export declare const MANIFEST_PATH_SUFFIX = "figma-desktop-bridge/manifest.json";
|
|
4
|
+
export declare const PACKAGE_NAME = "figma-console-mcp";
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export const REPO_URL = 'https://github.com/southleft/figma-console-mcp.git';
|
|
2
|
+
export const DEFAULT_CLONE_DIR_NAME = 'figma-console-mcp';
|
|
3
|
+
export const MANIFEST_PATH_SUFFIX = 'figma-desktop-bridge/manifest.json';
|
|
4
|
+
export const PACKAGE_NAME = 'figma-console-mcp';
|
|
5
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG,oDAAoD,CAAC;AAC7E,MAAM,CAAC,MAAM,sBAAsB,GAAG,mBAAmB,CAAC;AAC1D,MAAM,CAAC,MAAM,oBAAoB,GAAG,oCAAoC,CAAC;AACzE,MAAM,CAAC,MAAM,YAAY,GAAG,mBAAmB,CAAC"}
|
package/dist/utils/platform.d.ts
CHANGED
|
@@ -4,3 +4,4 @@ export declare function getHomedir(): string;
|
|
|
4
4
|
export declare function resolveConfigPath(...segments: string[]): string;
|
|
5
5
|
export declare function getAppDataPath(): string;
|
|
6
6
|
export declare function getLocalAppDataPath(): string;
|
|
7
|
+
export declare function expandPath(inputPath: string): string;
|
package/dist/utils/platform.js
CHANGED
|
@@ -27,6 +27,12 @@ export function getAppDataPath() {
|
|
|
27
27
|
return path.join(getHomedir(), '.config');
|
|
28
28
|
}
|
|
29
29
|
export function getLocalAppDataPath() {
|
|
30
|
-
return process.env.LOCALAPPDATA || path.join(getHomedir(), 'AppData', 'Local');
|
|
30
|
+
return (process.env.LOCALAPPDATA || path.join(getHomedir(), 'AppData', 'Local'));
|
|
31
|
+
}
|
|
32
|
+
export function expandPath(inputPath) {
|
|
33
|
+
if (inputPath.startsWith('~')) {
|
|
34
|
+
return path.join(getHomedir(), inputPath.slice(1));
|
|
35
|
+
}
|
|
36
|
+
return inputPath;
|
|
31
37
|
}
|
|
32
38
|
//# sourceMappingURL=platform.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/utils/platform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAI7B,MAAM,UAAU,WAAW;IACzB,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;QACtB,KAAK,QAAQ;YACX,OAAO,OAAO,CAAC;QACjB,KAAK,OAAO;YACV,OAAO,SAAS,CAAC;QACnB;YACE,OAAO,OAAO,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,GAAG,QAAkB;IACrD,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,GAAG,QAAQ,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,qBAAqB,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,SAAS,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,OAAO,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/utils/platform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAI7B,MAAM,UAAU,WAAW;IACzB,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;QACtB,KAAK,QAAQ;YACX,OAAO,OAAO,CAAC;QACjB,KAAK,OAAO;YACV,OAAO,SAAS,CAAC;QACnB;YACE,OAAO,OAAO,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,GAAG,QAAkB;IACrD,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,GAAG,QAAQ,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,qBAAqB,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,SAAS,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,OAAO,CACL,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,CACxE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,SAAiB;IAC1C,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type SpawnOptions } from 'node:child_process';
|
|
2
|
+
export interface RunCommandOptions extends SpawnOptions {
|
|
3
|
+
cwd?: string;
|
|
4
|
+
timeout?: number;
|
|
5
|
+
retries?: number;
|
|
6
|
+
}
|
|
7
|
+
export declare function runCommandWithSpinner(command: string, args: string[], spinnerMessage: string, options?: RunCommandOptions): Promise<void>;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { spawn } from 'node:child_process';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
const SPINNER_FRAMES = ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'];
|
|
4
|
+
export async function runCommandWithSpinner(command, args, spinnerMessage, options = {}) {
|
|
5
|
+
const { retries = 0, ...spawnOptions } = options;
|
|
6
|
+
let attempt = 0;
|
|
7
|
+
while (attempt <= retries) {
|
|
8
|
+
try {
|
|
9
|
+
if (attempt > 0) {
|
|
10
|
+
console.log(chalk.yellow(` ⚠ Retry ${attempt}/${retries}...`));
|
|
11
|
+
}
|
|
12
|
+
await runSingleCommand(command, args, spinnerMessage, spawnOptions);
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
catch (err) {
|
|
16
|
+
if (attempt === retries) {
|
|
17
|
+
throw err;
|
|
18
|
+
}
|
|
19
|
+
attempt++;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
function runSingleCommand(command, args, spinnerMessage, options) {
|
|
24
|
+
return new Promise((resolve, reject) => {
|
|
25
|
+
let frame = 0;
|
|
26
|
+
const spinnerInterval = setInterval(() => {
|
|
27
|
+
const f = SPINNER_FRAMES[frame % SPINNER_FRAMES.length];
|
|
28
|
+
process.stdout.write(`\r ${chalk.cyan(f)} ${spinnerMessage}`);
|
|
29
|
+
frame++;
|
|
30
|
+
}, 80);
|
|
31
|
+
const child = spawn(command, args, {
|
|
32
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
33
|
+
...options,
|
|
34
|
+
});
|
|
35
|
+
let stderrOutput = '';
|
|
36
|
+
if (child.stderr) {
|
|
37
|
+
child.stderr.on('data', (data) => {
|
|
38
|
+
stderrOutput += data.toString();
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
const cleanup = () => {
|
|
42
|
+
clearInterval(spinnerInterval);
|
|
43
|
+
process.stdout.write(`\r${' '.repeat(spinnerMessage.length + 6)}\r`);
|
|
44
|
+
};
|
|
45
|
+
child.on('close', (code) => {
|
|
46
|
+
cleanup();
|
|
47
|
+
if (code === 0) {
|
|
48
|
+
resolve();
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
reject(new Error(`Command failed with code ${code}: ${stderrOutput.trim()}`));
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
child.on('error', (err) => {
|
|
55
|
+
cleanup();
|
|
56
|
+
reject(err);
|
|
57
|
+
});
|
|
58
|
+
if (options.timeout) {
|
|
59
|
+
setTimeout(() => {
|
|
60
|
+
child.kill();
|
|
61
|
+
cleanup();
|
|
62
|
+
reject(new Error(`Command timed out after ${options.timeout}ms`));
|
|
63
|
+
}, options.timeout);
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=process.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process.js","sourceRoot":"","sources":["../../src/utils/process.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "figma-console-mcp-cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Interactive CLI to configure Figma Console MCP across AI coding clients",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"figma-console-mcp",
|
|
@@ -9,10 +9,7 @@
|
|
|
9
9
|
"plugin",
|
|
10
10
|
"console",
|
|
11
11
|
"debugging",
|
|
12
|
-
"ai"
|
|
13
|
-
"anthropic",
|
|
14
|
-
"claude",
|
|
15
|
-
"cloudflare-workers"
|
|
12
|
+
"ai"
|
|
16
13
|
],
|
|
17
14
|
"license": "MIT",
|
|
18
15
|
"repository": {
|
|
@@ -33,7 +30,8 @@
|
|
|
33
30
|
"scripts": {
|
|
34
31
|
"build": "tsc",
|
|
35
32
|
"dev": "tsx src/index.ts",
|
|
36
|
-
"start": "node dist/index.js"
|
|
33
|
+
"start": "node dist/index.js",
|
|
34
|
+
"format": "prettier --write ."
|
|
37
35
|
},
|
|
38
36
|
"dependencies": {
|
|
39
37
|
"@inquirer/prompts": "^7.0.0",
|
|
@@ -42,6 +40,7 @@
|
|
|
42
40
|
},
|
|
43
41
|
"devDependencies": {
|
|
44
42
|
"@types/node": "^22.13.4",
|
|
43
|
+
"prettier": "^3.8.1",
|
|
45
44
|
"tsx": "^4.19.3",
|
|
46
45
|
"typescript": "^5.7.3"
|
|
47
46
|
}
|