@figma/code-connect 1.1.3 → 1.2.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 (90) hide show
  1. package/README.md +2 -2
  2. package/dist/common/updates.js +1 -1
  3. package/dist/common/updates.js.map +1 -1
  4. package/dist/connect/api.d.ts +38 -6
  5. package/dist/connect/api.d.ts.map +1 -1
  6. package/dist/connect/create.d.ts.map +1 -1
  7. package/dist/connect/create.js +3 -0
  8. package/dist/connect/create.js.map +1 -1
  9. package/dist/connect/external_types.d.ts +2 -1
  10. package/dist/connect/external_types.d.ts.map +1 -1
  11. package/dist/connect/external_types.js +5 -1
  12. package/dist/connect/external_types.js.map +1 -1
  13. package/dist/connect/intrinsics.d.ts +4 -1
  14. package/dist/connect/intrinsics.d.ts.map +1 -1
  15. package/dist/connect/intrinsics.js +76 -36
  16. package/dist/connect/intrinsics.js.map +1 -1
  17. package/dist/connect/modifiers.d.ts +29 -0
  18. package/dist/connect/modifiers.d.ts.map +1 -0
  19. package/dist/connect/modifiers.js +109 -0
  20. package/dist/connect/modifiers.js.map +1 -0
  21. package/dist/connect/parser_common.d.ts +3 -3
  22. package/dist/connect/parser_common.d.ts.map +1 -1
  23. package/dist/connect/parser_common.js +18 -18
  24. package/dist/connect/parser_common.js.map +1 -1
  25. package/dist/connect/parser_executable_types.d.ts +21 -19
  26. package/dist/connect/parser_executable_types.d.ts.map +1 -1
  27. package/dist/connect/parser_executable_types.js.map +1 -1
  28. package/dist/connect/wizard/embeddings.d.ts +13 -0
  29. package/dist/connect/wizard/embeddings.d.ts.map +1 -0
  30. package/dist/connect/wizard/embeddings.js +22 -0
  31. package/dist/connect/wizard/embeddings.js.map +1 -0
  32. package/dist/connect/wizard/helpers.d.ts +2 -0
  33. package/dist/connect/wizard/helpers.d.ts.map +1 -1
  34. package/dist/connect/wizard/helpers.js +16 -1
  35. package/dist/connect/wizard/helpers.js.map +1 -1
  36. package/dist/connect/wizard/prop_mapping.d.ts +20 -10
  37. package/dist/connect/wizard/prop_mapping.d.ts.map +1 -1
  38. package/dist/connect/wizard/prop_mapping.js +156 -48
  39. package/dist/connect/wizard/prop_mapping.js.map +1 -1
  40. package/dist/connect/wizard/prop_mapping_helpers.d.ts +71 -0
  41. package/dist/connect/wizard/prop_mapping_helpers.d.ts.map +1 -0
  42. package/dist/connect/wizard/prop_mapping_helpers.js +176 -0
  43. package/dist/connect/wizard/prop_mapping_helpers.js.map +1 -0
  44. package/dist/connect/wizard/run_wizard.d.ts.map +1 -1
  45. package/dist/connect/wizard/run_wizard.js +48 -16
  46. package/dist/connect/wizard/run_wizard.js.map +1 -1
  47. package/dist/connect/wizard/signature_extraction.d.ts +2 -4
  48. package/dist/connect/wizard/signature_extraction.d.ts.map +1 -1
  49. package/dist/connect/wizard/signature_extraction.js +119 -33
  50. package/dist/connect/wizard/signature_extraction.js.map +1 -1
  51. package/dist/html/external.d.ts +1 -1
  52. package/dist/html/external.d.ts.map +1 -1
  53. package/dist/html/external.js +6 -5
  54. package/dist/html/external.js.map +1 -1
  55. package/dist/html/index_html.d.ts +1 -1
  56. package/dist/html/index_html.d.ts.map +1 -1
  57. package/dist/html/parser.d.ts.map +1 -1
  58. package/dist/html/parser.js +16 -12
  59. package/dist/html/parser.js.map +1 -1
  60. package/dist/html/parser_template_helpers.d.ts +8 -0
  61. package/dist/html/parser_template_helpers.d.ts.map +1 -1
  62. package/dist/html/parser_template_helpers.js +19 -3
  63. package/dist/html/parser_template_helpers.js.map +1 -1
  64. package/dist/html/types.d.ts +1 -1
  65. package/dist/html/types.d.ts.map +1 -1
  66. package/dist/react/create.d.ts.map +1 -1
  67. package/dist/react/create.js +69 -22
  68. package/dist/react/create.js.map +1 -1
  69. package/dist/react/external.d.ts +1 -2
  70. package/dist/react/external.d.ts.map +1 -1
  71. package/dist/react/external.js +1 -4
  72. package/dist/react/external.js.map +1 -1
  73. package/dist/react/index_react.d.ts +25 -2
  74. package/dist/react/index_react.d.ts.map +1 -1
  75. package/dist/react/index_react.js.map +1 -1
  76. package/dist/react/parser.d.ts +38 -14
  77. package/dist/react/parser.d.ts.map +1 -1
  78. package/dist/react/parser.js +128 -215
  79. package/dist/react/parser.js.map +1 -1
  80. package/dist/react/parser_template_helpers.d.ts +5 -1
  81. package/dist/react/parser_template_helpers.d.ts.map +1 -1
  82. package/dist/react/parser_template_helpers.js +20 -3
  83. package/dist/react/parser_template_helpers.js.map +1 -1
  84. package/dist/react/types.d.ts +6 -2
  85. package/dist/react/types.d.ts.map +1 -1
  86. package/dist/storybook/convert.js +1 -1
  87. package/dist/storybook/convert.js.map +1 -1
  88. package/dist/storybook/external.d.ts +2 -2
  89. package/dist/storybook/external.d.ts.map +1 -1
  90. package/package.json +12 -10
