@figma/code-connect 1.3.12 → 1.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 (128) hide show
  1. package/dist/cli.js.map +1 -1
  2. package/dist/client/external.js.map +1 -1
  3. package/dist/client/figma_client.js +1 -1
  4. package/dist/client/figma_client.js.map +1 -1
  5. package/dist/commands/connect.d.ts +5 -4
  6. package/dist/commands/connect.d.ts.map +1 -1
  7. package/dist/commands/connect.js +242 -24
  8. package/dist/commands/connect.js.map +1 -1
  9. package/dist/common/error_formatting.d.ts +34 -0
  10. package/dist/common/error_formatting.d.ts.map +1 -0
  11. package/dist/common/error_formatting.js +115 -0
  12. package/dist/common/error_formatting.js.map +1 -0
  13. package/dist/common/fetch.js.map +1 -1
  14. package/dist/common/logging.js.map +1 -1
  15. package/dist/common/tsconfig.js.map +1 -1
  16. package/dist/common/updates.js.map +1 -1
  17. package/dist/connect/api.d.ts +13 -0
  18. package/dist/connect/api.d.ts.map +1 -1
  19. package/dist/connect/api.js.map +1 -1
  20. package/dist/connect/create.d.ts.map +1 -1
  21. package/dist/connect/create.js +2 -1
  22. package/dist/connect/create.js.map +1 -1
  23. package/dist/connect/create_common.js.map +1 -1
  24. package/dist/connect/delete_docs.d.ts +2 -1
  25. package/dist/connect/delete_docs.d.ts.map +1 -1
  26. package/dist/connect/delete_docs.js +2 -2
  27. package/dist/connect/delete_docs.js.map +1 -1
  28. package/dist/connect/external_types.d.ts +1 -0
  29. package/dist/connect/external_types.d.ts.map +1 -1
  30. package/dist/connect/external_types.js +4 -0
  31. package/dist/connect/external_types.js.map +1 -1
  32. package/dist/connect/figma_connect.d.ts +4 -1
  33. package/dist/connect/figma_connect.d.ts.map +1 -1
  34. package/dist/connect/figma_connect.js.map +1 -1
  35. package/dist/connect/figma_rest_api.d.ts +1 -1
  36. package/dist/connect/figma_rest_api.d.ts.map +1 -1
  37. package/dist/connect/figma_rest_api.js +5 -1
  38. package/dist/connect/figma_rest_api.js.map +1 -1
  39. package/dist/connect/helpers.js.map +1 -1
  40. package/dist/connect/index_common.js.map +1 -1
  41. package/dist/connect/intrinsics.d.ts +9 -2
  42. package/dist/connect/intrinsics.d.ts.map +1 -1
  43. package/dist/connect/intrinsics.js +19 -0
  44. package/dist/connect/intrinsics.js.map +1 -1
  45. package/dist/connect/label_language_mapping.d.ts +48 -0
  46. package/dist/connect/label_language_mapping.d.ts.map +1 -0
  47. package/dist/connect/label_language_mapping.js +76 -0
  48. package/dist/connect/label_language_mapping.js.map +1 -0
  49. package/dist/connect/migration_helpers.d.ts +41 -0
  50. package/dist/connect/migration_helpers.d.ts.map +1 -0
  51. package/dist/connect/migration_helpers.js +339 -0
  52. package/dist/connect/migration_helpers.js.map +1 -0
  53. package/dist/connect/modifiers.js.map +1 -1
  54. package/dist/connect/parser_common.d.ts +1 -0
  55. package/dist/connect/parser_common.d.ts.map +1 -1
  56. package/dist/connect/parser_common.js +1 -0
  57. package/dist/connect/parser_common.js.map +1 -1
  58. package/dist/connect/parser_executable_types.d.ts +11 -5
  59. package/dist/connect/parser_executable_types.d.ts.map +1 -1
  60. package/dist/connect/parser_executable_types.js +5 -1
  61. package/dist/connect/parser_executable_types.js.map +1 -1
  62. package/dist/connect/parser_executables.js.map +1 -1
  63. package/dist/connect/project.d.ts +11 -0
  64. package/dist/connect/project.d.ts.map +1 -1
  65. package/dist/connect/project.js +22 -4
  66. package/dist/connect/project.js.map +1 -1
  67. package/dist/connect/upload.d.ts +2 -1
  68. package/dist/connect/upload.d.ts.map +1 -1
  69. package/dist/connect/upload.js +12 -6
  70. package/dist/connect/upload.js.map +1 -1
  71. package/dist/connect/validation.d.ts +1 -1
  72. package/dist/connect/validation.d.ts.map +1 -1
  73. package/dist/connect/validation.js +2 -2
  74. package/dist/connect/validation.js.map +1 -1
  75. package/dist/connect/wizard/autolinking.js.map +1 -1
  76. package/dist/connect/wizard/embeddings.d.ts +2 -1
  77. package/dist/connect/wizard/embeddings.d.ts.map +1 -1
  78. package/dist/connect/wizard/embeddings.js +2 -2
  79. package/dist/connect/wizard/embeddings.js.map +1 -1
  80. package/dist/connect/wizard/helpers.js.map +1 -1
  81. package/dist/connect/wizard/prop_mapping.js.map +1 -1
  82. package/dist/connect/wizard/prop_mapping_helpers.d.ts +2 -1
  83. package/dist/connect/wizard/prop_mapping_helpers.d.ts.map +1 -1
  84. package/dist/connect/wizard/prop_mapping_helpers.js +5 -3
  85. package/dist/connect/wizard/prop_mapping_helpers.js.map +1 -1
  86. package/dist/connect/wizard/run_wizard.d.ts.map +1 -1
  87. package/dist/connect/wizard/run_wizard.js +6 -3
  88. package/dist/connect/wizard/run_wizard.js.map +1 -1
  89. package/dist/connect/wizard/signature_extraction.js.map +1 -1
  90. package/dist/html/create.js.map +1 -1
  91. package/dist/html/external.d.ts +1 -1
  92. package/dist/html/external.d.ts.map +1 -1
  93. package/dist/html/external.js +1 -0
  94. package/dist/html/external.js.map +1 -1
  95. package/dist/html/index_html.js.map +1 -1
  96. package/dist/html/parser.d.ts +2 -2
  97. package/dist/html/parser.d.ts.map +1 -1
  98. package/dist/html/parser.js +15 -6
  99. package/dist/html/parser.js.map +1 -1
  100. package/dist/html/parser_template_helpers.js.map +1 -1
  101. package/dist/html/template_literal.js.map +1 -1
  102. package/dist/html/types.js.map +1 -1
  103. package/dist/parser_scripts/compose_errors.js.map +1 -1
  104. package/dist/parser_scripts/get_file_if_exists.js.map +1 -1
  105. package/dist/parser_scripts/get_gradlew_path.js.map +1 -1
  106. package/dist/parser_scripts/get_swift_parser_dir.js.map +1 -1
  107. package/dist/react/create.d.ts.map +1 -1
  108. package/dist/react/create.js +3 -0
  109. package/dist/react/create.js.map +1 -1
  110. package/dist/react/external.d.ts +2 -2
  111. package/dist/react/external.d.ts.map +1 -1
  112. package/dist/react/external.js +2 -1
  113. package/dist/react/external.js.map +1 -1
  114. package/dist/react/index_react.js.map +1 -1
  115. package/dist/react/parser.d.ts +3 -3
  116. package/dist/react/parser.d.ts.map +1 -1
  117. package/dist/react/parser.js +13 -8
  118. package/dist/react/parser.js.map +1 -1
  119. package/dist/react/parser_template_helpers.d.ts.map +1 -1
  120. package/dist/react/parser_template_helpers.js +4 -1
  121. package/dist/react/parser_template_helpers.js.map +1 -1
  122. package/dist/react/types.js.map +1 -1
  123. package/dist/storybook/convert.d.ts.map +1 -1
  124. package/dist/storybook/convert.js +3 -2
  125. package/dist/storybook/convert.js.map +1 -1
  126. package/dist/storybook/external.js.map +1 -1
  127. package/dist/typescript/compiler.js.map +1 -1
  128. package/package.json +7 -5
