@figma/code-connect 1.0.5 → 1.1.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 (155) hide show
  1. package/README.md +2 -595
  2. package/dist/cli.js +2 -0
  3. package/dist/cli.js.map +1 -1
  4. package/dist/client/figma_client.d.ts +1 -1
  5. package/dist/client/figma_client.js +9 -7
  6. package/dist/client/figma_client.js.map +1 -1
  7. package/dist/commands/connect.d.ts +4 -2
  8. package/dist/commands/connect.d.ts.map +1 -1
  9. package/dist/commands/connect.js +97 -49
  10. package/dist/commands/connect.js.map +1 -1
  11. package/dist/connect/api.d.ts +143 -0
  12. package/dist/connect/api.d.ts.map +1 -0
  13. package/dist/connect/api.js +3 -0
  14. package/dist/connect/api.js.map +1 -0
  15. package/dist/connect/create.d.ts.map +1 -1
  16. package/dist/connect/create.js +4 -0
  17. package/dist/connect/create.js.map +1 -1
  18. package/dist/connect/create_common.d.ts +7 -0
  19. package/dist/connect/create_common.d.ts.map +1 -0
  20. package/dist/connect/create_common.js +19 -0
  21. package/dist/connect/create_common.js.map +1 -0
  22. package/dist/connect/external_types.d.ts +8 -0
  23. package/dist/connect/external_types.d.ts.map +1 -0
  24. package/dist/connect/external_types.js +31 -0
  25. package/dist/connect/external_types.js.map +1 -0
  26. package/dist/connect/figma_connect.d.ts +26 -0
  27. package/dist/connect/figma_connect.d.ts.map +1 -0
  28. package/dist/connect/figma_connect.js +3 -0
  29. package/dist/connect/figma_connect.js.map +1 -0
  30. package/dist/connect/figma_rest_api.d.ts +7 -0
  31. package/dist/connect/figma_rest_api.d.ts.map +1 -1
  32. package/dist/connect/figma_rest_api.js.map +1 -1
  33. package/dist/connect/index_common.d.ts +3 -0
  34. package/dist/connect/index_common.d.ts.map +1 -0
  35. package/dist/connect/index_common.js +23 -0
  36. package/dist/connect/index_common.js.map +1 -0
  37. package/dist/connect/intrinsics.d.ts +94 -0
  38. package/dist/connect/intrinsics.d.ts.map +1 -0
  39. package/dist/connect/intrinsics.js +401 -0
  40. package/dist/connect/intrinsics.js.map +1 -0
  41. package/dist/connect/parser_common.d.ts +144 -0
  42. package/dist/connect/parser_common.d.ts.map +1 -0
  43. package/dist/connect/parser_common.js +297 -0
  44. package/dist/connect/parser_common.js.map +1 -0
  45. package/dist/connect/parser_executable_types.d.ts +20 -23
  46. package/dist/connect/parser_executable_types.d.ts.map +1 -1
  47. package/dist/connect/parser_executable_types.js.map +1 -1
  48. package/dist/connect/parser_executables.js +1 -1
  49. package/dist/connect/parser_executables.js.map +1 -1
  50. package/dist/connect/project.d.ts +20 -5
  51. package/dist/connect/project.d.ts.map +1 -1
  52. package/dist/connect/project.js +79 -16
  53. package/dist/connect/project.js.map +1 -1
  54. package/dist/connect/upload.d.ts +1 -1
  55. package/dist/connect/upload.d.ts.map +1 -1
  56. package/dist/connect/validation.d.ts +1 -1
  57. package/dist/connect/validation.d.ts.map +1 -1
  58. package/dist/connect/wizard/helpers.d.ts +1 -0
  59. package/dist/connect/wizard/helpers.d.ts.map +1 -1
  60. package/dist/connect/wizard/helpers.js +27 -15
  61. package/dist/connect/wizard/helpers.js.map +1 -1
  62. package/dist/connect/wizard/prop_mapping.d.ts +12 -7
  63. package/dist/connect/wizard/prop_mapping.d.ts.map +1 -1
  64. package/dist/connect/wizard/prop_mapping.js +88 -89
  65. package/dist/connect/wizard/prop_mapping.js.map +1 -1
  66. package/dist/connect/wizard/run_wizard.d.ts.map +1 -1
  67. package/dist/connect/wizard/run_wizard.js +8 -3
  68. package/dist/connect/wizard/run_wizard.js.map +1 -1
  69. package/dist/connect/wizard/signature_extraction.d.ts +7 -0
  70. package/dist/connect/wizard/signature_extraction.d.ts.map +1 -0
  71. package/dist/connect/wizard/signature_extraction.js +46 -0
  72. package/dist/connect/wizard/signature_extraction.js.map +1 -0
  73. package/dist/html/__test__/parser/examples/NoConfigObject.figma.d.ts +2 -0
  74. package/dist/html/__test__/parser/examples/NoConfigObject.figma.d.ts.map +1 -0
  75. package/dist/html/__test__/parser/examples/NoConfigObject.figma.js +9 -0
  76. package/dist/html/__test__/parser/examples/NoConfigObject.figma.js.map +1 -0
  77. package/dist/html/__test__/parser/examples/NoExample.figma.d.ts +2 -0
  78. package/dist/html/__test__/parser/examples/NoExample.figma.d.ts.map +1 -0
  79. package/dist/html/__test__/parser/examples/NoExample.figma.js +9 -0
  80. package/dist/html/__test__/parser/examples/NoExample.figma.js.map +1 -0
  81. package/dist/html/__test__/parser/examples/RegularFunctionExampleWithExtraCode.figma.d.ts +2 -0
  82. package/dist/html/__test__/parser/examples/RegularFunctionExampleWithExtraCode.figma.d.ts.map +1 -0
  83. package/dist/html/__test__/parser/examples/RegularFunctionExampleWithExtraCode.figma.js +33 -0
  84. package/dist/html/__test__/parser/examples/RegularFunctionExampleWithExtraCode.figma.js.map +1 -0
  85. package/dist/html/__test__/parser/examples/WrongSignatureJsx.figma.d.ts +2 -0
  86. package/dist/html/__test__/parser/examples/WrongSignatureJsx.figma.d.ts.map +1 -0
  87. package/dist/html/__test__/parser/examples/WrongSignatureJsx.figma.js +15 -0
  88. package/dist/html/__test__/parser/examples/WrongSignatureJsx.figma.js.map +1 -0
  89. package/dist/html/__test__/parser/examples/WrongSignatureNoHtmlTag.figma.d.ts +2 -0
  90. package/dist/html/__test__/parser/examples/WrongSignatureNoHtmlTag.figma.d.ts.map +1 -0
  91. package/dist/html/__test__/parser/examples/WrongSignatureNoHtmlTag.figma.js +15 -0
  92. package/dist/html/__test__/parser/examples/WrongSignatureNoHtmlTag.figma.js.map +1 -0
  93. package/dist/html/__test__/parser/parser.test.d.ts +2 -0
  94. package/dist/html/__test__/parser/parser.test.d.ts.map +1 -0
  95. package/dist/html/__test__/parser/parser.test.js +50 -0
  96. package/dist/html/__test__/parser/parser.test.js.map +1 -0
  97. package/dist/html/create.d.ts +4 -0
  98. package/dist/html/create.d.ts.map +1 -0
  99. package/dist/html/create.js +81 -0
  100. package/dist/html/create.js.map +1 -0
  101. package/dist/html/external.d.ts +8 -0
  102. package/dist/html/external.d.ts.map +1 -0
  103. package/dist/html/external.js +25 -0
  104. package/dist/html/external.js.map +1 -0
  105. package/dist/html/index_html.d.ts +77 -0
  106. package/dist/html/index_html.d.ts.map +1 -0
  107. package/dist/html/index_html.js +42 -0
  108. package/dist/html/index_html.js.map +1 -0
  109. package/dist/html/parser.d.ts +19 -0
  110. package/dist/html/parser.d.ts.map +1 -0
  111. package/dist/html/parser.js +487 -0
  112. package/dist/html/parser.js.map +1 -0
  113. package/dist/html/parser_template_helpers.d.ts +2 -0
  114. package/dist/html/parser_template_helpers.d.ts.map +1 -0
  115. package/dist/html/parser_template_helpers.js +68 -0
  116. package/dist/html/parser_template_helpers.js.map +1 -0
  117. package/dist/html/template_literal.d.ts +5 -0
  118. package/dist/html/template_literal.d.ts.map +1 -0
  119. package/dist/html/template_literal.js +8 -0
  120. package/dist/html/template_literal.js.map +1 -0
  121. package/dist/parser_scripts/get_swift_parser_dir.d.ts +1 -1
  122. package/dist/parser_scripts/get_swift_parser_dir.d.ts.map +1 -1
  123. package/dist/parser_scripts/get_swift_parser_dir.js +38 -10
  124. package/dist/parser_scripts/get_swift_parser_dir.js.map +1 -1
  125. package/dist/react/create.d.ts +5 -0
  126. package/dist/react/create.d.ts.map +1 -1
  127. package/dist/react/create.js +144 -42
  128. package/dist/react/create.js.map +1 -1
  129. package/dist/react/external.d.ts +9 -0
  130. package/dist/react/external.d.ts.map +1 -0
  131. package/dist/react/external.js +45 -0
  132. package/dist/react/external.js.map +1 -0
  133. package/dist/react/index_react.d.ts +94 -0
  134. package/dist/react/index_react.d.ts.map +1 -0
  135. package/dist/react/index_react.js +39 -0
  136. package/dist/react/index_react.js.map +1 -0
  137. package/dist/react/parser.d.ts +6 -38
  138. package/dist/react/parser.d.ts.map +1 -1
  139. package/dist/react/parser.js +141 -298
  140. package/dist/react/parser.js.map +1 -1
  141. package/dist/react/parser_template_helpers.d.ts +15 -15
  142. package/dist/react/parser_template_helpers.d.ts.map +1 -1
  143. package/dist/react/parser_template_helpers.js +51 -35
  144. package/dist/react/parser_template_helpers.js.map +1 -1
  145. package/dist/storybook/convert.d.ts +1 -1
  146. package/dist/storybook/convert.d.ts.map +1 -1
  147. package/dist/storybook/convert.js +6 -4
  148. package/dist/storybook/convert.js.map +1 -1
  149. package/dist/storybook/external.d.ts +1 -1
  150. package/dist/storybook/external.d.ts.map +1 -1
  151. package/dist/typescript/compiler.d.ts +2 -2
  152. package/dist/typescript/compiler.d.ts.map +1 -1
  153. package/dist/typescript/compiler.js +51 -24
  154. package/dist/typescript/compiler.js.map +1 -1
  155. package/package.json +28 -8
