@sxl-studio/token-transformer 1.0.0 → 2.0.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.
Files changed (93) hide show
  1. package/README.en.md +77 -608
  2. package/README.md +77 -685
  3. package/config/sxl-transform.config.yaml +120 -0
  4. package/dist/cli.d.ts +1 -1
  5. package/dist/cli.js +411 -141
  6. package/dist/cli.js.map +1 -1
  7. package/dist/config/loader.d.ts +6 -0
  8. package/dist/config/loader.js +160 -0
  9. package/dist/config/loader.js.map +1 -0
  10. package/dist/config/schema.d.ts +847 -0
  11. package/dist/config/schema.js +123 -0
  12. package/dist/config/schema.js.map +1 -0
  13. package/dist/core/color-modifiers.d.ts +31 -0
  14. package/dist/core/color-modifiers.js +289 -0
  15. package/dist/core/color-modifiers.js.map +1 -0
  16. package/dist/core/color-parser.d.ts +24 -0
  17. package/dist/core/color-parser.js +281 -0
  18. package/dist/core/color-parser.js.map +1 -0
  19. package/dist/core/debug-report.d.ts +11 -0
  20. package/dist/core/debug-report.js +161 -0
  21. package/dist/core/debug-report.js.map +1 -0
  22. package/dist/core/incremental.d.ts +18 -0
  23. package/dist/core/incremental.js +105 -0
  24. package/dist/core/incremental.js.map +1 -0
  25. package/dist/core/math.d.ts +3 -0
  26. package/dist/core/math.js +261 -0
  27. package/dist/core/math.js.map +1 -0
  28. package/dist/core/parser.d.ts +4 -3
  29. package/dist/core/parser.js +68 -172
  30. package/dist/core/parser.js.map +1 -1
  31. package/dist/core/resolver.d.ts +26 -0
  32. package/dist/core/resolver.js +431 -0
  33. package/dist/core/resolver.js.map +1 -0
  34. package/dist/core/token-loader.d.ts +11 -0
  35. package/dist/core/token-loader.js +380 -0
  36. package/dist/core/token-loader.js.map +1 -0
  37. package/dist/core/token-parser.d.ts +9 -0
  38. package/dist/core/token-parser.js +138 -0
  39. package/dist/core/token-parser.js.map +1 -0
  40. package/dist/core/token-types.d.ts +7 -0
  41. package/dist/core/token-types.js +132 -0
  42. package/dist/core/token-types.js.map +1 -0
  43. package/dist/core/types.d.ts +154 -63
  44. package/dist/core/writer.d.ts +18 -5
  45. package/dist/core/writer.js +545 -91
  46. package/dist/core/writer.js.map +1 -1
  47. package/dist/emit/css.d.ts +2 -0
  48. package/dist/emit/css.js +538 -0
  49. package/dist/emit/css.js.map +1 -0
  50. package/dist/emit/kotlin.d.ts +2 -0
  51. package/dist/emit/kotlin.js +406 -0
  52. package/dist/emit/kotlin.js.map +1 -0
  53. package/dist/emit/shared.d.ts +13 -0
  54. package/dist/emit/shared.js +127 -0
  55. package/dist/emit/shared.js.map +1 -0
  56. package/dist/emit/swift.d.ts +2 -0
  57. package/dist/emit/swift.js +432 -0
  58. package/dist/emit/swift.js.map +1 -0
  59. package/dist/emit/typography.d.ts +17 -0
  60. package/dist/emit/typography.js +132 -0
  61. package/dist/emit/typography.js.map +1 -0
  62. package/dist/emit/xml.d.ts +2 -0
  63. package/dist/emit/xml.js +311 -0
  64. package/dist/emit/xml.js.map +1 -0
  65. package/dist/index.d.ts +15 -6
  66. package/dist/index.js +13 -5
  67. package/dist/index.js.map +1 -1
  68. package/dist/transformers/css.d.ts +1 -1
  69. package/dist/transformers/css.js +13 -482
  70. package/dist/transformers/css.js.map +1 -1
  71. package/dist/transformers/kotlin.d.ts +2 -2
  72. package/dist/transformers/kotlin.js +14 -442
  73. package/dist/transformers/kotlin.js.map +1 -1
  74. package/dist/transformers/swiftui.d.ts +2 -2
  75. package/dist/transformers/swiftui.js +14 -433
  76. package/dist/transformers/swiftui.js.map +1 -1
  77. package/dist/utils/color.d.ts +7 -5
  78. package/dist/utils/color.js +90 -86
  79. package/dist/utils/color.js.map +1 -1
  80. package/dist/utils/dimension.d.ts +8 -5
  81. package/dist/utils/dimension.js +54 -52
  82. package/dist/utils/dimension.js.map +1 -1
  83. package/dist/utils/naming.d.ts +10 -12
  84. package/dist/utils/naming.js +102 -44
  85. package/dist/utils/naming.js.map +1 -1
  86. package/package.json +30 -10
  87. package/config.example.json +0 -45
  88. package/dist/core/loader.d.ts +0 -8
  89. package/dist/core/loader.js +0 -105
  90. package/dist/core/loader.js.map +0 -1
  91. package/dist/transformers/vue3.d.ts +0 -28
  92. package/dist/transformers/vue3.js +0 -534
  93. package/dist/transformers/vue3.js.map +0 -1
