@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
package/dist/cli.js CHANGED
@@ -1,160 +1,430 @@
1
1
  #!/usr/bin/env node
2
- import fs from "node:fs";
2
+ import fs from "node:fs/promises";
3
3
  import path from "node:path";
4
- import ora from "ora";
4
+ import { pathToFileURL } from "node:url";
5
+ import { createInterface } from "node:readline/promises";
5
6
  import chalk from "chalk";
7
+ import ora from "ora";
8
+ import { createInitConfigTemplate, loadConfig } from "./config/loader.js";
9
+ import { buildDebugReport, defaultDebugReportPath } from "./core/debug-report.js";
6
10
  import { runTransform, writeOutputFiles } from "./core/writer.js";
7
- import { transformCompositionFile } from "./transformers/vue3.js";
8
- const CONFIG_FILE = "sxl-transform.config.json";
9
- async function main() {
10
- const args = process.argv.slice(2);
11
- const compositionArg = args.find(a => a.startsWith("--composition="))?.split("=")[1];
12
- const compositionOutArg = args.find(a => a.startsWith("--output="))?.split("=")[1];
13
- if (compositionArg) {
14
- return runComposition(compositionArg, compositionOutArg);
15
- }
16
- const configPath = args.find(a => a.startsWith("--config="))?.split("=")[1]
17
- ?? args[args.indexOf("--config") + 1]
18
- ?? CONFIG_FILE;
19
- console.log("");
20
- console.log(chalk.bold.magenta(" ╔═══════════════════════════════════════╗"));
21
- console.log(chalk.bold.magenta(" ║") + chalk.bold.white(" SXL Studio — Token Transformer ") + chalk.bold.magenta("║"));
22
- console.log(chalk.bold.magenta(" ╚═══════════════════════════════════════╝"));
23
- console.log("");
24
- const fullConfigPath = path.resolve(configPath);
25
- if (!fs.existsSync(fullConfigPath)) {
26
- if (args.includes("--init")) {
27
- generateDefaultConfig(fullConfigPath);
28
- return;
11
+ import { defaultStatePath, readTransformState, writeTransformState } from "./core/incremental.js";
12
+ const DEFAULT_CONFIG = "sxl-transform.config.yaml";
13
+ const VERSION = "1.0.0";
14
+ const ACTIONABLE_WARN_CODES = new Set([
15
+ "ALIAS_UNRESOLVED",
16
+ "ALIAS_SYNTAX_INVALID",
17
+ "ALIAS_SYNTAX_AUTOFIXED",
18
+ "TOKEN_PATH_COLLISION",
19
+ "TOKEN_FILE_PARSE_ERROR",
20
+ "PROJECT_CONFIG_UNAVAILABLE",
21
+ ]);
22
+ export async function runCli(argv = process.argv.slice(2)) {
23
+ const parsed = parseArgs(argv);
24
+ if (parsed.command === "help") {
25
+ printHelp();
26
+ return 0;
27
+ }
28
+ if (parsed.command === "version") {
29
+ process.stdout.write(`${VERSION}\n`);
30
+ return 0;
31
+ }
32
+ if (parsed.command === "init") {
33
+ return runInit(parsed);
34
+ }
35
+ if (parsed.command === "validate-config") {
36
+ return runValidateConfig(parsed);
37
+ }
38
+ return runSync(parsed);
39
+ }
40
+ function parseArgs(argv) {
41
+ const aliases = new Map([
42
+ ["-h", "help"],
43
+ ["--help", "help"],
44
+ ["-v", "version"],
45
+ ["--version", "version"],
46
+ ]);
47
+ const known = new Set(["sync", "validate-config", "init", "help", "version"]);
48
+ const normalizedFirst = aliases.get(argv[0] ?? "") ?? argv[0];
49
+ if (normalizedFirst && normalizedFirst.startsWith("-") && normalizedFirst !== "--") {
50
+ const command = aliases.get(normalizedFirst);
51
+ if (command)
52
+ return { command, values: new Map(), flags: new Set() };
53
+ }
54
+ const command = known.has((normalizedFirst ?? ""))
55
+ ? normalizedFirst
56
+ : "sync";
57
+ const args = command === "sync" ? argv : argv.slice(1);
58
+ const values = new Map();
59
+ const flags = new Set();
60
+ for (let i = 0; i < args.length; i += 1) {
61
+ const arg = args[i];
62
+ if (!arg.startsWith("--"))
63
+ continue;
64
+ const eq = arg.indexOf("=");
65
+ if (eq > 0) {
66
+ const key = arg.slice(2, eq);
67
+ const value = arg.slice(eq + 1);
68
+ addValue(values, key, value);
69
+ continue;
70
+ }
71
+ const key = arg.slice(2);
72
+ const next = args[i + 1];
73
+ if (next && !next.startsWith("--")) {
74
+ addValue(values, key, next);
75
+ i += 1;
76
+ }
77
+ else {
78
+ flags.add(key);
29
79
  }
30
- console.log(chalk.red(` Config file not found: ${fullConfigPath}`));
31
- console.log(chalk.dim(` Run with --init to generate a default config.`));
32
- process.exit(1);
33
80
  }
81
+ return { command, values, flags };
82
+ }
83
+ async function runSync(parsed) {
84
+ printHeader("SXL Token Transformer");
85
+ const configPath = resolveConfigPath(parsed);
86
+ const statePath = resolveStatePath(parsed, configPath);
87
+ const mode = resolveRunMode(parsed);
34
88
  const spinner = ora({ text: "Loading config...", color: "magenta" }).start();
35
- let config;
36
89
  try {
37
- config = JSON.parse(fs.readFileSync(fullConfigPath, "utf-8"));
38
- spinner.succeed(chalk.green("Config loaded"));
39
- }
40
- catch (err) {
41
- spinner.fail(chalk.red(`Invalid config: ${err}`));
42
- process.exit(1);
43
- }
44
- const platforms = Object.keys(config.platforms);
45
- console.log(chalk.dim(` Platforms: ${platforms.map(p => chalk.cyan(p)).join(", ")}`));
46
- console.log(chalk.dim(` Source: ${config.source.tokenDir}`));
47
- console.log("");
48
- spinner.start("Parsing tokens...");
49
- const results = await runTransform(config);
50
- const totalTokens = results.reduce((sum, r) => sum + r.tokenCount, 0);
51
- spinner.succeed(chalk.green(`Parsed ${chalk.bold(String(totalTokens))} tokens`));
52
- for (const result of results) {
53
- const allErrors = result.errors;
54
- if (allErrors.length > 0) {
55
- console.log(chalk.yellow(`\n ⚠ ${result.platform} warnings:`));
56
- for (const err of allErrors) {
57
- console.log(chalk.dim(` • ${err}`));
90
+ const config = await loadConfig(configPath);
91
+ spinner.succeed(`Config loaded: ${path.resolve(configPath)}`);
92
+ const stateSpinner = ora({ text: "Loading state...", color: "magenta" }).start();
93
+ const previousState = await readTransformState(statePath);
94
+ if (previousState) {
95
+ stateSpinner.succeed(`State loaded: ${statePath}`);
96
+ }
97
+ else {
98
+ stateSpinner.succeed(`State not found: ${statePath} (first run or force rebuild)`);
99
+ }
100
+ const requestedAction = resolveIssueAction(parsed);
101
+ let effectiveAction = requestedAction === "ask" ? "debug-stop" : requestedAction;
102
+ const transformSpinner = ora({ text: "Transforming tokens...", color: "cyan" }).start();
103
+ let result = await runTransform(config, {
104
+ ...toRunTransformOptions(requestedAction === "ask" ? "debug-stop" : requestedAction),
105
+ mode,
106
+ previousState,
107
+ });
108
+ transformSpinner.succeed(`Prepared ${result.files.length} file(s), removed ${result.removedFiles?.length ?? 0} stale file(s), ` +
109
+ `skipped ${result.meta.skippedOutputCount} output group(s)`);
110
+ if (requestedAction === "ask" && hasActionableIssues(result.diagnostics)) {
111
+ effectiveAction = await promptIssueActionChoice();
112
+ process.stdout.write(`\n ${chalk.cyan("Issue action selected:")} ${chalk.bold(effectiveAction)}\n`);
113
+ if (effectiveAction === "autofix" || effectiveAction === "skip") {
114
+ const rerunSpinner = ora({ text: `Re-running with ${effectiveAction}...`, color: "cyan" }).start();
115
+ result = await runTransform(config, {
116
+ ...toRunTransformOptions(effectiveAction),
117
+ mode,
118
+ previousState,
119
+ });
120
+ rerunSpinner.succeed(`Prepared ${result.files.length} file(s), removed ${result.removedFiles?.length ?? 0} stale file(s)`);
121
+ }
122
+ else if (effectiveAction === "debug-stop" || effectiveAction === "debug-continue") {
123
+ result = await runTransform(config, {
124
+ ...toRunTransformOptions(effectiveAction),
125
+ mode,
126
+ previousState,
127
+ });
58
128
  }
59
129
  }
60
- }
61
- spinner.start("Writing output files...");
62
- const { written, errors: writeErrors } = writeOutputFiles(results);
63
- spinner.succeed(chalk.green(`Written ${chalk.bold(String(written))} files`));
64
- if (writeErrors.length > 0) {
65
- for (const err of writeErrors) {
66
- console.log(chalk.red(` ✗ ${err}`));
130
+ const hasIssues = hasActionableIssues(result.diagnostics);
131
+ const debugReportPath = resolveDebugReportPath(parsed, configPath);
132
+ const mustWriteDebugByAction = hasIssues && (effectiveAction === "debug-stop" ||
133
+ effectiveAction === "debug-continue" ||
134
+ effectiveAction === "autofix" ||
135
+ effectiveAction === "skip");
136
+ const debugRequested = hasFlag(parsed, "debug-report") || getValue(parsed, "debug-report") !== undefined || getValue(parsed, "debug-file") !== undefined;
137
+ const shouldWriteDebugReport = mustWriteDebugByAction || debugRequested;
138
+ if (effectiveAction === "debug-stop" && hasIssues) {
139
+ if (shouldWriteDebugReport) {
140
+ await writeDebugReport(debugReportPath, configPath, effectiveAction, result.diagnostics, result.tokenSets, result.files.map((item) => item.path));
141
+ }
142
+ printIssueActionsHint();
143
+ printDiagnostics(result.diagnostics);
144
+ process.stdout.write("\n");
145
+ if (shouldWriteDebugReport) {
146
+ process.stdout.write(` ${chalk.yellow("Debug report:")} ${debugReportPath}\n`);
147
+ }
148
+ process.stdout.write(`${chalk.red("Transform stopped due to issues.")}\n`);
149
+ return 1;
67
150
  }
68
- }
69
- console.log("");
70
- for (const result of results) {
71
- const icon = platformIcon(result.platform);
72
- console.log(chalk.bold(` ${icon} ${chalk.cyan(result.platform.toUpperCase())}`));
151
+ const writeSpinner = ora({ text: "Writing files...", color: "green" }).start();
152
+ const writeResult = await writeOutputFiles(result.files, result.removedFiles ?? []);
153
+ writeSpinner.succeed(`Written ${writeResult.written} file(s), removed ${writeResult.removed} stale file(s)`);
154
+ const diagnostics = [...result.diagnostics, ...writeResult.diagnostics];
155
+ const hasErrors = diagnostics.some((item) => item.level === "error");
156
+ if (!hasErrors) {
157
+ const stateWriteSpinner = ora({ text: "Saving state...", color: "magenta" }).start();
158
+ await writeTransformState(statePath, result.state);
159
+ stateWriteSpinner.succeed(`State saved: ${statePath}`);
160
+ }
161
+ if (shouldWriteDebugReport) {
162
+ await writeDebugReport(debugReportPath, configPath, effectiveAction, diagnostics, result.tokenSets, result.files.map((item) => item.path));
163
+ }
164
+ printDiagnostics(diagnostics);
165
+ process.stdout.write("\n");
166
+ process.stdout.write(` ${chalk.cyan("Mode:")} ${mode}\n`);
167
+ process.stdout.write(` ${chalk.cyan("Full rebuild:")} ${result.meta.fullRebuild ? "yes" : "no"} (${result.meta.reason})\n`);
168
+ process.stdout.write(` ${chalk.cyan("Changed sources:")} ${result.meta.changedSourceFiles.length}\n`);
169
+ process.stdout.write(` ${chalk.cyan("Removed sources:")} ${result.meta.removedSourceFiles.length}\n`);
170
+ process.stdout.write(` ${chalk.cyan("Affected outputs:")} ${result.meta.affectedOutputIds.length}\n`);
171
+ process.stdout.write(` ${chalk.cyan("Skipped outputs:")} ${result.meta.skippedOutputCount}\n`);
172
+ process.stdout.write("\n");
73
173
  for (const file of result.files) {
74
- console.log(chalk.dim(` → ${file.path} (${file.tokenCount} tokens)`));
174
+ process.stdout.write(` ${chalk.dim("")} ${file.path} ${chalk.dim(`(${file.tokenCount} tokens)`)}\n`);
175
+ }
176
+ for (const staleFile of result.removedFiles ?? []) {
177
+ process.stdout.write(` ${chalk.dim("×")} ${staleFile} ${chalk.dim("(stale removed)")}\n`);
178
+ }
179
+ if (shouldWriteDebugReport) {
180
+ process.stdout.write(`\n ${chalk.yellow("Debug report:")} ${debugReportPath}\n`);
181
+ }
182
+ process.stdout.write("\n");
183
+ if (effectiveAction === "autofix" || effectiveAction === "skip" || effectiveAction === "debug-continue") {
184
+ process.stdout.write(hasErrors ? `${chalk.yellow("Transform completed with issues.")}\n` : `${chalk.green("Transform completed.")}\n`);
185
+ return writeResult.diagnostics.some((item) => item.level === "error") ? 1 : 0;
75
186
  }
187
+ process.stdout.write(hasErrors ? `${chalk.red("Transform completed with errors.")}\n` : `${chalk.green("Transform completed.")}\n`);
188
+ return hasErrors ? 1 : 0;
76
189
  }
77
- console.log("");
78
- console.log(chalk.green.bold(" ✓ Transform complete!"));
79
- console.log("");
80
- }
81
- function runComposition(inputPath, outputDir) {
82
- console.log("");
83
- console.log(chalk.bold.magenta(" ╔═══════════════════════════════════════╗"));
84
- console.log(chalk.bold.magenta(" ║") + chalk.bold.white(" SXL Studio — Composition → Vue 3 ") + chalk.bold.magenta("║"));
85
- console.log(chalk.bold.magenta(" ╚═══════════════════════════════════════╝"));
86
- console.log("");
87
- const fullPath = path.resolve(inputPath);
88
- if (!fs.existsSync(fullPath)) {
89
- console.log(chalk.red(` File not found: ${fullPath}`));
90
- process.exit(1);
190
+ catch (error) {
191
+ spinner.fail(`Failed: ${String(error)}`);
192
+ return 1;
193
+ }
194
+ }
195
+ function toRunTransformOptions(action) {
196
+ if (action === "autofix") {
197
+ return {
198
+ autoFixAliasSyntax: true,
199
+ skipTokensWithIssues: false,
200
+ };
201
+ }
202
+ if (action === "skip") {
203
+ return {
204
+ autoFixAliasSyntax: true,
205
+ skipTokensWithIssues: true,
206
+ };
91
207
  }
92
- const outDir = outputDir ? path.resolve(outputDir) : path.dirname(fullPath);
93
- const spinner = ora({ text: "Transforming composition → Vue 3...", color: "magenta" }).start();
208
+ return {
209
+ autoFixAliasSyntax: false,
210
+ skipTokensWithIssues: false,
211
+ };
212
+ }
213
+ function hasActionableIssues(diagnostics) {
214
+ for (const item of diagnostics) {
215
+ if (item.level === "error")
216
+ return true;
217
+ if (item.level === "warn" && item.code && ACTIONABLE_WARN_CODES.has(item.code))
218
+ return true;
219
+ }
220
+ return false;
221
+ }
222
+ async function promptIssueActionChoice() {
223
+ if (!process.stdin.isTTY || !process.stdout.isTTY) {
224
+ process.stdout.write(`\n ${chalk.yellow("Interactive choice unavailable in non-TTY mode. Using debug-stop.")}\n`);
225
+ return "debug-stop";
226
+ }
227
+ printIssueActionsHint();
228
+ const rl = createInterface({
229
+ input: process.stdin,
230
+ output: process.stdout,
231
+ });
94
232
  try {
95
- const outPath = transformCompositionFile(fullPath, outDir);
96
- spinner.succeed(chalk.green("Composition transformed"));
97
- console.log("");
98
- console.log(chalk.bold(` 🧩 ${chalk.cyan("VUE 3")}`));
99
- console.log(chalk.dim(` → ${outPath}`));
100
- console.log("");
101
- console.log(chalk.green.bold(" ✓ Done!"));
102
- console.log("");
103
- }
104
- catch (err) {
105
- spinner.fail(chalk.red(`Composition transform failed: ${err}`));
106
- process.exit(1);
233
+ const answer = (await rl.question(`\n${chalk.bold("Choose issue action")} [1-4]: `)).trim();
234
+ if (answer === "2")
235
+ return "debug-continue";
236
+ if (answer === "3")
237
+ return "autofix";
238
+ if (answer === "4")
239
+ return "skip";
240
+ return "debug-stop";
241
+ }
242
+ finally {
243
+ rl.close();
107
244
  }
108
245
  }
109
- function platformIcon(platform) {
110
- switch (platform) {
111
- case "css": return "🌐";
112
- case "swiftui": return "🍎";
113
- case "kotlin": return "🤖";
114
- }
115
- }
116
- function generateDefaultConfig(configPath) {
117
- const config = {
118
- source: {
119
- tokenDir: "./tokens",
120
- configFile: "config.json",
121
- exclude: ["config.json", "**/diff-id*.json", "**/composition*"],
122
- },
123
- platforms: {
124
- css: {
125
- outputDir: "./output/css",
126
- prefix: "ds",
127
- resolveAliases: false,
128
- splitEffects: true,
129
- showDescriptions: true,
130
- codeSyntax: {
131
- colorFormat: "hex",
132
- },
133
- },
134
- swiftui: {
135
- outputDir: "./output/ios",
136
- prefix: "DS",
137
- resolveAliases: true,
138
- showDescriptions: true,
139
- },
140
- kotlin: {
141
- outputDir: "./output/android",
142
- prefix: "DS",
143
- resolveAliases: true,
144
- showDescriptions: true,
145
- },
146
- },
147
- settings: {
148
- remBase: 16,
149
- verbose: false,
150
- },
151
- };
152
- fs.writeFileSync(configPath, JSON.stringify(config, null, 2), "utf-8");
153
- console.log(chalk.green(` ✓ Default config generated at: ${configPath}`));
154
- console.log(chalk.dim(` Edit the config and run again.`));
155
- }
156
- main().catch(err => {
157
- console.error(chalk.red(`\n Fatal error: ${err}`));
158
- process.exit(1);
159
- });
246
+ function printIssueActionsHint() {
247
+ process.stdout.write("\n");
248
+ process.stdout.write(` ${chalk.bold("Issue actions:")}\n`);
249
+ process.stdout.write(` ${chalk.cyan("1.")} create debug file and stop\n`);
250
+ process.stdout.write(` ${chalk.cyan("2.")} create debug file and continue\n`);
251
+ process.stdout.write(` ${chalk.cyan("3.")} try auto-fix alias syntax and continue\n`);
252
+ process.stdout.write(` ${chalk.cyan("4.")} skip broken tokens and continue\n`);
253
+ }
254
+ function resolveIssueAction(parsed) {
255
+ const raw = (getValue(parsed, "issue-action") ?? getValue(parsed, "issues") ?? "ask").trim().toLowerCase();
256
+ if (raw === "debug-stop" || raw === "debug-continue" || raw === "autofix" || raw === "skip" || raw === "ask") {
257
+ return raw;
258
+ }
259
+ throw new Error(`Invalid issue action "${raw}". Use one of: ask, debug-stop, debug-continue, autofix, skip`);
260
+ }
261
+ function resolveRunMode(parsed) {
262
+ if (hasFlag(parsed, "force"))
263
+ return "force";
264
+ const raw = (getValue(parsed, "mode") ?? "smart").trim().toLowerCase();
265
+ if (raw === "smart" || raw === "force") {
266
+ return raw;
267
+ }
268
+ throw new Error(`Invalid run mode "${raw}". Use one of: smart, force (or --force)`);
269
+ }
270
+ function resolveStatePath(parsed, configPath) {
271
+ const custom = getValue(parsed, "state-file");
272
+ if (custom)
273
+ return path.resolve(custom);
274
+ return path.resolve(defaultStatePath(configPath));
275
+ }
276
+ async function writeDebugReport(debugPath, configPath, action, diagnostics, tokenSets, generatedFiles) {
277
+ const report = buildDebugReport({
278
+ configPath: path.resolve(configPath),
279
+ action,
280
+ diagnostics,
281
+ tokenSets,
282
+ generatedFiles,
283
+ });
284
+ await fs.mkdir(path.dirname(debugPath), { recursive: true });
285
+ await fs.writeFile(debugPath, report, "utf-8");
286
+ }
287
+ function resolveDebugReportPath(parsed, configPath) {
288
+ const fromDebugFile = getValue(parsed, "debug-file");
289
+ if (fromDebugFile)
290
+ return path.resolve(fromDebugFile);
291
+ const fromDebugReport = getValue(parsed, "debug-report");
292
+ if (fromDebugReport)
293
+ return path.resolve(fromDebugReport);
294
+ return path.resolve(defaultDebugReportPath(configPath));
295
+ }
296
+ async function runValidateConfig(parsed) {
297
+ printHeader("Validate Transformer Config");
298
+ const configPath = resolveConfigPath(parsed);
299
+ const spinner = ora({ text: "Validating config...", color: "magenta" }).start();
300
+ try {
301
+ await loadConfig(configPath);
302
+ spinner.succeed(`Config is valid: ${path.resolve(configPath)}`);
303
+ return 0;
304
+ }
305
+ catch (error) {
306
+ spinner.fail(`Config is invalid: ${String(error)}`);
307
+ return 1;
308
+ }
309
+ }
310
+ async function runInit(parsed) {
311
+ printHeader("Init Transformer Config");
312
+ const targetPath = path.resolve(getValue(parsed, "path") ?? getValue(parsed, "config") ?? DEFAULT_CONFIG);
313
+ const force = hasFlag(parsed, "force");
314
+ try {
315
+ if (!force) {
316
+ await fs.access(targetPath);
317
+ process.stderr.write(`Config already exists: ${targetPath}. Use --force to overwrite.\n`);
318
+ return 1;
319
+ }
320
+ }
321
+ catch {
322
+ // no-op
323
+ }
324
+ const content = createInitConfigTemplate();
325
+ await fs.mkdir(path.dirname(targetPath), { recursive: true });
326
+ await fs.writeFile(targetPath, content, "utf-8");
327
+ process.stdout.write(`Created: ${targetPath}\n`);
328
+ return 0;
329
+ }
330
+ function resolveConfigPath(parsed) {
331
+ return getValue(parsed, "config") ?? DEFAULT_CONFIG;
332
+ }
333
+ function printHeader(title) {
334
+ process.stdout.write("\n");
335
+ process.stdout.write(chalk.bold.magenta(" ╔═══════════════════════════════════════╗") + "\n");
336
+ process.stdout.write(chalk.bold.magenta(" ║") + chalk.bold.white(` ${title.padEnd(33)} `) + chalk.bold.magenta("║") + "\n");
337
+ process.stdout.write(chalk.bold.magenta(" ╚═══════════════════════════════════════╝") + "\n");
338
+ process.stdout.write("\n");
339
+ }
340
+ function printDiagnostics(diagnostics) {
341
+ const relevant = diagnostics.filter((item) => item.level === "error" || item.level === "warn");
342
+ if (relevant.length === 0)
343
+ return;
344
+ const grouped = new Map();
345
+ for (const item of relevant) {
346
+ const level = item.level === "error" ? "error" : "warn";
347
+ const code = item.code ?? "UNKNOWN";
348
+ const key = `${level}|${code}|${item.message}`;
349
+ const current = grouped.get(key);
350
+ if (current) {
351
+ current.count += 1;
352
+ continue;
353
+ }
354
+ grouped.set(key, {
355
+ level,
356
+ code,
357
+ message: item.message,
358
+ count: 1,
359
+ });
360
+ }
361
+ const rows = [...grouped.values()].sort((a, b) => {
362
+ if (a.level !== b.level)
363
+ return a.level === "error" ? -1 : 1;
364
+ if (a.count !== b.count)
365
+ return b.count - a.count;
366
+ return a.code.localeCompare(b.code);
367
+ });
368
+ const limit = 40;
369
+ process.stdout.write("\n");
370
+ for (const row of rows.slice(0, limit)) {
371
+ const icon = row.level === "error" ? chalk.red("✗") : chalk.yellow("⚠");
372
+ const countPart = row.count > 1 ? chalk.dim(` (x${row.count})`) : "";
373
+ process.stdout.write(` ${icon} [${row.code}] ${row.message}${countPart}\n`);
374
+ }
375
+ if (rows.length > limit) {
376
+ process.stdout.write(` ${chalk.dim(`... ${rows.length - limit} more unique diagnostic(s)`)}\n`);
377
+ }
378
+ }
379
+ function printHelp() {
380
+ process.stdout.write(`
381
+ SXL Token Transformer
382
+
383
+ Usage:
384
+ sxl-transform [sync] [--config <path>] [--mode <smart|force>] [--force] [--state-file <path>] [--issue-action <mode>] [--debug-report [path]]
385
+ sxl-transform validate-config [--config <path>]
386
+ sxl-transform init [--path <path>] [--force]
387
+ sxl-transform help
388
+ sxl-transform version
389
+
390
+ Issue Modes:
391
+ ask Prompt to choose action when issues are found
392
+ debug-stop Create debug report and stop without writing outputs
393
+ debug-continue Create debug report and continue writing outputs
394
+ autofix Auto-fix simple alias syntax issues and continue
395
+ skip Skip tokens with alias/syntax issues and continue
396
+
397
+ Notes:
398
+ - Default run mode is smart incremental rebuild.
399
+ - Use --force for full rebuild.
400
+ - State file defaults to <config-name>.state.json.
401
+ - Config format is YAML only.
402
+ - JSON config is no longer supported.
403
+ `);
404
+ }
405
+ function addValue(values, key, value) {
406
+ const current = values.get(key) ?? [];
407
+ current.push(value);
408
+ values.set(key, current);
409
+ }
410
+ function getValue(parsed, key) {
411
+ return parsed.values.get(key)?.[0];
412
+ }
413
+ function hasFlag(parsed, key) {
414
+ return parsed.flags.has(key);
415
+ }
416
+ const isDirectRun = (() => {
417
+ const entry = process.argv[1];
418
+ if (!entry)
419
+ return false;
420
+ return pathToFileURL(entry).href === import.meta.url;
421
+ })();
422
+ if (isDirectRun) {
423
+ runCli().then((code) => {
424
+ process.exit(code);
425
+ }).catch((error) => {
426
+ process.stderr.write(`Fatal error: ${String(error)}\n`);
427
+ process.exit(1);
428
+ });
429
+ }
160
430
  //# sourceMappingURL=cli.js.map
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { ResolvedTransformerConfig } from "../core/types.js";
2
+ export type LoadConfigOptions = {
3
+ workspaceRoot?: string;
4
+ };
5
+ export declare function loadConfig(configPath: string, options?: LoadConfigOptions): Promise<ResolvedTransformerConfig>;
6
+ export declare function createInitConfigTemplate(): string;