@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":"get_swift_parser_dir.js","sourceRoot":"","sources":["../../src/parser_scripts/get_swift_parser_dir.ts"],"names":[],"mappings":";;;;;AAcA,8CAiNC;AA/ND,iDAAyC;AACzC,+CAAyD;AACzD,6DAAsD;AACtD,gDAAuB;AACvB,2BAA4C;AAE5C,8EAA8E;AAC9E,gFAAgF;AAChF,6EAA6E;AAC7E,oBAAoB;AACpB,EAAE;AACF,gFAAgF;AAChF,yEAAyE;AACzE,wEAAwE;AACjE,KAAK,UAAU,iBAAiB,CACrC,GAAW,EACX,aAAsB,EACtB,gBAAyB,EACzB,kBAA2B;IAE3B,IAAI,eAAmC,CAAA;IACvC,IAAI,aAAiC,CAAA;IACrC,IAAI,gBAAoC,CAAA;IAExC,wFAAwF;IACxF,IAAI,aAAa,EAAE,CAAC;QAClB,aAAa,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IACrD,CAAC;SAAM,IAAI,gBAAgB,EAAE,CAAC;QAC5B,gBAAgB,GAAG,cAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IACzE,CAAC;SAAM,CAAC;QACN,aAAa,GAAG,IAAA,oCAAe,EAAC,GAAG,EAAE,aAAa,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QACzE,gBAAgB,GAAG,IAAA,oCAAe,EAAC,GAAG,EAAE,eAAe,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IAChF,CAAC;IAED,IAAI,CAAC,CAAC,aAAa,IAAI,gBAAgB,CAAC,EAAE,CAAC;QACzC,IAAA,uBAAa,EACX,mLAAmL,CACpL,CAAA;IACH,CAAC;IAED,IAAI,aAAa,EAAE,CAAC;QAClB,0EAA0E;QAC1E,qCAAqC;QACrC,MAAM,MAAM,GAAG,IAAA,yBAAS,EAAC,YAAY,EAAE,CAAC,UAAU,EAAE,aAAa,EAAE,oBAAoB,CAAC,EAAE;YACxF,GAAG;YACH,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAA;QAEF,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,MAAM,MAAM,CAAC,KAAK,CAAA;QACpB,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAA;QAEnC,4EAA4E;QAC5E,4EAA4E;QAC5E,0BAA0B;QAC1B,yDAAyD;QACzD,yCAAyC;QACzC,iCAAiC;QACjC,MAAM,iBAAiB,GAAG,aAAa,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAA;QAC/E,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,IAAA,uBAAa,EACX,qJAAqJ,CACtJ,CAAA;QACH,CAAC;QAED,iFAAiF;QACjF,MAAM,CAAC,CAAC,EAAE,kBAAkB,EAAE,mBAAmB,CAAC,GAAG,iBAAiB,CAAA;QACtE,4EAA4E;QAC5E,4EAA4E;QAC5E,0EAA0E;QAC1E,SAAS;QACT,MAAM,mBAAmB,GAAG,mBAAmB,KAAK,OAAO,IAAI,mBAAmB,KAAK,SAAS,CAAA;QAEhG,IAAI,mBAAmB,EAAE,CAAC;YACxB,6EAA6E;YAC7E,2DAA2D;YAC3D,eAAe,GAAG,kBAAkB,CAAA;QACtC,CAAC;aAAM,IAAI,kBAAkB,EAAE,CAAC;YAC9B,gBAAM,CAAC,IAAI,CAAC,kCAAkC,kBAAkB,EAAE,CAAC,CAAA;YAEnE,wCAAwC;YACxC,eAAe,GAAG,GAAG,kBAAkB,yBAAyB,CAAA;QAClE,CAAC;aAAM,CAAC;YACN,2FAA2F;YAC3F,qHAAqH;YACrH,yGAAyG;YACzG,IAAI,yBAAyB,GAAG,KAAK,CAAA;YAErC,yEAAyE;YACzE,MAAM,yBAAyB,GAAG,aAAa,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAA;YACnF,MAAM,oBAAoB,GAAG,yBAAyB;gBACpD,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC;gBAC9B,CAAC,CAAC,SAAS,CAAA;YAEb,gBAAM,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAA;YAEjD,mDAAmD;YACnD,MAAM,gBAAgB,GAAG,aAAa,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAA;YACtE,MAAM,WAAW,GAAG,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;YAEtE,gFAAgF;YAChF,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,IAAA,uBAAa,EAAC,6CAA6C,CAAC,CAAA;YAC9D,CAAC;YAED,8JAA8J;YAC9J,4CAA4C;YAC5C,IAAI,oBAAoB,EAAE,CAAC;gBACzB,qKAAqK;gBACrK,MAAM,IAAI,GAAG,GAAG,oBAAoB,8BAA8B,CAAA;gBAElE,MAAM,kBAAkB,GAAG,IAAI,MAAM,CAAC,GAAG,WAAW,kBAAkB,CAAC,CAAA;gBACvE,MAAM,kBAAkB,GAAG,IAAA,gBAAW,EAAC,IAAI,CAAC,CAAA;gBAC5C,MAAM,aAAa,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,MAAc,EAAE,EAAE,CAC/D,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAChC,CAAA;gBAED,0EAA0E;gBAC1E,IAAI,aAAa,EAAE,CAAC;oBAClB,eAAe,GAAG,GAAG,IAAI,IAAI,aAAa,wCAAwC,CAAA;oBAClF,yBAAyB,GAAG,IAAI,CAAA;gBAClC,CAAC;qBAAM,CAAC;oBACN,gBAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAA;gBAC5D,CAAC;YACH,CAAC;YAED,2IAA2I;YAC3I,gFAAgF;YAChF,IAAI,CAAC,yBAAyB,EAAE,CAAC;gBAC/B,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAA;gBAExD,IAAI,OAAO,EAAE,CAAC;oBACZ,eAAe,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,gBAAgB,WAAW,wCAAwC,CAAA;oBAClG,yBAAyB,GAAG,IAAI,CAAA;gBAClC,CAAC;qBAAM,CAAC;oBACN,gBAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAA;gBAClD,CAAC;YACH,CAAC;YAED,gDAAgD;YAChD,mEAAmE;YACnE,2DAA2D;YAC3D,iCAAiC;YACjC,IAAI,CAAC,yBAAyB,EAAE,CAAC;gBAC/B,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAA;gBAE3D,IAAI,QAAQ,EAAE,CAAC;oBACb,eAAe,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,8CAA8C,CAAA;gBAChF,CAAC;qBAAM,CAAC;oBACN,gBAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAA;gBACrD,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;SAAM,IAAI,gBAAgB,EAAE,CAAC;QAC5B,MAAM,eAAe,GAAG,gBAAgB,CAAC,CAAC,CAAC,cAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACrF,MAAM,UAAU,GAAG,eAAe,IAAI,GAAG,CAAA;QACzC,qFAAqF;QACrF,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAA,yBAAS,EACtB,OAAO,EACP,CAAC,SAAS,EAAE,gBAAgB,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,EACvE;gBACE,GAAG;gBACH,QAAQ,EAAE,OAAO;aAClB,CACF,CAAA;YAED,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,MAAM,MAAM,CAAC,KAAK,CAAA;YACpB,CAAC;YAED,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YAE7C,MAAM,kBAAkB,GACtB,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,cAAc,CAAC;gBACxE,wFAAwF;gBACxF,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAA;YAEtE,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACxB,IAAA,uBAAa,EACX,qJAAqJ,CACtJ,CAAA;YACH,CAAC;YAED,mEAAmE;YACnE,eAAe,GAAG,UAAU,CAAA;QAC9B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAA,uBAAa,EAAC,gCAAgC,CAAC,EAAE,CAAC,CAAA;QACpD,CAAC;IACH,CAAC;IAED,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,IAAA,uBAAa,EAAC,kCAAkC,CAAC,CAAA;IACnD,CAAC;IAED,mEAAmE;IACnE,qDAAqD;IACrD,IAAI,CAAC,IAAA,eAAU,EAAC,eAAe,CAAC,EAAE,CAAC;QACjC,IAAA,uBAAa,EAAC,wCAAwC,eAAe,EAAE,CAAC,CAAA;IAC1E,CAAC;IAED,wFAAwF;IACxF,+DAA+D;IAC/D,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAA;QAElE,MAAM,WAAW,GAAG,IAAA,yBAAS,EAAC,MAAM,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAA;QAC1D,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,yDAAyD;YACzD,IAAA,yBAAS,EAAC,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAA;QAChD,CAAC;QACD,gBAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAA;IACxD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,gBAAM,CAAC,IAAI,CAAC,qDAAqD,CAAC,EAAE,CAAC,CAAA;IACvE,CAAC;IAED,gBAAM,CAAC,IAAI,CACT,uCAAuC,eAAe,0GAA0G,CACjK,CAAA;IAED,OAAO,eAAe,CAAA;AACxB,CAAC"}
1
+ {"version":3,"file":"get_swift_parser_dir.js","sourceRoot":"","sources":["../../src/parser_scripts/get_swift_parser_dir.ts"],"names":[],"mappings":"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","sourcesContent":["import { spawnSync } from 'child_process'\nimport { exitWithError, logger } from '../common/logging'\nimport { getFileIfExists } from './get_file_if_exists'\nimport path from 'path'\nimport { readdirSync, existsSync } from 'fs'\n\n// Find the location of the Code Connect Swift package on disk, so that we can\n// call `swift run figma-swift` from the correct location. This requires parsing\n// the output of xcodebuild for .xcodeproj projects, or parsing Package.swift\n// for SPM projects.\n//\n// As this is a first party parser, we do this in TypeScript and call it as part\n// of our code. For third party parsers, logic like this would need to be\n// implemented in a script/binary which the user points Code Connect to.\nexport async function getSwiftParserDir(\n cwd: string,\n xcodeprojPath?: string,\n swiftPackagePath?: string,\n sourcePackagesPath?: string,\n) {\n let figmaPackageDir: string | undefined\n let xcodeprojFile: string | undefined\n let packageSwiftFile: string | undefined\n\n // // Check for the supported project types giving precedence top the user provided path\n if (xcodeprojPath) {\n xcodeprojFile = xcodeprojPath.replace(/\\s/g, '\\\\ ')\n } else if (swiftPackagePath) {\n packageSwiftFile = path.dirname(swiftPackagePath).replace(/\\s/g, '\\\\ ')\n } else {\n xcodeprojFile = getFileIfExists(cwd, '*.xcodeproj').replace(/\\s/g, '\\\\ ')\n packageSwiftFile = getFileIfExists(cwd, 'Package.swift').replace(/\\s/g, '\\\\ ')\n }\n\n if (!(xcodeprojFile || packageSwiftFile)) {\n exitWithError(\n 'No supported project found. Supported project types are .xcodeproj or Package.swift. You can specify the location of your .xcodeproj file with the `xcodeprojPath` config option.',\n )\n }\n\n if (xcodeprojFile) {\n // Use xcodebuild to get the build settings, so we can find where the Code\n // Connect Swift package is installed\n const result = spawnSync('xcodebuild', ['-project', xcodeprojFile, '-showBuildSettings'], {\n cwd,\n encoding: 'utf-8',\n })\n\n if (result.error) {\n throw result.error\n }\n\n const buildSettings = result.stdout\n\n // Extract the source and version of the Code Connect Swift package from the\n // xcodebuild output, which can be in any of the following formats depending\n // on how it is installed:\n // - Figma: https://github.com/figma/code-connect @ 0.1.2\n // - Figma: /path/to/code-connect @ local\n // - Figma: /path/to/code-connect\n const figmaPackageMatch = buildSettings.match(/\\s+Figma: ([^\\s]*)(?: @ (.*))?/)\n if (!figmaPackageMatch) {\n exitWithError(\n 'Code Connect Swift package not found. Please add a dependency to the Code Connect package at https://github.com/figma/code-connect to your project.',\n )\n }\n\n // Find the package's location on disk, to compile and run the parser binary from\n const [_, figmaPackageSource, figmaPackageVersion] = figmaPackageMatch\n // The package version is `local` if installed via the \"Add package\" dialog,\n // or undefined if installed via the \"Frameworks\" section directly (which we\n // do for our test project, because the dialog won't allow ancestors to be\n // added)\n const isLocalFigmaPackage = figmaPackageVersion === 'local' || figmaPackageVersion === undefined\n\n if (isLocalFigmaPackage) {\n // If the version is 'local', the package is installed from a local checkout,\n // and the path on disk is the source output by xcodebuild.\n figmaPackageDir = figmaPackageSource\n } else if (sourcePackagesPath) {\n logger.info(`Using custom DerivedData path: ${sourcePackagesPath}`)\n\n // If a custom path is supplied, use it.\n figmaPackageDir = `${sourcePackagesPath}/checkouts/code-connect`\n } else {\n // Otherwise the SourcePackages will typically be located in Xcode's DerivedData directory,\n // at ~/Users/{username}/Library/Developer/Xcode/DerivedData/{project}-{xxx}/SourcePackages, or in the Project's root\n // at {project}/DerivedData/{project}/SourcePackages (depending on how the user's project is configured).\n let hasFoundSourcePackagesDir = false\n\n // 1. First look in the USER_LIBRARY_DIR (e.g. /Users/{username}/Library)\n const userLibraryDirectoryMatch = buildSettings.match(/\\s+USER_LIBRARY_DIR = (.*)/)\n const userLibraryDirectory = userLibraryDirectoryMatch\n ? userLibraryDirectoryMatch[1]\n : undefined\n\n logger.info('Finding Code Connect Swift package')\n\n // Find the project's name using the build settings\n const projectNameMatch = buildSettings.match(/\\s+PROJECT_NAME = (.*)/)\n const projectName = projectNameMatch ? projectNameMatch[1] : undefined\n\n // We can't proceed without the project name (however, this should always exist)\n if (!projectName) {\n exitWithError('PROJECT_NAME not found in xcodebuild output')\n }\n\n // 1. From the folders in the user library directory use a regex to determine the folder name of the project defined by \"ProjectName-\" and a 28 character hash\n // e.g. project-fbybcbnivxfbfeefownexgukzwxd\n if (userLibraryDirectory) {\n // Default to Xcode's default Dervied Data location (e.g. ~/Users/{username}/Library/Developer/Xcode/DerivedData/project-fbybcbnivxfbfeefownexgukzwxd/SourcePackages)\n const root = `${userLibraryDirectory}/Developer/Xcode/DerivedData`\n\n const projectFolderRegex = new RegExp(`${projectName}-[a-zA-Z0-9]{28}`)\n const derivedDataFolders = readdirSync(root)\n const projectFolder = derivedDataFolders.find((folder: string) =>\n projectFolderRegex.test(folder),\n )\n\n // If the project folder is found, use it to find the Code Connect package\n if (projectFolder) {\n figmaPackageDir = `${root}/${projectFolder}/SourcePackages/checkouts/code-connect`\n hasFoundSourcePackagesDir = true\n } else {\n logger.warn('Package not found in user library directory')\n }\n }\n\n // 2. If SourcePackages couldn't be found in ~/Users/{username}/Library/Developer/Xcode/DerivedData/{project}-{xxx}/SourcePackages, attempt\n // to find it in the project root {project}/DerivedData/{project}/SourcePackages\n if (!hasFoundSourcePackagesDir) {\n const rootDir = buildSettings.match(/\\s+LOCROOT = (.*)/)\n\n if (rootDir) {\n figmaPackageDir = `${rootDir[1]}/DerivedData/${projectName}/SourcePackages/checkouts/code-connect`\n hasFoundSourcePackagesDir = true\n } else {\n logger.warn('Package not found in project root')\n }\n }\n\n // 3. Otherwise, the package may be installed to\n // <DerviedData>/SourcePackages/checkouts/code-connect. We find the\n // DerivedData location from the BUILD_DIR (which points to\n // <DerivedData>/Build/Products).\n if (!hasFoundSourcePackagesDir) {\n const buildDir = buildSettings.match(/\\s+BUILD_DIR = (.*)/)\n\n if (buildDir) {\n figmaPackageDir = `${buildDir[1]}/../../SourcePackages/checkouts/code-connect`\n } else {\n logger.warn('Package not found in build directory')\n }\n }\n }\n } else if (packageSwiftFile) {\n const swiftPackageDir = swiftPackagePath ? path.dirname(swiftPackagePath) : undefined\n const packageDir = swiftPackageDir || cwd\n // Use the Swift command to determine if the package is installed locally or from Git\n try {\n const result = spawnSync(\n 'swift',\n ['package', '--package-path', packageDir, 'describe', '--type', 'json'],\n {\n cwd,\n encoding: 'utf-8',\n },\n )\n\n if (result.error) {\n throw result.error\n }\n\n const packageInfo = JSON.parse(result.stdout)\n\n const codeConnectPackage =\n packageInfo.dependencies.find((p: any) => p.identity === 'code-connect') ??\n // Our local directory is called figmadoc, so this is what swift outputs as the identity\n packageInfo.dependencies.find((p: any) => p.identity === 'figmadoc')\n\n if (!codeConnectPackage) {\n exitWithError(\n 'Code Connect Swift package not found in Package.swift. Please add a dependency to https://github.com/figma/code-connect to your Package.swift file.',\n )\n }\n\n // We can run directly from the directory of the package swift file\n figmaPackageDir = packageDir\n } catch (e) {\n exitWithError(`Error calling Swift command: ${e}`)\n }\n }\n\n if (!figmaPackageDir) {\n exitWithError('Figma package could not be found')\n }\n\n // Check if the figmaPackageDir exists, otherwise we can't proceed,\n // as we require the code-connect package to continue\n if (!existsSync(figmaPackageDir)) {\n exitWithError(`Figma package directory not found at ${figmaPackageDir}`)\n }\n\n // We need to ensure that the directory is writable, so we can run the swift run command\n // otherwise an \"invalid access\" error will be thrown by swift.\n try {\n const packageFile = path.join(figmaPackageDir, 'Package.resolved')\n\n const accessCheck = spawnSync('test', ['-w', packageFile])\n if (accessCheck.status !== 0) {\n // Directory is not writable, attempt to make it writable\n spawnSync('chmod', ['-R', '755', packageFile])\n }\n logger.info(`Directory enabled for swift run command`)\n } catch (e) {\n logger.warn(`Unable to verify or modify directory permissions: ${e}`)\n }\n\n logger.info(\n `Found Code Connect Swift package at ${figmaPackageDir}, building parser binary. This may take a few minutes if this is the first time you've run Code Connect.`,\n )\n\n return figmaPackageDir\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/react/create.ts"],"names":[],"mappings":"AAGA,OAAO,CAAC,MAAM,KAAK,CAAA;AACnB,OAAO,EAGL,yBAAyB,EACzB,qBAAqB,EACrB,wBAAwB,EAEzB,MAAM,oCAAoC,CAAA;AAG3C,OAAO,EAAE,SAAS,EAAmC,MAAM,uBAAuB,CAAA;AAIlF,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,WAU9C;AA8CD,wBAAgB,+BAA+B,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,SAAS,GAAG,MAAM,GAAG,KAAK,CAqBzF;AAgCD,wBAAgB,uCAAuC,CAAC,GAAG,EAAE,MAAM,eAWlE;AA4CD,wBAAgB,aAAa,CAAC,SAAS,EAAE,wBAAwB,UAkBhE;AAwED,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC,CA2HhD"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/react/create.ts"],"names":[],"mappings":"AAGA,OAAO,CAAC,MAAM,KAAK,CAAA;AACnB,OAAO,EAGL,yBAAyB,EACzB,qBAAqB,EACrB,wBAAwB,EAEzB,MAAM,oCAAoC,CAAA;AAG3C,OAAO,EAAE,SAAS,EAAmC,MAAM,uBAAuB,CAAA;AAIlF,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,WAU9C;AA8CD,wBAAgB,+BAA+B,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,SAAS,GAAG,MAAM,GAAG,KAAK,CAwBzF;AAgCD,wBAAgB,uCAAuC,CAAC,GAAG,EAAE,MAAM,eAWlE;AA4CD,wBAAgB,aAAa,CAAC,SAAS,EAAE,wBAAwB,UAkBhE;AAwED,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC,CA2HhD"}
@@ -106,6 +106,9 @@ function generateExpressionFromIntrinsic({ kind, args }) {
106
106
  if (kind === intrinsics_1.IntrinsicKind.Instance) {
107
107
  return `figma.instance("${args.figmaPropName}")`;
108
108
  }
109
+ if (kind === intrinsics_1.IntrinsicKind.Slot) {
110
+ return `figma.slot("${args.figmaPropName}")`;
111
+ }
109
112
  if (kind === intrinsics_1.IntrinsicKind.Children) {
110
113
  return `figma.children(${args.layers.length > 1 ? `[${args.layers.map((layer) => `"${layer}"`).join(', ')}]` : `"${args.layers[0]}"`})`;
111
114
  }
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/react/create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/react/create.ts"],"names":[],"mappings":"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","sourcesContent":["import { camelCase } from 'lodash'\nimport * as prettier from 'prettier'\nimport fs from 'fs'\nimport z from 'zod'\nimport {\n ComponentPropertyDefinition,\n CreateRequestPayload,\n CreateRequestPayloadMulti,\n CreateResponsePayload,\n FigmaConnectionComponent,\n PropMapping,\n} from '../connect/parser_executable_types'\nimport path from 'path'\nimport { normalizeComponentName } from '../connect/create'\nimport { Intrinsic, IntrinsicKind, ValueMappingKind } from '../connect/intrinsics'\nimport { getOutFileName } from '../connect/create_common'\nimport { ComponentTypeSignature } from './parser'\n\nexport function isBooleanKind(propValue: string) {\n const normalized = propValue.toLowerCase()\n return (\n normalized === 'true' ||\n normalized === 'false' ||\n normalized === 'yes' ||\n normalized === 'no' ||\n normalized === 'on' ||\n normalized === 'off'\n )\n}\n\nfunction normalizePropName(name: string) {\n return name.replace(/#[0-9:]*/g, '')\n}\n\nfunction generateCodePropName(name: string) {\n const cleanedName = name\n // Remove any #node:id from the end of the string\n .replace(/#[0-9:]+$/g, '')\n // Remove any special characters\n .replace(/[^a-zA-Z0-9\\s]/g, '')\n\n return camelCase(cleanedName)\n}\n\nfunction normalizePropValue(name: string) {\n // Convert the string to kebab-case\n return name.replace(/[^a-zA-Z0-9]/g, '-').toLowerCase()\n}\n\nfunction generateExpressionValueMappingKind(valueMappingKind: ValueMappingKind) {\n if (valueMappingKind && typeof valueMappingKind === 'object' && 'kind' in valueMappingKind) {\n return generateExpressionFromIntrinsic(valueMappingKind)\n }\n if (typeof valueMappingKind === 'string') {\n return `\"${valueMappingKind}\"`\n }\n if (\n typeof valueMappingKind === 'number' ||\n typeof valueMappingKind === 'boolean' ||\n typeof valueMappingKind === 'undefined'\n ) {\n return `${valueMappingKind}`\n }\n}\n\nfunction generateExpressionValueMapping(valueMapping: Record<string, ValueMappingKind>) {\n return `{\n ${Object.entries(valueMapping)\n .map(([k, v]) => `\"${k}\": ${generateExpressionValueMappingKind(v)}`)\n .join(`,\\n`)}\n}`\n}\n\n// Not an exhaustive list of intrinsics but can add others as/when they're supported in prop mapping gen\nexport function generateExpressionFromIntrinsic({ kind, args }: Intrinsic): string | never {\n if (kind === IntrinsicKind.String) {\n return `figma.string(\"${args.figmaPropName}\")`\n }\n if (kind === IntrinsicKind.Boolean) {\n return `figma.boolean(\"${args.figmaPropName}\"${args.valueMapping ? `, ${generateExpressionValueMapping(args.valueMapping)}` : ''})`\n }\n if (kind === IntrinsicKind.Enum) {\n return `figma.enum(\"${args.figmaPropName}\"${args.valueMapping ? `, ${generateExpressionValueMapping(args.valueMapping)}` : ''})`\n }\n if (kind === IntrinsicKind.Instance) {\n return `figma.instance(\"${args.figmaPropName}\")`\n }\n if (kind === IntrinsicKind.Slot) {\n return `figma.slot(\"${args.figmaPropName}\")`\n }\n if (kind === IntrinsicKind.Children) {\n return `figma.children(${args.layers.length > 1 ? `[${args.layers.map((layer) => `\"${layer}\"`).join(', ')}]` : `\"${args.layers[0]}\"`})`\n }\n if (kind === IntrinsicKind.TextContent) {\n return `figma.textContent(\"${args.layer}\")`\n }\n // should never reach here as we create prop mappings.\n throw new Error(`kind ${kind} not supported for prop mapping`)\n}\n\nfunction generateSinglePropMappingFromFigmaProp(\n propName: string,\n propDef: ComponentPropertyDefinition,\n) {\n const codePropName = generateCodePropName(propName)\n const figmaPropName = normalizePropName(propName)\n if (propDef.type === 'BOOLEAN') {\n return `\"${codePropName}\": figma.boolean('${figmaPropName}')`\n }\n if (propDef.type === 'TEXT') {\n return `\"${codePropName}\": figma.string('${figmaPropName}')`\n }\n if (propDef.type === 'VARIANT') {\n const isBooleanVariant =\n propDef.variantOptions?.length === 2 && propDef.variantOptions.every(isBooleanKind)\n if (isBooleanVariant) {\n return `\"${codePropName}\": figma.boolean('${figmaPropName}')`\n } else {\n return `\"${codePropName}\": figma.enum('${figmaPropName}', { \\n${propDef.variantOptions\n ?.map((value) => ` \"${value}\": \"${normalizePropValue(value)}\"`)\n .join(',\\n')}\\n})`\n }\n }\n if (propDef.type === 'INSTANCE_SWAP') {\n return `\"${codePropName}\": figma.instance('${figmaPropName}')`\n }\n\n return null\n}\n\nexport function getSetOfAllPropsReferencedInPropMapping(obj: Object) {\n const mappedProps: string[] = []\n Object.entries(obj).forEach(([k, v]) => {\n if (k === 'figmaPropName') {\n mappedProps.push(v)\n }\n if (typeof v === 'object') {\n mappedProps.push(...getSetOfAllPropsReferencedInPropMapping(v))\n }\n })\n return new Set(mappedProps)\n}\n\nfunction generatePropsFromMapping(component: FigmaConnectionComponent, propMapping: PropMapping) {\n const mappedProps: string[] = []\n const unmappedProps: string[] = []\n\n for (const [propName, intrinsic] of Object.entries(propMapping)) {\n const expr = generateExpressionFromIntrinsic(intrinsic)\n if (expr) {\n mappedProps.push(`\"${propName}\": ${expr}`)\n }\n }\n\n const usedFigmaPropsSet = getSetOfAllPropsReferencedInPropMapping(propMapping)\n for (const [propName, propDef] of Object.entries(component.componentPropertyDefinitions || {})) {\n if (!usedFigmaPropsSet.has(propName)) {\n const propMapping = generateSinglePropMappingFromFigmaProp(propName, propDef)\n if (propMapping) {\n unmappedProps.push(propMapping)\n }\n }\n }\n\n return `{\n${\n mappedProps.length\n ? `// These props were automatically mapped based on your linked code:\n ${mappedProps.join(',\\n')},`\n : ''\n}\n ${\n unmappedProps.length\n ? `// No matching props could be found for these Figma properties:\n ${unmappedProps\n .map((prop) => {\n // Comment out to make clear these are suggested. Singly-commented out lines for ease of uncommenting\n return `// ${prop.replace(/\\n/g, '\\n// ')}`\n })\n .join(',\\n')}`\n : ''\n }\n }`\n}\n\nexport function generateProps(component: FigmaConnectionComponent) {\n const props: string[] = []\n if (\n !component.componentPropertyDefinitions ||\n Object.keys(component.componentPropertyDefinitions).length === 0\n ) {\n return `{}`\n }\n\n for (const [propName, propDef] of Object.entries(component.componentPropertyDefinitions)) {\n const propMapping = generateSinglePropMappingFromFigmaProp(propName, propDef)\n if (propMapping) {\n props.push(propMapping)\n }\n }\n return `{\n ${props.join(',\\n ')}\n}`\n}\n\nfunction generateExample(\n component: string,\n signature?: ComponentTypeSignature,\n propMapping?: PropMapping,\n) {\n if (!signature) {\n return `<${component} />`\n }\n const props = Object.entries(signature)\n .map(([propName, propDef]) => {\n // Children are rendered inside of the example body rather than in a prop\n if (propName === 'children') {\n return null\n } else if (propMapping && propMapping[propName]) {\n return `${propName}={props.${propName}}`\n } else if (!propDef.startsWith('?')) {\n return `${propName}={/* TODO */} `\n } else {\n return null\n }\n })\n .filter(Boolean)\n .join('\\n')\n\n // const childProp = propMapping?['children'] ? `{props.${propMapping['children']}}` : null\n\n // Nest child props inside of the element\n if (signature['children'] && propMapping?.['children']) {\n return `<${component}\n ${props}>\n {props.children}\n </${component}>`\n } else {\n return `<${component}\n ${props}/>`\n }\n}\n\n// returns ES-style import path from given system path\nfunction formatImportPath(systemPath: string) {\n // use forward slashes for import paths\n let formattedImportPath = systemPath.replaceAll(path.sep, '/')\n\n // prefix current dir paths with ./ (node path does not)\n if (!formattedImportPath.startsWith('.')) {\n formattedImportPath = `./${formattedImportPath}`\n }\n\n // assume not using ESM imports\n return formattedImportPath.replace(/\\.(jsx|tsx)$/, '')\n}\n\nfunction getImportsPath({\n codeConnectFilePath,\n sourceFilepath,\n normalizedName,\n}: {\n codeConnectFilePath: string\n sourceFilepath?: string\n normalizedName: string\n}) {\n if (!sourceFilepath) {\n return `./${normalizedName}`\n }\n const codeConnectFolder = path.dirname(codeConnectFilePath)\n const pathToComponentFile = path.relative(codeConnectFolder, sourceFilepath)\n\n return formatImportPath(pathToComponentFile)\n}\n\nexport async function createReactCodeConnect(\n payload: CreateRequestPayloadMulti,\n): Promise<z.infer<typeof CreateResponsePayload>> {\n const { figmaConnections, destinationFile, destinationDir, sourceFilepath, normalizedName } =\n payload\n\n const comments = {\n MAPPED_PROPS: `\n * \\`props\\` includes a mapping from your code props to Figma properties.\n * You should check this is correct, and update the \\`example\\` function\n * to return the code example you'd like to see in Figma`,\n NO_MAPPED_PROPS: `\n * None of your props could be automatically mapped to Figma properties.\n * You should update the \\`props\\` object to include a mapping from your\n * code props to Figma properties, and update the \\`example\\` function to\n * return the code example you'd like to see in Figma`,\n DEFAULT: `\n * \\`props\\` includes a mapping from Figma properties and variants to\n * suggested values. You should update this to match the props of your\n * code component, and update the \\`example\\` function to return the\n * code example you'd like to see in Figma`,\n }\n\n const sourceFilename = sourceFilepath\n ? path.parse(sourceFilepath).name.split('.')[0]\n : normalizedName\n\n const filePath = getOutFileName({\n outFile: destinationFile,\n outDir: destinationDir,\n sourceFilename,\n extension: 'tsx',\n })\n\n const importsPath = getImportsPath({\n codeConnectFilePath: filePath,\n sourceFilepath,\n normalizedName,\n })\n\n let defaultImport = ''\n const namedImports: Record<string, string> = {}\n\n for (const figmaConnection of figmaConnections) {\n const { sourceExport, component } = figmaConnection\n\n const importName =\n sourceFilepath && sourceExport\n ? sourceExport === 'default'\n ? normalizeComponentName(sourceFilename)\n : sourceExport\n : normalizedName\n\n if (sourceExport === 'default') {\n defaultImport = importName\n } else {\n namedImports[component.id] = importName\n }\n }\n\n if (defaultImport !== '') {\n defaultImport = Object.values(namedImports).includes(defaultImport)\n ? `${defaultImport}Default`\n : defaultImport\n }\n\n let codeConnectCode = ''\n for (const figmaConnection of figmaConnections) {\n const { propMapping, sourceExport, component, reactTypeSignature } = figmaConnection\n\n const hasAnyMappedProps = propMapping && Object.keys(propMapping).length > 0\n\n const commentType =\n propMapping && hasAnyMappedProps\n ? 'MAPPED_PROPS'\n : propMapping && !hasAnyMappedProps\n ? 'NO_MAPPED_PROPS'\n : 'DEFAULT'\n let comment = comments[commentType]\n\n let componentName = sourceExport === 'default' ? defaultImport : namedImports[component.id]\n\n const snippet = `figma.connect(${componentName}, \"${component.figmaNodeUrl}\", {\n props: ${propMapping ? generatePropsFromMapping(component, propMapping) : generateProps(component)},\n example: (props) => ${generateExample(componentName, reactTypeSignature, propMapping)},\n })`\n\n codeConnectCode += `\n\n /**\n * -- This file was auto-generated by Code Connect --${comment}\n */\n\n ${snippet}\n `\n }\n\n const comma = Object.keys(namedImports).length > 0 && defaultImport ? ',' : ''\n const namedImportList =\n Object.values(namedImports).length > 0 ? `{${Object.values(namedImports).join(',')}}` : ''\n\n let codeConnect = `\nimport React from 'react'\nimport ${defaultImport} ${comma} ${namedImportList} from '${importsPath}'\nimport figma from '@figma/code-connect'\n\n${codeConnectCode}\n`\n\n let formatted = prettier.format(codeConnect, {\n parser: 'typescript',\n semi: false,\n trailingComma: 'all',\n })\n\n if (fs.existsSync(filePath)) {\n return {\n createdFiles: [],\n messages: [{ message: `File ${filePath} already exists, skipping creation`, level: 'ERROR' }],\n }\n }\n fs.mkdirSync(path.dirname(filePath), { recursive: true })\n fs.writeFileSync(filePath, formatted)\n\n return { createdFiles: [{ filePath }], messages: [] }\n}\n"]}
@@ -1,8 +1,8 @@
1
1
  import * as React from 'react';
2
- import { booleanType, enumType, stringType, nestedPropsType, classNameType, textContentType, instanceType } from '../connect/external_types';
2
+ import { booleanType, enumType, stringType, nestedPropsType, classNameType, textContentType, instanceType, slotType } from '../connect/external_types';
3
3
  import { ReactMeta } from './types';
4
4
  declare function connectType<P = {}>(_figmaNodeUrl: string, _meta?: ReactMeta<P>): void;
5
5
  declare function connectType<P = {}>(_component: any, _figmaNodeUrl: string, _meta?: ReactMeta<P>): void;
6
6
  declare function childrenType(_layers: string | string[]): React.DetailedReactHTMLElement<React.HTMLAttributes<HTMLElement>, HTMLElement>;
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, };
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, slotType as slot, };
8
8
  //# sourceMappingURL=external.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"external.d.ts","sourceRoot":"","sources":["../../src/react/external.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EACL,WAAW,EACX,QAAQ,EACR,UAAU,EACV,eAAe,EACf,aAAa,EACb,eAAe,EACf,YAAY,EACb,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAEnC,iBAAS,WAAW,CAAC,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;AAC/E,iBAAS,WAAW,CAAC,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;AAGhG,iBAAS,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,kFAE/C;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/react/external.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EACL,WAAW,EACX,QAAQ,EACR,UAAU,EACV,eAAe,EACf,aAAa,EACb,eAAe,EACf,YAAY,EACZ,QAAQ,EACT,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAEnC,iBAAS,WAAW,CAAC,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;AAC/E,iBAAS,WAAW,CAAC,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;AAGhG,iBAAS,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,kFAE/C;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,EACxB,QAAQ,IAAI,IAAI,GACjB,CAAA"}
@@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.instance = exports.textContent = exports.className = exports.nestedProps = exports.string = exports.enum = exports.boolean = void 0;
36
+ exports.slot = exports.instance = exports.textContent = exports.className = exports.nestedProps = exports.string = exports.enum = exports.boolean = void 0;
37
37
  exports.connect = connectType;
38
38
  exports.children = childrenType;
39
39
  const React = __importStar(require("react"));
@@ -45,6 +45,7 @@ Object.defineProperty(exports, "nestedProps", { enumerable: true, get: function
45
45
  Object.defineProperty(exports, "className", { enumerable: true, get: function () { return external_types_1.classNameType; } });
46
46
  Object.defineProperty(exports, "textContent", { enumerable: true, get: function () { return external_types_1.textContentType; } });
47
47
  Object.defineProperty(exports, "instance", { enumerable: true, get: function () { return external_types_1.instanceType; } });
48
+ Object.defineProperty(exports, "slot", { enumerable: true, get: function () { return external_types_1.slotType; } });
48
49
  function connectType(_component, _figmaNodeUrl, _meta) { }
49
50
  function childrenType(_layers) {
50
51
  return React.createElement('div');
@@ -1 +1 @@
1
- {"version":3,"file":"external.js","sourceRoot":"","sources":["../../src/react/external.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BiB,8BAAO;AAEN,gCAAQ;AA7B1B,6CAA8B;AAC9B,8DAQkC;AAYjB,wFAnBf,4BAAW,OAmBW;AACV,qFAnBZ,yBAAQ,OAmBQ;AACF,uFAnBd,2BAAU,OAmBU;AACD,4FAnBnB,gCAAe,OAmBe;AACb,0FAnBjB,8BAAa,OAmBa;AACP,4FAnBnB,gCAAe,OAmBe;AAEd,yFApBhB,6BAAY,OAoBY;AAd1B,SAAS,WAAW,CAAC,UAAmB,EAAE,aAAsB,EAAE,KAAe,IAAS,CAAC;AAE3F,SAAS,YAAY,CAAC,OAA0B;IAC9C,OAAO,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;AACnC,CAAC"}
1
+ {"version":3,"file":"external.js","sourceRoot":"","sources":["../../src/react/external.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BiB,8BAAO;AAEN,gCAAQ;AA9B1B,6CAA8B;AAC9B,8DASkC;AAYjB,wFApBf,4BAAW,OAoBW;AACV,qFApBZ,yBAAQ,OAoBQ;AACF,uFApBd,2BAAU,OAoBU;AACD,4FApBnB,gCAAe,OAoBe;AACb,0FApBjB,8BAAa,OAoBa;AACP,4FApBnB,gCAAe,OAoBe;AAEd,yFArBhB,6BAAY,OAqBY;AAEZ,qFAtBZ,yBAAQ,OAsBQ;AAhBlB,SAAS,WAAW,CAAC,UAAmB,EAAE,aAAsB,EAAE,KAAe,IAAS,CAAC;AAE3F,SAAS,YAAY,CAAC,OAA0B;IAC9C,OAAO,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;AACnC,CAAC","sourcesContent":["import * as React from 'react'\nimport {\n booleanType,\n enumType,\n stringType,\n nestedPropsType,\n classNameType,\n textContentType,\n instanceType,\n slotType,\n} from '../connect/external_types'\nimport { ReactMeta } from './types'\n\nfunction connectType<P = {}>(_figmaNodeUrl: string, _meta?: ReactMeta<P>): void\nfunction connectType<P = {}>(_component: any, _figmaNodeUrl: string, _meta?: ReactMeta<P>): void\nfunction connectType(_component: unknown, _figmaNodeUrl: unknown, _meta?: unknown): void {}\n\nfunction childrenType(_layers: string | string[]) {\n return React.createElement('div')\n}\n\nexport {\n booleanType as boolean,\n enumType as enum,\n stringType as string,\n nestedPropsType as nestedProps,\n classNameType as className,\n textContentType as textContent,\n connectType as connect,\n instanceType as instance,\n childrenType as children,\n slotType as slot,\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index_react.js","sourceRoot":"","sources":["../../src/react/index_react.ts"],"names":[],"mappings":";AAAA,8EAA8E;AAC9E,uEAAuE;AACvE,yEAAyE;AACzE,qEAAqE;AACrE,uCAAuC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASvC,kDAAmC;AAGnC,0DAAmD;AAGnD,MAAM,OAAO,GAAuB,IAAA,wBAAS,GAAE,CAAA;AAgHV,yBAAM;AA/G3C,MAAM,MAAM,GA6GR,KAAK,CAAA;AAEU,uBAAK;AACxB,kBAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"index_react.js","sourceRoot":"","sources":["../../src/react/index_react.ts"],"names":[],"mappings":";AAAA,8EAA8E;AAC9E,uEAAuE;AACvE,yEAAyE;AACzE,qEAAqE;AACrE,uCAAuC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASvC,kDAAmC;AAGnC,0DAAmD;AAGnD,MAAM,OAAO,GAAuB,IAAA,wBAAS,GAAE,CAAA;AAgHV,yBAAM;AA/G3C,MAAM,MAAM,GA6GR,KAAK,CAAA;AAEU,uBAAK;AACxB,kBAAe,MAAM,CAAA","sourcesContent":["// IMPORTANT: be careful to ensure you don't accidentally add code which has a\n// dependency on Node.js-only modules here, as it will break co-located\n// components. We don't have a test for this yet. Any such code should be\n// conditionally required - see `client` for an example. Reach out in\n// #feat-code-connect if you're unsure.\n\nimport {\n EnumValue,\n FigmaConnectAPI,\n FigmaConnectMeta,\n ValueOf,\n ConnectedComponent,\n} from '../connect/api'\nimport * as figma from './external'\nimport * as StorybookTypes from '../storybook/external'\nimport { FigmaConnectClient } from '../client/figma_client'\nimport { getClient } from '../connect/index_common'\nimport { ReactMeta } from './types'\n\nconst _client: FigmaConnectClient = getClient()\nconst _figma: FigmaConnectAPI<ConnectedComponent, React.ReactElement> & {\n /**\n * Defines a code snippet that displays in Figma when a component is selected. This function has two signatures:\n * - When called with a component reference as the first argument, it will infer metadata such as the import statement\n * and location in source file from the component reference\n * - When called only with a Figma node URL, this metadata will not be included. This is useful when you want to display a code snippet\n * for something that isn't a React component, such as a `<button>` element\n *\n * @param component A reference to the React component\n * @param figmaNodeUrl A link to the node in Figma, for example:`https://www.figma.com/file/123abc/My-Component?node-id=123:456`\n * @param meta {@link FigmaConnectMeta}\n */\n connect<P = {}>(component: any, figmaNodeUrl: string, meta?: ReactMeta<P>): void\n\n /**\n * Defines a code snippet that displays in Figma when a component is selected. This function has two signatures:\n * - When called with a component reference as the first argument, it will infer metadata such as the import statement\n * and location in source file from the component reference\n * - When called only with a Figma node URL, this metadata will not be included. This is useful when you want to display a code snippet\n * for something that isn't a React component, such as a `<button>` element\n *\n * @param figmaNodeUrl A link to the node in Figma, for example:`https://www.figma.com/file/123abc/My-Component?node-id=123:456`\n * @param meta {@link FigmaConnectMeta}\n */\n connect<P = {}>(figmaNodeUrl: string, meta?: ReactMeta<P>): void\n\n /**\n * Maps a Figma property to a boolean value for the connected component. This prop is replaced\n * with values from the Figma instance when viewed in Dev Mode. For example:\n * ```ts\n * props: {\n * disabled: figma.boolean('Disabled'),\n * }\n * ```\n * Would show the `disabled` property if the Figma property \"Disabled\" is true.\n *\n * @param figmaPropName The name of the property on the Figma component\n */\n boolean(figmaPropName: string): boolean\n\n /**\n * Maps a Figma boolean property to a set of values for the connected component, providing\n * a value mapping for `true` and `false`. This prop is replaced with values from the\n * Figma instance when viewed in Dev Mode. Example:\n * ```ts\n * props: {\n * label: figma.boolean('Disabled', {\n * true: <Label />,\n * false: <HiddenLabel />\n * }),\n * }\n * ```\n * Would replace `label` with `<Label />` if the Figma property \"Disabled\" is true.\n *\n * @param figmaPropName The name of the property on the Figma component\n * @param valueMapping A mapping of values for `true` and `false`\n */\n boolean<TrueT extends EnumValue, FalseT extends EnumValue>(\n figmaPropName: string,\n valueMapping?: {\n true?: TrueT\n false?: FalseT\n },\n ): ValueOf<Record<'true' | 'false', TrueT | FalseT>>\n\n /**\n * Maps nested properties from a Figma instance layer. The first argument\n * should be the layer name of the nested instance. The mapping object passed\n * in is in the same format as the `props` object in the `connect` function.\n * For example:\n * ```ts\n * props: {\n * nested: figma.nestedProps('Nested', {\n * label: figma.string('Text'),\n * icon: figma.instance('Icon'),\n * }),\n * }\n * ```\n *\n * Which would then allow you to access the nested properties in the `example` function like so:\n * ```ts\n * (props) => <Button label={props.nested.label} icon={props.nested.icon} />\n * ```\n */\n nestedProps<V>(layer: string, input: V): V\n\n /**\n * Maps a Figma instance-swap property for the connected component. This prop is replaced with\n * a nested connected component matching the Figma instance when viewed in Dev Mode. For example:\n * ```ts\n * props: {\n * icon: figma.instance('Icon'),\n * }\n * ```\n * Would show the nested example for the component passed to the \"Icon\" property in Figma.\n *\n * If the nested connected component returns something other than JSX in its `example` function,\n * you can pass a type parameter to `instance` to specify the return type. For example:\n * ```ts\n * props: {\n * icon: figma.instance<string>('Icon')\n * }\n * ```\n *\n * @param figmaPropName The name of the property on the Figma component\n * @returns {ConnectedComponent} The connected component for the instance. The return value\n * can be modified with helper functions such as `getProps` and `render`\n */\n instance<T = ConnectedComponent>(figmaPropName: string): T\n} = figma\n\nexport { _figma as figma, _client as client }\nexport default _figma\n\nexport type StoryParameters<T = {}> = StorybookTypes.StoryParameters<T>\n\n"]}
@@ -55,7 +55,7 @@ export declare function parseRenderFunctionExpression(exp: ts.ArrowFunction | ts
55
55
  *
56
56
  * @returns The code of the render function and a list of imports
57
57
  */
58
- export declare function parseJSXRenderFunction(exp: ts.ArrowFunction | ts.FunctionExpression | ts.FunctionDeclaration, parserContext: ParserContext, propMappings?: PropMappings): {
58
+ export declare function parseJSXRenderFunction(exp: ts.ArrowFunction | ts.FunctionExpression | ts.FunctionDeclaration, parserContext: ParserContext, propMappings?: PropMappings, skipTemplateHelpers?: boolean): {
59
59
  code: string;
60
60
  imports: {
61
61
  statement: string;
@@ -68,7 +68,7 @@ export declare function parseJSXRenderFunction(exp: ts.ArrowFunction | ts.Functi
68
68
  * Parses the render function for a value (i.e. example which returns a string or React
69
69
  * component reference, not JSX) passed to `figma.connect()`
70
70
  */
71
- export declare function parseValueRenderFunction(exp: ts.ArrowFunction | ts.FunctionExpression | ts.FunctionDeclaration, parserContext: ParserContext, propMappings?: PropMappings): {
71
+ export declare function parseValueRenderFunction(exp: ts.ArrowFunction | ts.FunctionExpression | ts.FunctionDeclaration, parserContext: ParserContext, propMappings?: PropMappings, skipTemplateHelpers?: boolean): {
72
72
  code: string;
73
73
  imports: {
74
74
  statement: string;
@@ -79,5 +79,5 @@ export declare function parseValueRenderFunction(exp: ts.ArrowFunction | ts.Func
79
79
  };
80
80
  export declare function replacePropPlaceholders(exampleCode: string): string;
81
81
  export declare function getDefaultTemplate(componentMetadata: Awaited<ReturnType<typeof parseComponentMetadata>>): string;
82
- export declare function parseReactDoc(node: ts.CallExpression, parserContext: ParserContext, { repoUrl, silent }: ParseOptions): Promise<CodeConnectJSON>;
82
+ export declare function parseReactDoc(node: ts.CallExpression, parserContext: ParserContext, { repoUrl, silent, skipTemplateHelpers }: ParseOptions): Promise<CodeConnectJSON>;
83
83
  //# 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;AAiB3B,OAAO,EAAsB,YAAY,EAAoB,MAAM,uBAAuB,CAAA;AAC1F,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAE1D,OAAO,EAIL,aAAa,EAQb,YAAY,EACb,MAAM,0BAA0B,CAAA;AAEjC;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,EAAE,CAAC,IAAI,GACZ,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,qBAAqB,GAAG,EAAE,CAAC,WAAW,GAAG,SAAS,CAMvE;AAiED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,0BAanF;AA0ED,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAE3D;;;;;;;;;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,6BAA6B,CAC3C,GAAG,EAAE,EAAE,CAAC,aAAa,GAAG,EAAE,CAAC,kBAAkB,GAAG,EAAE,CAAC,mBAAmB,EACtE,aAAa,EAAE,aAAa,EAC5B,YAAY,CAAC,EAAE,YAAY;;;mBAvMd,MAAM;cACX,MAAM;yBACK,MAAM;;;;EAiY1B;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,EAAE,CAAC,aAAa,GAAG,EAAE,CAAC,kBAAkB,GAAG,EAAE,CAAC,mBAAmB,EACtE,aAAa,EAAE,aAAa,EAC5B,YAAY,CAAC,EAAE,YAAY;;;mBAlZd,MAAM;cACX,MAAM;yBACK,MAAM;;;EAub1B;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,EAAE,CAAC,aAAa,GAAG,EAAE,CAAC,kBAAkB,GAAG,EAAE,CAAC,mBAAmB,EACtE,aAAa,EAAE,aAAa,EAC5B,YAAY,CAAC,EAAE,YAAY;;;mBAkCd,MAAM;cACX,MAAM;yBACK,MAAM;;;EAyB1B;AAED,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,UA+B1D;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,CA8H1B"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/react/parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAA;AAkB3B,OAAO,EAAsB,YAAY,EAAoB,MAAM,uBAAuB,CAAA;AAC1F,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAE1D,OAAO,EAIL,aAAa,EAQb,YAAY,EACb,MAAM,0BAA0B,CAAA;AAEjC;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,EAAE,CAAC,IAAI,GACZ,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,qBAAqB,GAAG,EAAE,CAAC,WAAW,GAAG,SAAS,CAMvE;AAiED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,0BAanF;AA0ED,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAE3D;;;;;;;;;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,6BAA6B,CAC3C,GAAG,EAAE,EAAE,CAAC,aAAa,GAAG,EAAE,CAAC,kBAAkB,GAAG,EAAE,CAAC,mBAAmB,EACtE,aAAa,EAAE,aAAa,EAC5B,YAAY,CAAC,EAAE,YAAY;;;mBAvMd,MAAM;cACX,MAAM;yBACK,MAAM;;;;EAiY1B;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,EAAE,CAAC,aAAa,GAAG,EAAE,CAAC,kBAAkB,GAAG,EAAE,CAAC,mBAAmB,EACtE,aAAa,EAAE,aAAa,EAC5B,YAAY,CAAC,EAAE,YAAY,EAC3B,mBAAmB,CAAC,EAAE,OAAO;;;mBAnZhB,MAAM;cACX,MAAM;yBACK,MAAM;;;EA0b1B;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,EAAE,CAAC,aAAa,GAAG,EAAE,CAAC,kBAAkB,GAAG,EAAE,CAAC,mBAAmB,EACtE,aAAa,EAAE,aAAa,EAC5B,YAAY,CAAC,EAAE,YAAY,EAC3B,mBAAmB,CAAC,EAAE,OAAO;;;mBAoChB,MAAM;cACX,MAAM;yBACK,MAAM;;;EAyB1B;AAED,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,UA+B1D;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,mBAAmB,EAAE,EAAE,YAAY,GACrD,OAAO,CAAC,eAAe,CAAC,CA8H1B"}
@@ -14,6 +14,7 @@ exports.getDefaultTemplate = getDefaultTemplate;
14
14
  exports.parseReactDoc = parseReactDoc;
15
15
  const typescript_1 = __importDefault(require("typescript"));
16
16
  const project_1 = require("../connect/project");
17
+ const label_language_mapping_1 = require("../connect/label_language_mapping");
17
18
  const logging_1 = require("../common/logging");
18
19
  const compiler_1 = require("../typescript/compiler");
19
20
  const intrinsics_1 = require("../connect/intrinsics");
@@ -394,13 +395,15 @@ function parseRenderFunctionExpression(exp, parserContext, propMappings) {
394
395
  *
395
396
  * @returns The code of the render function and a list of imports
396
397
  */
397
- function parseJSXRenderFunction(exp, parserContext, propMappings) {
398
+ function parseJSXRenderFunction(exp, parserContext, propMappings, skipTemplateHelpers) {
398
399
  const { sourceFile } = parserContext;
399
400
  const { code, imports, nestable, referencedProps } = parseRenderFunctionExpression(exp, parserContext, propMappings);
400
401
  let templateCode = '';
401
402
  // Generate the template code
402
403
  // Inject React-specific template helper functions
403
- templateCode = (0, parser_template_helpers_1.getParsedTemplateHelpersString)() + '\n\n';
404
+ if (!skipTemplateHelpers) {
405
+ templateCode = (0, parser_template_helpers_1.getParsedTemplateHelpersString)() + '\n\n';
406
+ }
404
407
  // Require the template API
405
408
  templateCode += `const figma = require('figma')\n\n`;
406
409
  // Then we output `const propName = figma.properties.<kind>('propName')` calls
@@ -425,7 +428,7 @@ function parseJSXRenderFunction(exp, parserContext, propMappings) {
425
428
  * Parses the render function for a value (i.e. example which returns a string or React
426
429
  * component reference, not JSX) passed to `figma.connect()`
427
430
  */
428
- function parseValueRenderFunction(exp, parserContext, propMappings) {
431
+ function parseValueRenderFunction(exp, parserContext, propMappings, skipTemplateHelpers) {
429
432
  const { sourceFile } = parserContext;
430
433
  const printer = typescript_1.default.createPrinter();
431
434
  if (!exp.body) {
@@ -439,7 +442,9 @@ function parseValueRenderFunction(exp, parserContext, propMappings) {
439
442
  let templateCode = '';
440
443
  // Generate the template code
441
444
  // Inject React-specific template helper functions
442
- templateCode = (0, parser_template_helpers_1.getParsedTemplateHelpersString)() + '\n\n';
445
+ if (!skipTemplateHelpers) {
446
+ templateCode = (0, parser_template_helpers_1.getParsedTemplateHelpersString)() + '\n\n';
447
+ }
443
448
  // Require the template API
444
449
  templateCode += `const figma = require('figma')\n\n`;
445
450
  // Then we output `const propName = figma.properties.<kind>('propName')` calls
@@ -640,7 +645,7 @@ function getDefaultTemplate(componentMetadata) {
640
645
  const example = `<${componentMetadata.component} />`;
641
646
  return `const figma = require("figma")\n\nexport default figma.tsx\`${example}\``;
642
647
  }
643
- async function parseReactDoc(node, parserContext, { repoUrl, silent }) {
648
+ async function parseReactDoc(node, parserContext, { repoUrl, silent, skipTemplateHelpers }) {
644
649
  const { checker, sourceFile, config } = parserContext;
645
650
  // Parse the arguments to the `figma.connect()` call
646
651
  const { componentArg, figmaNodeUrlArg, configObjArg } = parseFigmaConnectArgs(node, parserContext);
@@ -659,8 +664,8 @@ async function parseReactDoc(node, parserContext, { repoUrl, silent }) {
659
664
  const props = propsArg ? (0, intrinsics_1.parsePropsObject)(propsArg, parserContext) : undefined;
660
665
  const render = exampleArg
661
666
  ? findJSXElement(exampleArg)
662
- ? parseJSXRenderFunction(exampleArg, parserContext, props)
663
- : parseValueRenderFunction(exampleArg, parserContext, props)
667
+ ? parseJSXRenderFunction(exampleArg, parserContext, props, skipTemplateHelpers)
668
+ : parseValueRenderFunction(exampleArg, parserContext, props, skipTemplateHelpers)
664
669
  : undefined;
665
670
  const variant = variantArg ? (0, parser_common_1.parseVariant)(variantArg, sourceFile, checker) : undefined;
666
671
  const links = linksArg ? (0, parser_common_1.parseLinks)(linksArg, parserContext) : undefined;
@@ -727,7 +732,7 @@ async function parseReactDoc(node, parserContext, { repoUrl, silent }) {
727
732
  return {
728
733
  figmaNode,
729
734
  label: project_1.DEFAULT_LABEL_PER_PARSER.react,
730
- language: 'typescript',
735
+ language: label_language_mapping_1.SyntaxHighlightLanguage.TypeScript,
731
736
  component: metadata?.component,
732
737
  source: metadata?.source ? (0, project_1.getRemoteFileUrl)(metadata.source, repoUrl) : '',
733
738
  sourceLocation: metadata?.line !== undefined ? { line: metadata.line } : { line: -1 },
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/react/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/react/parser.ts"],"names":[],"mappings":"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","sourcesContent":["import ts from 'typescript'\nimport {\n CodeConnectParser,\n DEFAULT_LABEL_PER_PARSER,\n getRemoteFileUrl,\n mapImportPath,\n mapImportSpecifier,\n} from '../connect/project'\nimport { SyntaxHighlightLanguage } from '../connect/label_language_mapping'\nimport { logger } from '../common/logging'\nimport {\n bfsFindNode,\n getTagName,\n stripQuotesFromNode,\n parsePropertyOfType,\n parseFunctionArgument,\n isOneOf,\n} from '../typescript/compiler'\nimport { FIGMA_CONNECT_CALL, PropMappings, parsePropsObject } from '../connect/intrinsics'\nimport { CodeConnectJSON } from '../connect/figma_connect'\nimport { getParsedTemplateHelpersString } from './parser_template_helpers'\nimport {\n getPositionInSourceFile,\n InternalError,\n makeCreatePropPlaceholder,\n ParserContext,\n ParserError,\n visitPropReferencingNode,\n getReferencedPropsForTemplate,\n findDescendants,\n parseLinks,\n parseVariant,\n parseImports,\n ParseOptions,\n} from '../connect/parser_common'\n\n/**\n * Traverses the AST and returns the first JSX element it finds\n * @param node AST node\n * @returns\n */\nexport function findJSXElement(\n node: ts.Node,\n): ts.JsxElement | ts.JsxSelfClosingElement | ts.JsxFragment | undefined {\n if (ts.isJsxElement(node) || ts.isJsxFragment(node) || ts.isJsxSelfClosingElement(node)) {\n return node\n } else {\n return ts.forEachChild(node, findJSXElement)\n }\n}\n\nfunction findBlock(node: ts.Node): ts.Block | undefined {\n if (ts.isBlock(node)) {\n return node\n } else {\n return ts.forEachChild(node, findBlock)\n }\n}\n\n/**\n * Walks up the AST from an assignment to find the import declaration\n */\nfunction findParentImportDeclaration(\n declaration: ts.Declaration,\n): ts.ImportDeclaration | undefined {\n let current = declaration\n while (current) {\n if (ts.isImportDeclaration(current)) {\n return current\n }\n current = current.parent as ts.Declaration\n }\n}\n\nfunction getImportsOfModule(sourceFile: ts.SourceFile): ts.ImportDeclaration[] {\n const imports: ts.ImportDeclaration[] = []\n\n function visit(node: ts.Node) {\n if (ts.isImportDeclaration(node)) {\n imports.push(node)\n }\n ts.forEachChild(node, visit)\n }\n\n visit(sourceFile)\n\n return imports\n}\n\nfunction resolveModuleSpecifier(\n program: ts.Program,\n sourceFile: ts.SourceFile,\n importSpecifier: string,\n): string | undefined {\n const compilerHost = ts.createCompilerHost(program.getCompilerOptions())\n const moduleResolutionHost: ts.ModuleResolutionHost = {\n fileExists: compilerHost.fileExists,\n readFile: compilerHost.readFile,\n directoryExists: compilerHost.directoryExists,\n getCurrentDirectory: compilerHost.getCurrentDirectory,\n getDirectories: compilerHost.getDirectories,\n }\n\n const resolvedModule = ts.resolveModuleName(\n importSpecifier,\n sourceFile.fileName,\n program.getCompilerOptions(),\n moduleResolutionHost,\n )\n\n return resolvedModule.resolvedModule?.resolvedFileName\n}\n\n// Traverse the source file and resolve imports\nexport function findAndResolveImports(program: ts.Program, sourceFile: ts.SourceFile) {\n const importSpecifierToFilePath: Record<string, string> = {}\n ts.forEachChild(sourceFile, (node) => {\n if (ts.isImportDeclaration(node)) {\n const importSpecifier = (node.moduleSpecifier as ts.StringLiteral).text\n const resolvedFileName = resolveModuleSpecifier(program, sourceFile, importSpecifier)\n\n if (resolvedFileName) {\n importSpecifierToFilePath[importSpecifier] = resolvedFileName\n }\n }\n })\n return importSpecifierToFilePath\n}\n\n/**\n * Finds all import statements in a file that matches the given identifiers\n *\n * @param parserContext Parser context\n * @param identifiers List of identifiers to find imports for\n * @returns\n */\nfunction getSourceFilesOfImportedIdentifiers(parserContext: ParserContext, _identifiers: string[]) {\n const { sourceFile, resolvedImports } = parserContext\n const importDeclarations = getImportsOfModule(sourceFile)\n const imports: {\n statement: string\n file: string\n moduleSpecifier: string\n }[] = []\n\n const identifiers = _identifiers.map((identifier) => identifier.split('.')[0])\n\n for (const declaration of importDeclarations) {\n let statement = declaration.getText()\n // remove the quotation marks around the module specifier\n const moduleSpecifier = declaration.moduleSpecifier.getText().slice(1, -1)\n\n if (declaration.importClause) {\n // Default imports\n if (declaration.importClause.name) {\n const identifier = declaration.importClause.name.text\n\n if (identifiers.includes(identifier)) {\n imports.push({\n statement,\n file: resolvedImports[moduleSpecifier],\n moduleSpecifier,\n })\n }\n }\n\n if (declaration.importClause.namedBindings) {\n const namedBindings = declaration.importClause.namedBindings\n\n if (ts.isNamedImports(namedBindings)) {\n // Named imports (import { x, y } from 'module')\n // filter out any unused imports from the statement the identifier belongs to\n const elements = namedBindings.elements\n .map((specifier) => specifier.name.text)\n .filter((name) => identifiers.includes(name))\n\n if (elements.length > 0) {\n imports.push({\n statement: statement.replace(/{.*}/s, `{ ${elements.join(', ')} }`),\n file: resolvedImports[moduleSpecifier],\n moduleSpecifier,\n })\n }\n } else if (ts.isNamespaceImport(namedBindings)) {\n // Namespace import (import * as name from 'module')\n const identifier = namedBindings.name.text\n if (identifiers.includes(identifier)) {\n imports.push({\n statement,\n file: resolvedImports[moduleSpecifier],\n moduleSpecifier,\n })\n }\n }\n }\n }\n }\n\n return imports\n}\n\nexport type ComponentTypeSignature = Record<string, string>\n\n/**\n * Extract metadata about the referenced React component. Used by both the\n * Code Connect and Storybook commands.\n *\n * @param parserContext Parser context\n * @param componentSymbol The ts.Symbol from the metadata referencing the\n * component being documented\n * @param node The node being parsed. Used for error logging.\n * @returns Metadata object\n */\nexport async function parseComponentMetadata(\n node: ts.PropertyAccessExpression | ts.Identifier | ts.Expression,\n parserContext: ParserContext,\n silent?: boolean,\n) {\n const { checker, sourceFile } = parserContext\n let componentSymbol = checker.getSymbolAtLocation(node)\n let componentSourceFile = sourceFile\n let component = ''\n let componentDeclaration\n\n // Hacky fix for namespaced components, this probably doesn't work for storybook\n if (ts.isPropertyAccessExpression(node)) {\n componentSymbol = checker.getSymbolAtLocation(node.expression)\n if (!componentSymbol) {\n throw new ParserError(`Could not find symbol for component ${node.expression.getText()}`, {\n sourceFile,\n node,\n })\n }\n }\n\n // Component declared in a different file\n if (\n componentSymbol &&\n componentSymbol.declarations &&\n (ts.isImportSpecifier(componentSymbol.declarations[0]) ||\n ts.isImportClause(componentSymbol.declarations[0]))\n ) {\n let importDeclaration = findParentImportDeclaration(componentSymbol.declarations[0])\n if (!importDeclaration) {\n throw new ParserError(\n 'No import statement found for component, make sure the component is imported',\n {\n sourceFile,\n node,\n },\n )\n }\n\n // The component should be imported from another file, we need to follow the\n // aliased symbol to get the correct function definition\n if (componentSymbol.flags & ts.SymbolFlags.Alias) {\n componentSymbol = checker.getAliasedSymbol(componentSymbol)\n }\n\n if (!componentSymbol || !componentSymbol.declarations) {\n if (!silent) {\n logger.warn(\n `Import for ${node.getText()} could not be resolved, make sure that your \\`include\\` globs in \\`figma.config.json\\` matches the component source file (in addition to the Code Connect file). If you're using path aliases, make sure to include the same aliases in \\`figma.config.json\\` with the \\`paths\\` option.`,\n )\n }\n return {\n source: '',\n line: 0,\n component: node.getText(),\n }\n }\n\n // If we haven't found the component declaration by now, it's likely because it's\n // assigned to an object/namespace, for example: `export const Button = { Primary: () => <button /> }`,\n // so we need to find the function declaration by traversing the AST in that file.\n if (!ts.isFunctionDeclaration(componentSymbol.declarations[0])) {\n const sourceFile = componentSymbol.declarations[0].getSourceFile()\n bfsFindNode(sourceFile, sourceFile, (node) => {\n if (\n (ts.isFunctionDeclaration(node) || ts.isVariableDeclaration(node)) &&\n node.name &&\n componentSymbol?.name &&\n node.name.getText() === componentSymbol.name\n ) {\n componentSymbol = checker.getSymbolAtLocation(node.name)\n return true\n }\n return false\n })\n }\n\n componentDeclaration = componentSymbol.declarations[0]\n componentSourceFile = componentDeclaration.getSourceFile()\n } else {\n componentDeclaration = componentSymbol?.declarations?.[0]\n }\n\n const source = componentSourceFile.fileName\n\n if (!source) {\n throw new InternalError(\n `Could not find source file for component ${component} - is this file included in the directory passed to \\`figma connect <dir>\\`?`,\n )\n }\n\n if (!componentDeclaration) {\n throw new ParserError(`Could not find declaration for component ${component}`, {\n sourceFile,\n node,\n })\n }\n\n const line = getPositionInSourceFile(componentDeclaration, componentSourceFile).line\n if (line === undefined) {\n throw new InternalError(\n `Could not determine line number for component ${componentDeclaration.getStart(sourceFile)}`,\n )\n }\n\n return {\n source,\n line,\n component: node.getText(),\n }\n}\n\n/**\n * Parses a render function and ouputs a template string, extracting the code and\n * any import statements matching the JSX elements used in the function body\n *\n * @param exp A function or arrow function expression\n * @param parserContext Parser context\n * @param propMappings Prop mappings object as returned by parseProps\n *\n * @returns The code of the render function and a list of imports\n */\nexport function parseRenderFunctionExpression(\n exp: ts.ArrowFunction | ts.FunctionExpression | ts.FunctionDeclaration,\n parserContext: ParserContext,\n propMappings?: PropMappings,\n) {\n const { sourceFile } = parserContext\n\n let renderFunctionCode: string\n\n if (exp.parameters.length > 1) {\n throw new ParserError(\n `Expected a single props parameter for the render function, got ${exp.parameters.length} parameters`,\n { sourceFile, node: exp },\n )\n }\n\n const propsParameter = exp.parameters[0]\n\n // Keep track of any props which are referenced in the example\n const referencedProps = new Set<string>()\n\n const createPropPlaceholder = makeCreatePropPlaceholder({\n propMappings,\n referencedProps,\n sourceFile,\n })\n\n // Find all property access expressions in the function body and replace them\n // with a function call like `__PROP__(\"propName\")`, so that we can easily\n // find them in the next step to convert them into\n // `${_fcc_renderReactProp(...)` in the template string.\n //\n // Doing it this way means we can normalize the different ways in which props\n // can be accessed using the compiler API, which is much easier than using a\n // regex, then in the next step we can use a simple regex to convert that into\n // the template string.\n if (propsParameter) {\n exp = ts.transform(exp, [\n (context) => (rootNode) => {\n function visit(node: ts.Node): ts.Node {\n const visitResult = visitPropReferencingNode({\n propsParameter,\n node,\n createPropPlaceholder,\n useJsx: true,\n })\n\n if (visitResult) {\n return visitResult\n }\n\n // object assignment using destructured reference, e.g `prop={{ key: value }}`\n // (`{{ key: props.value }}` syntax will be captured by the `props.` notation branch above)\n if (\n ts.isObjectBindingPattern(propsParameter.name) &&\n ts.isPropertyAssignment(node) &&\n ts.isIdentifier(node.initializer) &&\n propsParameter.name.elements.find((el) =>\n node.initializer.getText().startsWith(el.name.getText()),\n )\n ) {\n return ts.factory.createPropertyAssignment(\n node.name,\n createPropPlaceholder({ name: node.initializer.getText(), node }),\n )\n }\n // object assignment using destructured reference as a shorthand, e.g `prop={{ value }}`\n if (\n ts.isObjectBindingPattern(propsParameter.name) &&\n ts.isShorthandPropertyAssignment(node) &&\n propsParameter.name.elements.find((el) =>\n node.name.getText().startsWith(el.name.getText()),\n )\n ) {\n return ts.factory.createPropertyAssignment(\n node.name,\n createPropPlaceholder({ name: node.name.getText(), node }),\n )\n }\n\n // Replaces {...props} with all the prop mapped props we know about,\n // e.g. <Button {...props} /> becomes:\n // <Button prop1={__PROP__(\"prop1\")} prop2={__PROP__(\"prop2\")} />.\n if (\n ts.isJsxSpreadAttribute(node) &&\n ts.isIdentifier(node.expression) &&\n // example: (props) => (...)\n (node.expression.getText() === propsParameter.name.getText() ||\n // example: ({ prop1, prop2 ...props }) => (...)\n (ts.isObjectBindingPattern(propsParameter.name) &&\n propsParameter.name.elements.find(\n (el) => el.dotDotDotToken && el.name.getText() === node.expression?.getText(),\n )))\n ) {\n // if we have an object binding pattern ({ prop1, prop2 ...props }),\n // exclude the props that are already destructured (prop1, prop2)\n const propsToExclude = ts.isObjectBindingPattern(propsParameter.name)\n ? propsParameter.name.elements\n .filter((el) => !el.dotDotDotToken)\n .map((el) => el.name.getText())\n : []\n const props = propMappings\n ? Object.keys(propMappings)\n .filter((prop) => !propsToExclude.includes(prop))\n .map((prop) => {\n return ts.factory.createJsxAttribute(\n ts.factory.createIdentifier(prop),\n createPropPlaceholder({\n name: prop,\n node,\n wrapInJsxExpression: true,\n }) as ts.JsxExpression,\n )\n })\n : []\n\n if (propMappings) {\n for (const key of Object.keys(propMappings)) {\n referencedProps.add(key)\n }\n }\n\n return props as any\n }\n\n return ts.visitEachChild(node, visit, context)\n }\n return ts.visitNode(rootNode, visit) as\n | ts.ArrowFunction\n | ts.FunctionExpression\n | ts.FunctionDeclaration\n },\n ]).transformed[0] as typeof exp\n }\n\n const printer = ts.createPrinter()\n const block = findBlock(exp)\n let nestable = false\n let jsx = findJSXElement(exp)\n\n if (jsx && (!block || (block && block.statements.length <= 1))) {\n // The function body is a single JSX element\n renderFunctionCode = printer.printNode(ts.EmitHint.Unspecified, jsx, sourceFile)\n nestable = true\n } else if (block) {\n // The function body has more stuff in it, so we wrap the body in a function\n // expression. Why not just print the exact function passed to `render`?\n // Because the parameters to that function are not actually referenced in\n // the rendered code snippet in Figma - they're mapped to values on the\n // Figma instance.\n const functionName = 'Example'\n const functionExpression = ts.factory.createFunctionExpression(\n undefined,\n undefined,\n ts.factory.createIdentifier(functionName),\n [],\n undefined,\n undefined,\n block,\n )\n const printer = ts.createPrinter()\n renderFunctionCode = printer.printNode(ts.EmitHint.Unspecified, functionExpression, sourceFile)\n } else {\n throw new ParserError(\n `Expected a single JSX element or a block statement in the render function, got ${exp.getText()}`,\n { sourceFile, node: exp },\n )\n }\n\n renderFunctionCode = replacePropPlaceholders(renderFunctionCode)\n\n // Escape backticks from the example code, as otherwise those would terminate the `figma.tsx` template literal\n renderFunctionCode = renderFunctionCode.replace(/`/g, '\\\\`')\n\n // Finally, output the render function as a figma.tsx call\n const figmaTsxCall = `figma.tsx\\`${renderFunctionCode}\\``\n\n // Find all JSX elements in the function body and extract their import\n // statements\n const jsxTags = findDescendants(\n exp,\n (element) => ts.isJsxElement(element) || ts.isJsxSelfClosingElement(element),\n ) as (ts.JsxElement | ts.JsxSelfClosingElement)[]\n const imports = getSourceFilesOfImportedIdentifiers(parserContext, jsxTags.map(getTagName))\n\n return {\n code: figmaTsxCall,\n imports,\n nestable,\n referencedProps,\n }\n}\n\n/**\n * Parses the render function passed to `figma.connect()`, extracting the code and\n * any import statements matching the JSX elements used in the function body\n *\n * @param exp A function or arrow function expression\n * @param parserContext Parser context\n * @param propMappings Prop mappings object as returned by parseProps\n *\n * @returns The code of the render function and a list of imports\n */\nexport function parseJSXRenderFunction(\n exp: ts.ArrowFunction | ts.FunctionExpression | ts.FunctionDeclaration,\n parserContext: ParserContext,\n propMappings?: PropMappings,\n skipTemplateHelpers?: boolean,\n) {\n const { sourceFile } = parserContext\n\n const { code, imports, nestable, referencedProps } = parseRenderFunctionExpression(\n exp,\n parserContext,\n propMappings,\n )\n\n let templateCode = ''\n\n // Generate the template code\n // Inject React-specific template helper functions\n if (!skipTemplateHelpers) {\n templateCode = getParsedTemplateHelpersString() + '\\n\\n'\n }\n\n // Require the template API\n templateCode += `const figma = require('figma')\\n\\n`\n\n // Then we output `const propName = figma.properties.<kind>('propName')` calls\n // for each referenced prop, so these are accessible to the template code.\n templateCode += getReferencedPropsForTemplate({\n propMappings,\n exp,\n sourceFile,\n })\n\n const includeMetadata = propMappings && Object.keys(propMappings).length > 0\n\n // Finally, output the example code\n templateCode += includeMetadata\n ? `export default { ...${code}, metadata: { __props } }\\n`\n : `export default ${code}\\n`\n\n return {\n code: templateCode,\n imports,\n nestable,\n }\n}\n\n/**\n * Parses the render function for a value (i.e. example which returns a string or React\n * component reference, not JSX) passed to `figma.connect()`\n */\nexport function parseValueRenderFunction(\n exp: ts.ArrowFunction | ts.FunctionExpression | ts.FunctionDeclaration,\n parserContext: ParserContext,\n propMappings?: PropMappings,\n skipTemplateHelpers?: boolean,\n) {\n const { sourceFile } = parserContext\n const printer = ts.createPrinter()\n if (!exp.body) {\n throw new ParserError('Expected a function body', {\n sourceFile: parserContext.sourceFile,\n node: exp,\n })\n }\n\n let exampleCode = printer.printNode(ts.EmitHint.Unspecified, exp.body, sourceFile)\n const nestable = true\n\n let templateCode = ''\n // Generate the template code\n // Inject React-specific template helper functions\n if (!skipTemplateHelpers) {\n templateCode = getParsedTemplateHelpersString() + '\\n\\n'\n }\n\n // Require the template API\n templateCode += `const figma = require('figma')\\n\\n`\n\n // Then we output `const propName = figma.properties.<kind>('propName')` calls\n // for each referenced prop, so these are accessible to the template code.\n templateCode += getReferencedPropsForTemplate({\n propMappings,\n exp,\n sourceFile,\n })\n\n // Escape backticks from the example code\n exampleCode = exampleCode.replace(/`/g, '\\\\`')\n\n let imports: {\n statement: string\n file: string\n moduleSpecifier: string\n }[] = []\n\n const includeMetadata = propMappings && Object.keys(propMappings).length > 0\n\n if (ts.isStringLiteral(exp.body)) {\n // The value is a string, which is already wrapped in quotes\n templateCode += includeMetadata\n ? `export default { ...figma.value(${exampleCode}), metadata: { __props } }\\n`\n : `export default figma.value(${exampleCode})\\n`\n } else if (ts.isIdentifier(exp.body)) {\n // The value is an identifier, i.e. a React component reference\n const value = `_fcc_reactComponent(\"${exp.body.getText()}\")`\n const preview = `_fcc_renderPropValue(${value})`\n templateCode += includeMetadata\n ? `export default { ...figma.value(${value}, ${preview}), metadata: { __props } }\\n`\n : `export default figma.value(${value}, ${preview})\\n`\n imports = getSourceFilesOfImportedIdentifiers(parserContext, [exp.body.getText()])\n }\n\n return {\n code: templateCode,\n imports,\n nestable,\n }\n}\n\nexport function replacePropPlaceholders(exampleCode: string) {\n // Replace React prop placeholders we inserted above (like\n // `reactPropName={__PROP__(\"figmaPropName\")}`) with calls to\n // _fcc_renderReactProp, which renders them correctly (see\n // parser_template_helpers.ts)\n exampleCode = exampleCode.replace(\n // match \" reactPropName={__PROP__(\"figmaPropName\")}\" and extract the names\n // We allow hyphens in prop names (unlike React) to support rendering HTML attributes\n / ([A-Za-z0-9\\-]+)=\\{__PROP__\\(\"([A-Za-z0-9_\\.]+)\"\\)\\}/g,\n (_match, reactPropName, figmaPropName) => {\n return `\\${_fcc_renderReactProp('${reactPropName}', ${figmaPropName})}`\n },\n )\n\n // Replace React children placeholders like `${__PROP__(\"propName\")}` with\n // calls to _fcc_renderReactChildren, which renders them correctly (see\n // parser_template_helpers.ts)\n exampleCode = exampleCode.replace(\n /\\{__PROP__\\(\"([A-Za-z0-9_\\.]+)\"\\)\\}/g,\n (_match, figmaPropName) => {\n return `\\${_fcc_renderReactChildren(${figmaPropName})}`\n },\n )\n\n // Assume any remaining placeholders are values, e.g.\n // - { prop: __PROP__(\"propName\") }\n // - useState(__PROP__(\"propName\"))\n // These never need special treatment based on their type.\n return exampleCode.replace(/__PROP__\\(\"([A-Za-z0-9_\\.]+)\"\\)/g, (_match, figmaPropName) => {\n return `\\${_fcc_renderPropValue(${figmaPropName})}`\n })\n}\n\nfunction followIdentifierToStringLiteralDeclaration(\n node: ts.Identifier | ts.StringLiteral,\n parserContext: ParserContext,\n errMessage: string,\n) {\n const { checker } = parserContext\n let result = node\n\n if (node && ts.isIdentifier(node)) {\n const symbol = checker.getSymbolAtLocation(node)\n if (symbol) {\n const decl = symbol.valueDeclaration\n if (\n decl &&\n ts.isVariableDeclaration(decl) &&\n decl.initializer &&\n ts.isStringLiteral(decl.initializer)\n ) {\n result = decl.initializer\n }\n }\n }\n\n // If we followed the identifier to its declaration and it's not a string literal,\n // throw an error\n if (!result || !ts.isStringLiteral(result)) {\n throw new ParserError(errMessage, {\n node: result,\n sourceFile: parserContext.sourceFile,\n })\n }\n\n return result\n}\n\nfunction parseFigmaConnectArgs(node: ts.CallExpression, parserContext: ParserContext) {\n const required = true\n const first = parseFunctionArgument(\n node,\n parserContext,\n 0,\n isOneOf([ts.isIdentifier, ts.isPropertyAccessExpression, ts.isStringLiteral]),\n required,\n `\\`${FIGMA_CONNECT_CALL}\\` must be called with a reference to a Component or a Figma Component URL as the first argument. Example usage:\n \\`${FIGMA_CONNECT_CALL}(Button, 'https://www.figma.com/file/123?node-id=1-1')\\``,\n )!\n\n let figmaNodeUrlArg: ts.StringLiteral\n let componentArg: ts.Identifier | ts.PropertyAccessExpression | undefined\n let configObjArgIndex\n\n // This function has two signatures. If the first arg is a string literal, it's the Figma node URL, and\n // it won't have a component reference.\n if (ts.isStringLiteral(first)) {\n figmaNodeUrlArg = first\n componentArg = undefined\n configObjArgIndex = 1\n } else {\n // If the first argument is not a string literal, it must be a component reference,\n // and the second argument must be the Figma node URL\n componentArg = first\n configObjArgIndex = 2\n\n const invalidTypeErrorMsg = `The second argument to ${FIGMA_CONNECT_CALL}() must be a string literal (the URL of the Figma node). Example usage:\n \\`${FIGMA_CONNECT_CALL}(Button, 'https://www.figma.com/file/123?node-id=1-1')\\``\n\n let arg = parseFunctionArgument(\n node,\n parserContext,\n 1,\n isOneOf([ts.isIdentifier, ts.isStringLiteral]),\n required,\n invalidTypeErrorMsg,\n )!\n\n figmaNodeUrlArg = followIdentifierToStringLiteralDeclaration(\n arg,\n parserContext,\n invalidTypeErrorMsg,\n )\n }\n\n const configObjArg = parseFunctionArgument(\n node,\n parserContext,\n configObjArgIndex,\n ts.isObjectLiteralExpression,\n false /* not required */,\n `The third argument to ${FIGMA_CONNECT_CALL}() must be an object literal. Example usage:\n \\`${FIGMA_CONNECT_CALL}(Button, 'https://www.figma.com/file/123?node-id=1-1', { render: () => <Button /> })\\``,\n )\n\n return {\n componentArg,\n figmaNodeUrlArg,\n configObjArg,\n }\n}\n\nfunction parseConfigObjectArg(\n configArg: ts.ObjectLiteralExpression | undefined,\n parserContext: ParserContext,\n) {\n if (!configArg) {\n return {\n propsArg: undefined,\n exampleArg: undefined,\n variantArg: undefined,\n importsArg: undefined,\n linksArg: undefined,\n }\n }\n\n const propsArg = parsePropertyOfType({\n objectLiteralNode: configArg,\n propertyName: 'props',\n predicate: ts.isObjectLiteralExpression,\n parserContext,\n required: false,\n errorMessage: `The 'props' property must be an object literal. Example usage:\n \\`${FIGMA_CONNECT_CALL}(Button, 'https://www.figma.com/file/123?node-id=1-1', {\n props: {\n disabled: figma.boolean('Disabled'),\n text: figma.string('TextContent'),\n }\n })\\``,\n })\n\n const exampleArg = parsePropertyOfType({\n objectLiteralNode: configArg,\n propertyName: 'example',\n predicate: isOneOf([ts.isArrowFunction, ts.isFunctionExpression]),\n parserContext,\n required: false,\n errorMessage: `The 'example' property must be an inline function or arrow function. Example usage:\n \\`${FIGMA_CONNECT_CALL}(Button, 'https://www.figma.com/file/123?node-id=1-1', {\n example: () => <Button />\n })\\``,\n })\n\n const variantArg = parsePropertyOfType({\n objectLiteralNode: configArg,\n propertyName: 'variant',\n predicate: ts.isObjectLiteralExpression,\n parserContext,\n required: false,\n errorMessage: `The 'variant' property must be an object literal. Example usage:\n \\`${FIGMA_CONNECT_CALL}(Button, 'https://www.figma.com/file/123?node-id=1-1', {\n variant: {\n \"Has Icon\": true\n }\n })\\``,\n })\n\n const linksArg = parsePropertyOfType({\n objectLiteralNode: configArg,\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 \\`${FIGMA_CONNECT_CALL}(Button, 'https://www.figma.com/file/123?node-id=1-1', {\n links: [\n { name: 'Storybook', url: 'https://storybook.com' }\n ]\n })\\``,\n })\n\n const importsArg = parsePropertyOfType({\n objectLiteralNode: configArg,\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 \\`${FIGMA_CONNECT_CALL}(Button, 'https://www.figma.com/file/123?node-id=1-1', {\n imports: ['import { Button } from \"./Button\"']\n })\\``,\n })\n\n return {\n propsArg,\n exampleArg,\n variantArg,\n linksArg,\n importsArg,\n }\n}\n\nexport function getDefaultTemplate(\n componentMetadata: Awaited<ReturnType<typeof parseComponentMetadata>>,\n) {\n const example = `<${componentMetadata.component} />`\n return `const figma = require(\"figma\")\\n\\nexport default figma.tsx\\`${example}\\``\n}\n\nexport async function parseReactDoc(\n node: ts.CallExpression,\n parserContext: ParserContext,\n { repoUrl, silent, skipTemplateHelpers }: ParseOptions,\n): Promise<CodeConnectJSON> {\n const { checker, sourceFile, config } = parserContext\n\n // Parse the arguments to the `figma.connect()` call\n const { componentArg, figmaNodeUrlArg, configObjArg } = parseFigmaConnectArgs(node, parserContext)\n\n const { propsArg, exampleArg, variantArg, linksArg, importsArg } = parseConfigObjectArg(\n configObjArg,\n parserContext,\n )\n\n let figmaNode = stripQuotesFromNode(figmaNodeUrlArg)\n // TODO This logic is duplicated in connect.ts transformDocFromParser due to some type issues\n if (config.documentUrlSubstitutions) {\n Object.entries(config.documentUrlSubstitutions).forEach(([from, to]) => {\n // @ts-expect-error\n figmaNode = figmaNode.replace(from, to)\n })\n }\n const metadata = componentArg\n ? await parseComponentMetadata(componentArg, parserContext, silent)\n : undefined\n\n const props = propsArg ? parsePropsObject(propsArg, parserContext) : undefined\n const render = exampleArg\n ? findJSXElement(exampleArg)\n ? parseJSXRenderFunction(exampleArg, parserContext, props, skipTemplateHelpers)\n : parseValueRenderFunction(exampleArg, parserContext, props, skipTemplateHelpers)\n : undefined\n const variant = variantArg ? parseVariant(variantArg, sourceFile, checker) : undefined\n const links = linksArg ? parseLinks(linksArg, parserContext) : undefined\n\n let mappedImports: string[]\n if (importsArg) {\n mappedImports = parseImports(importsArg, parserContext)\n } else {\n // If no template function was provided, construct one and add the import\n // statement for the component\n let imports = render?.imports\n ? render.imports\n : metadata !== undefined\n ? getSourceFilesOfImportedIdentifiers(parserContext, [metadata.component])\n : []\n\n if (imports.length === 0 && metadata?.component) {\n // If no imports were found, it might mean that the component is not imported, or\n // that the `figma.connect` call is in the same file as the component. In the latter\n // case - we'll want to generate one\n const fileName = metadata.source.split('/').pop()?.split('.')[0]\n const relativeImportPath = `./${fileName}`\n imports = [\n {\n statement: `import { ${metadata.component} } from '${relativeImportPath}'`,\n file: sourceFile.fileName,\n moduleSpecifier: relativeImportPath,\n },\n ]\n }\n\n mappedImports = [\n ...new Set(\n imports.map((imp) => {\n if (config) {\n // First try to map the original import specifier directly (preserves user's intent)\n // e.g., '@/AlertTitle' -> '@acme/package/AlertTitle'\n if (typeof imp.moduleSpecifier === 'string') {\n const mappedFromSpecifier = mapImportSpecifier(imp.moduleSpecifier, config)\n if (mappedFromSpecifier) {\n return imp.statement.replace(\n /['\"]([@\\.\\/a-zA-Z0-9_-]*)['\"]/,\n `'${mappedFromSpecifier}'`,\n )\n }\n }\n // Fall back to mapping based on resolved file path (for relative imports)\n const mappedPath = mapImportPath(imp.file, config)\n if (mappedPath) {\n return imp.statement.replace(/['\"]([@\\.\\/a-zA-Z0-9_-]*)['\"]/, `'${mappedPath}'`)\n }\n }\n return imp.statement\n }),\n ),\n ]\n }\n\n if (mappedImports.length === 0 && metadata?.component) {\n logger.warn(\n `The import statement for ${metadata.component} could not be automatically resolved, make sure the component is imported (if not colocating) and that the path mappings are correct in your figma.config.json`,\n )\n }\n\n let template\n if (render?.code) {\n template = render.code\n } else if (metadata) {\n template = getDefaultTemplate(metadata)\n } else {\n throw new ParserError(\n `${FIGMA_CONNECT_CALL}() requires either a component argument or an example function`,\n { sourceFile, node },\n )\n }\n\n return {\n figmaNode,\n label: DEFAULT_LABEL_PER_PARSER.react!,\n language: SyntaxHighlightLanguage.TypeScript,\n component: metadata?.component,\n source: metadata?.source ? getRemoteFileUrl(metadata.source, repoUrl) : '',\n sourceLocation: metadata?.line !== undefined ? { line: metadata.line } : { line: -1 },\n variant,\n template,\n templateData: {\n // TODO: `props` here is currently only used for validation purposes,\n // we should eventually remove it from the JSON payload\n props,\n imports: mappedImports,\n // If there's no render function, the default example is always nestable\n nestable: render ? render.nestable : true,\n },\n links,\n metadata: {\n cliVersion: require('../../package.json').version,\n },\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"parser_template_helpers.d.ts","sourceRoot":"","sources":["../../src/react/parser_template_helpers.ts"],"names":[],"mappings":"AAyBA,MAAM,MAAM,QAAQ,GAChB,MAAM,GACN,MAAM,GACN,OAAO,GACP,SAAS,GACT,UAAU,CACN,OAAO,eAAe,GACtB,OAAO,aAAa,GACpB,OAAO,eAAe,GACtB,OAAO,WAAW,GAClB,OAAO,mBAAmB,GAC1B,OAAO,mBAAmB,GAC1B,OAAO,UAAU,CACpB,CAAA;AAEL,wBAAgB,UAAU,CAAC,MAAM,EAAE,GAAG,EAAE;;;EAKvC;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM;;;EAK7C;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM;;;EAK3C;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM;;;EAK7C;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;;;EAMtD;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM;;;EAKjD;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM;;;EAKjD;AA0LD,wBAAgB,8BAA8B,WAiB7C"}
1
+ {"version":3,"file":"parser_template_helpers.d.ts","sourceRoot":"","sources":["../../src/react/parser_template_helpers.ts"],"names":[],"mappings":"AA0BA,MAAM,MAAM,QAAQ,GAChB,MAAM,GACN,MAAM,GACN,OAAO,GACP,SAAS,GACT,UAAU,CACN,OAAO,eAAe,GACtB,OAAO,aAAa,GACpB,OAAO,eAAe,GACtB,OAAO,WAAW,GAClB,OAAO,mBAAmB,GAC1B,OAAO,mBAAmB,GAC1B,OAAO,UAAU,CACpB,CAAA;AAEL,wBAAgB,UAAU,CAAC,MAAM,EAAE,GAAG,EAAE;;;EAKvC;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM;;;EAK7C;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM;;;EAK3C;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM;;;EAK7C;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;;;EAMtD;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM;;;EAKjD;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM;;;EAKjD;AAkMD,wBAAgB,8BAA8B,WAiB7C"}
@@ -58,7 +58,10 @@ function _fcc_reactComponent($value) {
58
58
  }
59
59
  function isReactComponentArray(prop) {
60
60
  return (Array.isArray(prop) &&
61
- prop.every((item) => item.type === 'INSTANCE' || item.type === 'CODE' || item.type === 'ERROR'));
61
+ prop.every((item) => item.type === 'INSTANCE' ||
62
+ item.type === 'SLOT' ||
63
+ item.type === 'CODE' ||
64
+ item.type === 'ERROR'));
62
65
  }
63
66
  // Render a prop value passed to an object literal based on its type.
64
67
  // for example: <Button sx={{ key: value }} />