@@ -1 +1 @@
1
- {"version":3,"file":"parser_template_helpers.js","sourceRoot":"","sources":["../../src/react/parser_template_helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser_template_helpers.js","sourceRoot":"","sources":["../../src/react/parser_template_helpers.ts"],"names":[],"mappings":";AAAA,0BAA0B;AAC1B,iFAAiF;AACjF,6EAA6E;AAC7E,4EAA4E;AAC5E,mBAAmB;;AAqCnB,gCAKC;AAED,0CAKC;AAED,sCAKC;AAED,0CAKC;AAED,kCAMC;AAED,kDAKC;AAED,kDAKC;AAkMD,wEAiBC;AAnQD,SAAgB,UAAU,CAAC,MAAa;IACtC,OAAO;QACL,MAAM;QACN,KAAK,EAAE,OAAO;KACN,CAAA;AACZ,CAAC;AAED,SAAgB,eAAe,CAAC,MAAc;IAC5C,OAAO;QACL,MAAM;QACN,KAAK,EAAE,aAAa;KACZ,CAAA;AACZ,CAAC;AAED,SAAgB,aAAa,CAAC,MAAc;IAC1C,OAAO;QACL,MAAM;QACN,KAAK,EAAE,UAAU;KACT,CAAA;AACZ,CAAC;AAED,SAAgB,eAAe,CAAC,MAAc;IAC5C,OAAO;QACL,MAAM;QACN,KAAK,EAAE,YAAY;KACX,CAAA;AACZ,CAAC;AAED,SAAgB,WAAW,CAAC,MAA2B;IACrD,OAAO;QACL,MAAM;QACN,KAAK,EAAE,QAAQ;QACf,GAAG,MAAM;KACD,CAAA;AACZ,CAAC;AAED,SAAgB,mBAAmB,CAAC,MAAc;IAChD,OAAO;QACL,MAAM;QACN,KAAK,EAAE,iBAAiB;KAChB,CAAA;AACZ,CAAC;AAED,SAAgB,mBAAmB,CAAC,MAAc;IAChD,OAAO;QACL,MAAM;QACN,KAAK,EAAE,iBAAiB;KAChB,CAAA;AACZ,CAAC;AAED,SAAS,qBAAqB,CAC5B,IAA+E;IAE/E,OAAO,CACL,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QACnB,IAAI,CAAC,KAAK,CACR,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,IAAI,KAAK,UAAU;YACxB,IAAI,CAAC,IAAI,KAAK,MAAM;YACpB,IAAI,CAAC,IAAI,KAAK,MAAM;YACpB,IAAI,CAAC,IAAI,KAAK,OAAO,CACxB,CACF,CAAA;AACH,CAAC;AAED,qEAAqE;AACrE,8CAA8C;AAC9C,SAAS,oBAAoB,CAC3B,IAAgE;IAEhE,IAAI,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,WAAW,CAAA;IACpB,CAAC;IAED,qEAAqE;IACrE,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAA;QACtE,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;YACf,OAAO,WAAW,CAAA;QACpB,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,CAAA;QACZ,CAAC;IACH,CAAC;IAED,IAAI,OAAO,IAAI,KAAK,SAAS,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC1D,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IACE,IAAI,CAAC,KAAK,KAAK,UAAU;QACzB,IAAI,CAAC,KAAK,KAAK,YAAY;QAC3B,IAAI,CAAC,KAAK,KAAK,aAAa;QAC5B,IAAI,CAAC,KAAK,KAAK,iBAAiB,EAChC,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;QAC3B,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,GAAG,CAAA;IACjE,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;aAChC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,KAAK,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;aACnE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAA;IACjB,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,KAAK,iBAAiB,EAAE,CAAC;QACrC,OAAO,KAAK,IAAI,CAAC,MAAM,IAAI,CAAA;IAC7B,CAAC;IAED,OAAO,WAAW,CAAA;AACpB,CAAC;AAED,mDAAmD;AACnD,SAAS,oBAAoB,CAC3B,IAAY,EACZ,IAA+E;IAE/E,6EAA6E;IAC7E,6EAA6E;IAC7E,8EAA8E;IAC9E,sCAAsC;IAEtC,IAAI,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,0EAA0E;YAC1E,YAAY;YACZ,EAAE;YACF,2EAA2E;YAC3E,2EAA2E;YAC3E,6EAA6E;YAC7E,yEAAyE;YACzE,OAAO,KAAK,CAAC,GAAG,CAAA,IAAI,IAAI,OAAO,IAAI,MAAM,CAAA;QAC3C,CAAC;aAAM,CAAC;YACN,gFAAgF;YAChF,OAAO,KAAK,CAAC,GAAG,CAAA,IAAI,IAAI,KAAK,IAAI,GAAG,CAAA;QACtC,CAAC;IACH,CAAC;IAED,yEAAyE;IACzE,6BAA6B;IAC7B,IAAI,OAAO,IAAI,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAC/B,CAAC;IAED,qEAAqE;IACrE,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QAC/D,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;YACf,OAAO,EAAE,CAAA;QACX,CAAC;QACD,OAAO,IAAI,IAAI,KAAK,GAAG,GAAG,CAAA;IAC5B,CAAC;IAED,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,IAAI,IAAI,KAAK,IAAI,GAAG,CAAA;IAC7B,CAAC;IAED,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,EAAE,CAAA;IACX,CAAC;IAED,IACE,IAAI,CAAC,KAAK,KAAK,UAAU;QACzB,IAAI,CAAC,KAAK,KAAK,YAAY;QAC3B,IAAI,CAAC,KAAK,KAAK,aAAa;QAC5B,IAAI,CAAC,KAAK,KAAK,iBAAiB,EAChC,CAAC;QACD,OAAO,IAAI,IAAI,KAAK,IAAI,CAAC,MAAM,GAAG,CAAA;IACpC,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,KAAK,OAAO,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QACtD,OAAO,IAAI,IAAI,KAAK,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAA;IACnD,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,KAAK,iBAAiB,EAAE,CAAC;QACrC,OAAO,IAAI,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,CAAA;IACxC,CAAC;IAED,OAAO,EAAE,CAAA;AACX,CAAC;AAED,wDAAwD;AACxD,SAAS,wBAAwB,CAC/B,IAAgE;IAEhE,IAAI,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,SAAS,EAAE,CAAC;QACtF,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,EAAE,CAAA;IACX,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,KAAK,iBAAiB,EAAE,CAAC;QACrC,oDAAoD;QACpD,OAAO,KAAK,CAAC,GAAG,CAAA,MAAM,IAAI,CAAC,MAAM,KAAK,CAAA;IACxC,CAAC;IAED,oDAAoD;IACpD,IAAI,IAAI,CAAC,KAAK,KAAK,aAAa,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED,uCAAuC;IACvC,IAAI,IAAI,CAAC,KAAK,KAAK,UAAU,IAAI,IAAI,CAAC,KAAK,KAAK,YAAY,EAAE,CAAC;QAC7D,OAAO,IAAI,IAAI,CAAC,MAAM,GAAG,CAAA;IAC3B,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,KAAK,OAAO,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QACtD,OAAO,IAAI,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAA;IAC1C,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,KAAK,iBAAiB,EAAE,CAAC;QACrC,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,CAAA;IAC7B,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAQ;IACpC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAA;IAClF,CAAC;IAED,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,YAAY,IAAI,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACnE,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;IAC5B,CAAC;IAED,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;SACxB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,KAAK,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;SAC3D,IAAI,CAAC,GAAG,CAAC,GAAG,CAAA;AACjB,CAAC;AAED,yEAAyE;AACzE,SAAgB,8BAA8B;IAC5C,OAAO;QACL,oBAAoB;QACpB,wBAAwB;QACxB,eAAe;QACf,aAAa;QACb,eAAe;QACf,WAAW;QACX,mBAAmB;QACnB,oBAAoB;QACpB,oBAAoB;QACpB,mBAAmB;QACnB,UAAU;QACV,qBAAqB;KACtB;SACE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;SAC1B,IAAI,CAAC,IAAI,CAAC,CAAA;AACf,CAAC","sourcesContent":["/* istanbul ignore file */\n// This file needs to be ignored from code coverage, as Istanbul adds extra calls\n// to `cov_*` functions which are used to track coverage, but these functions\n// can't be resolved when executing the templates from the unit tests inside\n// `new Function()`\n\ndeclare const figma: { tsx: (template: TemplateStringsArray, ...args: any[]) => string }\ndeclare type CodeSection = { type: 'CODE'; code: string }\ndeclare type InstanceSection = { type: 'INSTANCE' }\ndeclare type SlotSection = { type: 'SLOT' }\ndeclare type ErrorSection = { type: 'ERROR' }\n\n// This file contains helper functions which hare included in the React template\n// example - i.e. they are run on the client side, but are not part of the\n// general template API as they are React specific.\n//\n// We write them in TS rather than as a string for maintainability, then call\n// `.toString()` on the functions and return a string we can inject. Note that\n// comments will be stripped, as this is run through the build step first.\n\n// The parser serializes all enum values to strings when passing them to the\n// template. To preserve type information, we wrap any complex types with a\n// `type` field so we can determine how to render the prop value correctly in\n// the template (when passed to e.g __fcc_renderReactProp), and also to\n// differentiate between things like template strings and identifiers (e.g\n// MyEnum.Something).\nexport type FCCValue =\n | string\n | number\n | boolean\n | undefined\n | ReturnType<\n | typeof _fcc_jsxElement\n | typeof _fcc_function\n | typeof _fcc_identifier\n | typeof _fcc_object\n | typeof _fcc_templateString\n | typeof _fcc_reactComponent\n | typeof _fcc_array\n >\n\nexport function _fcc_array($value: any[]) {\n return {\n $value,\n $type: 'array',\n } as const\n}\n\nexport function _fcc_jsxElement($value: string) {\n return {\n $value,\n $type: 'jsx-element',\n } as const\n}\n\nexport function _fcc_function($value: string) {\n return {\n $value,\n $type: 'function',\n } as const\n}\n\nexport function _fcc_identifier($value: string) {\n return {\n $value,\n $type: 'identifier',\n } as const\n}\n\nexport function _fcc_object($value: Record<string, any>) {\n return {\n $value,\n $type: 'object',\n ...$value,\n } as const\n}\n\nexport function _fcc_templateString($value: string) {\n return {\n $value,\n $type: 'template-string',\n } as const\n}\n\nexport function _fcc_reactComponent($value: string) {\n return {\n $value,\n $type: 'react-component',\n } as const\n}\n\nfunction isReactComponentArray(\n prop: FCCValue | (CodeSection | InstanceSection | SlotSection | ErrorSection)[],\n): prop is (InstanceSection | SlotSection | CodeSection | ErrorSection)[] {\n return (\n Array.isArray(prop) &&\n prop.every(\n (item) =>\n item.type === 'INSTANCE' ||\n item.type === 'SLOT' ||\n item.type === 'CODE' ||\n item.type === 'ERROR',\n )\n )\n}\n\n// Render a prop value passed to an object literal based on its type.\n// for example: <Button sx={{ key: value }} />\nfunction _fcc_renderPropValue(\n prop: FCCValue | (CodeSection | InstanceSection | SlotSection)[],\n): string | number | boolean | (CodeSection | InstanceSection | SlotSection)[] {\n if (isReactComponentArray(prop)) {\n return prop\n }\n\n if (prop === undefined) {\n return 'undefined'\n }\n\n // Replace any newlines or quotes in the string with escaped versions\n if (typeof prop === 'string') {\n const str = `\"${prop.replaceAll('\\n', '\\\\n').replaceAll('\"', '\\\\\"')}\"`\n if (str === '') {\n return 'undefined'\n } else {\n return str\n }\n }\n\n if (typeof prop === 'boolean' || typeof prop === 'number') {\n return prop\n }\n\n if (\n prop.$type === 'function' ||\n prop.$type === 'identifier' ||\n prop.$type === 'jsx-element' ||\n prop.$type === 'react-component'\n ) {\n return prop.$value\n }\n\n if (prop.$type === 'array') {\n return `[${prop.$value.map((el) => _fcc_renderPropValue(el))}]`\n }\n\n if (prop.$type === 'object') {\n return `{${Object.keys(prop.$value)\n .map((key) => ` ${key}: ${_fcc_renderPropValue(prop.$value[key])} `)\n .join(',')}}`\n }\n\n if (prop.$type === 'template-string') {\n return `\\`${prop.$value}\\``\n }\n\n return 'undefined'\n}\n\n// Render a React prop correctly, based on its type\nfunction _fcc_renderReactProp(\n name: string,\n prop: FCCValue | (CodeSection | InstanceSection | SlotSection | ErrorSection)[],\n) {\n // If the value is an array, then it's an array of objects representing React\n // children (either of type INSTANCE for pills, or CODE for inline code). The\n // template string handler in the template API handles extracting the instance\n // objects in a way the UI can handle.\n\n if (isReactComponentArray(prop)) {\n if (prop.length > 1) {\n // If the array has multiple children, render them wrapped in braces and a\n // fragment.\n //\n // We recursively call `figma.tsx` on the value as it itself is an array of\n // CODE/INSTANCE sections, so we need to run it through the template string\n // function otherwise this would just output `[object Object]` for the value.\n // The template string handler function handles flattening nested arrays.\n return figma.tsx` ${name}={<>${prop}</>}`\n } else {\n // Render a single child wrapped in braces, see above for why we use `figma.tsx`\n return figma.tsx` ${name}={${prop}}`\n }\n }\n\n // Render either the prop name or nothing for a boolean, we don't want to\n // render `prop={true/false}`\n if (typeof prop === 'boolean') {\n return prop ? ` ${name}` : ''\n }\n\n // Replace any newlines or quotes in the string with escaped versions\n if (typeof prop === 'string') {\n const str = prop.replaceAll('\\n', '\\\\n').replaceAll('\"', '\\\\\"')\n if (str === '') {\n return ''\n }\n return ` ${name}=\"${str}\"`\n }\n\n if (typeof prop === 'number') {\n return ` ${name}={${prop}}`\n }\n\n if (prop === undefined) {\n return ''\n }\n\n if (\n prop.$type === 'function' ||\n prop.$type === 'identifier' ||\n prop.$type === 'jsx-element' ||\n prop.$type === 'react-component'\n ) {\n return ` ${name}={${prop.$value}}`\n }\n\n if (prop.$type === 'array' || prop.$type === 'object') {\n return ` ${name}={${_fcc_renderPropValue(prop)}}`\n }\n\n if (prop.$type === 'template-string') {\n return ` ${name}={\\`${prop.$value}\\`}`\n }\n\n return ''\n}\n\n// Renders React children correctly, based on their type\nfunction _fcc_renderReactChildren(\n prop: FCCValue | (CodeSection | InstanceSection | SlotSection)[],\n) {\n if (isReactComponentArray(prop)) {\n return prop\n }\n\n if (typeof prop === 'string' || typeof prop === 'number' || typeof prop === 'boolean') {\n return prop\n }\n\n if (prop === undefined) {\n return ''\n }\n\n if (prop.$type === 'template-string') {\n // If the value is a template string, wrap in braces\n return figma.tsx`{\\`${prop.$value}\\`}`\n }\n\n // If the value is a JSX element, return it directly\n if (prop.$type === 'jsx-element') {\n return prop.$value\n }\n\n // but for other values, wrap in braces\n if (prop.$type === 'function' || prop.$type === 'identifier') {\n return `{${prop.$value}}`\n }\n\n if (prop.$type === 'array' || prop.$type === 'object') {\n return `{${_fcc_renderPropValue(prop)}}`\n }\n\n if (prop.$type === 'react-component') {\n return `<${prop.$value} />`\n }\n}\n\nfunction _fcc_stringifyObject(obj: any): string {\n if (Array.isArray(obj)) {\n return `[${obj.map((element) => `${_fcc_stringifyObject(element)}`).join(',')}]`\n }\n\n if (typeof obj !== 'object' || obj instanceof Date || obj === null) {\n return JSON.stringify(obj)\n }\n\n return `{${Object.keys(obj)\n .map((key) => ` ${key}: ${_fcc_stringifyObject(obj[key])} `)\n .join(',')}}`\n}\n\n// Return the helpers as a string which can be injected into the template\nexport function getParsedTemplateHelpersString() {\n return [\n _fcc_renderReactProp,\n _fcc_renderReactChildren,\n _fcc_jsxElement,\n _fcc_function,\n _fcc_identifier,\n _fcc_object,\n _fcc_templateString,\n _fcc_renderPropValue,\n _fcc_stringifyObject,\n _fcc_reactComponent,\n _fcc_array,\n isReactComponentArray,\n ]\n .map((fn) => fn.toString())\n .join('\\n')\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/react/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/react/types.ts"],"names":[],"mappings":"","sourcesContent":["import { FigmaConnectMeta, ConnectedComponent } from '../connect/api'\n\n// Converts our internal type for instances, which adds methods to it,\n// to their underlying primitive type, so they can be used in examples.\n// prettier-ignore\ntype MapType<T> =\n T extends ConnectedComponent ? React.ReactElement :\n // catch functions and return them as is, as they'll otherwise be converted to objects\n T extends Function ? T :\n // Apply recursively to objects and arrays\n T extends object ? { [K in keyof T]: MapType<T[K]> } :\n T extends Array<infer U> ? MapType<U>[] :\n T\n\nexport type ReactMeta<P> = FigmaConnectMeta<\n P,\n MapType<P>,\n React.Component | React.ReactElement | string | ((props: any) => React.ReactElement)\n> & {\n /**\n * A list of import statements that will render in the Code Snippet in Figma.\n * This overrides the auto-generated imports for the component. When this is specified,\n * the `importPaths` option in the config file is also ignored.\n */\n imports?: string[]\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../src/storybook/convert.ts"],"names":[],"mappings":"AAaA,OAAO,EAEL,gBAAgB,EAGjB,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAa1D,UAAU,yBAAyB;IACjC;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB;;OAEG;IACH,WAAW,EAAE,gBAAgB,CAAA;CAC9B;AAED;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CAAC,EAC1C,WAAW,EACX,WAAgC,GACjC,EAAE,yBAAyB,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAaxD"}
1
+ {"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../src/storybook/convert.ts"],"names":[],"mappings":"AAaA,OAAO,EAEL,gBAAgB,EAGjB,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAc1D,UAAU,yBAAyB;IACjC;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB;;OAEG;IACH,WAAW,EAAE,gBAAgB,CAAA;CAC9B;AAED;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CAAC,EAC1C,WAAW,EACX,WAAgC,GACjC,EAAE,yBAAyB,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAaxD"}
@@ -9,6 +9,7 @@ const compiler_1 = require("../typescript/compiler");
9
9
  const parser_1 = require("../react/parser");
