figma-console-mcp 1.44.2 → 1.45.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 +23 -11
- package/dist/core/code-layer-tools.d.ts +14 -0
- package/dist/core/code-layer-tools.d.ts.map +1 -0
- package/dist/core/code-layer-tools.js +57 -0
- package/dist/core/code-layer-tools.js.map +1 -0
- package/dist/core/motion-tools.d.ts +43 -0
- package/dist/core/motion-tools.d.ts.map +1 -0
- package/dist/core/motion-tools.js +621 -0
- package/dist/core/motion-tools.js.map +1 -0
- package/dist/core/tokens/figma-converter.d.ts +16 -3
- package/dist/core/tokens/figma-converter.d.ts.map +1 -1
- package/dist/core/tokens/figma-converter.js +28 -5
- package/dist/core/tokens/figma-converter.js.map +1 -1
- package/dist/core/tokens-tools.d.ts +7 -32
- package/dist/core/tokens-tools.d.ts.map +1 -1
- package/dist/core/tokens-tools.js +79 -29
- package/dist/core/tokens-tools.js.map +1 -1
- package/dist/core/write-tools.d.ts +6 -0
- package/dist/core/write-tools.d.ts.map +1 -1
- package/dist/core/write-tools.js +66 -14
- package/dist/core/write-tools.js.map +1 -1
- package/dist/local.d.ts.map +1 -1
- package/dist/local.js +4 -0
- package/dist/local.js.map +1 -1
- package/package.json +1 -1
|
@@ -44,11 +44,24 @@ interface FigmaVariable {
|
|
|
44
44
|
valuesByMode: Record<string, FigmaValue>;
|
|
45
45
|
}
|
|
46
46
|
/**
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
47
|
+
* EASING variable value. Current Figma (Plugin API Update 133+) returns
|
|
48
|
+
* MotionEasing: `{ type, easingFunctionCubicBezier: {x1,y1,x2,y2} }` for
|
|
49
|
+
* bezier types (named ones like EASE_OUT included), `{ type,
|
|
50
|
+
* easingFunctionSpring: {bounce} }` for springs (GENTLE, QUICK, BOUNCY, SLOW,
|
|
51
|
+
* CUSTOM_SPRING), and `{ type: "HOLD" }`. Builds from mid-2026 returned
|
|
52
|
+
* `{ easingType, bezierValues | springValues }`; both are read.
|
|
50
53
|
*/
|
|
51
54
|
interface FigmaEasingValue {
|
|
55
|
+
type?: string;
|
|
56
|
+
easingFunctionCubicBezier?: {
|
|
57
|
+
x1: number;
|
|
58
|
+
y1: number;
|
|
59
|
+
x2: number;
|
|
60
|
+
y2: number;
|
|
61
|
+
};
|
|
62
|
+
easingFunctionSpring?: {
|
|
63
|
+
bounce: number;
|
|
64
|
+
};
|
|
52
65
|
easingType?: string;
|
|
53
66
|
bezierValues?: {
|
|
54
67
|
p1x: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"figma-converter.d.ts","sourceRoot":"","sources":["../../../src/core/tokens/figma-converter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAEV,aAAa,EAKd,MAAM,YAAY,CAAC;AAIpB;;;;GAIG;AACH,UAAU,eAAe;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,UAAU,aAAa;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC7E,oBAAoB,EAAE,MAAM,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;CAC1C;AAED
|
|
1
|
+
{"version":3,"file":"figma-converter.d.ts","sourceRoot":"","sources":["../../../src/core/tokens/figma-converter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAEV,aAAa,EAKd,MAAM,YAAY,CAAC;AAIpB;;;;GAIG;AACH,UAAU,eAAe;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,UAAU,aAAa;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC7E,oBAAoB,EAAE,MAAM,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;CAC1C;AAED;;;;;;;GAOG;AACH,UAAU,gBAAgB;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yBAAyB,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/E,oBAAoB,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACtE,YAAY,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACxE;AASD,KAAK,UAAU,GACX;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/C,MAAM,GACN,MAAM,GACN,OAAO,GACP,gBAAgB,GAChB,aAAa,GAEb;IAAE,KAAK,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,aAAa,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CAAA;CAAE,CAAC;AAEhH,UAAU,aAAa;IACrB,IAAI,EAAE,gBAAgB,CAAC;IACvB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,eAAe,EAAE,CAAC;IAC/B,SAAS,EAAE,aAAa,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,cAAc;IAC7B,mDAAmD;IACnD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0BAA0B;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uEAAuE;IACvE,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,0DAA0D;IAC1D,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACzB,4EAA4E;IAC5E,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,aAAa,CAAC;IACxB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,qBAAqB,EAC9B,IAAI,GAAE,cAAmB,GACxB,aAAa,CAmEf"}
|
|
@@ -13,6 +13,12 @@
|
|
|
13
13
|
*/
|
|
14
14
|
import { slugifySetName } from "./alias-resolver.js";
|
|
15
15
|
import { stripRawColorFromValues } from "./dialect.js";
|
|
16
|
+
/**
|
|
17
|
+
* Figma stores motion numbers as 32-bit floats (0.2 reads back as
|
|
18
|
+
* 0.20000000298). Round so an exported value equals what the token file
|
|
19
|
+
* wrote, or every import would see a change and rewrite it.
|
|
20
|
+
*/
|
|
21
|
+
const roundMotion = (n) => Math.round(n * 10000) / 10000;
|
|
16
22
|
/**
|
|
17
23
|
* Convert a Figma variables payload to our canonical TokenDocument.
|
|
18
24
|
*/
|
|
@@ -158,10 +164,9 @@ function convertVariable(variable, wantedModes, variableById, collectionNameById
|
|
|
158
164
|
...(Object.keys(composedByMode).length > 0 ? { composedColor: composedByMode } : {}),
|
|
159
165
|
variableId: variable.id,
|
|
160
166
|
collectionId: variable.variableCollectionId,
|
|
161
|
-
// The Figma-native type
|
|
162
|
-
//
|
|
163
|
-
//
|
|
164
|
-
// must NOT be mistaken for TIMING.
|
|
167
|
+
// The Figma-native type tells import how to write the value back:
|
|
168
|
+
// a TIMING variable takes seconds, and a FLOAT variable whose token
|
|
169
|
+
// type is "duration" (name-inferred) must NOT be mistaken for TIMING.
|
|
165
170
|
figmaResolvedType: variable.resolvedType,
|
|
166
171
|
// Preserve the original variable name when the token path dropped
|
|
167
172
|
// the trailing "Timing"/"Easing" segment, so round-trip can
|
|
@@ -331,13 +336,31 @@ function convertValue(rawValue, variable, modeName, modeId, variableById, collec
|
|
|
331
336
|
// Figma TIMING values are plain numbers in SECONDS. DTCG duration uses
|
|
332
337
|
// the structured `{ value, unit }` form — emit milliseconds.
|
|
333
338
|
if (typeof rawValue === "number") {
|
|
334
|
-
return { literal: { value: rawValue * 1000, unit: "ms" } };
|
|
339
|
+
return { literal: { value: Math.round(rawValue * 1000 * 1000) / 1000, unit: "ms" } };
|
|
335
340
|
}
|
|
336
341
|
warnings.push(`TIMING value for "${variable.name}" (mode "${modeName}") isn't a number: ${JSON.stringify(rawValue)} — emitting as string.`);
|
|
337
342
|
return { literal: String(rawValue) };
|
|
338
343
|
}
|
|
339
344
|
if (resolvedType === "EASING") {
|
|
340
345
|
const easing = rawValue;
|
|
346
|
+
const cb = easing?.easingFunctionCubicBezier;
|
|
347
|
+
if (cb && [cb.x1, cb.y1, cb.x2, cb.y2].every((n) => typeof n === "number")) {
|
|
348
|
+
// DTCG cubicBezier: [x1, y1, x2, y2]. Named bezier types (EASE_OUT…)
|
|
349
|
+
// carry their curve too, so they export exactly.
|
|
350
|
+
return { literal: [cb.x1, cb.y1, cb.x2, cb.y2].map(roundMotion) };
|
|
351
|
+
}
|
|
352
|
+
if (easing && typeof easing === "object" && (easing.easingFunctionSpring || easing.type === "HOLD")) {
|
|
353
|
+
// Springs and HOLD have no cubic-bezier form. Emit a standard "ease"
|
|
354
|
+
// curve as a usable approximation and keep the exact easing in
|
|
355
|
+
// $extensions so figma_import_tokens restores it.
|
|
356
|
+
const kind = easing.type === "HOLD" ? "a hold (step)" : `a spring (${easing.type})`;
|
|
357
|
+
warnings.push(`EASING variable "${variable.name}" (mode "${modeName}") is ${kind} — DTCG cubicBezier cannot represent it. Emitted a fallback cubicBezier; the exact easing is preserved in $extensions["figma-console-mcp"].spring.`);
|
|
358
|
+
onSpring({
|
|
359
|
+
easingType: easing.type,
|
|
360
|
+
...(easing.easingFunctionSpring ? { bounce: roundMotion(easing.easingFunctionSpring.bounce) } : {}),
|
|
361
|
+
});
|
|
362
|
+
return { literal: easing.type === "HOLD" ? [0, 0, 1, 1] : [0.25, 0.1, 0.25, 1.0] };
|
|
363
|
+
}
|
|
341
364
|
const b = easing?.bezierValues;
|
|
342
365
|
if (b &&
|
|
343
366
|
typeof b.p1x === "number" &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"figma-converter.js","sourceRoot":"","sources":["../../../src/core/tokens/figma-converter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"figma-converter.js","sourceRoot":"","sources":["../../../src/core/tokens/figma-converter.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
* • toCreate — missing collections (created with the token file's
|
|
17
17
|
* full mode list) and missing variables in one batched script;
|
|
18
18
|
* literal values first, alias values in a second pass so
|
|
19
|
-
* within-batch alias targets exist. TIMING/EASING
|
|
20
|
-
*
|
|
19
|
+
* within-batch alias targets exist. TIMING/EASING (motion)
|
|
20
|
+
* variables are written too (Plugin API Update 133+).
|
|
21
21
|
* • toDelete — STRICTLY gated behind strategy: "replace". Merge
|
|
22
22
|
* (default) preserves Figma-only variables and only reports them.
|
|
23
23
|
*
|
|
@@ -243,7 +243,7 @@ export declare function makeAliasIdResolver(figmaDoc: TokenDocument, codeDoc: To
|
|
|
243
243
|
interface VariableUpdate {
|
|
244
244
|
variableId: string;
|
|
245
245
|
variableName: string;
|
|
246
|
-
resolvedType: "COLOR" | "FLOAT" | "STRING" | "BOOLEAN";
|
|
246
|
+
resolvedType: "COLOR" | "FLOAT" | "STRING" | "BOOLEAN" | "TIMING" | "EASING";
|
|
247
247
|
valuesByMode: Record<string, unknown>;
|
|
248
248
|
/**
|
|
249
249
|
* Rename op: set `variable.name` to this '/'-joined path before any value
|
|
@@ -264,37 +264,13 @@ interface VariableUpdate {
|
|
|
264
264
|
remove?: string[];
|
|
265
265
|
};
|
|
266
266
|
}
|
|
267
|
-
/**
|
|
268
|
-
* Convert a TokenValue back to Figma's native value shape. Required for the
|
|
269
|
-
* Plugin API's setValueForMode call.
|
|
270
|
-
*
|
|
271
|
-
* - color hex string "#RRGGBB(AA)" → { r, g, b, a } floats in [0, 1].
|
|
272
|
-
* Non-hex color strings ("rgb(255,0,0)", "transparent", named colors
|
|
273
|
-
* like "salmon") return skip-invalid instead of throwing — a throw here
|
|
274
|
-
* would abort the import mid-apply.
|
|
275
|
-
* - DTCG 2025.10 color objects → { r, g, b, a }: srgb components map
|
|
276
|
-
* directly (clamped to [0, 1]); non-srgb colorSpaces (display-p3,
|
|
277
|
-
* oklch, …) fall back to the object's `hex` field when present, else
|
|
278
|
-
* skip-invalid; hex-only objects are accepted too
|
|
279
|
-
* - FLOAT-typed number → number ("16px"-style strings and DTCG
|
|
280
|
-
* { value, unit } objects are parsed to their numeric part; anything
|
|
281
|
-
* that still comes out NaN is skipped rather than pushed to Figma)
|
|
282
|
-
* - STRING-typed string → string
|
|
283
|
-
* - BOOLEAN → boolean
|
|
284
|
-
* - Alias references return `skip-alias` so the CALLER resolves them —
|
|
285
|
-
* both apply paths pass the reference through their alias-ID resolver
|
|
286
|
-
* (just-created variable → live snapshot → pending in batch → recorded
|
|
287
|
-
* $extensions ID) and write { type: "VARIABLE_ALIAS", id }. Only when
|
|
288
|
-
* the resolver comes up empty does the reference stay skipped, with a
|
|
289
|
-
* warning rather than a silent drop.
|
|
290
|
-
*
|
|
291
|
-
* Exported for test coverage of the value-conversion edge cases.
|
|
292
|
-
*/
|
|
293
267
|
export declare function tokenValueToFigma(value: {
|
|
294
268
|
literal?: unknown;
|
|
295
269
|
reference?: string;
|
|
296
270
|
composed?: ComposedColor;
|
|
297
|
-
}, resolvedType: VariableUpdate["resolvedType"]
|
|
271
|
+
}, resolvedType: VariableUpdate["resolvedType"],
|
|
272
|
+
/** EASING only: this mode's $extensions["figma-console-mcp"].spring entry, which overrides the fallback bezier. */
|
|
273
|
+
spring?: unknown): {
|
|
298
274
|
kind: "value";
|
|
299
275
|
value: unknown;
|
|
300
276
|
} | {
|
|
@@ -388,8 +364,7 @@ export interface CreatePlan {
|
|
|
388
364
|
* with values pre-resolved to modeIds; values for modes the collection
|
|
389
365
|
* doesn't have are skipped with a warning.
|
|
390
366
|
* - resolvedType honors $extensions.figmaResolvedType when recorded, else
|
|
391
|
-
* falls back to inferFigmaResolvedType.
|
|
392
|
-
* skipped with a warning — the Figma Plugin API cannot create them.
|
|
367
|
+
* falls back to inferFigmaResolvedType.
|
|
393
368
|
* - Literal values convert via tokenValueToFigma (both DTCG dialects);
|
|
394
369
|
* alias values resolve via the alias-ID resolver (existing target →
|
|
395
370
|
* "alias", within-batch target → "alias-pending", unresolvable → skip
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens-tools.d.ts","sourceRoot":"","sources":["../../src/core/tokens-tools.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"tokens-tools.d.ts","sourceRoot":"","sources":["../../src/core/tokens-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
* • toCreate — missing collections (created with the token file's
|
|
17
17
|
* full mode list) and missing variables in one batched script;
|
|
18
18
|
* literal values first, alias values in a second pass so
|
|
19
|
-
* within-batch alias targets exist. TIMING/EASING
|
|
20
|
-
*
|
|
19
|
+
* within-batch alias targets exist. TIMING/EASING (motion)
|
|
20
|
+
* variables are written too (Plugin API Update 133+).
|
|
21
21
|
* • toDelete — STRICTLY gated behind strategy: "replace". Merge
|
|
22
22
|
* (default) preserves Figma-only variables and only reports them.
|
|
23
23
|
*
|
|
@@ -36,7 +36,7 @@ const logger = createChildLogger({ component: "tokens-tools" });
|
|
|
36
36
|
* on every exported token document. Kept in sync with package.json by
|
|
37
37
|
* scripts/release.sh — see step 3 of the release flow.
|
|
38
38
|
*/
|
|
39
|
-
const MCP_VERSION = "1.
|
|
39
|
+
const MCP_VERSION = "1.45.0";
|
|
40
40
|
const EXPORT_TOOL_DESCRIPTION = `Export Figma variables to design token files in your codebase. Bidirectional with figma_import_tokens — together they replace Style Dictionary and Tokens Studio's export pipeline for the popular styling methods.
|
|
41
41
|
|
|
42
42
|
FULLY-IMPLEMENTED OUTPUT FORMATS:
|
|
@@ -62,7 +62,7 @@ const IMPORT_TOOL_DESCRIPTION = `Push design tokens from your codebase into Figm
|
|
|
62
62
|
|
|
63
63
|
ACCEPTS: DTCG JSON (canonical, fully supported including round-trip metadata preservation). Tokens Studio JSON, CSS custom properties, Tailwind v4 @theme, SCSS, and Style Dictionary v3 are scaffolded but return a NotImplementedError — convert to DTCG first via figma_export_tokens or hand-author DTCG. Use \`format: "auto"\` to sniff the input.
|
|
64
64
|
|
|
65
|
-
APPLY PHASE (full bidirectional sync): toCreate entries create missing collections (with the token file's full mode list) and missing variables in one batched plugin round-trip — literal values first, alias values in a second pass so aliases between newly-created variables resolve. toUpdate entries push value updates in a batched round-trip, INCLUDING alias-target updates: when a token's value is a reference, it's written as a Figma variable alias if the reference resolves to an existing or just-created variable (unresolvable references skip with a warning). toDelete entries are STRICTLY gated behind \`strategy: "replace"\` — in replace mode, Figma variables absent from the token file are permanently deleted (a loud warning lists the count); merge (default) preserves them and only reports. Deletes only ever touch collections the token files contain: variables in collections the import doesn't include are left alone. An import that parses 0 tokens is refused, and the diff is computed against live Figma state. TIMING
|
|
65
|
+
APPLY PHASE (full bidirectional sync): toCreate entries create missing collections (with the token file's full mode list) and missing variables in one batched plugin round-trip — literal values first, alias values in a second pass so aliases between newly-created variables resolve. toUpdate entries push value updates in a batched round-trip, INCLUDING alias-target updates: when a token's value is a reference, it's written as a Figma variable alias if the reference resolves to an existing or just-created variable (unresolvable references skip with a warning). toDelete entries are STRICTLY gated behind \`strategy: "replace"\` — in replace mode, Figma variables absent from the token file are permanently deleted (a loud warning lists the count); merge (default) preserves them and only reports. Deletes only ever touch collections the token files contain: variables in collections the import doesn't include are left alone. An import that parses 0 tokens is refused, and the diff is computed against live Figma state. Motion tokens are written as TIMING (DTCG duration; a bare number is milliseconds) and EASING (DTCG cubicBezier) variables; springs and holds round-trip through $extensions["figma-console-mcp"].spring. Variable scopes and per-platform codeSyntax (from \`$extensions["figma-console-mcp"].scopes/.codeSyntax\`) are diffed and applied too — absent fields mean "no opinion" (Figma-side metadata is preserved), an explicit value is authoritative. Partial-success semantics: per-item errors surface in applyResult.errors[] without failing the batch.
|
|
66
66
|
|
|
67
67
|
DIFF-AWARE: Default \`strategy: "merge"\` diffs against current Figma state and applies only deltas. The hacked-color scenario — designer edits one hex value in their CSS — produces exactly one Figma API update, not a full collection rewrite. Match priority: Figma variable ID (in \`$extensions["figma-console-mcp"].variableId\`), then exact token path, then value fingerprint.
|
|
68
68
|
|
|
@@ -651,7 +651,7 @@ async function handleImport(args, getDesktopConnector, opts) {
|
|
|
651
651
|
diff.toCreate.length === 0 &&
|
|
652
652
|
diff.toRename.length === 0
|
|
653
653
|
? "Nothing to apply — all tokens already in sync."
|
|
654
|
-
: "Changes were detected but skipped (likely
|
|
654
|
+
: "Changes were detected but skipped (likely unresolvable aliases or unconvertible values — see warnings).",
|
|
655
655
|
deleteNote: deleteWarning
|
|
656
656
|
? deleteWarning
|
|
657
657
|
: diff.toDelete.length > 0
|
|
@@ -1240,7 +1240,7 @@ export function computeDiffPlan(figmaDoc, codeDoc) {
|
|
|
1240
1240
|
!codeTokens.has(idMatch.key) &&
|
|
1241
1241
|
!renamedFigmaKeys.has(idMatch.key)) {
|
|
1242
1242
|
renamedFigmaKeys.add(idMatch.key);
|
|
1243
|
-
const valuesChanged =
|
|
1243
|
+
const valuesChanged = tokenValuesDiffer(idMatch.token, codeToken);
|
|
1244
1244
|
const meta = diffVariableMeta(idMatch.token, codeToken);
|
|
1245
1245
|
toRename.push({
|
|
1246
1246
|
path: key,
|
|
@@ -1262,7 +1262,7 @@ export function computeDiffPlan(figmaDoc, codeDoc) {
|
|
|
1262
1262
|
});
|
|
1263
1263
|
continue;
|
|
1264
1264
|
}
|
|
1265
|
-
const valuesChanged =
|
|
1265
|
+
const valuesChanged = tokenValuesDiffer(figmaToken, codeToken);
|
|
1266
1266
|
const meta = diffVariableMeta(figmaToken, codeToken);
|
|
1267
1267
|
if (valuesChanged || meta.scopesChanged || meta.codeSyntaxChanged) {
|
|
1268
1268
|
if (valuesChanged && !meta.scopesChanged && !meta.codeSyntaxChanged) {
|
|
@@ -1321,6 +1321,22 @@ export function computeDiffPlan(figmaDoc, codeDoc) {
|
|
|
1321
1321
|
* rawColor field is ignored. Without this, importing a 2025-dialect file
|
|
1322
1322
|
* would report EVERY color as toUpdate on EVERY import, forever.
|
|
1323
1323
|
*/
|
|
1324
|
+
/**
|
|
1325
|
+
* Values differ, or (for EASING) the exact spring/hold kept in
|
|
1326
|
+
* $extensions["figma-console-mcp"].spring differs. Springs export with a
|
|
1327
|
+
* fixed fallback cubicBezier, so comparing $value alone would miss an edited
|
|
1328
|
+
* bounce.
|
|
1329
|
+
*/
|
|
1330
|
+
function tokenValuesDiffer(figmaToken, codeToken) {
|
|
1331
|
+
if (!valuesEqual(figmaToken.values, codeToken.values))
|
|
1332
|
+
return true;
|
|
1333
|
+
// Key-order-insensitive, so a hand-edited file doesn't diff forever.
|
|
1334
|
+
const stable = (v) => v && typeof v === "object" && !Array.isArray(v)
|
|
1335
|
+
? Object.fromEntries(Object.keys(v).sort().map((k) => [k, stable(v[k])]))
|
|
1336
|
+
: v;
|
|
1337
|
+
const springOf = (t) => JSON.stringify(stable(t.extensions?.["figma-console-mcp"]?.spring ?? {}));
|
|
1338
|
+
return springOf(figmaToken) !== springOf(codeToken);
|
|
1339
|
+
}
|
|
1324
1340
|
function valuesEqual(a, b) {
|
|
1325
1341
|
const aKeys = Object.keys(a).sort();
|
|
1326
1342
|
const bKeys = Object.keys(b).sort();
|
|
@@ -1524,7 +1540,28 @@ function buildCollectionModeMap(payload) {
|
|
|
1524
1540
|
*
|
|
1525
1541
|
* Exported for test coverage of the value-conversion edge cases.
|
|
1526
1542
|
*/
|
|
1527
|
-
|
|
1543
|
+
const SPRING_EASING_TYPES = new Set(["GENTLE", "QUICK", "BOUNCY", "SLOW", "CUSTOM_SPRING"]);
|
|
1544
|
+
/**
|
|
1545
|
+
* Rebuild a spring or hold easing from the extension figma_export_tokens
|
|
1546
|
+
* writes (`{ easingType, bounce }`). Returns undefined when there's nothing
|
|
1547
|
+
* usable, so the token's cubicBezier is written instead. The pre-Update-133
|
|
1548
|
+
* shape (`springValues: {mass, stiffness, damping}`) has no exact bounce
|
|
1549
|
+
* equivalent server-side and falls back to the bezier.
|
|
1550
|
+
*/
|
|
1551
|
+
function springToFigmaEasing(spring) {
|
|
1552
|
+
if (!spring || typeof spring !== "object")
|
|
1553
|
+
return undefined;
|
|
1554
|
+
const s = spring;
|
|
1555
|
+
if (s.easingType === "HOLD")
|
|
1556
|
+
return { type: "HOLD" };
|
|
1557
|
+
if (typeof s.bounce !== "number" || !Number.isFinite(s.bounce))
|
|
1558
|
+
return undefined;
|
|
1559
|
+
const type = typeof s.easingType === "string" && SPRING_EASING_TYPES.has(s.easingType) ? s.easingType : "CUSTOM_SPRING";
|
|
1560
|
+
return { type, easingFunctionSpring: { bounce: s.bounce } };
|
|
1561
|
+
}
|
|
1562
|
+
export function tokenValueToFigma(value, resolvedType,
|
|
1563
|
+
/** EASING only: this mode's $extensions["figma-console-mcp"].spring entry, which overrides the fallback bezier. */
|
|
1564
|
+
spring) {
|
|
1528
1565
|
// Composed color ("grey/900 at 50%"): the caller resolves the reference
|
|
1529
1566
|
// part(s) and writes Figma's { color, opacity } value, keeping the link to
|
|
1530
1567
|
// the primitive instead of flattening it to the resolved literal.
|
|
@@ -1612,6 +1649,31 @@ export function tokenValueToFigma(value, resolvedType) {
|
|
|
1612
1649
|
else if (resolvedType === "BOOLEAN") {
|
|
1613
1650
|
figmaValue = Boolean(value.literal);
|
|
1614
1651
|
}
|
|
1652
|
+
else if (resolvedType === "TIMING") {
|
|
1653
|
+
// Figma TIMING is seconds. parseNumericLiteral yields milliseconds for
|
|
1654
|
+
// durations ({300,"ms"}, {0.3,"s"}, "300ms"; a bare number is ms).
|
|
1655
|
+
const ms = parseNumericLiteral(value.literal);
|
|
1656
|
+
if (!Number.isFinite(ms) || ms < 0) {
|
|
1657
|
+
return { kind: "skip-invalid", reason: `cannot convert ${JSON.stringify(value.literal)} to a duration for a TIMING variable` };
|
|
1658
|
+
}
|
|
1659
|
+
figmaValue = ms / 1000;
|
|
1660
|
+
}
|
|
1661
|
+
else if (resolvedType === "EASING") {
|
|
1662
|
+
const easing = springToFigmaEasing(spring);
|
|
1663
|
+
if (easing) {
|
|
1664
|
+
figmaValue = easing;
|
|
1665
|
+
}
|
|
1666
|
+
else {
|
|
1667
|
+
const arr = value.literal;
|
|
1668
|
+
if (!Array.isArray(arr) || arr.length !== 4 || !arr.every((n) => typeof n === "number" && Number.isFinite(n))) {
|
|
1669
|
+
return { kind: "skip-invalid", reason: `cannot convert ${JSON.stringify(value.literal)} to an EASING value — expected a cubicBezier [x1, y1, x2, y2]` };
|
|
1670
|
+
}
|
|
1671
|
+
figmaValue = {
|
|
1672
|
+
type: "CUSTOM_CUBIC_BEZIER",
|
|
1673
|
+
easingFunctionCubicBezier: { x1: arr[0], y1: arr[1], x2: arr[2], y2: arr[3] },
|
|
1674
|
+
};
|
|
1675
|
+
}
|
|
1676
|
+
}
|
|
1615
1677
|
else {
|
|
1616
1678
|
figmaValue = typeof value.literal === "string" ? value.literal : String(value.literal);
|
|
1617
1679
|
}
|
|
@@ -1677,9 +1739,8 @@ function colorObjectToFigmaRgba(obj) {
|
|
|
1677
1739
|
* raw 0.3 instead, the diff would report a change, apply would write a
|
|
1678
1740
|
* 1000x-wrong value, and every subsequent import would rewrite it
|
|
1679
1741
|
* forever. Other units (px/rem/…) keep the raw value — Figma FLOAT is
|
|
1680
|
-
* unitless.
|
|
1681
|
-
*
|
|
1682
|
-
* the only consumer here.
|
|
1742
|
+
* unitless. TIMING variables reuse this and divide the milliseconds by
|
|
1743
|
+
* 1000, since Figma stores TIMING in seconds.
|
|
1683
1744
|
* Anything unparseable returns NaN — callers must skip (never push NaN
|
|
1684
1745
|
* into setValueForMode).
|
|
1685
1746
|
*/
|
|
@@ -1774,13 +1835,6 @@ function buildUpdatePayloads(toUpdate, figmaDoc, codeDoc, collectionModeMap, war
|
|
|
1774
1835
|
const figmaNativeType = typeof recordedType === "string"
|
|
1775
1836
|
? recordedType
|
|
1776
1837
|
: inferFigmaResolvedType(figmaToken.type);
|
|
1777
|
-
if (figmaNativeType === "TIMING" || figmaNativeType === "EASING") {
|
|
1778
|
-
// The Figma Plugin API cannot create or setValueForMode on
|
|
1779
|
-
// TIMING/EASING variables — only BOOLEAN/COLOR/FLOAT/STRING are
|
|
1780
|
-
// writable. Sending these would be rejected (or worse); skip loudly.
|
|
1781
|
-
warnings.push(`Skipped ${entry.path} — Figma Plugin API cannot write ${figmaNativeType === "TIMING" ? "Timing" : "Easing"} variables (only BOOLEAN/COLOR/FLOAT/STRING are writable). Update this variable in the Figma UI instead.`);
|
|
1782
|
-
continue;
|
|
1783
|
-
}
|
|
1784
1838
|
const resolvedType = figmaNativeType;
|
|
1785
1839
|
// Value updates apply unless the diff explicitly flagged this entry as
|
|
1786
1840
|
// metadata-only (changes.values === false) — re-pushing unchanged values
|
|
@@ -1796,7 +1850,7 @@ function buildUpdatePayloads(toUpdate, figmaDoc, codeDoc, collectionModeMap, war
|
|
|
1796
1850
|
warnings.push(`Cannot update ${entry.path} (mode "${modeName}") — modeId not found in Figma collection.`);
|
|
1797
1851
|
continue;
|
|
1798
1852
|
}
|
|
1799
|
-
const conversion = tokenValueToFigma(value, resolvedType);
|
|
1853
|
+
const conversion = tokenValueToFigma(value, resolvedType, codeMatch.token.extensions?.["figma-console-mcp"]?.spring?.[modeName]);
|
|
1800
1854
|
if (conversion.kind === "composed") {
|
|
1801
1855
|
const part = (p) => {
|
|
1802
1856
|
if ("value" in p)
|
|
@@ -1886,11 +1940,8 @@ function buildUpdatePayloads(toUpdate, figmaDoc, codeDoc, collectionModeMap, war
|
|
|
1886
1940
|
/**
|
|
1887
1941
|
* Map our internal TokenType to Figma's variable resolvedType.
|
|
1888
1942
|
*
|
|
1889
|
-
* duration/cubicBezier map to the
|
|
1890
|
-
*
|
|
1891
|
-
* TIMING/EASING variables (only BOOLEAN/COLOR/FLOAT/STRING are writable),
|
|
1892
|
-
* so callers must skip those with a warning instead of pushing them.
|
|
1893
|
-
* buildUpdatePayloads prefers the extension-recorded figmaResolvedType over
|
|
1943
|
+
* duration/cubicBezier map to the motion TIMING/EASING variable types
|
|
1944
|
+
* (writable since Plugin API Update 133). buildUpdatePayloads prefers the extension-recorded figmaResolvedType over
|
|
1894
1945
|
* this inference, so FLOAT variables whose token type was name-inferred as
|
|
1895
1946
|
* "duration" still write correctly as FLOAT.
|
|
1896
1947
|
*/
|
|
@@ -1988,7 +2039,7 @@ async function applyUpdates(connector, updates) {
|
|
|
1988
2039
|
errors,
|
|
1989
2040
|
};
|
|
1990
2041
|
}
|
|
1991
|
-
const WRITABLE_RESOLVED_TYPES = new Set(["COLOR", "FLOAT", "STRING", "BOOLEAN"]);
|
|
2042
|
+
const WRITABLE_RESOLVED_TYPES = new Set(["COLOR", "FLOAT", "STRING", "BOOLEAN", "TIMING", "EASING"]);
|
|
1992
2043
|
/**
|
|
1993
2044
|
* Translate the diff's toCreate entries into a CreatePlan.
|
|
1994
2045
|
*
|
|
@@ -1999,8 +2050,7 @@ const WRITABLE_RESOLVED_TYPES = new Set(["COLOR", "FLOAT", "STRING", "BOOLEAN"])
|
|
|
1999
2050
|
* with values pre-resolved to modeIds; values for modes the collection
|
|
2000
2051
|
* doesn't have are skipped with a warning.
|
|
2001
2052
|
* - resolvedType honors $extensions.figmaResolvedType when recorded, else
|
|
2002
|
-
* falls back to inferFigmaResolvedType.
|
|
2003
|
-
* skipped with a warning — the Figma Plugin API cannot create them.
|
|
2053
|
+
* falls back to inferFigmaResolvedType.
|
|
2004
2054
|
* - Literal values convert via tokenValueToFigma (both DTCG dialects);
|
|
2005
2055
|
* alias values resolve via the alias-ID resolver (existing target →
|
|
2006
2056
|
* "alias", within-batch target → "alias-pending", unresolvable → skip
|
|
@@ -2042,7 +2092,7 @@ export function buildCreatePlan(toCreate, codeDoc, figmaPayload, resolveAliasId,
|
|
|
2042
2092
|
? recorded
|
|
2043
2093
|
: inferFigmaResolvedType(token.type);
|
|
2044
2094
|
if (!WRITABLE_RESOLVED_TYPES.has(figmaNativeType)) {
|
|
2045
|
-
warnings.push(`Skipped create for ${entry.path} —
|
|
2095
|
+
warnings.push(`Skipped create for ${entry.path} — unsupported variable type ${figmaNativeType}.`);
|
|
2046
2096
|
continue;
|
|
2047
2097
|
}
|
|
2048
2098
|
const resolvedType = figmaNativeType;
|
|
@@ -2085,7 +2135,7 @@ export function buildCreatePlan(toCreate, codeDoc, figmaPayload, resolveAliasId,
|
|
|
2085
2135
|
}
|
|
2086
2136
|
continue;
|
|
2087
2137
|
}
|
|
2088
|
-
const conversion = tokenValueToFigma(value, resolvedType);
|
|
2138
|
+
const conversion = tokenValueToFigma(value, resolvedType, token.extensions?.["figma-console-mcp"]?.spring?.[modeName]);
|
|
2089
2139
|
if (conversion.kind === "skip-invalid") {
|
|
2090
2140
|
warnings.push(`Skipped ${entry.path} (mode "${modeName}") — ${conversion.reason}.`);
|
|
2091
2141
|
continue;
|