@@ -0,0 +1,311 @@
1
+ import path from "node:path";
2
+ import { normalizeTokenTypeKey } from "../core/token-types.js";
3
+ import { parseColor, rgbaToHex } from "../utils/color.js";
4
+ import { toXmlDimension, trimFloat } from "../utils/dimension.js";
5
+ import { buildNamedTokens } from "./shared.js";
6
+ import { normalizeTextCase, normalizeTextDecoration, normalizeVerticalTrimFromTypography, parseTypographyMetric, primaryFontFamily, toTypographyObject, } from "./typography.js";
7
+ export function emitXml(input, baseOutputPath) {
8
+ const diagnostics = [];
9
+ const unsupportedByType = new Map();
10
+ const remBase = input.remBase ?? 16;
11
+ const named = buildNamedTokens(input.tokens, {
12
+ platform: "xml",
13
+ prefix: input.prefix,
14
+ strategy: input.collisions,
15
+ diagnostics,
16
+ outputId: input.outputId,
17
+ });
18
+ const colors = [];
19
+ const dimens = [];
20
+ const strings = [];
21
+ const bools = [];
22
+ const integers = [];
23
+ for (const entry of named) {
24
+ const token = entry.token;
25
+ const type = normalizeTokenTypeKey(token.type);
26
+ const resolved = token.resolvedValue ?? token.value;
27
+ if (type === "color") {
28
+ const parsed = parseColor(resolved);
29
+ if (!parsed) {
30
+ diagnostics.push(warnUnsupported(token, input.outputId, "XML_COLOR_INVALID"));
31
+ continue;
32
+ }
33
+ colors.push({
34
+ name: entry.name,
35
+ value: toAndroidColorHex(parsed),
36
+ comment: input.showDescriptions ? token.description : undefined,
37
+ });
38
+ continue;
39
+ }
40
+ if (isDimensionType(type)) {
41
+ const unit = type === "fontSize" || type === "lineHeight" || type === "letterSpacing" ? "sp" : "dp";
42
+ const dimen = toXmlDimension(resolved, unit);
43
+ if (!dimen) {
44
+ diagnostics.push(warnUnsupported(token, input.outputId, "XML_DIMEN_INVALID"));
45
+ continue;
46
+ }
47
+ dimens.push({
48
+ name: entry.name,
49
+ value: dimen,
50
+ comment: input.showDescriptions ? token.description : undefined,
51
+ });
52
+ continue;
53
+ }
54
+ if (type === "typography") {
55
+ const typography = toTypographyObject(resolved);
56
+ if (!typography) {
57
+ diagnostics.push(warnUnsupported(token, input.outputId, "XML_TYPOGRAPHY_INVALID"));
58
+ continue;
59
+ }
60
+ const family = primaryFontFamily(typography.fontFamily);
61
+ if (family) {
62
+ strings.push({
63
+ name: `${entry.name}_font_family`,
64
+ value: escapeXml(family),
65
+ comment: input.showDescriptions ? token.description : undefined,
66
+ });
67
+ }
68
+ if (typography.fontWeight !== undefined) {
69
+ strings.push({
70
+ name: `${entry.name}_font_weight`,
71
+ value: escapeXml(String(typography.fontWeight)),
72
+ comment: input.showDescriptions ? token.description : undefined,
73
+ });
74
+ }
75
+ const fontSize = parseTypographyMetric(typography.fontSize, remBase);
76
+ if (fontSize !== null) {
77
+ dimens.push({
78
+ name: `${entry.name}_font_size`,
79
+ value: `${trimFloat(fontSize)}sp`,
80
+ comment: input.showDescriptions ? token.description : undefined,
81
+ });
82
+ }
83
+ const lineHeight = parseTypographyMetric(typography.lineHeight, remBase);
84
+ if (lineHeight !== null) {
85
+ dimens.push({
86
+ name: `${entry.name}_line_height`,
87
+ value: `${trimFloat(lineHeight)}sp`,
88
+ comment: input.showDescriptions ? token.description : undefined,
89
+ });
90
+ }
91
+ if (typography.letterSpacing !== undefined) {
92
+ const letterSpacing = parseTypographyMetric(typography.letterSpacing, remBase);
93
+ if (letterSpacing !== null) {
94
+ dimens.push({
95
+ name: `${entry.name}_letter_spacing`,
96
+ value: `${trimFloat(letterSpacing)}sp`,
97
+ comment: input.showDescriptions ? token.description : undefined,
98
+ });
99
+ }
100
+ }
101
+ if (typography.textCase !== undefined) {
102
+ strings.push({
103
+ name: `${entry.name}_text_case`,
104
+ value: escapeXml(normalizeTextCase(typography.textCase)),
105
+ comment: input.showDescriptions ? token.description : undefined,
106
+ });
107
+ }
108
+ if (typography.textDecoration !== undefined) {
109
+ strings.push({
110
+ name: `${entry.name}_text_decoration`,
111
+ value: escapeXml(normalizeTextDecoration(typography.textDecoration)),
112
+ comment: input.showDescriptions ? token.description : undefined,
113
+ });
114
+ }
115
+ if (typography.verticalTrim !== undefined || typography.leadingTrim !== undefined) {
116
+ strings.push({
117
+ name: `${entry.name}_vertical_trim`,
118
+ value: escapeXml(normalizeVerticalTrimFromTypography(typography)),
119
+ comment: input.showDescriptions ? token.description : undefined,
120
+ });
121
+ }
122
+ continue;
123
+ }
124
+ if (type === "text" || type === "fontFamily" || type === "fontWeight" || type === "textCase" || type === "textDecoration") {
125
+ strings.push({
126
+ name: entry.name,
127
+ value: escapeXml(String(resolved)),
128
+ comment: input.showDescriptions ? token.description : undefined,
129
+ });
130
+ continue;
131
+ }
132
+ if (type === "boolean") {
133
+ bools.push({
134
+ name: entry.name,
135
+ value: resolved ? "true" : "false",
136
+ comment: input.showDescriptions ? token.description : undefined,
137
+ });
138
+ continue;
139
+ }
140
+ if (type === "number" || type === "duration" || type === "opacity") {
141
+ const intValue = formatInteger(resolved, type);
142
+ if (intValue === null) {
143
+ diagnostics.push(warnUnsupported(token, input.outputId, "XML_INTEGER_INVALID"));
144
+ continue;
145
+ }
146
+ integers.push({
147
+ name: entry.name,
148
+ value: intValue,
149
+ comment: input.showDescriptions ? token.description : undefined,
150
+ });
151
+ continue;
152
+ }
153
+ const item = unsupportedByType.get(type);
154
+ if (!item) {
155
+ unsupportedByType.set(type, { count: 1, samplePath: token.path });
156
+ }
157
+ else {
158
+ item.count += 1;
159
+ }
160
+ }
161
+ for (const [type, item] of unsupportedByType.entries()) {
162
+ diagnostics.push({
163
+ level: "warn",
164
+ code: `XML_UNSUPPORTED_${type}`,
165
+ message: `Unsupported token type for XML: ${type} (skipped ${item.count}; sample: ${item.samplePath})`,
166
+ outputId: input.outputId,
167
+ tokenPath: item.samplePath,
168
+ });
169
+ }
170
+ const baseDir = normalizeBaseDir(baseOutputPath);
171
+ const extraFiles = [];
172
+ if (colors.length > 0) {
173
+ extraFiles.push({
174
+ relativePath: joinOut(baseDir, "colors.xml"),
175
+ content: buildResourcesXml("color", colors),
176
+ tokenCount: colors.length,
177
+ });
178
+ }
179
+ if (dimens.length > 0) {
180
+ extraFiles.push({
181
+ relativePath: joinOut(baseDir, "dimens.xml"),
182
+ content: buildResourcesXml("dimen", dimens),
183
+ tokenCount: dimens.length,
184
+ });
185
+ }
186
+ if (strings.length > 0) {
187
+ extraFiles.push({
188
+ relativePath: joinOut(baseDir, "strings.xml"),
189
+ content: buildResourcesXml("string", strings),
190
+ tokenCount: strings.length,
191
+ });
192
+ }
193
+ if (bools.length > 0) {
194
+ extraFiles.push({
195
+ relativePath: joinOut(baseDir, "bools.xml"),
196
+ content: buildResourcesXml("bool", bools),
197
+ tokenCount: bools.length,
198
+ });
199
+ }
200
+ if (integers.length > 0) {
201
+ extraFiles.push({
202
+ relativePath: joinOut(baseDir, "integers.xml"),
203
+ content: buildResourcesXml("integer", integers),
204
+ tokenCount: integers.length,
205
+ });
206
+ }
207
+ return {
208
+ content: "",
209
+ diagnostics,
210
+ extraFiles,
211
+ };
212
+ }
213
+ function normalizeBaseDir(value) {
214
+ const normalized = value.replace(/\\/g, "/").replace(/^\.\//, "").replace(/\/+/g, "/");
215
+ if (!normalized || normalized.endsWith(".xml")) {
216
+ return path.posix.dirname(normalized || "values/placeholder.xml");
217
+ }
218
+ return normalized;
219
+ }
220
+ function joinOut(baseDir, fileName) {
221
+ if (!baseDir || baseDir === ".")
222
+ return fileName;
223
+ return path.posix.join(baseDir, fileName);
224
+ }
225
+ function isDimensionType(type) {
226
+ return [
227
+ "dimension",
228
+ "sizing",
229
+ "spacing",
230
+ "borderRadius",
231
+ "borderWidth",
232
+ "fontSize",
233
+ "lineHeight",
234
+ "letterSpacing",
235
+ "paragraphSpacing",
236
+ "paragraphIndent",
237
+ ].includes(type);
238
+ }
239
+ function toAndroidColorHex(color) {
240
+ const hex = rgbaToHex(color);
241
+ if (hex.length === 7) {
242
+ return hex.toUpperCase();
243
+ }
244
+ // rgbaToHex gives #RRGGBBAA, Android supports #AARRGGBB
245
+ if (hex.length === 9) {
246
+ const rrggbb = hex.slice(1, 7);
247
+ const aa = hex.slice(7, 9);
248
+ return `#${aa}${rrggbb}`.toUpperCase();
249
+ }
250
+ return hex.toUpperCase();
251
+ }
252
+ function formatInteger(value, type) {
253
+ if (typeof value === "number") {
254
+ if (type === "opacity") {
255
+ return `${Math.round(value * 100)}`;
256
+ }
257
+ if (type === "duration") {
258
+ return `${Math.round(value > 10 ? value : value * 1000)}`;
259
+ }
260
+ return `${Math.round(value)}`;
261
+ }
262
+ if (typeof value === "string") {
263
+ const trimmed = value.trim().toLowerCase();
264
+ if (type === "duration") {
265
+ if (trimmed.endsWith("ms"))
266
+ return `${Math.round(Number.parseFloat(trimmed))}`;
267
+ if (trimmed.endsWith("s"))
268
+ return `${Math.round(Number.parseFloat(trimmed) * 1000)}`;
269
+ }
270
+ const parsed = Number.parseFloat(trimmed);
271
+ if (Number.isFinite(parsed)) {
272
+ if (type === "opacity") {
273
+ return `${Math.round(parsed * 100)}`;
274
+ }
275
+ return `${Math.round(parsed)}`;
276
+ }
277
+ }
278
+ return null;
279
+ }
280
+ function buildResourcesXml(tagName, entries) {
281
+ const lines = [];
282
+ lines.push('<?xml version="1.0" encoding="utf-8"?>');
283
+ lines.push("<resources>");
284
+ for (const entry of entries) {
285
+ if (entry.comment) {
286
+ lines.push(` <!-- ${escapeXml(entry.comment)} -->`);
287
+ }
288
+ lines.push(` <${tagName} name="${entry.name}">${entry.value}</${tagName}>`);
289
+ }
290
+ lines.push("</resources>");
291
+ lines.push("");
292
+ return lines.join("\n");
293
+ }
294
+ function escapeXml(value) {
295
+ return value
296
+ .replace(/&/g, "&amp;")
297
+ .replace(/</g, "&lt;")
298
+ .replace(/>/g, "&gt;")
299
+ .replace(/"/g, "&quot;")
300
+ .replace(/'/g, "&apos;");
301
+ }
302
+ function warnUnsupported(token, outputId, code) {
303
+ return {
304
+ level: "warn",
305
+ code,
306
+ message: `Unsupported or invalid token for XML: ${token.path}`,
307
+ tokenPath: token.path,
308
+ outputId,
309
+ };
310
+ }
311
+ //# sourceMappingURL=xml.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xml.js","sourceRoot":"","sources":["../../src/emit/xml.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,16 @@
1
+ export { runCli } from "./cli.js";
2
+ export { loadConfig, createInitConfigTemplate } from "./config/loader.js";
3
+ export { TransformerConfigSchema } from "./config/schema.js";
1
4
  export { runTransform, writeOutputFiles } from "./core/writer.js";
2
- export { loadTokens } from "./core/loader.js";
3
- export { parseTokenFile, buildValueMap, resolveAllAliases } from "./core/parser.js";
4
- export { transformCSS } from "./transformers/css.js";
5
- export { transformSwiftUI } from "./transformers/swiftui.js";
6
- export { transformKotlin } from "./transformers/kotlin.js";
7
- export type { TransformConfig, PlatformConfig, Platform, FlatToken, TransformResult, OutputFile, SourceConfig, FileMapping, TokenFilter, CodeSyntaxConfig, GlobalSettings, } from "./core/types.js";
5
+ export { loadTokenSets, discoverTokenFiles, scanSourceFiles } from "./core/token-loader.js";
6
+ export { resolveTokens, parseNumericValue, parseColorValue } from "./core/resolver.js";
7
+ export { buildDebugReport, defaultDebugReportPath } from "./core/debug-report.js";
8
+ export { defaultStatePath, readTransformState, writeTransformState, computeConfigHash, } from "./core/incremental.js";
9
+ export { isMathExpression, evaluateMathExpression } from "./core/math.js";
10
+ export { parseTokenFile } from "./core/token-parser.js";
11
+ export { emitCss } from "./emit/css.js";
12
+ export { emitSwift } from "./emit/swift.js";
13
+ export { emitKotlin } from "./emit/kotlin.js";
14
+ export { emitXml } from "./emit/xml.js";
15
+ export type { TransformerConfig, Platform, OutputConfig, TokenSetConfig, TokenSetSelectorConfig, OutputFileConfig, TokenFilterConfig, CollisionStrategy, UnsupportedTypeAction, } from "./config/schema.js";
16
+ export type { FlatToken, Diagnostic, TransformResult, OutputFile, ResolvedTransformerConfig, TokenSetResolved, SmartTransformState, SmartTransformMode, SmartTransformMeta, } from "./core/types.js";
package/dist/index.js CHANGED
@@ -1,7 +1,15 @@
1
+ export { runCli } from "./cli.js";
2
+ export { loadConfig, createInitConfigTemplate } from "./config/loader.js";
3
+ export { TransformerConfigSchema } from "./config/schema.js";
1
4
  export { runTransform, writeOutputFiles } from "./core/writer.js";
2
- export { loadTokens } from "./core/loader.js";
3
- export { parseTokenFile, buildValueMap, resolveAllAliases } from "./core/parser.js";
4
- export { transformCSS } from "./transformers/css.js";
5
- export { transformSwiftUI } from "./transformers/swiftui.js";
6
- export { transformKotlin } from "./transformers/kotlin.js";
5
+ export { loadTokenSets, discoverTokenFiles, scanSourceFiles } from "./core/token-loader.js";
6
+ export { resolveTokens, parseNumericValue, parseColorValue } from "./core/resolver.js";
7
+ export { buildDebugReport, defaultDebugReportPath } from "./core/debug-report.js";
8
+ export { defaultStatePath, readTransformState, writeTransformState, computeConfigHash, } from "./core/incremental.js";
9
+ export { isMathExpression, evaluateMathExpression } from "./core/math.js";
10
+ export { parseTokenFile } from "./core/token-parser.js";
11
+ export { emitCss } from "./emit/css.js";
12
+ export { emitSwift } from "./emit/swift.js";
13
+ export { emitKotlin } from "./emit/kotlin.js";
14
+ export { emitXml } from "./emit/xml.js";
7
15
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACpF,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAAE,UAAU,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC5F,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACvF,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAClF,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC"}
@@ -1,2 +1,2 @@
1
- import { FlatToken, PlatformConfig } from "../core/types.js";
1
+ import type { FlatToken, PlatformConfig } from "../core/types.js";
2
2
  export declare function transformCSS(tokens: FlatToken[], config: PlatformConfig): string;