@promptui-lib/cli 0.1.19 → 0.1.22

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.
@@ -1 +1 @@
1
- {"version":3,"file":"generate.cmd.d.ts","sourceRoot":"","sources":["../../src/commands/generate.cmd.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EACV,cAAc,EAEd,aAAa,EACd,MAAM,oBAAoB,CAAC;AAiB5B,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AA4ED,wBAAsB,eAAe,CACnC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,IAAI,CAAC,CA2Jf;AAyBD;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,IAAI,CAAC,CA0If"}
1
+ {"version":3,"file":"generate.cmd.d.ts","sourceRoot":"","sources":["../../src/commands/generate.cmd.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EACV,cAAc,EAEd,aAAa,EACd,MAAM,oBAAoB,CAAC;AAmB5B,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AA4ED,wBAAsB,eAAe,CACnC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,IAAI,CAAC,CAqKf;AAyBD;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,IAAI,CAAC,CA0Jf"}
@@ -6,7 +6,7 @@ import { readFile } from "node:fs/promises";
6
6
  import { createHash } from "node:crypto";
7
7
  import { createFigmaClient } from "@promptui-lib/figma-parser";
8
8
  import { parseNode } from "@promptui-lib/figma-parser";
9
- import { writeComponent, generateCode, generateMuiComponent, generateTailwindComponent, generateBootstrapComponent, FRAMEWORKS, } from "@promptui-lib/codegen";
9
+ import { writeComponent, writeComponents, generateCode, generateMuiComponent, generateTailwindComponent, generateBootstrapComponent, FRAMEWORKS, } from "@promptui-lib/codegen";
10
10
  import { loadConfig, resolveConfig, validateConfig, } from "@promptui-lib/mcp-agent";
11
11
  /**
12
12
  * Detecta se o input é um arquivo JSON local ou nodeId do Figma
@@ -143,9 +143,17 @@ export async function generateCommand(input, options) {
143
143
  }
144
144
  // Escreve arquivos
145
145
  const basePath = options.output ?? resolved.outputBasePath;
146
+ // Configura download de assets se veio do Figma (não de arquivo local)
147
+ const assetConfig = sourceInfo.fileId
148
+ ? {
149
+ figmaFileId: resolved.figmaFileId,
150
+ figmaToken: resolved.figmaToken,
151
+ }
152
+ : undefined;
146
153
  const result = await writeComponent(ast, {
147
154
  basePath,
148
155
  forceOverwrite: options.force,
156
+ assetConfig,
149
157
  });
150
158
  if (!result.success) {
151
159
  console.error("[PromptUI] Failed to write files:");
@@ -280,26 +288,40 @@ export async function generateAllCommand(options) {
280
288
  console.log("");
281
289
  let successCount = 0;
282
290
  let errorCount = 0;
291
+ // Parseia todos os nodes primeiro
292
+ const asts = [];
283
293
  for (const { node } of exportableNodes) {
284
294
  try {
285
295
  const ast = parseNode(node, { forceLayer: options.layer });
286
- const basePath = options.output ?? resolved.outputBasePath;
287
- const result = await writeComponent(ast, {
288
- basePath,
289
- forceOverwrite: options.force,
290
- });
291
- if (result.success) {
292
- console.log(` ✅ ${ast.name} (${ast.layer})`);
293
- successCount++;
294
- }
295
- else {
296
- console.log(` ❌ ${node.name}: ${result.errors?.join(", ")}`);
297
- errorCount++;
298
- }
296
+ asts.push(ast);
299
297
  }
300
298
  catch (error) {
301
299
  const message = error instanceof Error ? error.message : "Unknown error";
302
- console.log(` ❌ ${node.name}: ${message}`);
300
+ console.log(` ❌ ${node.name}: Parse error - ${message}`);
301
+ errorCount++;
302
+ }
303
+ }
304
+ // Escreve todos os componentes e baixa assets
305
+ const basePath = options.output ?? resolved.outputBasePath;
306
+ const assetConfig = {
307
+ figmaFileId: resolved.figmaFileId,
308
+ figmaToken: resolved.figmaToken,
309
+ };
310
+ const results = await writeComponents(asts, {
311
+ basePath,
312
+ forceOverwrite: options.force,
313
+ assetConfig,
314
+ });
315
+ // Conta resultados
316
+ for (let i = 0; i < results.length; i++) {
317
+ const result = results[i];
318
+ const ast = asts[i];
319
+ if (result.success) {
320
+ console.log(` ✅ ${ast.name} (${ast.layer})`);
321
+ successCount++;
322
+ }
323
+ else {
324
+ console.log(` ❌ ${ast.name}: ${result.errors?.join(", ")}`);
303
325
  errorCount++;
304
326
  }
305
327
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@promptui-lib/cli",
3
- "version": "0.1.19",
3
+ "version": "0.1.22",
4
4
  "private": false,
5
5
  "description": "CLI for PromptUI - Figma to React code generator",
6
6
  "license": "UNLICENSED",
@@ -45,10 +45,10 @@
45
45
  "bin"
46
46
  ],
47
47
  "dependencies": {
48
- "@promptui-lib/core": "0.1.19",
49
- "@promptui-lib/figma-parser": "0.1.19",
50
- "@promptui-lib/codegen": "0.1.19",
51
- "@promptui-lib/mcp-agent": "0.1.19"
48
+ "@promptui-lib/core": "0.1.22",
49
+ "@promptui-lib/figma-parser": "0.1.22",
50
+ "@promptui-lib/codegen": "0.1.22",
51
+ "@promptui-lib/mcp-agent": "0.1.22"
52
52
  },
53
53
  "devDependencies": {
54
54
  "@types/node": "^20.0.0",