@@ -1,26 +1,8 @@
1
1
  import ts from 'typescript';
2
- import { CodeConnectReactConfig } from '../connect/project';
3
- import { PropMappings } from '../common/intrinsics';
4
- interface ParserErrorContext {
5
- sourceFile: ts.SourceFile;
6
- node: ts.Node | undefined;
7
- }
8
- export declare class ParserError extends Error {
9
- sourceFilePosition: ts.LineAndCharacter | null;
10
- sourceFileName: string;
11
- constructor(message: string, context?: ParserErrorContext);
12
- toString(): string;
13
- toDebugString(): string;
14
- }
15
- export declare class InternalError extends ParserError {
16
- constructor(message: string);
17
- }
18
- export interface ParserContext {
19
- checker: ts.TypeChecker;
20
- sourceFile: ts.SourceFile;
21
- config: CodeConnectReactConfig;
22
- absPath: string;
23
- }
2
+ import { PropMappings } from '../connect/intrinsics';
3
+ import { CodeConnectJSON } from '../connect/figma_connect';
4
+ import { ParserContext, ParseOptions } from '../connect/parser_common';
5
+ export declare function findAndResolveImports(program: ts.Program, sourceFile: ts.SourceFile): Record<string, string>;
24
6
  export type ComponentTypeSignature = Record<string, string>;
