@ikas/component-cli 2.3.0 → 2.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.
Files changed (100) hide show
  1. package/dist/commands/add-sections-to-page.d.ts +3 -0
  2. package/dist/commands/add-sections-to-page.d.ts.map +1 -0
  3. package/dist/commands/add-sections-to-page.js +39 -0
  4. package/dist/commands/add-sections-to-page.js.map +1 -0
  5. package/dist/commands/build.d.ts.map +1 -1
  6. package/dist/commands/build.js +5 -165
  7. package/dist/commands/build.js.map +1 -1
  8. package/dist/commands/create-design-tokens.d.ts +7 -0
  9. package/dist/commands/create-design-tokens.d.ts.map +1 -0
  10. package/dist/commands/create-design-tokens.js +127 -0
  11. package/dist/commands/create-design-tokens.js.map +1 -0
  12. package/dist/commands/create-global-variable.d.ts +3 -0
  13. package/dist/commands/create-global-variable.d.ts.map +1 -0
  14. package/dist/commands/create-global-variable.js +53 -0
  15. package/dist/commands/create-global-variable.js.map +1 -0
  16. package/dist/commands/create-page.d.ts +3 -0
  17. package/dist/commands/create-page.d.ts.map +1 -0
  18. package/dist/commands/create-page.js +31 -0
  19. package/dist/commands/create-page.js.map +1 -0
  20. package/dist/commands/delete-theme-globals.d.ts +4 -0
  21. package/dist/commands/delete-theme-globals.d.ts.map +1 -0
  22. package/dist/commands/delete-theme-globals.js +48 -0
  23. package/dist/commands/delete-theme-globals.js.map +1 -0
  24. package/dist/commands/get-component-props.d.ts +3 -0
  25. package/dist/commands/get-component-props.d.ts.map +1 -0
  26. package/dist/commands/get-component-props.js +32 -0
  27. package/dist/commands/get-component-props.js.map +1 -0
  28. package/dist/commands/get-page-by-type.d.ts +3 -0
  29. package/dist/commands/get-page-by-type.d.ts.map +1 -0
  30. package/dist/commands/get-page-by-type.js +25 -0
  31. package/dist/commands/get-page-by-type.js.map +1 -0
  32. package/dist/commands/get-section-values.d.ts +3 -0
  33. package/dist/commands/get-section-values.d.ts.map +1 -0
  34. package/dist/commands/get-section-values.js +39 -0
  35. package/dist/commands/get-section-values.js.map +1 -0
  36. package/dist/commands/list-entities.d.ts +3 -0
  37. package/dist/commands/list-entities.d.ts.map +1 -0
  38. package/dist/commands/list-entities.js +32 -0
  39. package/dist/commands/list-entities.js.map +1 -0
  40. package/dist/commands/list-page-sections.d.ts +3 -0
  41. package/dist/commands/list-page-sections.d.ts.map +1 -0
  42. package/dist/commands/list-page-sections.js +25 -0
  43. package/dist/commands/list-page-sections.js.map +1 -0
  44. package/dist/commands/list-theme-globals.d.ts +3 -0
  45. package/dist/commands/list-theme-globals.d.ts.map +1 -0
  46. package/dist/commands/list-theme-globals.js +22 -0
  47. package/dist/commands/list-theme-globals.js.map +1 -0
  48. package/dist/commands/publish-theme.d.ts +3 -0
  49. package/dist/commands/publish-theme.d.ts.map +1 -0
  50. package/dist/commands/publish-theme.js +29 -0
  51. package/dist/commands/publish-theme.js.map +1 -0
  52. package/dist/commands/search-products.d.ts +3 -0
  53. package/dist/commands/search-products.d.ts.map +1 -0
  54. package/dist/commands/search-products.js +40 -0
  55. package/dist/commands/search-products.js.map +1 -0
  56. package/dist/commands/update-global-variable.d.ts +3 -0
  57. package/dist/commands/update-global-variable.d.ts.map +1 -0
  58. package/dist/commands/update-global-variable.js +47 -0
  59. package/dist/commands/update-global-variable.js.map +1 -0
  60. package/dist/commands/update-page-sections.d.ts +3 -0
  61. package/dist/commands/update-page-sections.d.ts.map +1 -0
  62. package/dist/commands/update-page-sections.js +39 -0
  63. package/dist/commands/update-page-sections.js.map +1 -0
  64. package/dist/commands/update-section-prop.d.ts +3 -0
  65. package/dist/commands/update-section-prop.d.ts.map +1 -0
  66. package/dist/commands/update-section-prop.js +59 -0
  67. package/dist/commands/update-section-prop.js.map +1 -0
  68. package/dist/commands/upload-image.d.ts +3 -0
  69. package/dist/commands/upload-image.d.ts.map +1 -0
  70. package/dist/commands/upload-image.js +38 -0
  71. package/dist/commands/upload-image.js.map +1 -0
  72. package/dist/commands/upload-images.d.ts +3 -0
  73. package/dist/commands/upload-images.d.ts.map +1 -0
  74. package/dist/commands/upload-images.js +48 -0
  75. package/dist/commands/upload-images.js.map +1 -0
  76. package/dist/index.d.ts.map +1 -1
  77. package/dist/index.js +26 -0
  78. package/dist/index.js.map +1 -1
  79. package/dist/types.d.ts +1 -1
  80. package/dist/types.d.ts.map +1 -1
  81. package/dist/utils/compile.d.ts +4 -1
  82. package/dist/utils/compile.d.ts.map +1 -1
  83. package/dist/utils/compile.js +517 -48
  84. package/dist/utils/compile.js.map +1 -1
  85. package/dist/utils/component-helpers.d.ts +1 -1
  86. package/dist/utils/component-helpers.d.ts.map +1 -1
  87. package/dist/utils/component-helpers.js +4 -0
  88. package/dist/utils/component-helpers.js.map +1 -1
  89. package/dist/utils/editor-action-client.d.ts +1 -1
  90. package/dist/utils/editor-action-client.d.ts.map +1 -1
  91. package/dist/utils/editor-action-client.js +23 -8
  92. package/dist/utils/editor-action-client.js.map +1 -1
  93. package/dist/utils/load-image.d.ts +16 -0
  94. package/dist/utils/load-image.d.ts.map +1 -0
  95. package/dist/utils/load-image.js +50 -0
  96. package/dist/utils/load-image.js.map +1 -0
  97. package/dist/utils/websocket-server.d.ts +2 -2
  98. package/dist/utils/websocket-server.d.ts.map +1 -1
  99. package/dist/utils/websocket-server.js.map +1 -1
  100. package/package.json +1 -1
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare function createAddSectionsToPageCommand(): Command;
3
+ //# sourceMappingURL=add-sections-to-page.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-sections-to-page.d.ts","sourceRoot":"","sources":["../../src/commands/add-sections-to-page.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA+CpC,wBAAgB,8BAA8B,IAAI,OAAO,CAcxD"}
@@ -0,0 +1,39 @@
1
+ import { Command } from "commander";
2
+ import { printErrorAndExit, printResultAndExit, runEditorAction, } from "../utils/editor-action-client.js";
3
+ async function runAddSectionsToPage(options) {
4
+ if (!options.pageId || typeof options.pageId !== "string") {
5
+ printErrorAndExit(new Error("--page-id is required (use `ikas-component list-pages`)"));
6
+ }
7
+ if (options.sections === undefined) {
8
+ printErrorAndExit(new Error('--sections is required: a JSON array, e.g. \'[{"componentId":"<id>","updates":[{"propName":"heading","value":{"value":"Hi"}}]}]\''));
9
+ }
10
+ let sections;
11
+ try {
12
+ sections = JSON.parse(options.sections);
13
+ }
14
+ catch {
15
+ printErrorAndExit(new Error(`--sections must be valid JSON. Received: ${options.sections}`));
16
+ }
17
+ if (!Array.isArray(sections) || sections.length === 0) {
18
+ printErrorAndExit(new Error("--sections must be a non-empty JSON array of { componentId, index?, updates? } objects."));
19
+ }
20
+ const port = options.port ? parseInt(options.port, 10) : undefined;
21
+ try {
22
+ const result = await runEditorAction("add-sections-to-page", { pageId: options.pageId, sections }, { ...(port ? { port } : {}), timeoutMs: 30_000 });
23
+ printResultAndExit(result);
24
+ }
25
+ catch (e) {
26
+ printErrorAndExit(e);
27
+ }
28
+ }
29
+ export function createAddSectionsToPageCommand() {
30
+ const cmd = new Command("add-sections-to-page");
31
+ cmd
32
+ .description("Place MANY sections on a page in one call, each optionally with its prop values set at placement time. --sections is a JSON array of { componentId, index?, updates?: [{ propId|propName, value }] }. Returns the new elementId for each placement. Built-but-unimported section/child components are auto-imported.")
33
+ .requiredOption("--page-id <id>", "Page id (from `ikas-component list-pages`)")
34
+ .requiredOption("--sections <json>", 'JSON array, e.g. \'[{"componentId":"<id>","updates":[{"propName":"heading","value":{"value":"Hi"}}]}]\'')
35
+ .option("--port <port>", "Dev server WebSocket port", "5201")
36
+ .action(runAddSectionsToPage);
37
+ return cmd;
38
+ }
39
+ //# sourceMappingURL=add-sections-to-page.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-sections-to-page.js","sourceRoot":"","sources":["../../src/commands/add-sections-to-page.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,GAChB,MAAM,kCAAkC,CAAC;AAQ1C,KAAK,UAAU,oBAAoB,CAAC,OAAiC;IACnE,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC1D,iBAAiB,CAAC,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC,CAAC;IAC1F,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACnC,iBAAiB,CACf,IAAI,KAAK,CACP,mIAAmI,CACpI,CACF,CAAC;IACJ,CAAC;IACD,IAAI,QAAiB,CAAC;IACtB,IAAI,CAAC;QACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,iBAAiB,CAAC,IAAI,KAAK,CAAC,4CAA4C,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC/F,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtD,iBAAiB,CAAC,IAAI,KAAK,CAAC,yFAAyF,CAAC,CAAC,CAAC;IAC1H,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACnE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,eAAe,CAClC,sBAAsB,EACtB,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,EACpC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CACjD,CAAC;QACF,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,iBAAiB,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,8BAA8B;IAC5C,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAChD,GAAG;SACA,WAAW,CACV,sTAAsT,CACvT;SACA,cAAc,CAAC,gBAAgB,EAAE,4CAA4C,CAAC;SAC9E,cAAc,CACb,mBAAmB,EACnB,yGAAyG,CAC1G;SACA,MAAM,CAAC,eAAe,EAAE,2BAA2B,EAAE,MAAM,CAAC;SAC5D,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAChC,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqTpC,wBAAgB,kBAAkB,IAAI,OAAO,CAK5C"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmIpC,wBAAgB,kBAAkB,IAAI,OAAO,CAK5C"}
@@ -2,172 +2,12 @@ import { Command } from "commander";
2
2
  import chalk from "chalk";