10
10
  const project_1 = require("../connect/project");
11
11
  const logging_1 = require("../common/logging");
12
+ const label_language_mapping_1 = require("../connect/label_language_mapping");
12
13
  const typescript_1 = __importDefault(require("typescript"));
13
14
  const minimatch_1 = require("minimatch");
14
15
  const intrinsics_1 = require("../connect/intrinsics");
@@ -77,8 +78,8 @@ async function convertStorybookFile({ path, tsProgram, remoteUrl, config, absPat
77
78
  },
78
79
  links,
79
80
  component: componentMetadata.component,
80
- label: 'Storybook',
81
- language: 'typescript',
81
+ label: label_language_mapping_1.CodeConnectLabel.Storybook,
82
+ language: label_language_mapping_1.SyntaxHighlightLanguage.TypeScript,
82
83
  metadata: {
83
84
  cliVersion: require('../../package.json').version,
84
85
  },
@@ -1 +1 @@
1
- {"version":3,"file":"convert.js","sourceRoot":"","sources":["../../src/storybook/convert.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"convert.js","sourceRoot":"","sources":["../../src/storybook/convert.ts"],"names":[],"mappings":"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","sourcesContent":["import { readFileSync } from 'fs'\nimport {\n bfsFindNode,\n convertObjectLiteralToJs,\n getDefaultExport,\n parsePropertyOfType,\n} from '../typescript/compiler'\nimport {\n parseComponentMetadata,\n parseJSXRenderFunction,\n getDefaultTemplate,\n findAndResolveImports,\n} from '../react/parser'\nimport {\n CodeConnectReactConfig,\n ReactProjectInfo,\n getRemoteFileUrl,\n getStorybookUrl,\n} from '../connect/project'\nimport { logger } from '../common/logging'\nimport { CodeConnectJSON } from '../connect/figma_connect'\nimport { CodeConnectLabel, SyntaxHighlightLanguage } from '../connect/label_language_mapping'\nimport ts from 'typescript'\nimport { FigmaConnectLink, FigmaConnectMeta } from '../connect/api'\nimport { minimatch } from 'minimatch'\nimport { parsePropsObject } from '../connect/intrinsics'\nimport {\n InternalError,\n parseImports,\n parseLinks,\n ParserContext,\n ParserError,\n} from '../connect/parser_common'\n\ninterface ConvertStorybookFilesArgs {\n /**\n * Optionally override the glob used to find stories. This is currently not\n * exposed in the config, but is used by the tests\n */\n storiesGlob?: string\n\n /**\n * Information about the project\n */\n projectInfo: ReactProjectInfo\n}\n\n/**\n * Converts all Storyboook files in a directory into Code Connect objects. If a file\n * cannot be converted (e.g. unsupported syntax), it is ignored and an error is\n * logged.\n *\n * @param args\n * @returns An array of Code Connect objects\n */\nexport async function convertStorybookFiles({\n projectInfo,\n storiesGlob = '**/*.stories.tsx',\n}: ConvertStorybookFilesArgs): Promise<CodeConnectJSON[]> {\n const { remoteUrl, config, files, tsProgram } = projectInfo\n\n const storyFiles = files.filter((file) => minimatch(file, storiesGlob, { matchBase: true }))\n logger.debug(`Story files found:\\n${storyFiles.map((f) => `- ${f}`).join('\\n')}`)\n\n return Promise.all(\n storyFiles.map((path) =>\n convertStorybookFile({ path, tsProgram, config, remoteUrl, absPath: projectInfo.absPath }),\n ),\n )\n .then((f) => f.filter((x): x is NonNullable<typeof x> => Boolean(x)))\n .then((f) => f.flat())\n}\n\ninterface FigmaStoryMetadata {\n type: string\n url: string\n}\n\ninterface ConvertStorybookFileArgs {\n path: string\n tsProgram: ts.Program\n remoteUrl: string\n config: CodeConnectReactConfig\n absPath: string\n}\n\ntype MappedPropType = 'FigmaString' | 'FigmaBoolean' | 'Mapped'\ntype MappedProps = Map<string, { figmaName: string; type: MappedPropType }> | undefined\n\nasync function convertStorybookFile({\n path,\n tsProgram,\n remoteUrl,\n config,\n absPath,\n}: ConvertStorybookFileArgs): Promise<CodeConnectJSON[] | undefined> {\n const checker = tsProgram.getTypeChecker()\n const sourceFile = tsProgram.getSourceFile(path)\n\n if (!sourceFile) {\n throw new InternalError(`Source file not found: ${path}`)\n }\n\n const parserContext: ParserContext = {\n checker,\n config,\n sourceFile,\n absPath,\n resolvedImports: findAndResolveImports(tsProgram, sourceFile),\n }\n\n let source = readFileSync(path).toString()\n // Replace backticks with ' as csf-tools can't parse dynamic titles\n source = source.replace(/title: `(.*)`/g, (_, title) => {\n return `title: '${title}'`\n })\n\n logger.debug(`Parsing story ${path}`)\n\n try {\n // We need to get the default export, which contains the story file meta,\n // from the TS Program rather than using `babelNodeToTsSourceFile(csf._metaNode)`,\n // because we need access to the full Program to parse it for prop types etc.\n const storyFileMetaNode = getDefaultExport(sourceFile)\n if (!storyFileMetaNode) {\n return\n }\n\n const parseResult = parseStoryMetadata(storyFileMetaNode, parserContext)\n\n if (!parseResult) {\n logger.debug(`Could not parse story metadata for ${path}`)\n return\n }\n\n const { figmaStoryMetadata, componentDeclaration, propMappings, examples, imports, links } =\n parseResult\n\n const componentMetadata = await parseComponentMetadata(componentDeclaration, parserContext)\n\n const codeConnectObjects: CodeConnectJSON[] = []\n const baseCodeConnect: CodeConnectJSON = {\n figmaNode: figmaStoryMetadata.url,\n source: config?.storybook?.url\n ? getStorybookUrl(componentMetadata.source, config.storybook.url)\n : getRemoteFileUrl(componentMetadata.source, remoteUrl),\n sourceLocation: { line: componentMetadata.line },\n template: '',\n templateData: {\n props: propMappings,\n imports,\n },\n links,\n component: componentMetadata.component,\n label: CodeConnectLabel.Storybook,\n language: SyntaxHighlightLanguage.TypeScript,\n metadata: {\n cliVersion: require('../../package.json').version,\n },\n }\n\n // If there are no examples, just return a default Code Connect object\n if (!examples) {\n codeConnectObjects.push({\n ...baseCodeConnect,\n template: getDefaultTemplate(componentMetadata),\n })\n return codeConnectObjects\n }\n\n for (const statement of sourceFile.statements) {\n // Find any exported function or variable declarations, which correspond to stories\n if (!(ts.isFunctionDeclaration(statement) || ts.isVariableStatement(statement))) {\n continue\n }\n\n const name = ts.isFunctionDeclaration(statement)\n ? statement.name?.text\n : statement.declarationList.declarations?.[0].name.getText(sourceFile)\n\n const example = examples?.find((example) => example.example === name)\n // This story is not in the examples array, so skip it\n if (examples && !example) {\n continue\n }\n\n let statementToParse: ts.ArrowFunction | ts.FunctionDeclaration | undefined\n\n if (ts.isFunctionDeclaration(statement)) {\n statementToParse = statement\n } else {\n const initializer = statement.declarationList.declarations[0].initializer\n if (initializer && ts.isArrowFunction(initializer)) {\n statementToParse = initializer\n } else if (initializer && ts.isObjectLiteralExpression(initializer)) {\n // Handle stories like `export const Primary = { render: () => <Button /> }`\n const renderProperty = parsePropertyOfType({\n objectLiteralNode: initializer,\n propertyName: 'render',\n predicate: ts.isArrowFunction,\n parserContext,\n required: true,\n })\n\n if (renderProperty) {\n statementToParse = renderProperty\n }\n }\n }\n\n if (!statementToParse) {\n throw new ParserError(\n 'Expected function declaration, arrow function or render function in story',\n {\n sourceFile,\n node: statement,\n },\n )\n }\n\n const exampleProps = example?.props ?? propMappings\n\n let render = parseJSXRenderFunction(statementToParse, parserContext, exampleProps)\n\n if (!render) {\n continue\n }\n\n const template = render.code ?? `<${componentMetadata.component} />`\n\n // TODO handle JSDoc on stories\n codeConnectObjects.push({\n ...baseCodeConnect,\n template,\n variant: example?.variant,\n })\n }\n\n return codeConnectObjects\n } catch (e) {\n logger.error(`Error parsing story ${path}: ${e}`)\n throw e\n }\n}\n\n/**\n * Get the TS Node representing the component declaration from the story file\n *\n * @param objectLiteralNode Object literal containing the story file metadata\n * @returns TS Node representing the component declaration or undefined\n */\nfunction getComponentDeclaration(\n objectLiteralNode: ts.ObjectLiteralExpression,\n): ts.Expression | undefined {\n for (const property of objectLiteralNode.properties) {\n if (!ts.isPropertyAssignment(property)) continue\n const propertyName = property.name\n if (ts.isIdentifier(propertyName) && propertyName.text === 'component') {\n return property.initializer\n }\n }\n return undefined\n}\n\n/**\n * Validate and returns Figma metadata from the default export of the storybook\n * file\n *\n * @param storyFileMetaNode TS Node containing the story file metadata, i.e. the\n * default export of the file\n * @param sourceFile TS SourceFile representing a single story\n * @returns Figma metadata\n * @throws Error if no Figma metadata is found\n */\nfunction parseStoryMetadata(storyFileMetaNode: ts.Node, parserContext: ParserContext) {\n const { sourceFile, checker } = parserContext\n // Find the first object expression under tsSourceFile.statements[0],\n // which contains the story file metadata. We do it this way to allow syntax\n // like `export default ({ ... meta ... } as ComponentMeta<...>)`\n const objectLiteralNode = bfsFindNode(storyFileMetaNode, sourceFile, (node) =>\n ts.isObjectLiteralExpression(node),\n )\n\n if (!objectLiteralNode || !ts.isObjectLiteralExpression(objectLiteralNode)) {\n logger.debug(`No object literal found in story metadata`)\n return\n }\n\n const componentDeclaration = getComponentDeclaration(objectLiteralNode)\n if (!componentDeclaration) {\n logger.debug(`No component declaration found in story metadata`)\n return\n }\n\n const parametersNode = parsePropertyOfType({\n objectLiteralNode: objectLiteralNode,\n propertyName: 'parameters',\n predicate: ts.isObjectLiteralExpression,\n parserContext,\n required: false,\n })\n\n // If there's no parameters object, this file shouldn't be imported\n if (!parametersNode) {\n logger.debug(`No parameters object found in story metadata`)\n return\n }\n\n const designNode = parsePropertyOfType({\n objectLiteralNode: parametersNode,\n propertyName: 'design',\n predicate: ts.isObjectLiteralExpression,\n parserContext,\n required: false,\n })\n\n // If there's no design object, this file shouldn't be imported\n if (!designNode) {\n logger.debug(`No design object found in story metadata`)\n return\n }\n\n const typeNode = parsePropertyOfType({\n objectLiteralNode: designNode,\n propertyName: 'type',\n predicate: ts.isStringLiteral,\n parserContext,\n errorMessage: '\"type\" property not found in \"design\" object in story metadata',\n required: false,\n })\n\n // If the design is not a Figma design, this file shouldn't be imported\n if (!typeNode || typeNode.text !== 'figma') {\n logger.debug(`Design type is not figma`)\n return\n }\n\n const urlNode = parsePropertyOfType({\n objectLiteralNode: designNode,\n propertyName: 'url',\n predicate: ts.isStringLiteral,\n parserContext,\n errorMessage: '\"url\" property not found in \"design\" object in story metadata',\n required: true,\n })\n\n const figmaStoryMetadata: FigmaStoryMetadata = {\n type: typeNode.text,\n url: urlNode.text,\n }\n\n const propMappingNode = parsePropertyOfType({\n objectLiteralNode: designNode,\n propertyName: 'props',\n predicate: ts.isObjectLiteralExpression,\n parserContext,\n required: false,\n })\n\n const examplesNode = parsePropertyOfType({\n objectLiteralNode: designNode,\n propertyName: 'examples',\n predicate: ts.isArrayLiteralExpression,\n parserContext,\n required: false,\n })\n\n const importsNode = parsePropertyOfType({\n objectLiteralNode: designNode,\n propertyName: 'imports',\n predicate: ts.isArrayLiteralExpression,\n parserContext,\n required: false,\n errorMessage: `The 'imports' property must be an array literal. Example usage:\n\\`design: {\n type: 'figma',\n url: 'https://www.figma.com/file/123?node-id=1-1',\n examples: [Button],\n imports: [\n 'import { Button } from \"./Button\"'\n ],\n ...\n})\\``,\n })\n\n const linksNode = parsePropertyOfType({\n objectLiteralNode: designNode,\n propertyName: 'links',\n predicate: ts.isArrayLiteralExpression,\n parserContext,\n required: false,\n errorMessage: `The 'links' property must be an array literal. Example usage:\n\\`design: {\n type: 'figma',\n url: 'https://www.figma.com/file/123?node-id=1-1',\n examples: [Button],\n links: [\n { name: 'Storybook', url: 'https://storybook.com' }\n ],\n ...\n})\\``,\n })\n\n let links: FigmaConnectLink[] | undefined\n if (linksNode) {\n links = parseLinks(linksNode, parserContext)\n }\n\n let imports: string[] = []\n if (importsNode) {\n imports = parseImports(importsNode, parserContext)\n }\n\n let propMappings: {} | undefined\n let mappedProps: MappedProps\n\n if (propMappingNode) {\n mappedProps = new Map()\n propMappings = parsePropsObject(propMappingNode, parserContext)\n }\n\n type Example = {\n example: string\n variant?: FigmaConnectMeta['variant']\n props?: Record<string, any>\n }\n let examples: Example[] | undefined\n\n if (examplesNode) {\n examples = examplesNode.elements.map((exampleNode) => {\n if (ts.isStringLiteral(exampleNode) || ts.isIdentifier(exampleNode)) {\n return { example: exampleNode.text }\n }\n\n if (!ts.isObjectLiteralExpression(exampleNode)) {\n throw new ParserError(\n `Expected object literal in examples array, got: ${ts.SyntaxKind[exampleNode.kind]}`,\n {\n sourceFile,\n node: exampleNode,\n },\n )\n }\n\n return convertObjectLiteralToJs(exampleNode, sourceFile, checker, (node) => {\n if ((node.parent as ts.TypeParameterDeclaration)?.name?.escapedText === 'props') {\n if (ts.isObjectLiteralExpression(node)) {\n return parsePropsObject(node, parserContext)\n }\n }\n }) as Example\n })\n }\n\n return {\n figmaStoryMetadata,\n componentDeclaration,\n propMappings,\n mappedProps,\n examples,\n imports,\n links,\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"external.js","sourceRoot":"","sources":["../../src/storybook/external.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"external.js","sourceRoot":"","sources":["../../src/storybook/external.ts"],"names":[],"mappings":"","sourcesContent":["import { FigmaConnectMeta } from '../connect/api'\n\n/**\n * Type for the Storybook `parameters` when using Figma Code Connect. This can\n * be used in your Storybook default export like:\n * ```\n * export default {\n * // ...\n * parameters: {\n * // ...\n * } satisfies StoryParameters,\n * }\n */\nexport type StoryParameters<T> = {\n design: {\n type: 'figma'\n /**\n * A link to the node in Figma, for example:`https://www.figma.com/file/123abc/My-Component?node-id=123:456`\n */\n url: string\n /**\n * Optional array of examples to show in Figma. If none are specified, Figma\n * will show a default code example.\n */\n examples?: (FigmaConnectMeta<T, T>['example'] | string | ExampleObject<T>)[]\n /**\n * A list of import statements that will render in the Code Snippet in Figma.\n */\n imports?: string[]\n } & Pick<FigmaConnectMeta, 'props' | 'links'>\n}\n\ntype ExampleObject<T> = FigmaConnectMeta<T, T, unknown, string> & {\n variant?: FigmaConnectMeta['variant']\n links?: FigmaConnectMeta['links']\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"compiler.js","sourceRoot":"","sources":["../../src/typescript/compiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compiler.js","sourceRoot":"","sources":["../../src/typescript/compiler.ts"],"names":[],"mappings":"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","sourcesContent":["import ts, { isTaggedTemplateExpression } from 'typescript'\nimport { ParserContext, ParserError } from '../connect/parser_common'\n\n/**\n * Get the default export from a TypeScript source file\n *\n * @param sourceFile TypeScript source file\n * @returns The default export Expression, or undefined if there is no default export\n */\nexport function getDefaultExport(sourceFile: ts.SourceFile): ts.Expression | undefined {\n for (const statement of sourceFile.statements) {\n if (ts.isExportAssignment(statement) && ts.isIdentifier(statement.expression)) {\n // The default export is a reference to another variable\n const identifierName = statement.expression.text\n // Find the variable declaration that matches the identifier\n for (const stmt of sourceFile.statements) {\n if (ts.isVariableStatement(stmt)) {\n for (const declaration of stmt.declarationList.declarations) {\n if (ts.isIdentifier(declaration.name) && declaration.name.text === identifierName) {\n // Return the initializer of the variable declaration\n return declaration.initializer\n }\n }\n }\n }\n } else if (ts.isExportAssignment(statement)) {\n // The default export is not a reference to another variable\n return statement.expression\n }\n }\n}\n/**\n * Perform a breadth-first search to find the first node matching a predicate\n *\n * @param node Node to start the search from\n * @param tsSourceFile SourceFile associated with the node\n * @param predicate Predicate to match\n * @returns The first node matching the predicate, or undefined if no node is found\n */\nexport function bfsFindNode(\n node: ts.Node,\n tsSourceFile: ts.SourceFile,\n predicate: (node: ts.Node) => boolean,\n): ts.Node | undefined {\n const queue = [node]\n while (queue.length > 0) {\n node = queue.shift()!\n if (predicate(node)) {\n return node\n }\n\n if (node && node.getChildCount(tsSourceFile) > 0) {\n queue.push(...node.getChildren(tsSourceFile))\n }\n }\n}\n\n/**\n * Gets a property with the specified name and type (via predicate) from an object literal node\n *\n * @param objectLiteralNode The object literal node potentially containing the property\n * @param propertyName The name of the property to get\n * @param predicate Optional predicate to match\n * @param required Whether the property is required. Defaults to false.\n * If true, an error will be thrown if the property is not found\n * @param errorMessage Optional error message to throw if the property is not found\n * @returns The property, or undefined if the property is not found\n */\nexport function parsePropertyOfType<T extends ts.Node>(params: {\n objectLiteralNode: ts.ObjectLiteralExpression\n propertyName: string\n predicate: (node: ts.Node) => node is T\n parserContext: ParserContext\n required?: true\n errorMessage?: string\n}): T\n\nexport function parsePropertyOfType<T extends ts.Node>(params: {\n objectLiteralNode: ts.ObjectLiteralExpression\n propertyName: string\n predicate: (node: ts.Node) => node is T\n parserContext: ParserContext\n required?: false\n errorMessage?: string\n}): T | undefined\n\nexport function parsePropertyOfType<T extends ts.Node>(params: {\n objectLiteralNode: ts.ObjectLiteralExpression\n propertyName: string\n predicate: (node: ts.Node) => node is T\n parserContext: ParserContext\n required?: boolean\n errorMessage?: string\n}): T | undefined\n\nexport function parsePropertyOfType<T extends ts.Node>({\n objectLiteralNode,\n propertyName,\n predicate,\n parserContext,\n required = false,\n errorMessage,\n}: {\n objectLiteralNode: ts.ObjectLiteralExpression\n propertyName: string\n predicate: (node: ts.Node) => node is T\n parserContext: ParserContext\n required?: boolean\n errorMessage?: string\n}): T | undefined {\n const { sourceFile, checker } = parserContext\n const node = objectLiteralNode.properties.find(\n (property) => property.name?.getText() === propertyName,\n )\n\n if (!node) {\n if (!required) {\n return undefined\n } else {\n throw new ParserError(errorMessage ?? `Expected property '${propertyName}' to be present`, {\n sourceFile,\n node: objectLiteralNode,\n })\n }\n }\n\n let initializer: ts.Expression | undefined\n\n if (ts.isPropertyAssignment(node)) {\n if (ts.isIdentifier(node.initializer)) {\n const symbol = checker.getSymbolAtLocation(node.initializer)\n if (symbol) {\n const decl = symbol.valueDeclaration\n if (decl && ts.isVariableDeclaration(decl) && decl.initializer) {\n initializer = decl.initializer\n }\n }\n } else {\n initializer = node.initializer\n }\n }\n\n if (ts.isShorthandPropertyAssignment(node)) {\n const symbol = checker.getShorthandAssignmentValueSymbol(node)\n if (!symbol || !symbol.valueDeclaration || !ts.isVariableDeclaration(symbol.valueDeclaration)) {\n throw new ParserError('Expected shorthand property to be declared in the same file', {\n sourceFile,\n node,\n })\n }\n initializer = symbol.valueDeclaration.initializer\n }\n\n if (!initializer) {\n throw new ParserError(`Expected property ${propertyName} to be a property assignment`, {\n sourceFile,\n node,\n })\n }\n\n // Unwrap `as Type` or `satisfies Type` expressions\n if (ts.isAsExpression(initializer) || ts.isSatisfiesExpression(initializer)) {\n initializer = initializer.expression\n }\n\n if (!predicate(initializer)) {\n throw new ParserError(\n errorMessage ??\n `Unexpected shape of property ${propertyName}, got node type: ${ts.SyntaxKind[initializer.kind]}`,\n {\n sourceFile,\n node: initializer,\n },\n )\n }\n\n return initializer\n}\n\ntype TypeGuard<A, B extends A> = (a: A) => a is B\ntype GuardType<T> = T extends (o: any) => o is infer U ? U : never\n\n/**\n * Combines several type guards into one.\n *\n * The returned function checks if any of the type guards in the list matches the argument,\n * and infers the type based on the matching type guard.\n *\n * @param guards A list of type guards\n */\nexport function isOneOf<T extends TypeGuard<any, any>>(\n guards: T[],\n): [T] extends [TypeGuard<infer A, any>] ? (a: A) => a is GuardType<T> : never\nexport function isOneOf<T extends TypeGuard<any, any>>(guards: T[]) {\n return function (arg: T) {\n return guards.some(function (predicate) {\n return predicate(arg)\n })\n }\n}\n\n/**\n * Gets a function argument with the specified index from a call expression node\n *\n * @param fn The call expression node potentially containing the argument\n * @param parserContext The parser context\n * @param index The index of the argument to get\n * @param predicate Predicate to match\n * @param required Whether the argument is required. Defaults to false.\n * @param errorMessage Optional error message to throw if the argument is not found\n * @returns\n */\nexport function parseFunctionArgument<T extends ts.Node>(\n fn: ts.CallExpression,\n parserContext: ParserContext,\n index: number,\n predicate: (node: ts.Node) => node is T,\n required = false,\n errorMessage?: string,\n): T | undefined {\n const { sourceFile } = parserContext\n\n if (fn.arguments.length <= index && !required) {\n return undefined\n }\n\n if (fn.arguments.length <= index) {\n throw new ParserError(\n errorMessage ?? `Expected function to have at least ${index + 1} arguments`,\n {\n sourceFile,\n node: fn,\n },\n )\n }\n\n const arg = fn.arguments[index]\n if (!arg || !predicate(arg)) {\n throw new ParserError(errorMessage ?? `Unexpected shape of argument ${index}`, {\n sourceFile,\n node: fn.arguments[index],\n })\n }\n\n return arg\n}\n\nexport function assertIsPropertyAssignment(\n node: ts.Node,\n sourceFile: ts.SourceFile,\n): asserts node is ts.PropertyAssignment {\n if (!ts.isPropertyAssignment(node)) {\n throw new ParserError(`Expected a property assignment, got ${ts.SyntaxKind[node.kind]}`, {\n node,\n sourceFile,\n })\n }\n}\n\nexport function assertIsStringLiteral(\n node: ts.Node,\n sourceFile: ts.SourceFile,\n msg?: string,\n): asserts node is ts.StringLiteral {\n if (!ts.isStringLiteral(node)) {\n throw new ParserError(msg ?? `Expected a string literal, got ${ts.SyntaxKind[node.kind]}`, {\n node,\n sourceFile,\n })\n }\n}\n\nexport function assertIsArrayLiteralExpression(\n node: ts.Node,\n sourceFile: ts.SourceFile,\n msg?: string,\n): asserts node is ts.ArrayLiteralExpression {\n if (!ts.isArrayLiteralExpression(node)) {\n throw new ParserError(msg ?? `Expected an array literal, got ${ts.SyntaxKind[node.kind]}`, {\n node,\n sourceFile,\n })\n }\n}\n\nexport function assertIsObjectLiteralExpression(\n node: ts.Node,\n sourceFile: ts.SourceFile,\n msg?: string,\n): asserts node is ts.ObjectLiteralExpression {\n if (!ts.isObjectLiteralExpression(node)) {\n throw new ParserError(msg ?? `Expected an object literal, got ${ts.SyntaxKind[node.kind]}`, {\n node,\n sourceFile,\n })\n }\n}\n\nexport function assertIsIdentifier(\n node: ts.Node,\n sourceFile: ts.SourceFile,\n msg?: string,\n): asserts node is ts.Identifier {\n if (!ts.isIdentifier(node)) {\n throw new ParserError(msg ?? `Expected an identifier, got ${ts.SyntaxKind[node.kind]}`, {\n node,\n sourceFile,\n })\n }\n}\n\nfunction convertValueNodeToJs(\n valueNode: ts.Expression,\n sourceFile: ts.SourceFile,\n checker: ts.TypeChecker,\n extraConversionFn?: (node: ts.Expression) => any,\n): any {\n if (ts.isObjectLiteralExpression(valueNode)) {\n // A prop mapping to an object literal, which maps each figma value to a code value\n return convertObjectLiteralToJs(valueNode, sourceFile, checker, extraConversionFn)\n } else {\n // A prop mapping to anything else, which will be passed as a literal value\n if (ts.isStringLiteral(valueNode)) {\n // Accessing `text` directly prevents the value being wrapped in quotes\n return valueNode.text\n } else if (valueNode.kind === ts.SyntaxKind.TrueKeyword) {\n return true\n } else if (valueNode.kind === ts.SyntaxKind.FalseKeyword) {\n return false\n // undefined is not a keyword in TypeScript, but actually translates to an identifier\n // (even though confusingly ts.SyntaxKind.UndefinedKeyword exists)\n } else if (ts.isIdentifier(valueNode) && valueNode.text === 'undefined') {\n return undefined\n } else if (valueNode.kind === ts.SyntaxKind.NullKeyword) {\n return null\n } else if (valueNode.kind === ts.SyntaxKind.NumericLiteral) {\n return parseFloat(valueNode.getText())\n } else if (isTaggedTemplateExpression(valueNode)) {\n // Return the content of the template string without the backticks\n return valueNode.template.getText().replace(/^`/, '').replace(/`$/, '')\n } else {\n return valueNode.getText()\n }\n }\n}\n\n/**\n * Convert an object literal node to a JavaScript object\n *\n * @param objectLiteral The object literal node to convert\n * @param sourceFile The source file containing the object literal\n * @param extraConversionFn Optional function to convert a node to a value. This\n * runs before the default conversion. If this returns undefined, the default\n * conversion will be used. (This does mean there's no way to return undefined)\n * @returns The JavaScript object version of the object literal\n */\nexport function convertObjectLiteralToJs(\n objectLiteral: ts.ObjectLiteralExpression,\n sourceFile: ts.SourceFile,\n checker: ts.TypeChecker,\n extraConversionFn?: (node: ts.Expression) => any,\n) {\n const obj = {} as Record<string, any>\n const properties = [...objectLiteral.properties]\n\n while (properties.length > 0) {\n const prop = properties.shift()!\n\n // If the value is a spread assignment, we need to resolve the object it's spreading\n // and add its properties to the current object\n if (ts.isSpreadAssignment(prop)) {\n const declaration = bfsFindNode(sourceFile, sourceFile, (node) => {\n return ts.isVariableDeclaration(node) && node.name.getText() === prop.expression.getText()\n }) as ts.VariableDeclaration\n if (!declaration.initializer || !ts.isObjectLiteralExpression(declaration.initializer)) {\n throw new ParserError('Expected spread object to be an object literal', {\n sourceFile,\n node: prop,\n })\n }\n\n for (const prop of declaration.initializer.properties) {\n properties.push(prop)\n }\n continue\n }\n\n assertIsPropertyAssignment(prop, sourceFile)\n if (!ts.isIdentifier(prop.name) && !ts.isStringLiteral(prop.name)) {\n throw new ParserError('Expected property key to be an identifier or String Literal', {\n sourceFile,\n node: prop,\n })\n }\n const key = prop.name.text\n const valueNode = prop.initializer\n\n const extraConversionResult = extraConversionFn && extraConversionFn(valueNode)\n\n if (extraConversionResult !== undefined) {\n obj[key] = extraConversionResult\n } else {\n obj[key] = convertValueNodeToJs(valueNode, sourceFile, checker, extraConversionFn)\n }\n }\n\n return obj\n}\n\n/**\n * Convert an Array literal node to a JavaScript array\n *\n * @param arrayLiteral The array literal node to convert\n * @param sourceFile The source file containing the array literal\n * @param extraConversionFn Optional function to convert a node to a value. This\n * runs before the default conversion. If this returns undefined, the default\n * conversion will be used. (This does mean there's no way to return undefined)\n * @returns The JavaScript object version of the object literal\n */\nexport function convertArrayLiteralToJs(\n arrayLiteral: ts.ArrayLiteralExpression,\n sourceFile: ts.SourceFile,\n checker: ts.TypeChecker,\n extraConversionFn?: (node: ts.Expression) => any,\n) {\n return arrayLiteral.elements.map((element) => {\n const extraConversionResult = extraConversionFn && extraConversionFn(element)\n if (extraConversionResult !== undefined) {\n return extraConversionResult\n } else {\n return convertValueNodeToJs(element, sourceFile, checker, extraConversionFn)\n }\n })\n}\n\nexport function getTagName(element: ts.JsxElement | ts.JsxSelfClosingElement) {\n if (ts.isJsxSelfClosingElement(element)) {\n return element.tagName.getText()\n } else {\n return element.openingElement.tagName.getText()\n }\n}\n\nexport function stripQuotesFromNode(node: ts.StringLiteral) {\n return stripQuotes(node.text)\n}\n\nfunction stripQuotes(text: string) {\n if (text.startsWith('\"') || text.startsWith(\"'\")) {\n return text.substring(1, text.length - 1)\n }\n return text\n}\n\nexport function isUndefinedType(node: ts.Node, checker: ts.TypeChecker): boolean {\n const type = checker.getTypeAtLocation(node)\n return (type.getFlags() & ts.TypeFlags.Undefined) !== 0\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@figma/code-connect",
3
- "version": "1.3.12",
3
+ "version": "1.4.0",
4
4
  "description": "A tool for connecting your design system components in code with your design system in Figma",
5
5
  "keywords": [],
6
6
  "author": "Figma",
@@ -76,12 +76,11 @@
76
76
  "@types/node": "22.17.2",
77
77
  "@types/prettier": "2.7.3",
78
78
  "@types/prompts": "^2.4.9",
79
- "@types/react": "18.0.26",
79
+ "@types/react": "18.3.27",
80
80
  "cross-env": "^7.0.3",
81
81
  "jest": "^29.7.0",
82
82
  "patch-package": "^8.0.0",
83
83
  "pkg": "^5.8.1",
84
- "react": "18.3.1",
85
84
  "ts-jest": "^29.2.5",
86
85
  "ts-loader": "^9.5.1",
87
86
  "tsx": "^4.11.0",
@@ -92,6 +91,8 @@
92
91
 
93
92
 
94
93
  "boxen": "5.1.1",
94
+
95
+
95
96
  "chalk": "^4.1.2",
96
97
  "commander": "^11.1.0",
97
98
  "compare-versions": "^6.1.0",
@@ -101,7 +102,7 @@
101
102
  "find-up": "^5.0.0",
102
103
  "glob": "^11.0.4",
103
104
  "jsdom": "^24.1.1",
104
- "lodash": "4.17.21",
105
+ "lodash": "4.17.23",
105
106
  "minimatch": "^9.0.3",
106
107
  "ora": "^5.4.1",
107
108
  "parse5": "^7.1.2",
@@ -110,7 +111,8 @@
110
111
  "strip-ansi": "^6.0.0",
111
112
  "ts-morph": "^27.0.0",
112
113
  "typescript": "5.9.3",
113
- "undici": "^5.29.0",
114
+
115
+ "undici": "^7.19.1",
114
116
  "zod": "3.25.58",
115
117
  "zod-validation-error": "^3.2.0"
116
118
  }