25
7
  /**
26
8
  * Extracts the type signature from the interface of a React component as a map of
@@ -46,19 +28,11 @@ export declare function extractComponentTypeSignature(symbol: ts.Symbol, checker
46
28
  * @param node The node being parsed. Used for error logging.
47
29
  * @returns Metadata object
48
30
  */
49
- export declare function parseComponentMetadata(node: ts.PropertyAccessExpression | ts.Identifier | ts.Expression, { checker, sourceFile, absPath }: ParserContext, silent?: boolean): Promise<{
31
+ export declare function parseComponentMetadata(node: ts.PropertyAccessExpression | ts.Identifier | ts.Expression, parserContext: ParserContext, silent?: boolean): Promise<{
50
32
  source: string;
51
33
  line: number;
52
34
  component: string;
53
35
  }>;
54
- /**
55
- * Checks if a file contains Code Connect by looking for the `figma.connect()` function call
56
- *
57
- * @param program
58
- * @param file
59
- * @returns
60
- */
61
- export declare function isFigmaConnectFile(program: ts.Program, file: string): boolean;
62
36
  /**
63
37
  * Parses the render function passed to `figma.connect()`, extracting the code and
64
38
  * any import statements matching the JSX elements used in the function body
@@ -78,11 +52,5 @@ export declare function parseRenderFunction(exp: ts.ArrowFunction | ts.FunctionE
78
52
  nestable: boolean;
79
53
  };
80
54
  export declare function getDefaultTemplate(componentMetadata: Awaited<ReturnType<typeof parseComponentMetadata>>): string;
81
- type ParseOptions = {
82
- repoUrl?: string;
83
- debug?: boolean;
84
- silent?: boolean;
85
- };
86
- export declare function parse(program: ts.Program, file: string, config: CodeConnectReactConfig, absPath: string, parseOptions?: ParseOptions): Promise<any[]>;
87
- export {};
55
+ export declare function parseReactDoc(node: ts.CallExpression, parserContext: ParserContext, { repoUrl, silent }: ParseOptions): Promise<CodeConnectJSON>;
88
56
  //# sourceMappingURL=parser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/react/parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,EAAE,sBAAsB,EAAuC,MAAM,oBAAoB,CAAA;AAahG,OAAO,EAGL,YAAY,EAGb,MAAM,sBAAsB,CAAA;AAM7B,UAAU,kBAAkB;IAC1B,UAAU,EAAE,EAAE,CAAC,UAAU,CAAA;IACzB,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,SAAS,CAAA;CAC1B;AAED,qBAAa,WAAY,SAAQ,KAAK;IACpC,kBAAkB,EAAE,EAAE,CAAC,gBAAgB,GAAG,IAAI,CAAA;IAC9C,cAAc,EAAE,MAAM,CAAA;gBAEV,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB;IAUzD,QAAQ;IAUR,aAAa;CAGd;AAED,qBAAa,aAAc,SAAQ,WAAW;gBAChC,OAAO,EAAE,MAAM;CAI5B;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,EAAE,CAAC,WAAW,CAAA;IACvB,UAAU,EAAE,EAAE,CAAC,UAAU,CAAA;IACzB,MAAM,EAAE,sBAAsB,CAAA;IAC9B,OAAO,EAAE,MAAM,CAAA;CAChB;AAuOD,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAE3D;;;;;;;;;;;;GAYG;AACH,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,EAAE,CAAC,MAAM,EACjB,OAAO,EAAE,EAAE,CAAC,WAAW,EACvB,UAAU,EAAE,EAAE,CAAC,UAAU,0BAsD1B;AAED;;;;;;;;;GASG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,EAAE,CAAC,wBAAwB,GAAG,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,UAAU,EACjE,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,aAAa,EAC/C,MAAM,CAAC,EAAE,OAAO;;;;GA2GjB;AAeD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,WAmBnE;AAkFD;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,EAAE,CAAC,aAAa,GAAG,EAAE,CAAC,kBAAkB,GAAG,EAAE,CAAC,mBAAmB,EACtE,aAAa,EAAE,aAAa,EAC5B,YAAY,CAAC,EAAE,YAAY;;;;;;;EA8T5B;AA+LD,wBAAgB,kBAAkB,CAChC,iBAAiB,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC,UAItE;AAkHD,KAAK,YAAY,GAAG;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,wBAAsB,KAAK,CACzB,OAAO,EAAE,EAAE,CAAC,OAAO,EACnB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,sBAAsB,EAC9B,OAAO,EAAE,MAAM,EACf,YAAY,GAAE,YAAiB,GAC9B,OAAO,CAAC,GAAG,EAAE,CAAC,CAmChB"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/react/parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAA;AAW3B,OAAO,EAAsB,YAAY,EAAoB,MAAM,uBAAuB,CAAA;AAC1F,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAE1D,OAAO,EAIL,aAAa,EASb,YAAY,EACb,MAAM,0BAA0B,CAAA;AAgFjC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,0BAanF;AAsMD,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAE3D;;;;;;;;;;;;GAYG;AACH,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,EAAE,CAAC,MAAM,EACjB,OAAO,EAAE,EAAE,CAAC,WAAW,EACvB,UAAU,EAAE,EAAE,CAAC,UAAU,0BA0E1B;AAED;;;;;;;;;GASG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,EAAE,CAAC,wBAAwB,GAAG,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,UAAU,EACjE,aAAa,EAAE,aAAa,EAC5B,MAAM,CAAC,EAAE,OAAO;;;;GA4GjB;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,EAAE,CAAC,aAAa,GAAG,EAAE,CAAC,kBAAkB,GAAG,EAAE,CAAC,mBAAmB,EACtE,aAAa,EAAE,aAAa,EAC5B,YAAY,CAAC,EAAE,YAAY;;;;;;;EA8O5B;AA+LD,wBAAgB,kBAAkB,CAChC,iBAAiB,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC,UAItE;AAED,wBAAsB,aAAa,CACjC,IAAI,EAAE,EAAE,CAAC,cAAc,EACvB,aAAa,EAAE,aAAa,EAC5B,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,YAAY,GAChC,OAAO,CAAC,eAAe,CAAC,CAyG1B"}