3
3
  import ora from "ora";
4
4
  import * as fs from "fs";
5
- import * as os from "os";
6
5
  import * as path from "path";
7
- import * as esbuild from "esbuild";
8
6
  import { execSync } from "child_process";
9
- import { resolveCssImports } from "../utils/css-import-resolver.js";
10
- import { ikasComponentUtilsPlugin } from "../utils/observer-runtime.js";
11
- const PREACT_JSX_SHIM = path.join(os.tmpdir(), "ikas-preact-jsx-shim.mjs");
12
- fs.writeFileSync(PREACT_JSX_SHIM, 'export{h,Fragment}from"preact";\n');
13
- async function compileComponent(componentId, entryPath, stylesPath) {
14
- const componentDir = path.dirname(path.resolve(process.cwd(), entryPath));
15
- try {
16
- // Build server bundle (for SSR with preact-render-to-string)
17
- const serverResult = await esbuild.build({
18
- entryPoints: [path.resolve(process.cwd(), entryPath)],
19
- bundle: true,
20
- format: "esm",
21
- platform: "node",
22
- target: "node18",
23
- write: false,
24
- external: [
25
- "preact",
26
- "preact/hooks",
27
- "preact-render-to-string",
28
- "mobx",
29
- "@ikas/bp-storefront",
30
- "@ikas/bp-storefront-models",
31
- "@ikas/bp-storefront-config",
32
- "@ikas/bp-storefront-api"
33
- ],
34
- plugins: [ikasComponentUtilsPlugin()],
35
- jsx: "transform",
36
- jsxFactory: "h",
37
- jsxFragment: "Fragment",
38
- inject: [PREACT_JSX_SHIM],
39
- tsconfigRaw: {
40
- compilerOptions: {
41
- jsx: "react",
42
- jsxFactory: "h",
43
- jsxFragmentFactory: "Fragment"
44
- }
45
- },
46
- minify: true,
47
- sourcemap: false,
48
- });
49
- // Build client bundle (for hydration)
50
- const clientResult = await esbuild.build({
51
- entryPoints: [path.resolve(process.cwd(), entryPath)],
52
- bundle: true,
53
- format: "esm",
54
- platform: "browser",
55
- target: "es2020",
56
- write: false,
57
- external: [
58
- "preact",
59
- "preact/hooks",
60
- "mobx",
61
- "@ikas/bp-storefront",
62
- "@ikas/bp-storefront-models",
63
- "@ikas/bp-storefront-config"
64
- ],
65
- plugins: [ikasComponentUtilsPlugin()],
66
- jsx: "transform",
67
- jsxFactory: "h",
68
- jsxFragment: "Fragment",
69
- inject: [PREACT_JSX_SHIM],
70
- tsconfigRaw: {
71
- compilerOptions: {
72
- jsx: "react",
73
- jsxFactory: "h",
74
- jsxFragmentFactory: "Fragment"
75
- }
76
- },
77
- minify: true,
78
- sourcemap: false,
79
- });
80
- // Read and scope CSS (with import resolution)
81
- const cssPath = path.resolve(process.cwd(), stylesPath);
82
- let css = "";
83
- if (fs.existsSync(cssPath)) {
84
- const rawCss = fs.readFileSync(cssPath, "utf-8");
85
- css = resolveCssImports(rawCss, cssPath);
86
- }
87
- // Scope CSS with component ID prefix
88
- const scopedCss = scopeCSS(css, componentId);
89
- return {
90
- success: true,
91
- serverJs: serverResult.outputFiles[0]?.text || "",
92
- clientJs: clientResult.outputFiles[0]?.text || "",
93
- scopedCss
94
- };
95
- }
96
- catch (error) {
97
- return {
98
- success: false,
99
- serverJs: "",
100
- clientJs: "",
101
- scopedCss: "",
102
- error: error instanceof Error ? error.message : String(error)
103
- };
104
- }
105
- }
106
- function scopeCSS(css, componentId) {
107
- // Add a scoping class to all selectors
108
- const scopeClass = `cc_${componentId.replace(/[^a-zA-Z0-9]/g, "_")}`;
109
- // Simple CSS scoping - prepend scope class to each rule
110
- // This is a basic implementation; a production version would use a proper CSS parser
111
- const lines = css.split("\n");
112
- const scopedLines = [];
113
- let inMediaQuery = false;
114
- let keyframesDepth = 0;
115
- for (const line of lines) {
116
- const trimmed = line.trim();
117
- // Skip empty lines
118
- if (!trimmed) {
119
- scopedLines.push(line);
120
- continue;
121
- }
122
- // Handle @media queries
123
- if (trimmed.startsWith("@media")) {
124
- inMediaQuery = true;
125
- scopedLines.push(line);
126
- continue;
127
- }
128
- // Handle @keyframes
129
- if (trimmed.startsWith("@keyframes") || trimmed.startsWith("@-webkit-keyframes")) {
130
- keyframesDepth = 1;
131
- scopedLines.push(line);
132
- continue;
133
- }
134
- // Inside @keyframes: track brace depth, pass lines through unscoped
135
- if (keyframesDepth > 0) {
136
- for (const ch of trimmed) {
137
- if (ch === "{")
138
- keyframesDepth++;
139
- else if (ch === "}")
140
- keyframesDepth--;
141
- }
142
- scopedLines.push(line);
143
- continue;
144
- }
145
- // Handle closing braces for @media
146
- if (trimmed === "}" && inMediaQuery) {
147
- inMediaQuery = false;
148
- scopedLines.push(line);
149
- continue;
150
- }
151
- // Skip lines that don't contain selectors
152
- if (!trimmed.includes("{") || trimmed.startsWith("@")) {
153
- scopedLines.push(line);
154
- continue;
155
- }
156
- // Scope the selector
157
- const [selector, rest] = line.split("{");
158
- if (selector && rest !== undefined) {
159
- const scopedSelector = selector
160
- .split(",")
161
- .map((s) => `.${scopeClass} ${s.trim()}`)
162
- .join(", ");
163
- scopedLines.push(`${scopedSelector} {${rest}`);
164
- }
165
- else {
166
- scopedLines.push(line);
167
- }
168
- }
169
- return scopedLines.join("\n");
170
- }
7
+ // Single-source the per-component compile pipeline (esbuild config, externals, CSS
8
+ // scoping) from utils/compile.ts. This command previously carried its own copy, which
9
+ // is how the CSS-scoping fix could land in one place and not the other — keep it shared.
10
+ import { compileComponent } from "../utils/compile.js";
171
11
  function runTypeCheck() {
172
12
  const spinner = ora("Type checking with TypeScript...").start();
173
13
  try {
@@ -213,7 +53,7 @@ async function buildComponents(options) {
213
53
  // Build each component
214
54
  for (const component of config.components) {
215
55
  const spinner = ora(`Building ${component.name}...`).start();
216
- const result = await compileComponent(component.id, component.entry, component.styles);
56
+ const result = await compileComponent(component.entry, component.styles, component.id);
217
57
  if (result.success) {
218
58
  // Write output files
219
59
  const componentOutDir = path.join(outputPath, component.id);
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { Command } from "commander";
2
+ export declare function createCreateColorCommand(): Command;
3
+ export declare function createCreateTextStyleCommand(): Command;
4
+ export declare function createCreateBreakpointCommand(): Command;
5
+ export declare function createCreateKeyframeCommand(): Command;
6
+ export declare function createCreateColorSchemeCommand(): Command;
7
+ //# sourceMappingURL=create-design-tokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-design-tokens.d.ts","sourceRoot":"","sources":["../../src/commands/create-design-tokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqCpC,wBAAgB,wBAAwB,IAAI,OAAO,CAYlD;AAID,wBAAgB,4BAA4B,IAAI,OAAO,CA4BtD;AAID,wBAAgB,6BAA6B,IAAI,OAAO,CAevD;AAID,wBAAgB,2BAA2B,IAAI,OAAO,CAiBrD;AAID,wBAAgB,8BAA8B,IAAI,OAAO,CAexD"}
@@ -0,0 +1,127 @@
1
+ import { Command } from "commander";
2
+ import { printErrorAndExit, printResultAndExit, runEditorAction } from "../utils/editor-action-client.js";
3
+ function portOpts(options) {
4
+ const port = options.port ? parseInt(options.port, 10) : undefined;
5
+ return port ? { port } : {};
6
+ }
7
+ async function send(payload, options) {
8
+ try {
9
+ const result = await runEditorAction("create-design-token", payload, portOpts(options));
10
+ printResultAndExit(result);
11
+ }
12
+ catch (e) {
13
+ printErrorAndExit(e);
14
+ }
15
+ }
16
+ /** Parse a `--…` flag expected to be a JSON array; emit a JSON error on failure. */
17
+ function parseJsonArray(raw, flag) {
18
+ if (!raw)
19
+ printErrorAndExit(new Error(`${flag} is required (a JSON array)`));
20
+ let parsed;
21
+ try {
22
+ parsed = JSON.parse(raw);
23
+ }
24
+ catch {
25
+ printErrorAndExit(new Error(`${flag} must be valid JSON`));
26
+ }
27
+ if (!Array.isArray(parsed) || parsed.length === 0) {
28
+ printErrorAndExit(new Error(`${flag} must be a non-empty JSON array`));
29
+ }
30
+ return parsed;
31
+ }
32
+ // ---- color -----------------------------------------------------------------
33
+ export function createCreateColorCommand() {
34
+ const cmd = new Command("create-color");
35
+ cmd
36
+ .description("Create a theme color token in the connected editor")
37
+ .requiredOption("--name <name>", "Color name")
38
+ .requiredOption("--value <hex>", "Color value, e.g. #ff0000")
39
+ .option("--port <port>", "Dev server WebSocket port", "5201")
40
+ .action((options) => {
41
+ if (!options.value)
42
+ printErrorAndExit(new Error("--value is required"));
43
+ return send({ tokenType: "color", name: options.name, value: options.value }, options);
44
+ });
45
+ return cmd;
46
+ }
47
+ // ---- typography (text style) -----------------------------------------------
48
+ export function createCreateTextStyleCommand() {
49
+ const cmd = new Command("create-text-style");
50
+ cmd
51
+ .description("Create a theme typography token (text style) in the connected editor")
52
+ .requiredOption("--name <name>", "Text style name")
53
+ .option("--font-family <value>", "font-family")
54
+ .option("--font-size <value>", "font-size, e.g. 16px")
55
+ .option("--font-weight <value>", "font-weight, e.g. 600")
56
+ .option("--line-height <value>", "line-height, e.g. 1.5")
57
+ .option("--letter-spacing <value>", "letter-spacing, e.g. 0.5px")
58
+ .option("--port <port>", "Dev server WebSocket port", "5201")
59
+ .action((options) => {
60
+ const map = {
61
+ "font-family": options.fontFamily,
62
+ "font-size": options.fontSize,
63
+ "font-weight": options.fontWeight,
64
+ "line-height": options.lineHeight,
65
+ "letter-spacing": options.letterSpacing,
66
+ };
67
+ const styles = Object.entries(map)
68
+ .filter(([, value]) => value != null)
69
+ .map(([property, value]) => ({ property, value }));
70
+ if (!styles.length) {
71
+ printErrorAndExit(new Error("Provide at least one of --font-family/--font-size/--font-weight/--line-height/--letter-spacing"));
72
+ }
73
+ return send({ tokenType: "typography", name: options.name, styles }, options);
74
+ });
75
+ return cmd;
76
+ }
77
+ // ---- breakpoint ------------------------------------------------------------
78
+ export function createCreateBreakpointCommand() {
79
+ const cmd = new Command("create-breakpoint");
80
+ cmd
81
+ .description("Create a theme breakpoint in the connected editor")
82
+ .requiredOption("--name <name>", "Breakpoint name")
83
+ .requiredOption("--width <px>", "Breakpoint width in pixels")
84
+ .option("--port <port>", "Dev server WebSocket port", "5201")
85
+ .action((options) => {
86
+ const width = Number(options.width);
87
+ if (!Number.isFinite(width) || width <= 0) {
88
+ printErrorAndExit(new Error("--width must be a positive number"));
89
+ }
90
+ return send({ tokenType: "breakpoint", name: options.name, width }, options);
91
+ });
92
+ return cmd;
93
+ }
94
+ // ---- keyframe --------------------------------------------------------------
95
+ export function createCreateKeyframeCommand() {
96
+ const cmd = new Command("create-keyframe");
97
+ cmd
98
+ .description("Create a theme keyframe/transition animation in the connected editor")
99
+ .requiredOption("--name <name>", "Keyframe name")
100
+ .option("--type <type>", "keyframe | transition", "keyframe")
101
+ .requiredOption("--points <json>", 'JSON array of points, e.g. \'[{"point":"0%","styles":[{"property":"opacity","value":0}]}]\'')
102
+ .option("--port <port>", "Dev server WebSocket port", "5201")
103
+ .action((options) => {
104
+ const type = (options.type ?? "keyframe").toLowerCase();
105
+ if (type !== "keyframe" && type !== "transition") {
106
+ printErrorAndExit(new Error('--type must be "keyframe" or "transition"'));
107
+ }
108
+ const points = parseJsonArray(options.points, "--points");
109
+ return send({ tokenType: "keyframe", name: options.name, keyframeType: type, points }, options);
110
+ });
111
+ return cmd;
112
+ }
113
+ // ---- color scheme ----------------------------------------------------------
114
+ export function createCreateColorSchemeCommand() {
115
+ const cmd = new Command("create-color-scheme");
116
+ cmd
117
+ .description("Create a theme color scheme (palette) with its colors in the connected editor")
118
+ .requiredOption("--name <name>", "Color scheme name")
119
+ .requiredOption("--colors <json>", 'JSON array of { key, value } — key is the color slot name, e.g. \'[{"key":"Background","value":"#ffffff"},{"key":"Text","value":"#111111"}]\'. Slots are created if missing.')
120
+ .option("--port <port>", "Dev server WebSocket port", "5201")
121
+ .action((options) => {
122
+ const colors = parseJsonArray(options.colors, "--colors");
123
+ return send({ tokenType: "colorScheme", name: options.name, colors }, options);
124
+ });
125
+ return cmd;
126
+ }
127
+ //# sourceMappingURL=create-design-tokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-design-tokens.js","sourceRoot":"","sources":["../../src/commands/create-design-tokens.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare function createCreateGlobalVariableCommand(): Command;
3
+ //# sourceMappingURL=create-global-variable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-global-variable.d.ts","sourceRoot":"","sources":["../../src/commands/create-global-variable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuDpC,wBAAgB,iCAAiC,IAAI,OAAO,CAc3D"}
@@ -0,0 +1,53 @@
1
+ import { Command } from "commander";
2
+ import { printErrorAndExit, printResultAndExit, runEditorAction } from "../utils/editor-action-client.js";
3
+ const VALID_TYPES = ["TEXT", "RICH_TEXT", "IMAGE", "COLOR", "NUMBER", "BOOLEAN", "BORDER", "SHADOW"];
4
+ /**
5
+ * Parse a `--value` flag: accept JSON (for objects/null/numbers/booleans), and
6
+ * fall back to the raw string for convenience (so `--value "#ff0000"` works).
7
+ */
8
+ function parseValue(raw) {
9
+ if (raw == null)
10
+ return null;
11
+ try {
12
+ return JSON.parse(raw);
13
+ }
14
+ catch {
15
+ return raw;
16
+ }
17
+ }
18
+ async function runCreateGlobalVariable(options) {
19
+ const { displayName, type } = options;
20
+ if (!displayName) {
21
+ printErrorAndExit(new Error("--display-name is required"));
22
+ }
23
+ if (!type || !VALID_TYPES.includes(type)) {
24
+ printErrorAndExit(new Error(`--type must be one of: ${VALID_TYPES.join(", ")}`));
25
+ }
26
+ const port = options.port ? parseInt(options.port, 10) : undefined;
27
+ try {
28
+ const result = await runEditorAction("create-global-variable", {
29
+ displayName,
30
+ type,
31
+ value: parseValue(options.value),
32
+ ...(options.groupId ? { groupId: options.groupId } : {}),
33
+ }, port ? { port } : {});
34
+ printResultAndExit(result);
35
+ }
36
+ catch (e) {
37
+ printErrorAndExit(e);
38
+ }
39
+ }
40
+ export function createCreateGlobalVariableCommand() {
41
+ const cmd = new Command("create-global-variable");
42
+ cmd
43
+ .description("Create a global variable (Theme Settings) in the connected editor. The runtime key is " +
44
+ "auto-generated; read it back with `list-theme-globals`.")
45
+ .requiredOption("--display-name <name>", "Human-facing label for the variable")
46
+ .requiredOption("--type <type>", `Value type: ${VALID_TYPES.join(" | ")}`)
47
+ .option("--value <json>", "Default value (JSON for objects/null; plain string also accepted)")
48
+ .option("--group-id <id>", "Existing group id to place the variable under")
49
+ .option("--port <port>", "Dev server WebSocket port", "5201")
50
+ .action(runCreateGlobalVariable);
51
+ return cmd;
52
+ }
53
+ //# sourceMappingURL=create-global-variable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-global-variable.js","sourceRoot":"","sources":["../../src/commands/create-global-variable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAE1G,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAUrG;;;GAGG;AACH,SAAS,UAAU,CAAC,GAAY;IAC9B,IAAI,GAAG,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IAC7B,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,CAAC;IACb,CAAC;AACH,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,OAAoC;IACzE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAEtC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,iBAAiB,CAAC,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,iBAAiB,CAAC,IAAI,KAAK,CAAC,0BAA0B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IACnF,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACnE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,eAAe,CAClC,wBAAwB,EACxB;YACE,WAAW;YACX,IAAI;YACJ,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC;YAChC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzD,EACD,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CACrB,CAAC;QACF,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,iBAAiB,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iCAAiC;IAC/C,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAClD,GAAG;SACA,WAAW,CACV,wFAAwF;QACtF,yDAAyD,CAC5D;SACA,cAAc,CAAC,uBAAuB,EAAE,qCAAqC,CAAC;SAC9E,cAAc,CAAC,eAAe,EAAE,eAAe,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;SACzE,MAAM,CAAC,gBAAgB,EAAE,mEAAmE,CAAC;SAC7F,MAAM,CAAC,iBAAiB,EAAE,+CAA+C,CAAC;SAC1E,MAAM,CAAC,eAAe,EAAE,2BAA2B,EAAE,MAAM,CAAC;SAC5D,MAAM,CAAC,uBAAuB,CAAC,CAAC;IACnC,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare function createCreatePageCommand(): Command;
3
+ //# sourceMappingURL=create-page.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-page.d.ts","sourceRoot":"","sources":["../../src/commands/create-page.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqCpC,wBAAgB,uBAAuB,IAAI,OAAO,CAYjD"}
@@ -0,0 +1,31 @@
1
+ import { Command } from "commander";
2
+ import { printErrorAndExit, printResultAndExit, runEditorAction, } from "../utils/editor-action-client.js";
3
+ async function runCreatePage(options) {
4
+ if (!options.pageType || typeof options.pageType !== "string") {
5
+ printErrorAndExit(new Error("--page-type is required (e.g. CATEGORY, PRODUCT, BRAND, BLOG, BLOG_CATEGORY, CUSTOM)"));
6
+ }
7
+ const port = options.port ? parseInt(options.port, 10) : undefined;
8
+ try {
9
+ const result = await runEditorAction("create-page", {
10
+ pageType: options.pageType,
11
+ ...(options.name ? { name: options.name } : {}),
12
+ ...(options.slug ? { slug: options.slug } : {}),
13
+ }, port ? { port } : {});
14
+ printResultAndExit(result);
15
+ }
16
+ catch (e) {
17
+ printErrorAndExit(e);
18
+ }
19
+ }
20
+ export function createCreatePageCommand() {
21
+ const cmd = new Command("create-page");
22
+ cmd
23
+ .description("Create a theme page of the given pageType (CATEGORY, PRODUCT, BRAND, BLOG, BLOG_CATEGORY, INDEX, CUSTOM, …), so you can build a real PAGE link to its entities instead of guessing a slug/URL. Non-CUSTOM types are unique per theme — if one already exists it is returned as-is (alreadyExisted: true). CUSTOM requires --name and a unique --slug. Returns the page id.")
24
+ .requiredOption("--page-type <type>", "Page type to create (e.g. CATEGORY)")
25
+ .option("--name <name>", "Page name (required for CUSTOM pages)")
26
+ .option("--slug <slug>", "Page slug (required for CUSTOM pages)")
27
+ .option("--port <port>", "Dev server WebSocket port", "5201")
28
+ .action(runCreatePage);
29
+ return cmd;
30
+ }
31
+ //# sourceMappingURL=create-page.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-page.js","sourceRoot":"","sources":["../../src/commands/create-page.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,GAChB,MAAM,kCAAkC,CAAC;AAS1C,KAAK,UAAU,aAAa,CAAC,OAA0B;IACrD,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC9D,iBAAiB,CACf,IAAI,KAAK,CAAC,sFAAsF,CAAC,CAClG,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACnE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,eAAe,CAClC,aAAa,EACb;YACE,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/C,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChD,EACD,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CACrB,CAAC;QACF,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,iBAAiB,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,uBAAuB;IACrC,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC;IACvC,GAAG;SACA,WAAW,CACV,4WAA4W,CAC7W;SACA,cAAc,CAAC,oBAAoB,EAAE,qCAAqC,CAAC;SAC3E,MAAM,CAAC,eAAe,EAAE,uCAAuC,CAAC;SAChE,MAAM,CAAC,eAAe,EAAE,uCAAuC,CAAC;SAChE,MAAM,CAAC,eAAe,EAAE,2BAA2B,EAAE,MAAM,CAAC;SAC5D,MAAM,CAAC,aAAa,CAAC,CAAC;IACzB,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { Command } from "commander";
2
+ export declare function createDeleteGlobalVariableCommand(): Command;
3
+ export declare function createDeleteDesignTokenCommand(): Command;
4
+ //# sourceMappingURL=delete-theme-globals.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-theme-globals.d.ts","sourceRoot":"","sources":["../../src/commands/delete-theme-globals.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWpC,wBAAgB,iCAAiC,IAAI,OAAO,CAe3D;AAED,wBAAgB,8BAA8B,IAAI,OAAO,CAyBxD"}
@@ -0,0 +1,48 @@
1
+ import { Command } from "commander";
2
+ import { printErrorAndExit, printResultAndExit, runEditorAction } from "../utils/editor-action-client.js";
3
+ const TOKEN_TYPES = ["color", "typography", "breakpoint", "keyframe", "colorScheme"];
4
+ function portOpts(port) {
5
+ const p = port ? parseInt(port, 10) : undefined;
6
+ return p ? { port: p } : {};
7
+ }
8
+ export function createDeleteGlobalVariableCommand() {
9
+ const cmd = new Command("delete-global-variable");
10
+ cmd
11
+ .description("Delete a global variable from the connected editor")
12
+ .requiredOption("--name <key>", "The variable's runtime key (from `list-theme-globals`)")
13
+ .option("--port <port>", "Dev server WebSocket port", "5201")
14
+ .action(async (options) => {
15
+ if (!options.name)
16
+ printErrorAndExit(new Error("--name is required"));
17
+ try {
18
+ printResultAndExit(await runEditorAction("delete-global-variable", { name: options.name }, portOpts(options.port)));
19
+ }
20
+ catch (e) {
21
+ printErrorAndExit(e);
22
+ }
23
+ });
24
+ return cmd;
25
+ }
26
+ export function createDeleteDesignTokenCommand() {
27
+ const cmd = new Command("delete-design-token");
28
+ cmd
29
+ .description("Delete a design token (color, typography, breakpoint, keyframe, or color scheme) from the connected editor")
30
+ .requiredOption("--token-type <type>", TOKEN_TYPES.join(" | "))
31
+ .requiredOption("--id <id>", "The token id (from `list-theme-globals`)")
32
+ .option("--port <port>", "Dev server WebSocket port", "5201")
33
+ .action(async (options) => {
34
+ if (!options.tokenType || !TOKEN_TYPES.includes(options.tokenType)) {
35
+ printErrorAndExit(new Error(`--token-type must be one of: ${TOKEN_TYPES.join(", ")}`));
36
+ }
37
+ if (!options.id)
38
+ printErrorAndExit(new Error("--id is required"));
39
+ try {
40
+ printResultAndExit(await runEditorAction("delete-design-token", { tokenType: options.tokenType, id: options.id }, portOpts(options.port)));
41
+ }
42
+ catch (e) {
43
+ printErrorAndExit(e);
44
+ }
45
+ });
46
+ return cmd;
47
+ }
48
+ //# sourceMappingURL=delete-theme-globals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-theme-globals.js","sourceRoot":"","sources":["../../src/commands/delete-theme-globals.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAE1G,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;AAErF,SAAS,QAAQ,CAAC,IAAa;IAC7B,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAChD,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,iCAAiC;IAC/C,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAClD,GAAG;SACA,WAAW,CAAC,oDAAoD,CAAC;SACjE,cAAc,CAAC,cAAc,EAAE,wDAAwD,CAAC;SACxF,MAAM,CAAC,eAAe,EAAE,2BAA2B,EAAE,MAAM,CAAC;SAC5D,MAAM,CAAC,KAAK,EAAE,OAAyC,EAAE,EAAE;QAC1D,IAAI,CAAC,OAAO,CAAC,IAAI;YAAE,iBAAiB,CAAC,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;QACtE,IAAI,CAAC;YACH,kBAAkB,CAAC,MAAM,eAAe,CAAC,wBAAwB,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,iBAAiB,CAAC,CAAC,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CAAC,CAAC;IACL,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,8BAA8B;IAC5C,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC/C,GAAG;SACA,WAAW,CAAC,4GAA4G,CAAC;SACzH,cAAc,CAAC,qBAAqB,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC9D,cAAc,CAAC,WAAW,EAAE,0CAA0C,CAAC;SACvE,MAAM,CAAC,eAAe,EAAE,2BAA2B,EAAE,MAAM,CAAC;SAC5D,MAAM,CAAC,KAAK,EAAE,OAA2D,EAAE,EAAE;QAC5E,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YACnE,iBAAiB,CAAC,IAAI,KAAK,CAAC,gCAAgC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACzF,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,EAAE;YAAE,iBAAiB,CAAC,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC;YACH,kBAAkB,CAChB,MAAM,eAAe,CACnB,qBAAqB,EACrB,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,EAChD,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CACvB,CACF,CAAC;QACJ,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,iBAAiB,CAAC,CAAC,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CAAC,CAAC;IACL,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare function createGetComponentPropsCommand(): Command;
3
+ //# sourceMappingURL=get-component-props.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-component-props.d.ts","sourceRoot":"","sources":["../../src/commands/get-component-props.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoCpC,wBAAgB,8BAA8B,IAAI,OAAO,CAWxD"}