@@ -48,7 +48,7 @@ const parser_executables_1 = require("../parser_executables");
48
48
  const ora_1 = __importDefault(require("ora"));
49
49
  const zod_validation_error_1 = require("zod-validation-error");
50
50
  const autolinking_1 = require("./autolinking");
51
- const prop_mapping_1 = require("./prop_mapping");
51
+ const prop_mapping_helpers_1 = require("./prop_mapping_helpers");
52
52
  const NONE = '(None)';
53
53
  const DELIMITERS_REGEX = /[\s-_]/g;
54
54
  function clearQuestion(prompt, answer) {
@@ -338,7 +338,31 @@ async function runManualLinkingWithConfirmation(manualLinkingArgs) {
338
338
  }
339
339
  }
340
340
  }
341
- async function createCodeConnectFiles({ linkedNodeIdsToFilepathExports, figmaFileUrl, unconnectedComponentsMap, outDir: outDirArg, projectInfo, cmd, }) {
341
+ async function createCodeConnectFiles({ linkedNodeIdsToFilepathExports, figmaFileUrl, unconnectedComponentsMap, outDir: outDirArg, projectInfo, cmd, accessToken, useAi, }) {
342
+ const filepathExportsToComponents = Object.entries(linkedNodeIdsToFilepathExports).reduce((map, [nodeId, filepathExport]) => {
343
+ map[filepathExport] = unconnectedComponentsMap[nodeId];
344
+ return map;
345
+ }, {});
346
+ let embeddingsFetchSpinner = null;
347
+ if (useAi) {
348
+ embeddingsFetchSpinner = (0, ora_1.default)({
349
+ text: 'Computing embeddings...',
350
+ color: 'green',
351
+ }).start();
352
+ }
353
+ const propMappingsAndData = projectInfo.config.parser === 'react'
354
+ ? await (0, prop_mapping_helpers_1.extractDataAndGenerateAllPropsMappings)({
355
+ filepathExportsToComponents,
356
+ projectInfo,
357
+ cmd,
358
+ figmaUrl: figmaFileUrl,
359
+ accessToken,
360
+ useAi,
361
+ })
362
+ : null;
363
+ if (embeddingsFetchSpinner) {
364
+ embeddingsFetchSpinner.stop();
365
+ }
342
366
  for (const [nodeId, filepathExport] of Object.entries(linkedNodeIdsToFilepathExports)) {
343
367
  const urlObj = new URL(figmaFileUrl);
344
368
  urlObj.search = '';
@@ -351,15 +375,8 @@ async function createCodeConnectFiles({ linkedNodeIdsToFilepathExports, figmaFil
351
375
  destinationDir: outDir,
352
376
  sourceFilepath: filepath,
353
377
  sourceExport: exportName || undefined,
354
- propMapping: projectInfo.config.parser === 'react' && filepath && exportName
355
- ? (0, prop_mapping_1.extractSignatureAndGeneratePropMapping)({
356
- filepath,
357
- exportName,
358
- projectInfo: projectInfo,
359
- componentPropertyDefinitions: unconnectedComponentsMap[nodeId].componentPropertyDefinitions,
360
- cmd,
361
- })
362
- : undefined,
378
+ reactTypeSignature: propMappingsAndData?.propMappingData[filepathExport]?.signature,
379
+ propMapping: propMappingsAndData?.propMappings[filepathExport],
363
380
  component: {
364
381
  figmaNodeUrl: urlObj.toString(),
365
382
  normalizedName: (0, create_1.normalizeComponentName)(name),
@@ -384,10 +401,7 @@ async function createCodeConnectFiles({ linkedNodeIdsToFilepathExports, figmaFil
384
401
  }
385
402
  }
386
403
  const { hasErrors } = (0, parser_executables_1.handleMessages)(result.messages);
387
- if (hasErrors) {
388
- (0, logging_1.exitWithError)('Errors encountered calling parser, exiting');
389
- }
390
- else {
404
+ if (!hasErrors) {
391
405
  result.createdFiles.forEach((file) => {
392
406
  logging_1.logger.info((0, logging_1.success)(`Created ${file.filePath}`));
393
407
  });
@@ -548,7 +562,7 @@ async function runWizard(cmd) {
548
562
  type: 'text',
549
563
  message: 'What is the URL of the Figma file containing your design system library?',
550
564
  name: 'figmaFileUrl',
551
- validate: (value) => !!(0, helpers_1.parseFileKey)(value) || 'Please enter a valid Figma file URL.',
565
+ validate: (value) => (0, helpers_2.isValidFigmaUrl)(value) || 'Please enter a valid Figma file URL.',
552
566
  });
553
567
  const componentsFromFile = await fetchTopLevelComponentsFromFile({
554
568
  accessToken,
@@ -578,6 +592,22 @@ async function runWizard(cmd) {
578
592
  await (0, helpers_2.createCodeConnectConfig)({ dir, componentDirectory, config });
579
593
  }
580
594
  }
595
+ const { useAi: useAiSelection } = await askQuestionOrExit({
596
+ type: 'select',
597
+ name: 'useAi',
598
+ message: 'Code Connect offers AI support for accurate prop mapping between Figma and code components. Data is used only for mapping and is not stored or used for training. To learn more, visit https://help.figma.com/hc/en-us/articles/23920389749655-Code-Connect',
599
+ choices: [
600
+ {
601
+ title: 'Do not use AI for prop mapping (default)',
602
+ value: 'no',
603
+ },
604
+ {
605
+ title: 'Use AI for prop mapping',
606
+ value: 'yes',
607
+ },
608
+ ],
609
+ });
610
+ const useAi = useAiSelection === 'yes';
581
611
  const linkedNodeIdsToFilepathExports = {};
582
612
  const { unconnectedComponents, connectedComponentsMappings } = await getUnconnectedComponentsAndConnectedComponentMappings(cmd, figmaFileUrl, componentsFromFile, projectInfo);
583
613
  (0, autolinking_1.autoLinkComponents)({
@@ -616,6 +646,8 @@ async function runWizard(cmd) {
616
646
  outDir,
617
647
  projectInfo,
618
648
  cmd,
649
+ accessToken,
650
+ useAi,
619
651
  });
620
652
  }
621
653
  exports.runWizard = runWizard;
@@ -1 +1 @@
1
- {"version":3,"file":"run_wizard.js","sourceRoot":"","sources":["../../../src/connect/wizard/run_wizard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run_wizard.js","sourceRoot":"","sources":["../../../src/connect/wizard/run_wizard.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,5 @@
1
- import { ReactProjectInfo } from '../project';
2
- export declare function extractSignature({ nameToFind, sourceFilePath, projectInfo, }: {
1
+ export declare function extractSignature({ nameToFind, sourceFilePath, }: {
3
2
  nameToFind: string;
4
3
  sourceFilePath: string;
5
- projectInfo: ReactProjectInfo;
6
- }): import("../../react/parser").ComponentTypeSignature;
4
+ }): Record<string, string>;
7
5
  //# sourceMappingURL=signature_extraction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"signature_extraction.d.ts","sourceRoot":"","sources":["../../../src/connect/wizard/signature_extraction.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAG7C,wBAAgB,gBAAgB,CAAC,EAC/B,UAAU,EACV,cAAc,EACd,WAAW,GACZ,EAAE;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,gBAAgB,CAAA;CAC9B,uDA8CA"}
1
+ {"version":3,"file":"signature_extraction.d.ts","sourceRoot":"","sources":["../../../src/connect/wizard/signature_extraction.ts"],"names":[],"mappings":"AAUA,wBAAgB,gBAAgB,CAAC,EAC/B,UAAU,EACV,cAAc,GACf,EAAE;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,MAAM,CAAA;CACvB,0BA+EA"}
@@ -4,43 +4,129 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.extractSignature = void 0;
7
- const typescript_1 = __importDefault(require("typescript"));
8
- const parser_1 = require("../../react/parser");
9
- function extractSignature({ nameToFind, sourceFilePath, projectInfo, }) {
10
- const { tsProgram } = projectInfo;
11
- const checker = tsProgram.getTypeChecker();
12
- // Get source file
13
- const sourceFile = tsProgram.getSourceFile(sourceFilePath);
14
- if (!sourceFile) {
15
- throw new Error(`Could not find source for file: ${sourceFilePath}`);
16
- }
17
- for (const statement of sourceFile.statements) {
18
- if (!(typescript_1.default.isFunctionDeclaration(statement) || typescript_1.default.isVariableStatement(statement))) {
19
- continue;
7
+ const path_1 = __importDefault(require("path"));
8
+ const fs_1 = __importDefault(require("fs"));
9
+ const find_up_1 = __importDefault(require("find-up"));
10
+ const ts_morph_1 = require("ts-morph");
11
+ const DEFAULT_COMPONENT = 'DefaultComponent';
12
+ const REACT_INTERFACE_NAMES = ['HTMLAttributes', 'Attributes', 'AriaAttributes', 'DOMAttributes'];
13
+ const IGNORE_REACT_PROPS = ['ref', 'key'];
14
+ let tsMorphProject;
15
+ function extractSignature({ nameToFind, sourceFilePath, }) {
16
+ if (!tsMorphProject) {
17
+ const tsConfigFilePath = findTsConfigPath(path_1.default.dirname(sourceFilePath));
18
+ const options = tsConfigFilePath
19
+ ? { tsConfigFilePath }
20
+ : {
21
+ compilerOptions: {
22
+ target: ts_morph_1.ScriptTarget.ESNext,
23
+ module: ts_morph_1.ts.ModuleKind.CommonJS,
24
+ jsx: ts_morph_1.ts.JsxEmit.React,
25
+ esModuleInterop: true,
26
+ skipLibCheck: true,
27
+ lib: ['ES2021'],
28
+ strict: true,
29
+ rootDir: 'src',
30
+ },
31
+ };
32
+ tsMorphProject = new ts_morph_1.Project(options);
33
+ }
34
+ tsMorphProject.addSourceFileAtPath(sourceFilePath);
35
+ const signatureSourcePath = path_1.default.join(path_1.default.dirname(sourceFilePath), 'extracted_signature.ts');
36
+ const signatureSourceFile = tsMorphProject.createSourceFile(signatureSourcePath);
37
+ const filename = path_1.default.parse(sourceFilePath).name.split('.')[0];
38
+ if (nameToFind === 'default') {
39
+ signatureSourceFile.addImportDeclaration({
40
+ defaultImport: DEFAULT_COMPONENT,
41
+ moduleSpecifier: `./${filename}`,
42
+ });
43
+ }
44
+ else {
45
+ signatureSourceFile.addImportDeclaration({
46
+ namedImports: [nameToFind],
47
+ moduleSpecifier: `./${filename}`,
48
+ });
49
+ }
50
+ /**
51
+ * Flatten the component's props type by creating a virtual TS source file
52
+ * and adding this type alias, which has the effect of flattening any inherited
53
+ * types down to a single type, then extract the final type from this new type
54
+ */
55
+ signatureSourceFile.addTypeAlias({
56
+ name: 'ExtractFinalType',
57
+ typeParameters: ['T'],
58
+ type: 'T extends infer R ? { [K in keyof R]: R[K] } : never',
59
+ });
60
+ const typeAlias = signatureSourceFile.addTypeAlias({
61
+ name: '__FinalType',
62
+ type: `ExtractFinalType<React.ComponentProps<typeof ${nameToFind === 'default' ? DEFAULT_COMPONENT : nameToFind}>>`,
63
+ });
64
+ let type = typeAlias.getType();
65
+ // For simplicity, if top-level type is a union, use the first type
66
+ if (type.isUnion()) {
67
+ type = type.getUnionTypes()[0];
68
+ }
69
+ if (!type.isObject()) {
70
+ tsMorphProject.removeSourceFile(signatureSourceFile);
71
+ throw new Error('Props not an object: ' + type.getText());
72
+ }
73
+ else {
74
+ const props = type.getProperties();
75
+ const result = {};
76
+ for (const prop of props) {
77
+ const propString = getPropString(prop, signatureSourceFile);
78
+ if (propString) {
79
+ result[prop.getName()] = propString;
80
+ }
20
81
  }
21
- if (!statement.modifiers?.some((modifier) => modifier.kind === typescript_1.default.SyntaxKind.ExportKeyword)) {
22
- continue;
82
+ tsMorphProject.removeSourceFile(signatureSourceFile);
83
+ return result;
84
+ }
85
+ }
86
+ exports.extractSignature = extractSignature;
87
+ function getPropString(prop, sourceFile) {
88
+ if (IGNORE_REACT_PROPS.includes(prop.getName())) {
89
+ return null;
90
+ }
91
+ const [declaration] = prop.getDeclarations();
92
+ const parent = declaration.getParentOrThrow().compilerNode;
93
+ if (ts_morph_1.ts.isInterfaceDeclaration(parent)) {
94
+ const parentInterfaceName = parent.name.getText();
95
+ // Skip props that are inherited from React types
96
+ if (REACT_INTERFACE_NAMES.includes(parentInterfaceName)) {
97
+ return null;
23
98
  }
24
- const name = typescript_1.default.isFunctionDeclaration(statement)
25
- ? statement.name?.text
26
- : statement.declarationList.declarations?.[0].name.getText(sourceFile);
27
- if (name === nameToFind ||
28
- (nameToFind === 'default' &&
29
- statement.modifiers.some((modifier) => modifier.kind === typescript_1.default.SyntaxKind.DefaultKeyword))) {
30
- const symbol = typescript_1.default.isFunctionDeclaration(statement)
31
- ? statement.name && checker.getSymbolAtLocation(statement.name)
32
- : checker.getSymbolAtLocation(statement.declarationList.declarations[0].name);
33
- if (!symbol) {
34
- throw new Error(`Could not find symbol for ${name}`);
99
+ if (parent.heritageClauses && parent.heritageClauses[0].getText().includes('HTMLAttributes')) {
100
+ // If interface extends HTMLAttributes, only allow props defined in interface
101
+ // TODO will fail if extends multiple interfaces and prop defined in one of them - could recursively check
102
+ if (!parent.members.some((m) => m.name?.getText() === prop.getName())) {
103
+ return null;
35
104
  }
36
- const signature = (0, parser_1.extractComponentTypeSignature)(symbol, checker, sourceFile);
37
- if (!signature) {
38
- throw new Error(`Could not find signature for ${name}`);
39
- }
40
- return signature;
41
105
  }
42
106
  }
43
- throw new Error('No function or variable signatures found');
107
+ const compilerProp = prop.compilerSymbol;
108
+ const checker = tsMorphProject.getTypeChecker().compilerObject;
109
+ const propType = prop.getTypeAtLocation(sourceFile).compilerType;
110
+ let propTypeString = checker.typeToString(propType);
111
+ if (propType.isUnion()) {
112
+ // Get the types of the union
113
+ const unionTypes = propType.types;
114
+ // Map each type to its string representation and join them with a |
115
+ propTypeString = unionTypes.map((type) => checker.typeToString(type)).join(' | ');
116
+ }
117
+ return compilerProp.flags & ts_morph_1.ts.SymbolFlags.Optional
118
+ ? `?${propTypeString.replace(/undefined \| /g, '')}`
119
+ : propTypeString;
120
+ }
121
+ function findTsConfigPath(dir) {
122
+ let tsConfigPath = undefined;
123
+ find_up_1.default.sync((currentDir) => {
124
+ const pathToTry = path_1.default.join(currentDir, 'tsconfig.json');
125
+ if (fs_1.default.existsSync(pathToTry)) {
126
+ tsConfigPath = pathToTry;
127
+ return find_up_1.default.stop;
128
+ }
129
+ }, { cwd: dir });
130
+ return tsConfigPath;
44
131
  }
45
- exports.extractSignature = extractSignature;
46
132
  //# sourceMappingURL=signature_extraction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"signature_extraction.js","sourceRoot":"","sources":["../../../src/connect/wizard/signature_extraction.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA2B;AAE3B,+CAAkE;AAElE,SAAgB,gBAAgB,CAAC,EAC/B,UAAU,EACV,cAAc,EACd,WAAW,GAKZ;IACC,MAAM,EAAE,SAAS,EAAE,GAAG,WAAW,CAAA;IAEjC,MAAM,OAAO,GAAG,SAAS,CAAC,cAAc,EAAE,CAAA;IAE1C,kBAAkB;IAClB,MAAM,UAAU,GAAG,SAAS,CAAC,aAAa,CAAC,cAAc,CAAC,CAAA;IAC1D,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,mCAAmC,cAAc,EAAE,CAAC,CAAA;IACtE,CAAC;IAED,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;QAC9C,IAAI,CAAC,CAAC,oBAAE,CAAC,qBAAqB,CAAC,SAAS,CAAC,IAAI,oBAAE,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;YAChF,SAAQ;QACV,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,oBAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YAC5F,SAAQ;QACV,CAAC;QAED,MAAM,IAAI,GAAG,oBAAE,CAAC,qBAAqB,CAAC,SAAS,CAAC;YAC9C,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI;YACtB,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;QAExE,IACE,IAAI,KAAK,UAAU;YACnB,CAAC,UAAU,KAAK,SAAS;gBACvB,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,oBAAE,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,EACzF,CAAC;YACD,MAAM,MAAM,GAAG,oBAAE,CAAC,qBAAqB,CAAC,SAAS,CAAC;gBAChD,CAAC,CAAC,SAAS,CAAC,IAAI,IAAI,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC;gBAC/D,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YAC/E,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,EAAE,CAAC,CAAA;YACtD,CAAC;YAED,MAAM,SAAS,GAAG,IAAA,sCAA6B,EAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,CAAA;YAC5E,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,EAAE,CAAC,CAAA;YACzD,CAAC;YAED,OAAO,SAAS,CAAA;QAClB,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;AAC7D,CAAC;AAtDD,4CAsDC"}
1
+ {"version":3,"file":"signature_extraction.js","sourceRoot":"","sources":["../../../src/connect/wizard/signature_extraction.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { booleanType, enumType, stringType, nestedPropsType, classNameType, text
2
2
  import { HtmlTemplateString } from './template_literal';
3
3
  import { HtmlMeta } from './types';
4
4
  declare function connectType<P = {}>(_figmaNodeUrl: string, _meta?: HtmlMeta<P>): void;
5
- declare function instanceType(_figmaPropName: string): HtmlTemplateString;
6
5
  declare function childrenType(_layers: string | string[]): HtmlTemplateString;
6
+ export declare function instanceType<T = HtmlTemplateString>(_figmaPropName: string): T;
7
7
  export { booleanType as boolean, enumType as enum, stringType as string, nestedPropsType as nestedProps, classNameType as className, textContentType as textContent, connectType as connect, instanceType as instance, childrenType as children, };
8
8
  //# sourceMappingURL=external.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"external.d.ts","sourceRoot":"","sources":["../../src/html/external.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,QAAQ,EACR,UAAU,EACV,eAAe,EACf,aAAa,EACb,eAAe,EAChB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAElC,iBAAS,WAAW,CAAC,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAG;AAEjF,iBAAS,YAAY,CAAC,cAAc,EAAE,MAAM,GAAG,kBAAkB,CAIhE;AAED,iBAAS,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,kBAAkB,CAIpE;AAED,OAAO,EACL,WAAW,IAAI,OAAO,EACtB,QAAQ,IAAI,IAAI,EAChB,UAAU,IAAI,MAAM,EACpB,eAAe,IAAI,WAAW,EAC9B,aAAa,IAAI,SAAS,EAC1B,eAAe,IAAI,WAAW,EAC9B,WAAW,IAAI,OAAO,EACtB,YAAY,IAAI,QAAQ,EACxB,YAAY,IAAI,QAAQ,GACzB,CAAA"}
1
+ {"version":3,"file":"external.d.ts","sourceRoot":"","sources":["../../src/html/external.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,QAAQ,EACR,UAAU,EACV,eAAe,EACf,aAAa,EACb,eAAe,EAChB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAElC,iBAAS,WAAW,CAAC,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAG;AAEjF,iBAAS,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,kBAAkB,CAIpE;AAED,wBAAgB,YAAY,CAAC,CAAC,GAAG,kBAAkB,EAAE,cAAc,EAAE,MAAM,GAAG,CAAC,CAI9E;AAED,OAAO,EACL,WAAW,IAAI,OAAO,EACtB,QAAQ,IAAI,IAAI,EAChB,UAAU,IAAI,MAAM,EACpB,eAAe,IAAI,WAAW,EAC9B,aAAa,IAAI,SAAS,EAC1B,eAAe,IAAI,WAAW,EAC9B,WAAW,IAAI,OAAO,EACtB,YAAY,IAAI,QAAQ,EACxB,YAAY,IAAI,QAAQ,GACzB,CAAA"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.children = exports.instance = exports.connect = exports.textContent = exports.className = exports.nestedProps = exports.string = exports.enum = exports.boolean = void 0;
3
+ exports.children = exports.instance = exports.connect = exports.textContent = exports.className = exports.nestedProps = exports.string = exports.enum = exports.boolean = exports.instanceType = void 0;
4
4
  const external_types_1 = require("../connect/external_types");
5
5
  Object.defineProperty(exports, "boolean", { enumerable: true, get: function () { return external_types_1.booleanType; } });
6
6
  Object.defineProperty(exports, "enum", { enumerable: true, get: function () { return external_types_1.enumType; } });
@@ -10,16 +10,17 @@ Object.defineProperty(exports, "className", { enumerable: true, get: function ()
10
10
  Object.defineProperty(exports, "textContent", { enumerable: true, get: function () { return external_types_1.textContentType; } });
11
11
  function connectType(_figmaNodeUrl, _meta) { }
12
12
  exports.connect = connectType;
13
- function instanceType(_figmaPropName) {
13
+ function childrenType(_layers) {
14
14
  return {
15
15
  __tag: 'HtmlTemplateString',
16
16
  };
17
17
  }
18
- exports.instance = instanceType;
19
- function childrenType(_layers) {
18
+ exports.children = childrenType;
19
+ function instanceType(_figmaPropName) {
20
20
  return {
21
21
  __tag: 'HtmlTemplateString',
22
22
  };
23
23
  }
24
- exports.children = childrenType;
24
+ exports.instanceType = instanceType;
25
+ exports.instance = instanceType;
25
26
  //# sourceMappingURL=external.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"external.js","sourceRoot":"","sources":["../../src/html/external.ts"],"names":[],"mappings":";;;AAAA,8DAOkC;AAmBjB,wFAzBf,4BAAW,OAyBW;AACV,qFAzBZ,yBAAQ,OAyBQ;AACF,uFAzBd,2BAAU,OAyBU;AACD,4FAzBnB,gCAAe,OAyBe;AACb,0FAzBjB,8BAAa,OAyBa;AACP,4FAzBnB,gCAAe,OAyBe;AApBhC,SAAS,WAAW,CAAS,aAAqB,EAAE,KAAmB,IAAS,CAAC;AAqBhE,8BAAO;AAnBxB,SAAS,YAAY,CAAC,cAAsB;IAC1C,OAAO;QACL,KAAK,EAAE,oBAAoB;KAC5B,CAAA;AACH,CAAC;AAgBiB,gCAAQ;AAd1B,SAAS,YAAY,CAAC,OAA0B;IAC9C,OAAO;QACL,KAAK,EAAE,oBAAoB;KAC5B,CAAA;AACH,CAAC;AAWiB,gCAAQ"}
1
+ {"version":3,"file":"external.js","sourceRoot":"","sources":["../../src/html/external.ts"],"names":[],"mappings":";;;AAAA,8DAOkC;AAmBjB,wFAzBf,4BAAW,OAyBW;AACV,qFAzBZ,yBAAQ,OAyBQ;AACF,uFAzBd,2BAAU,OAyBU;AACD,4FAzBnB,gCAAe,OAyBe;AACb,0FAzBjB,8BAAa,OAyBa;AACP,4FAzBnB,gCAAe,OAyBe;AApBhC,SAAS,WAAW,CAAS,aAAqB,EAAE,KAAmB,IAAS,CAAC;AAqBhE,8BAAO;AAnBxB,SAAS,YAAY,CAAC,OAA0B;IAC9C,OAAO;QACL,KAAK,EAAE,oBAAoB;KAC5B,CAAA;AACH,CAAC;AAiBiB,gCAAQ;AAf1B,SAAgB,YAAY,CAAyB,cAAsB;IACzE,OAAO;QACL,KAAK,EAAE,oBAAoB;KACvB,CAAA;AACR,CAAC;AAJD,oCAIC;AAUiB,gCAAQ"}
@@ -3,7 +3,7 @@ import { FigmaConnectClient } from '../client/figma_client';
3
3
  import { html, HtmlTemplateString } from './template_literal';
4
4
  import { HtmlMeta } from './types';
5
5
  declare const _client: FigmaConnectClient;
6
- declare const _figma: FigmaConnectAPI<HtmlTemplateString> & {
6
+ declare const _figma: FigmaConnectAPI<HtmlTemplateString, HtmlTemplateString> & {
7
7
  /**
8
8
  * Defines a code snippet that displays in Figma when a component is selected.
9
9
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index_html.d.ts","sourceRoot":"","sources":["../../src/html/index_html.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAoB,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAEtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAC3D,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAE7D,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAElC,QAAA,MAAM,OAAO,EAAE,kBAAgC,CAAA;AAC/C,QAAA,MAAM,MAAM,EAAE,eAAe,CAAC,kBAAkB,CAAC,GAAG;IAClD;;;;;OAKG;IACH,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;IAE9D;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAA;IAEvC;;;;;;;;;;;;;;;;;;OAkBG;IACH,OAAO,CAAC,KAAK,SAAS,SAAS,EAAE,MAAM,SAAS,SAAS,EACvD,aAAa,EAAE,MAAM,EACrB,YAAY,CAAC,EAAE;QACb,IAAI,CAAC,EAAE,KAAK,CAAA;QACZ,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,GACA,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,OAAO,EAAE,KAAK,GAAG,MAAM,CAAC,CAAC,CAAA;IAEpD;;;;;;;;;;;;;;;;;;OAkBG;IACH,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAAA;IAE1C;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CACX,CAAA;AACT,QAAA,MAAM,KAAK,aAAO,CAAA;AAElB,OAAO,EAAE,MAAM,IAAI,KAAK,EAAE,OAAO,IAAI,MAAM,EAAE,KAAK,IAAI,IAAI,EAAE,CAAA;AAC5D,eAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"index_html.d.ts","sourceRoot":"","sources":["../../src/html/index_html.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAoB,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAEtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAC3D,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAE7D,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAElC,QAAA,MAAM,OAAO,EAAE,kBAAgC,CAAA;AAC/C,QAAA,MAAM,MAAM,EAAE,eAAe,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,GAAG;IACtE;;;;;OAKG;IACH,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;IAE9D;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAA;IAEvC;;;;;;;;;;;;;;;;;;OAkBG;IACH,OAAO,CAAC,KAAK,SAAS,SAAS,EAAE,MAAM,SAAS,SAAS,EACvD,aAAa,EAAE,MAAM,EACrB,YAAY,CAAC,EAAE;QACb,IAAI,CAAC,EAAE,KAAK,CAAA;QACZ,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,GACA,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,OAAO,EAAE,KAAK,GAAG,MAAM,CAAC,CAAC,CAAA;IAEpD;;;;;;;;;;;;;;;;;;OAkBG;IACH,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAAA;IAE1C;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CACX,CAAA;AACT,QAAA,MAAM,KAAK,aAAO,CAAA;AAElB,OAAO,EAAE,MAAM,IAAI,KAAK,EAAE,OAAO,IAAI,MAAM,EAAE,KAAK,IAAI,IAAI,EAAE,CAAA;AAC5D,eAAe,MAAM,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/html/parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwC,MAAM,YAAY,CAAA;AAOjE,OAAO,EAAsB,YAAY,EAAoB,MAAM,uBAAuB,CAAA;AAC1F,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAI1D,OAAO,EAEL,aAAa,EAOb,YAAY,EACb,MAAM,0BAA0B,CAAA;AAyKjC;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,EAAE,CAAC,aAAa,EACrB,aAAa,EAAE,aAAa,EAC5B,YAAY,CAAC,EAAE,YAAY;;;EA4L5B;AAiID,wBAAsB,YAAY,CAChC,IAAI,EAAE,EAAE,CAAC,cAAc,EACvB,aAAa,EAAE,aAAa,EAC5B,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,YAAY,GAChC,OAAO,CAAC,eAAe,CAAC,CA6D1B"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/html/parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwC,MAAM,YAAY,CAAA;AAMjE,OAAO,EAAsB,YAAY,EAAoB,MAAM,uBAAuB,CAAA;AAC1F,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAI1D,OAAO,EAEL,aAAa,EAOb,YAAY,EACb,MAAM,0BAA0B,CAAA;AAyKjC;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,EAAE,CAAC,aAAa,EACrB,aAAa,EAAE,aAAa,EAC5B,YAAY,CAAC,EAAE,YAAY;;;EAuM5B;AAiID,wBAAsB,YAAY,CAChC,IAAI,EAAE,EAAE,CAAC,cAAc,EACvB,aAAa,EAAE,aAAa,EAC5B,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,YAAY,GAChC,OAAO,CAAC,eAAe,CAAC,CA6D1B"}
@@ -55,9 +55,9 @@ function getHtmlTaggedTemplateNode(node) {
55
55
  * extract information which is used in generating the template:
56
56
  * 1. A dictionary of template placeholders which correspond to HTML attribute
57
57
  * values. The key is the placeholder index, and the value is the attribute
58
- * name. We use this to render attribute placeholders appropriately (either
59
- * in quotes for strings, or as either the attribute name or nothing for
60
- * booleans).
58
+ * name. The attribute name is unused (it used to be used in the output, but
59
+ * we need to preserve case to support Angular, which JSDOM can't do unless
60
+ * you use XHTML mode, and that doesn't support attributes without a value).
61
61
  * 2. Whether the template is "nestable" or not. A template is considered
62
62
  * nestable if it has only one top level element.
63
63
  *
@@ -68,9 +68,9 @@ function getHtmlTaggedTemplateNode(node) {
68
68
  * detect.
69
69
  * 2. Use JSDOM to turn this into a DOM.
70
70
  * 3. Iterate over every node in the DOM, and if the node has any attributes
71
- * starting `__FIGMA_PLACEHOLDER`, store the info of these attributes.
72
- * This allows us to know which template literal placeholders correspond to
73
- * HTML attributes when we construct the template.
71
+ * starting `__FIGMA_PLACEHOLDER`, store the info of these attributes. This
72
+ * allows us to know which template literal placeholders correspond to HTML
73
+ * attributes when we construct the template.
74
74
  */
75
75
  function getInfoFromDom(templateExp, parserContext) {
76
76
  let htmlString;
@@ -266,7 +266,7 @@ function parseExampleTemplate(exp, parserContext, propMappings) {
266
266
  }
267
267
  // If the next placeholder is an attribute, then match the start of the
268
268
  // attribute (`attribute=`) at the end of this chunk, so that we can
269
- // remove it from the example code
269
+ // remove it from the example code and store the attribute name
270
270
  const attributeMatches = html.match(/(.*\s)([^\s]+)="?$/s);
271
271
  if (nextPlaceholderIsAttribute && attributeMatches) {
272
272
  // attributeMatches should always have matched here, but we check it
@@ -278,6 +278,11 @@ function parseExampleTemplate(exp, parserContext, propMappings) {
278
278
  // If we are in this block, we know that we've matched an attribute, so
279
279
  // store whether it ends with a quote
280
280
  insideAttributeWithQuotes = html.endsWith('"');
281
+ // Return the attribute name so we can use it to construct the attribute
282
+ // in the output. We do this rather than extract it from the HTML with
283
+ // JSDOM because we want to preserve case, but do not want to parse the
284
+ // doc as XHTML, so there's no way to do it otherwise.
285
+ return attributeMatches[2];
281
286
  }
282
287
  else {
283
288
  // No attribute to remove, just add the code
@@ -286,27 +291,26 @@ function parseExampleTemplate(exp, parserContext, propMappings) {
286
291
  }
287
292
  }
288
293
  // Process the first chunk, which is a special case as it is not in templateSpans
289
- handleHtmlChunk(transformedTemplate.head.text, attributePlaceholders[0] !== undefined);
294
+ let maybeAttributeName = handleHtmlChunk(transformedTemplate.head.text, attributePlaceholders[0] !== undefined);
290
295
  // For each section of the template string, check that the expression is a
291
296
  // prop placeholder, then add the appropriate template function call
292
297
  transformedTemplate.templateSpans.forEach((part, index) => {
293
298
  if (!typescript_1.default.isCallExpression(part.expression)) {
294
- throw new parser_common_1.ParserError(`Expected an call expression as a placeholder in the template, got ${typescript_1.SyntaxKind[part.expression.kind]}`, { sourceFile, node: part.expression });
299
+ throw new parser_common_1.ParserError(`Expected a call expression as a placeholder in the template, got ${typescript_1.SyntaxKind[part.expression.kind]}`, { sourceFile, node: part.expression });
295
300
  }
296
301
  const propNameArg = part.expression.arguments[0];
297
302
  if (!typescript_1.default.isStringLiteral(propNameArg)) {
298
303
  throw new parser_common_1.ParserError(`Expected a string literal as the argument to the placeholder call, got ${typescript_1.SyntaxKind[propNameArg.kind]}`, { sourceFile, node: propNameArg });
299
304
  }
300
305
  const propVariableName = propNameArg.text;
301
- referencedProps.add(propVariableName);
302
306
  if (attributePlaceholders[index]) {
303
- exampleCode += `\${_fcc_renderHtmlAttribute('${attributePlaceholders[index]}', ${propVariableName})}`;
307
+ exampleCode += `\${_fcc_renderHtmlAttribute('${maybeAttributeName}', ${propVariableName})}`;
304
308
  }
305
309
  else {
306
310
  exampleCode += `\${_fcc_renderHtmlValue(${propVariableName})}`;
307
311
  }
308
312
  // Process the next chunk
309
- handleHtmlChunk(part.literal.text, attributePlaceholders[index + 1] !== undefined);
313
+ maybeAttributeName = handleHtmlChunk(part.literal.text, attributePlaceholders[index + 1] !== undefined);
310
314
  });
311
315
  }
312
316
  else if (templateNode.template.kind === typescript_1.default.SyntaxKind.FirstTemplateToken) {