@figma/code-connect 1.0.6 → 1.1.1

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 (167) hide show
  1. package/README.md +48 -541
  2. package/dist/client/figma_client.d.ts +1 -1
  3. package/dist/client/figma_client.js +9 -7
  4. package/dist/client/figma_client.js.map +1 -1
  5. package/dist/commands/connect.d.ts +4 -2
  6. package/dist/commands/connect.d.ts.map +1 -1
  7. package/dist/commands/connect.js +97 -49
  8. package/dist/commands/connect.js.map +1 -1
  9. package/dist/{common → connect}/api.d.ts +6 -87
  10. package/dist/connect/api.d.ts.map +1 -0
  11. package/dist/{common → connect}/api.js.map +1 -1
  12. package/dist/connect/create.d.ts.map +1 -1
  13. package/dist/connect/create.js +4 -0
  14. package/dist/connect/create.js.map +1 -1
  15. package/dist/connect/create_common.d.ts +7 -0
  16. package/dist/connect/create_common.d.ts.map +1 -0
  17. package/dist/connect/create_common.js +19 -0
  18. package/dist/connect/create_common.js.map +1 -0
  19. package/dist/connect/external_types.d.ts +8 -0
  20. package/dist/connect/external_types.d.ts.map +1 -0
  21. package/dist/connect/external_types.js +31 -0
  22. package/dist/connect/external_types.js.map +1 -0
  23. package/dist/connect/figma_connect.d.ts.map +1 -0
  24. package/dist/connect/figma_connect.js.map +1 -0
  25. package/dist/connect/figma_rest_api.d.ts +7 -0
  26. package/dist/connect/figma_rest_api.d.ts.map +1 -1
  27. package/dist/connect/figma_rest_api.js.map +1 -1
  28. package/dist/connect/index_common.d.ts +3 -0
  29. package/dist/connect/index_common.d.ts.map +1 -0
  30. package/dist/connect/index_common.js +23 -0
  31. package/dist/connect/index_common.js.map +1 -0
  32. package/dist/{common → connect}/intrinsics.d.ts +4 -3
  33. package/dist/connect/intrinsics.d.ts.map +1 -0
  34. package/dist/{common → connect}/intrinsics.js +48 -24
  35. package/dist/connect/intrinsics.js.map +1 -0
  36. package/dist/connect/parser_common.d.ts +144 -0
  37. package/dist/connect/parser_common.d.ts.map +1 -0
  38. package/dist/connect/parser_common.js +297 -0
  39. package/dist/connect/parser_common.js.map +1 -0
  40. package/dist/connect/parser_executable_types.d.ts +20 -23
  41. package/dist/connect/parser_executable_types.d.ts.map +1 -1
  42. package/dist/connect/parser_executable_types.js.map +1 -1
  43. package/dist/connect/parser_executables.js +1 -1
  44. package/dist/connect/parser_executables.js.map +1 -1
  45. package/dist/connect/project.d.ts +20 -5
  46. package/dist/connect/project.d.ts.map +1 -1
  47. package/dist/connect/project.js +79 -16
  48. package/dist/connect/project.js.map +1 -1
  49. package/dist/connect/upload.d.ts +1 -1
  50. package/dist/connect/upload.d.ts.map +1 -1
  51. package/dist/connect/validation.d.ts +1 -1
  52. package/dist/connect/validation.d.ts.map +1 -1
  53. package/dist/connect/wizard/helpers.d.ts.map +1 -1
  54. package/dist/connect/wizard/helpers.js +18 -14
  55. package/dist/connect/wizard/helpers.js.map +1 -1
  56. package/dist/connect/wizard/prop_mapping.d.ts +12 -7
  57. package/dist/connect/wizard/prop_mapping.d.ts.map +1 -1
  58. package/dist/connect/wizard/prop_mapping.js +88 -89
  59. package/dist/connect/wizard/prop_mapping.js.map +1 -1
  60. package/dist/connect/wizard/run_wizard.d.ts.map +1 -1
  61. package/dist/connect/wizard/run_wizard.js +8 -3
  62. package/dist/connect/wizard/run_wizard.js.map +1 -1
  63. package/dist/connect/wizard/signature_extraction.d.ts +7 -0
  64. package/dist/connect/wizard/signature_extraction.d.ts.map +1 -0
  65. package/dist/connect/wizard/signature_extraction.js +46 -0
  66. package/dist/connect/wizard/signature_extraction.js.map +1 -0
  67. package/dist/html/__test__/parser/examples/NoConfigObject.figma.d.ts +2 -0
  68. package/dist/html/__test__/parser/examples/NoConfigObject.figma.d.ts.map +1 -0
  69. package/dist/html/__test__/parser/examples/NoConfigObject.figma.js +9 -0
  70. package/dist/html/__test__/parser/examples/NoConfigObject.figma.js.map +1 -0
  71. package/dist/html/__test__/parser/examples/NoExample.figma.d.ts +2 -0
  72. package/dist/html/__test__/parser/examples/NoExample.figma.d.ts.map +1 -0
  73. package/dist/html/__test__/parser/examples/NoExample.figma.js +9 -0
  74. package/dist/html/__test__/parser/examples/NoExample.figma.js.map +1 -0
  75. package/dist/html/__test__/parser/examples/RegularFunctionExampleWithExtraCode.figma.d.ts +2 -0
  76. package/dist/html/__test__/parser/examples/RegularFunctionExampleWithExtraCode.figma.d.ts.map +1 -0
  77. package/dist/html/__test__/parser/examples/RegularFunctionExampleWithExtraCode.figma.js +33 -0
  78. package/dist/html/__test__/parser/examples/RegularFunctionExampleWithExtraCode.figma.js.map +1 -0
  79. package/dist/html/__test__/parser/examples/WrongSignatureJsx.figma.d.ts +2 -0
  80. package/dist/html/__test__/parser/examples/WrongSignatureJsx.figma.d.ts.map +1 -0
  81. package/dist/html/__test__/parser/examples/WrongSignatureJsx.figma.js +15 -0
  82. package/dist/html/__test__/parser/examples/WrongSignatureJsx.figma.js.map +1 -0
  83. package/dist/html/__test__/parser/examples/WrongSignatureNoHtmlTag.figma.d.ts +2 -0
  84. package/dist/html/__test__/parser/examples/WrongSignatureNoHtmlTag.figma.d.ts.map +1 -0
  85. package/dist/html/__test__/parser/examples/WrongSignatureNoHtmlTag.figma.js +15 -0
  86. package/dist/html/__test__/parser/examples/WrongSignatureNoHtmlTag.figma.js.map +1 -0
  87. package/dist/html/__test__/parser/parser.test.d.ts +2 -0
  88. package/dist/html/__test__/parser/parser.test.d.ts.map +1 -0
  89. package/dist/html/__test__/parser/parser.test.js +50 -0
  90. package/dist/html/__test__/parser/parser.test.js.map +1 -0
  91. package/dist/html/create.d.ts +4 -0
  92. package/dist/html/create.d.ts.map +1 -0
  93. package/dist/html/create.js +81 -0
  94. package/dist/html/create.js.map +1 -0
  95. package/dist/html/external.d.ts +8 -0
  96. package/dist/html/external.d.ts.map +1 -0
  97. package/dist/html/external.js +25 -0
  98. package/dist/html/external.js.map +1 -0
  99. package/dist/html/index_html.d.ts +77 -0
  100. package/dist/html/index_html.d.ts.map +1 -0
  101. package/dist/html/index_html.js +42 -0
  102. package/dist/html/index_html.js.map +1 -0
  103. package/dist/html/parser.d.ts +19 -0
  104. package/dist/html/parser.d.ts.map +1 -0
  105. package/dist/html/parser.js +487 -0
  106. package/dist/html/parser.js.map +1 -0
  107. package/dist/html/parser_template_helpers.d.ts +2 -0
  108. package/dist/html/parser_template_helpers.d.ts.map +1 -0
  109. package/dist/html/parser_template_helpers.js +68 -0
  110. package/dist/html/parser_template_helpers.js.map +1 -0
  111. package/dist/html/template_literal.d.ts +5 -0
  112. package/dist/html/template_literal.d.ts.map +1 -0
  113. package/dist/html/template_literal.js +8 -0
  114. package/dist/html/template_literal.js.map +1 -0
  115. package/dist/parser_scripts/get_swift_parser_dir.d.ts +1 -1
  116. package/dist/parser_scripts/get_swift_parser_dir.d.ts.map +1 -1
  117. package/dist/parser_scripts/get_swift_parser_dir.js +38 -10
  118. package/dist/parser_scripts/get_swift_parser_dir.js.map +1 -1
  119. package/dist/react/create.d.ts +5 -0
  120. package/dist/react/create.d.ts.map +1 -1
  121. package/dist/react/create.js +144 -42
  122. package/dist/react/create.js.map +1 -1
  123. package/dist/react/external.d.ts +9 -0
  124. package/dist/react/external.d.ts.map +1 -0
  125. package/dist/{common → react}/external.js +8 -28
  126. package/dist/react/external.js.map +1 -0
  127. package/dist/react/index_react.d.ts +94 -0
  128. package/dist/react/index_react.d.ts.map +1 -0
  129. package/dist/{index.js → react/index_react.js} +5 -19
  130. package/dist/react/index_react.js.map +1 -0
  131. package/dist/react/parser.d.ts +6 -38
  132. package/dist/react/parser.d.ts.map +1 -1
  133. package/dist/react/parser.js +137 -295
  134. package/dist/react/parser.js.map +1 -1
  135. package/dist/react/parser_template_helpers.d.ts +15 -15
  136. package/dist/react/parser_template_helpers.d.ts.map +1 -1
  137. package/dist/react/parser_template_helpers.js +51 -35
  138. package/dist/react/parser_template_helpers.js.map +1 -1
  139. package/dist/storybook/convert.d.ts +1 -1
  140. package/dist/storybook/convert.d.ts.map +1 -1
  141. package/dist/storybook/convert.js +6 -4
  142. package/dist/storybook/convert.js.map +1 -1
  143. package/dist/storybook/external.d.ts +1 -1
  144. package/dist/storybook/external.d.ts.map +1 -1
  145. package/dist/typescript/compiler.d.ts +2 -2
  146. package/dist/typescript/compiler.d.ts.map +1 -1
  147. package/dist/typescript/compiler.js +50 -23
  148. package/dist/typescript/compiler.js.map +1 -1
  149. package/package.json +28 -8
  150. package/dist/common/__test__/project.test.d.ts +0 -2
  151. package/dist/common/__test__/project.test.d.ts.map +0 -1
  152. package/dist/common/__test__/project.test.js +0 -14
  153. package/dist/common/__test__/project.test.js.map +0 -1
  154. package/dist/common/api.d.ts.map +0 -1
  155. package/dist/common/external.d.ts +0 -14
  156. package/dist/common/external.d.ts.map +0 -1
  157. package/dist/common/external.js.map +0 -1
  158. package/dist/common/figma_connect.d.ts.map +0 -1
  159. package/dist/common/figma_connect.js.map +0 -1
  160. package/dist/common/intrinsics.d.ts.map +0 -1
  161. package/dist/common/intrinsics.js.map +0 -1
  162. package/dist/index.d.ts +0 -9
  163. package/dist/index.d.ts.map +0 -1
  164. package/dist/index.js.map +0 -1
  165. /package/dist/{common → connect}/api.js +0 -0
  166. /package/dist/{common → connect}/figma_connect.d.ts +0 -0
  167. /package/dist/{common → connect}/figma_connect.js +0 -0
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.resolveImportPath = exports.getReactProjectInfo = exports.getProjectInfo = exports.getProjectInfoFromConfig = exports.parseOrDetermineConfig = exports.getDefaultConfigPath = exports.getStorybookUrl = exports.getRemoteFileUrl = exports.getGitRepoDefaultBranchName = exports.getGitRepoAbsolutePath = exports.getGitRemoteURL = exports.determineParserFromProject = exports.DEFAULT_INCLUDE_GLOBS_BY_PARSER = void 0;
6
+ exports.mapImportPath = exports.getTsProgram = exports.getReactProjectInfo = exports.getProjectInfo = exports.getProjectInfoFromConfig = exports.parseOrDetermineConfig = exports.getDefaultConfigPath = exports.getStorybookUrl = exports.getRemoteFileUrl = exports.getGitRepoDefaultBranchName = exports.getGitRepoAbsolutePath = exports.getGitRemoteURL = exports.determineLabelFromProject = exports.determineConfigFromProject = exports.DEFAULT_INCLUDE_GLOBS_BY_PARSER = void 0;
7
7
  const child_process_1 = require("child_process");
8
8
  const glob_1 = require("glob");
9
9
  const path_1 = __importDefault(require("path"));
@@ -18,22 +18,33 @@ const helpers_1 = require("./helpers");
18
18
  const DEFAULT_CONFIG_FILE_NAME = 'figma.config.json';
19
19
  exports.DEFAULT_INCLUDE_GLOBS_BY_PARSER = {
20
20
  react: [`**/*.{tsx,jsx}`],
21
+ html: [`**/*.{ts,js}`],
21
22
  swift: ['**/*.swift'],
22
23
  compose: ['**/*.kt'],
23
24
  __unit_test__: [''],
24
25
  };
25
- function determineConfigFromProject(dir) {
26
+ function determineConfigFromProject(dir, exitOnError = true) {
26
27
  const parser = determineParserFromProject(dir);
27
28
  if (parser) {
29
+ const label = determineLabelFromProject(dir);
30
+ if (label) {
31
+ return { codeConnect: { parser, label } };
32
+ }
28
33
  return { codeConnect: { parser } };
29
34
  }
30
- // TODO detect other project types here
31
- (0, logging_1.exitWithError)(`Code Connect was not able to determine your project type, and no config file was found. Please ensure you are running Code Connect from your project root. You may need to create a config file specifying which parser to use. See https://github.com/figma/code-connect/ for instructions.`);
35
+ if (exitOnError) {
36
+ (0, logging_1.exitWithError)(`Code Connect was not able to determine your project type, and no config file was found. Please ensure you are running Code Connect from your project root. You may need to create a config file specifying which parser to use. See https://github.com/figma/code-connect/ for instructions.`);
37
+ }
32
38
  }
39
+ exports.determineConfigFromProject = determineConfigFromProject;
33
40
  function showParserMessage(message) {
34
41
  logging_1.logger.info(message +
35
42
  '. If this is incorrect, please check you are running Code Connect from your project root, or add a `parser` key to your config file. See https://github.com/figma/code-connect for more information.');
36
43
  }
44
+ function packageJsonContains(packageJson, dependency) {
45
+ return ((packageJson.dependencies && packageJson.dependencies[dependency]) ||
46
+ (packageJson.peerDependencies && packageJson.peerDependencies[dependency]));
47
+ }
37
48
  // Walk up from the given directory looking for the first directory which
38
49
  // matches heuristics for the platforms we support. This means that e.g. if you
39
50
  // have a Swift project inside a React project, we'll detect Swift. This enables
@@ -45,14 +56,18 @@ function determineParserFromProject(dir) {
45
56
  const packageJsonPath = path_1.default.join(currentDir, 'package.json');
46
57
  if (fs_1.default.existsSync(packageJsonPath)) {
47
58
  const packageJson = JSON.parse(fs_1.default.readFileSync(packageJsonPath, 'utf-8'));
48
- if ((packageJson.dependencies && packageJson.dependencies['react']) ||
49
- (packageJson.peerDependencies && packageJson.peerDependencies['react'])) {
59
+ if (packageJsonContains(packageJson, 'react')) {
50
60
  showParserMessage(`Using "react" parser as package.json containing a "react" ${packageJson.dependencies && packageJson.dependencies['react']
51
61
  ? 'dependency'
52
62
  : 'peer dependency'} was found in ${currentDir}`);
53
63
  parser = 'react';
54
64
  return find_up_1.default.stop;
55
65
  }
66
+ else {
67
+ showParserMessage(`Using "html" parser as package.json containing no other supported web frameworks was found in ${currentDir}`);
68
+ parser = 'html';
69
+ return find_up_1.default.stop;
70
+ }
56
71
  }
57
72
  else {
58
73
  if ((0, glob_1.globSync)([`${currentDir}/*.xcodeproj`, `${currentDir}/Package.swift`]).length > 0) {
@@ -69,7 +84,36 @@ function determineParserFromProject(dir) {
69
84
  }, { cwd: dir });
70
85
  return parser;
71
86
  }
72
- exports.determineParserFromProject = determineParserFromProject;
87
+ // Similarly to determineParserFromProject, this walks up looking for a
88
+ // package.json containing a library which we support and we set a specific
89
+ // label for. An example is Angular, which is detected as 'html' parser, but we
90
+ // set a different label for it.
91
+ function determineLabelFromProject(dir) {
92
+ function showMessage(libraryName, moduleName, packageJson, currentDir) {
93
+ showParserMessage(`Using "${libraryName}" label as package.json containing a "${moduleName}" ${packageJson.dependencies && packageJson.dependencies[moduleName]
94
+ ? 'dependency'
95
+ : 'peer dependency'} was found in ${currentDir}`);
96
+ }
97
+ let label;
98
+ find_up_1.default.sync((currentDir) => {
99
+ const packageJsonPath = path_1.default.join(currentDir, 'package.json');
100
+ if (fs_1.default.existsSync(packageJsonPath)) {
101
+ const packageJson = JSON.parse(fs_1.default.readFileSync(packageJsonPath, 'utf-8'));
102
+ if (packageJsonContains(packageJson, 'angular')) {
103
+ showMessage('Angular', 'angular', packageJson, currentDir);
104
+ label = 'Angular';
105
+ return find_up_1.default.stop;
106
+ }
107
+ else if (packageJsonContains(packageJson, 'vue')) {
108
+ showMessage('Vue', 'vue', packageJson, currentDir);
109
+ label = 'Vue';
110
+ return find_up_1.default.stop;
111
+ }
112
+ }
113
+ }, { cwd: dir });
114
+ return label;
115
+ }
116
+ exports.determineLabelFromProject = determineLabelFromProject;
73
117
  async function checkForLegacyConfig(config, configFilePath) {
74
118
  const { codeConnect } = config;
75
119
  const newConfigBase = {
@@ -159,6 +203,12 @@ async function parseConfig(configFilePath, dir) {
159
203
  // TS errors if this is in an else
160
204
  config.codeConnect.parser = parser;
161
205
  }
206
+ if (!config.codeConnect?.label) {
207
+ const label = determineLabelFromProject(dir);
208
+ if (label) {
209
+ config.codeConnect.label = label;
210
+ }
211
+ }
162
212
  return config;
163
213
  }
164
214
  catch (error) {
@@ -349,6 +399,7 @@ async function getProjectInfoFromConfig(dir, config) {
349
399
  const defaultExcludeGlobs = config.parser
350
400
  ? {
351
401
  react: ['node_modules/**'],
402
+ html: ['node_modules/**'],
352
403
  swift: [],
353
404
  compose: [],
354
405
  __unit_test__: [],
@@ -391,6 +442,14 @@ async function getProjectInfo(dir, configPath) {
391
442
  }
392
443
  exports.getProjectInfo = getProjectInfo;
393
444
  function getReactProjectInfo(projectInfo) {
445
+ const tsProgram = getTsProgram(projectInfo);
446
+ return {
447
+ ...projectInfo,
448
+ tsProgram,
449
+ };
450
+ }
451
+ exports.getReactProjectInfo = getReactProjectInfo;
452
+ function getTsProgram(projectInfo) {
394
453
  const compilerOptions = {
395
454
  // This ensures the compiler can resolve imports such as "ui/button" when a
396
455
  // baseUrl is configured in the tsconfig of the project. We probably want a more
@@ -399,17 +458,21 @@ function getReactProjectInfo(projectInfo) {
399
458
  // TODO: not sure why Node10 is needed her, but otherwise module resolution for
400
459
  // pnpm workspaces won't work
401
460
  moduleResolution: typescript_1.default.ModuleResolutionKind.Node10,
402
- paths: projectInfo.config.paths ?? {},
461
+ paths: 'paths' in projectInfo.config ? projectInfo.config.paths ?? {} : {},
403
462
  allowJs: true,
404
463
  };
405
- const tsProgram = typescript_1.default.createProgram(projectInfo.files, compilerOptions);
406
- return {
407
- ...projectInfo,
408
- tsProgram,
409
- };
464
+ return typescript_1.default.createProgram(projectInfo.files, compilerOptions);
410
465
  }
411
- exports.getReactProjectInfo = getReactProjectInfo;
412
- function resolveImportPath(filePath, config) {
466
+ exports.getTsProgram = getTsProgram;
467
+ /**
468
+ * Change an imported path for a component like `./button` to e.g `@ui/button`, based on the config file.
469
+ * Note that `filePath` here is the path to the source file on disk, not the module specifier.
470
+ *
471
+ * @param filePath
472
+ * @param config
473
+ * @returns
474
+ */
475
+ function mapImportPath(filePath, config) {
413
476
  // Takes the reversed path and pattern parts and check if they match
414
477
  function isMatch(patternParts, pathParts) {
415
478
  if (patternParts[0] === '*') {
@@ -452,5 +515,5 @@ function resolveImportPath(filePath, config) {
452
515
  }
453
516
  return null;
454
517
  }
455
- exports.resolveImportPath = resolveImportPath;
518
+ exports.mapImportPath = mapImportPath;
456
519
  //# sourceMappingURL=project.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/connect/project.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/connect/project.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { CodeConnectJSON } from '../common/figma_connect';
1
+ import { CodeConnectJSON } from '../connect/figma_connect';
2
2
  interface Args {
3
3
  accessToken: string;
4
4
  docs: CodeConnectJSON[];
@@ -1 +1 @@
1
- {"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../../src/connect/upload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAOzD,UAAU,IAAI;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,eAAe,EAAE,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,OAAO,CAAA;CACjB;AAMD,wBAAsB,MAAM,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,IAAI,iBA2H3E"}
1
+ {"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../../src/connect/upload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAO1D,UAAU,IAAI;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,eAAe,EAAE,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,OAAO,CAAA;CACjB;AAMD,wBAAsB,MAAM,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,IAAI,iBA2H3E"}
@@ -1,4 +1,4 @@
1
- import { CodeConnectJSON } from '../common/figma_connect';
1
+ import { CodeConnectJSON } from '../connect/figma_connect';
2
2
  import { BaseCommand } from '../commands/connect';
3
3
  export declare function parseFigmaNode(verbose: boolean, doc: CodeConnectJSON, silent?: boolean): {
4
4
  fileKey: string;
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/connect/validation.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAIzD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAEjD,wBAAgB,cAAc,CAC5B,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,eAAe,EACpB,MAAM,GAAE,OAAe,GACtB;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAoB5C;AAuMD,wBAAsB,YAAY,CAChC,GAAG,EAAE,WAAW,EAChB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,eAAe,EAAE,GACtB,OAAO,CAAC,OAAO,CAAC,CAoDlB"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/connect/validation.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAI1D,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAEjD,wBAAgB,cAAc,CAC5B,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,eAAe,EACpB,MAAM,GAAE,OAAe,GACtB;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAoB5C;AAuMD,wBAAsB,YAAY,CAChC,GAAG,EAAE,WAAW,EAChB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,eAAe,EAAE,GACtB,OAAO,CAAC,OAAO,CAAC,CAoDlB"}
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/connect/wizard/helpers.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,iBAAiB,EAEjB,WAAW,EAGZ,MAAM,YAAY,CAAA;AAGnB,OAAO,OAAmB,MAAM,SAAS,CAAA;AAEzC,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAEpD,wBAAgB,qCAAqC,SAKpD;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,EAC9B,GAAG,EACH,kBAAkB,EAClB,MAAM,GACP,EAAE;IACD,GAAG,EAAE,MAAM,CAAA;IACX,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,MAAM,EAAE,iBAAiB,CAAA;CAC1B,YASA;AAED,wBAAsB,uBAAuB,CAAC,EAC5C,GAAG,EACH,kBAAkB,EAClB,MAAM,GACP,EAAE;IACD,GAAG,EAAE,MAAM,CAAA;IACX,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,MAAM,EAAE,iBAAiB,CAAA;CAC1B,iBAiBA;AAID,wBAAgB,mBAAmB,CAAC,cAAc,EAAE,MAAM;;;;;;EAazD;AAMD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,eAAe,EAAE,MAAM,EAAE,oCAe/D;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,YA6BrF"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/connect/wizard/helpers.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,iBAAiB,EAEjB,WAAW,EAGZ,MAAM,YAAY,CAAA;AAGnB,OAAO,OAAmB,MAAM,SAAS,CAAA;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAGpD,wBAAgB,qCAAqC,SAKpD;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,EAC9B,GAAG,EACH,kBAAkB,EAClB,MAAM,GACP,EAAE;IACD,GAAG,EAAE,MAAM,CAAA;IACX,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,MAAM,EAAE,iBAAiB,CAAA;CAC1B,YASA;AAED,wBAAsB,uBAAuB,CAAC,EAC5C,GAAG,EACH,kBAAkB,EAClB,MAAM,GACP,EAAE;IACD,GAAG,EAAE,MAAM,CAAA;IACX,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,MAAM,EAAE,iBAAiB,CAAA;CAC1B,iBAiBA;AAID,wBAAgB,mBAAmB,CAAC,cAAc,EAAE,MAAM;;;;;;EAazD;AAMD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,eAAe,EAAE,MAAM,EAAE,oCAe/D;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,YAgCrF"}
@@ -33,7 +33,7 @@ const project_1 = require("../project");
33
33
  const logging_1 = require("../../common/logging");
34
34
  const path_1 = __importDefault(require("path"));
35
35
  const prompts_1 = __importDefault(require("prompts"));
36
- const parser_1 = require("../../react/parser");
36
+ const parser_common_1 = require("../parser_common");
37
37
  function maybePrefillWizardQuestionsForTesting() {
38
38
  if (process.env.JEST_WORKER_ID && process.env.WIZARD_ANSWERS_TO_PREFILL) {
39
39
  const unescapedJson = JSON.parse(process.env.WIZARD_ANSWERS_TO_PREFILL.replace(/\\"/g, '"'));
@@ -124,24 +124,28 @@ function getFilepathExportsFromFiles(projectInfo, cmd) {
124
124
  return projectInfo.files.reduce((options, filepath) => {
125
125
  if (projectInfo.config.parser === 'react') {
126
126
  const { tsProgram } = projectInfo;
127
- if (!(0, parser_1.isFigmaConnectFile)(tsProgram, filepath)) {
127
+ if (!(0, parser_common_1.isFigmaConnectFile)(tsProgram, filepath, 'tsx')) {
128
128
  const checker = tsProgram.getTypeChecker();
129
129
  const sourceFile = tsProgram.getSourceFile(filepath);
130
130
  if (!sourceFile) {
131
- throw new Error(`Could not parse file ${filepath}`);
132
- }
133
- try {
134
- const sourceFileSymbol = checker.getSymbolAtLocation(sourceFile);
135
- const exports = checker.getExportsOfModule(sourceFileSymbol);
136
- exports.forEach((exp) => {
137
- options.push(getFilepathExport(filepath, exp.getName()));
138
- });
139
- }
140
- catch (e) {
141
131
  if (cmd.verbose) {
142
- logging_1.logger.warn(`Could not get exports from ${filepath}`);
132
+ logging_1.logger.warn(`Could not parse file for TypeScript: ${filepath}`);
133
+ }
134
+ }
135
+ else {
136
+ try {
137
+ const sourceFileSymbol = checker.getSymbolAtLocation(sourceFile);
138
+ const exports = checker.getExportsOfModule(sourceFileSymbol);
139
+ exports.forEach((exp) => {
140
+ options.push(getFilepathExport(filepath, exp.getName()));
141
+ });
142
+ }
143
+ catch (e) {
144
+ if (cmd.verbose) {
145
+ logging_1.logger.warn(`Could not parse exports of file: ${filepath}`);
146
+ }
147
+ // ignore invalid files
143
148
  }
144
- // ignore invalid files
145
149
  }
146
150
  }
147
151
  }
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/connect/wizard/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/connect/wizard/helpers.ts"],"names":[],"mappings":"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"}
@@ -3,16 +3,21 @@ import { ComponentTypeSignature } from '../../react/parser';
3
3
  import { FigmaRestApi } from '../figma_rest_api';
4
4
  import { PropMapping } from '../parser_executable_types';
5
5
  import { BaseCommand } from '../../commands/connect';
6
- export declare function extractSignature({ nameToFind, sourceFilePath, projectInfo, }: {
7
- nameToFind: string;
8
- sourceFilePath: string;
9
- projectInfo: ReactProjectInfo;
10
- }): ComponentTypeSignature;
11
- export declare function generatePropMapping({ exportName, filepath, projectInfo, component, cmd, }: {
6
+ import { ValueMapping } from '../../connect/intrinsics';
7
+ /**
8
+ * Used when we should output a placeholder for an unknown value in prop mapping.
9
+ */
10
+ export declare const PROPERTY_PLACEHOLDER = "PROPERTY_PLACEHOLDER";
11
+ export declare function generateValueMapping(propSignature: string, figmaPropDef: FigmaRestApi.ComponentPropertyDefinition): ValueMapping;
12
+ export declare function generatePropMapping({ componentPropertyDefinitions, signature, }: {
13
+ componentPropertyDefinitions: FigmaRestApi.Component['componentPropertyDefinitions'];
14
+ signature: ComponentTypeSignature;
15
+ }): PropMapping;
16
+ export declare function extractSignatureAndGeneratePropMapping({ exportName, filepath, projectInfo, componentPropertyDefinitions, cmd, }: {
12
17
  exportName: string;
13
18
  filepath: string;
14
19
  projectInfo: ReactProjectInfo;
15
- component: FigmaRestApi.Component;
20
+ componentPropertyDefinitions: FigmaRestApi.Component['componentPropertyDefinitions'];
16
21
  cmd: BaseCommand;
17
22
  }): PropMapping | undefined;
18
23
  //# sourceMappingURL=prop_mapping.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prop_mapping.d.ts","sourceRoot":"","sources":["../../../src/connect/wizard/prop_mapping.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,EAAE,sBAAsB,EAAiC,MAAM,oBAAoB,CAAA;AAC1F,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,WAAW,EAAwB,MAAM,4BAA4B,CAAA;AAE9E,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAKpD,wBAAgB,gBAAgB,CAAC,EAC/B,UAAU,EACV,cAAc,EACd,WAAW,GACZ,EAAE;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,gBAAgB,CAAA;CAC9B,0BAmDA;AA0BD,wBAAgB,mBAAmB,CAAC,EAClC,UAAU,EACV,QAAQ,EACR,WAAW,EACX,SAAS,EACT,GAAG,GACJ,EAAE;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,gBAAgB,CAAA;IAC7B,SAAS,EAAE,YAAY,CAAC,SAAS,CAAA;IACjC,GAAG,EAAE,WAAW,CAAA;CACjB,GAAG,WAAW,GAAG,SAAS,CAiE1B"}
1
+ {"version":3,"file":"prop_mapping.d.ts","sourceRoot":"","sources":["../../../src/connect/wizard/prop_mapping.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAExD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAEpD,OAAO,EAA4B,YAAY,EAAoB,MAAM,0BAA0B,CAAA;AAInG;;GAEG;AACH,eAAO,MAAM,oBAAoB,yBAAyB,CAAA;AAI1D,wBAAgB,oBAAoB,CAClC,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,YAAY,CAAC,2BAA2B,GACrD,YAAY,CAUd;AAwDD,wBAAgB,mBAAmB,CAAC,EAClC,4BAA4B,EAC5B,SAAS,GACV,EAAE;IACD,4BAA4B,EAAE,YAAY,CAAC,SAAS,CAAC,8BAA8B,CAAC,CAAA;IACpF,SAAS,EAAE,sBAAsB,CAAA;CAClC,GAAG,WAAW,CAkCd;AAED,wBAAgB,sCAAsC,CAAC,EACrD,UAAU,EACV,QAAQ,EACR,WAAW,EACX,4BAA4B,EAC5B,GAAG,GACJ,EAAE;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,gBAAgB,CAAA;IAC7B,4BAA4B,EAAE,YAAY,CAAC,SAAS,CAAC,8BAA8B,CAAC,CAAA;IACpF,GAAG,EAAE,WAAW,CAAA;CACjB,GAAG,WAAW,GAAG,SAAS,CAoB1B"}
@@ -1,70 +1,101 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.generatePropMapping = exports.extractSignature = void 0;
7
- const typescript_1 = __importDefault(require("typescript"));
8
- const parser_1 = require("../../react/parser");
3
+ exports.extractSignatureAndGeneratePropMapping = exports.generatePropMapping = exports.generateValueMapping = exports.PROPERTY_PLACEHOLDER = void 0;
9
4
  const figma_rest_api_1 = require("../figma_rest_api");
10
5
  const fast_fuzzy_1 = require("fast-fuzzy");
11
6
  const logging_1 = require("../../common/logging");
7
+ const intrinsics_1 = require("../../connect/intrinsics");
8
+ const signature_extraction_1 = require("./signature_extraction");
9
+ const create_1 = require("../../react/create");
10
+ /**
11
+ * Used when we should output a placeholder for an unknown value in prop mapping.
12
+ */
13
+ exports.PROPERTY_PLACEHOLDER = 'PROPERTY_PLACEHOLDER';
12
14
  const PROP_MINIMUM_MATCH_THRESHOLD = 0.8;
13
- function extractSignature({ nameToFind, sourceFilePath, projectInfo, }) {
14
- const { tsProgram } = projectInfo;
15
- const checker = tsProgram.getTypeChecker();
16
- // Get source file
17
- const sourceFile = tsProgram.getSourceFile(sourceFilePath);
18
- if (!sourceFile) {
19
- throw new Error(`Could not find source for file: ${sourceFilePath}`);
20
- }
21
- for (const statement of sourceFile.statements) {
22
- if (!(typescript_1.default.isFunctionDeclaration(statement) || typescript_1.default.isVariableStatement(statement))) {
23
- continue;
24
- }
25
- if (!(statement.modifiers &&
26
- statement.modifiers.some((modifier) => modifier.kind === typescript_1.default.SyntaxKind.ExportKeyword))) {
27
- continue;
15
+ function generateValueMapping(propSignature, figmaPropDef) {
16
+ const codeEnumOptions = propSignature.split(' | ').map((str) => str.substring(1, str.length - 1)); // remove quote marks
17
+ const searcher = new fast_fuzzy_1.Searcher(figmaPropDef.variantOptions);
18
+ return codeEnumOptions.reduce((valueMapping, codeEnumValue) => {
19
+ const results = searcher.search(codeEnumValue, { returnMatchData: true });
20
+ if (results.length && results[0].score > 0.5) {
21
+ valueMapping[results[0].item] = codeEnumValue;
28
22
  }
29
- const name = typescript_1.default.isFunctionDeclaration(statement)
30
- ? statement.name?.text
31
- : statement.declarationList.declarations?.[0].name.getText(sourceFile);
32
- if (name === nameToFind ||
33
- (nameToFind === 'default' &&
34
- statement.modifiers.some((modifier) => modifier.kind === typescript_1.default.SyntaxKind.DefaultKeyword))) {
35
- const symbol = typescript_1.default.isFunctionDeclaration(statement)
36
- ? statement.name && checker.getSymbolAtLocation(statement.name)
37
- : checker.getSymbolAtLocation(statement.declarationList.declarations[0].name);
38
- if (!symbol) {
39
- throw new Error(`Could not find symbol for ${name}`);
40
- }
41
- const signature = (0, parser_1.extractComponentTypeSignature)(symbol, checker, sourceFile);
42
- if (!signature) {
43
- throw new Error(`Could not find signature for ${name}`);
44
- }
45
- return signature;
46
- }
47
- }
48
- throw new Error('No function or variable signatures found');
23
+ return valueMapping;
24
+ }, {});
49
25
  }
50
- exports.extractSignature = extractSignature;
51
- function getComponentPropertyTypeFromSignature(tsString) {
52
- if (tsString === 'string') {
53
- return figma_rest_api_1.FigmaRestApi.ComponentPropertyType.Text;
26
+ exports.generateValueMapping = generateValueMapping;
27
+ /**
28
+ * Attempts to create a mapping between a code prop and figma prop.
29
+ * These props have been matched by name and aren't guaranteed to
30
+ * actually be related, so we return null if no suitable mapping
31
+ */
32
+ function generateIntrinsic({ propSignature: propSignatureWithOptionalModifier, figmaPropName, figmaPropDef, }) {
33
+ const propSignature = propSignatureWithOptionalModifier.startsWith('?')
34
+ ? propSignatureWithOptionalModifier.substring(1)
35
+ : propSignatureWithOptionalModifier;
36
+ if (propSignature === 'string' && figmaPropDef.type === figma_rest_api_1.FigmaRestApi.ComponentPropertyType.Text) {
37
+ return {
38
+ kind: intrinsics_1.IntrinsicKind.String,
39
+ args: {
40
+ figmaPropName,
41
+ },
42
+ };
43
+ }
44
+ if (propSignature === 'false | true' &&
45
+ (figmaPropDef.type === figma_rest_api_1.FigmaRestApi.ComponentPropertyType.Boolean ||
46
+ (figmaPropDef.type === figma_rest_api_1.FigmaRestApi.ComponentPropertyType.Variant &&
47
+ figmaPropDef.variantOptions?.length === 2 &&
48
+ figmaPropDef.variantOptions?.every(create_1.isBooleanKind)))) {
49
+ return {
50
+ kind: intrinsics_1.IntrinsicKind.Boolean,
51
+ args: {
52
+ figmaPropName,
53
+ },
54
+ };
54
55
  }
55
- if (tsString === 'false | true') {
56
- return figma_rest_api_1.FigmaRestApi.ComponentPropertyType.Boolean;
56
+ if (propSignature.includes(' | ') &&
57
+ figmaPropDef.type === figma_rest_api_1.FigmaRestApi.ComponentPropertyType.Variant) {
58
+ return {
59
+ kind: intrinsics_1.IntrinsicKind.Enum,
60
+ args: {
61
+ figmaPropName,
62
+ valueMapping: generateValueMapping(propSignature, figmaPropDef),
63
+ },
64
+ };
57
65
  }
58
66
  return null;
59
67
  }
60
- const DELIMITERS_REGEX = /[\s-_]/g;
61
- function getMatchableStr(str) {
62
- return str.replace(DELIMITERS_REGEX, '').toUpperCase();
68
+ function generatePropMapping({ componentPropertyDefinitions, signature, }) {
69
+ const propMapping = {};
70
+ // Remove whitespace for closer matches with code props
71
+ const matchableFigmaProperties = Object.keys(componentPropertyDefinitions || {}).reduce((acc, propName) => {
72
+ const withoutWhitespace = propName.replace(/\s/g, '');
73
+ acc[withoutWhitespace] = propName;
74
+ return acc;
75
+ }, {});
76
+ const searchSpace = Object.keys(matchableFigmaProperties);
77
+ const searcher = new fast_fuzzy_1.Searcher(searchSpace);
78
+ Object.entries(signature).forEach(([propName, propSignature]) => {
79
+ const results = searcher.search(propName, { returnMatchData: true });
80
+ if (results.length > 0) {
81
+ const { item, score } = results[0];
82
+ const figmaPropName = matchableFigmaProperties[item];
83
+ const figmaPropDef = componentPropertyDefinitions[figmaPropName];
84
+ if (score > PROP_MINIMUM_MATCH_THRESHOLD) {
85
+ const intrinsic = generateIntrinsic({ propSignature, figmaPropName, figmaPropDef });
86
+ if (intrinsic) {
87
+ propMapping[propName] = intrinsic;
88
+ }
89
+ }
90
+ }
91
+ });
92
+ return propMapping;
63
93
  }
64
- function generatePropMapping({ exportName, filepath, projectInfo, component, cmd, }) {
94
+ exports.generatePropMapping = generatePropMapping;
95
+ function extractSignatureAndGeneratePropMapping({ exportName, filepath, projectInfo, componentPropertyDefinitions, cmd, }) {
65
96
  let signature;
66
97
  try {
67
- signature = extractSignature({
98
+ signature = (0, signature_extraction_1.extractSignature)({
68
99
  nameToFind: exportName,
69
100
  sourceFilePath: filepath,
70
101
  projectInfo,
@@ -76,42 +107,10 @@ function generatePropMapping({ exportName, filepath, projectInfo, component, cmd
76
107
  }
77
108
  return undefined;
78
109
  }
79
- const matchableCodeProps = Object.keys(signature).reduce((acc, key) => {
80
- acc[getMatchableStr(key)] = key;
81
- return acc;
82
- }, {});
83
- const matchedPropScores = {};
84
- function isBestMatchForProp(match) {
85
- return !matchedPropScores[match.item] || match.score > matchedPropScores[match.item].score;
86
- }
87
- const searchSpace = Object.keys(matchableCodeProps);
88
- const searcher = new fast_fuzzy_1.Searcher(searchSpace);
89
- if (component.componentPropertyDefinitions) {
90
- Object.entries(component.componentPropertyDefinitions).forEach(([propertyName, componentPropertyDefinition]) => {
91
- const results = searcher.search(getMatchableStr(propertyName), { returnMatchData: true });
92
- const bestMatch = results[0];
93
- const matchingCodeProp = matchableCodeProps[bestMatch?.item];
94
- if (bestMatch &&
95
- bestMatch.score > PROP_MINIMUM_MATCH_THRESHOLD &&
96
- getComponentPropertyTypeFromSignature(signature[matchingCodeProp]) ===
97
- componentPropertyDefinition.type &&
98
- isBestMatchForProp(bestMatch)) {
99
- matchedPropScores[bestMatch.item] = {
100
- codePropName: matchingCodeProp,
101
- figmaPropName: propertyName,
102
- figmaPropType: componentPropertyDefinition.type,
103
- score: bestMatch.score,
104
- };
105
- }
106
- });
107
- }
108
- return Object.entries(matchedPropScores).reduce((acc, [_, { codePropName, figmaPropName, figmaPropType }]) => {
109
- acc[figmaPropName] = {
110
- codePropName,
111
- mapping: figmaPropType,
112
- };
113
- return acc;
114
- }, {});
110
+ return generatePropMapping({
111
+ componentPropertyDefinitions,
112
+ signature,
113
+ });
115
114
  }
116
- exports.generatePropMapping = generatePropMapping;
115
+ exports.extractSignatureAndGeneratePropMapping = extractSignatureAndGeneratePropMapping;
117
116
  //# sourceMappingURL=prop_mapping.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prop_mapping.js","sourceRoot":"","sources":["../../../src/connect/wizard/prop_mapping.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prop_mapping.js","sourceRoot":"","sources":["../../../src/connect/wizard/prop_mapping.ts"],"names":[],"mappings":";;;AAEA,sDAAgD;AAEhD,2CAAqC;AAErC,kDAA6C;AAC7C,yDAAmG;AACnG,iEAAyD;AACzD,+CAAkD;AAElD;;GAEG;AACU,QAAA,oBAAoB,GAAG,sBAAsB,CAAA;AAE1D,MAAM,4BAA4B,GAAG,GAAG,CAAA;AAExC,SAAgB,oBAAoB,CAClC,aAAqB,EACrB,YAAsD;IAEtD,MAAM,eAAe,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA,CAAC,qBAAqB;IACvH,MAAM,QAAQ,GAAG,IAAI,qBAAQ,CAAC,YAAY,CAAC,cAAc,CAAC,CAAA;IAC1D,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC,YAAY,EAAE,aAAa,EAAE,EAAE;QAC5D,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAA;QACzE,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC;YAC7C,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,aAAa,CAAA;QAC/C,CAAC;QACD,OAAO,YAAY,CAAA;IACrB,CAAC,EAAE,EAAkB,CAAC,CAAA;AACxB,CAAC;AAbD,oDAaC;AAED;;;;GAIG;AACH,SAAS,iBAAiB,CAAC,EACzB,aAAa,EAAE,iCAAiC,EAChD,aAAa,EACb,YAAY,GAKb;IACC,MAAM,aAAa,GAAG,iCAAiC,CAAC,UAAU,CAAC,GAAG,CAAC;QACrE,CAAC,CAAC,iCAAiC,CAAC,SAAS,CAAC,CAAC,CAAC;QAChD,CAAC,CAAC,iCAAiC,CAAA;IACrC,IAAI,aAAa,KAAK,QAAQ,IAAI,YAAY,CAAC,IAAI,KAAK,6BAAY,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAC;QAChG,OAAO;YACL,IAAI,EAAE,0BAAa,CAAC,MAAM;YAC1B,IAAI,EAAE;gBACJ,aAAa;aACd;SACF,CAAA;IACH,CAAC;IACD,IACE,aAAa,KAAK,cAAc;QAChC,CAAC,YAAY,CAAC,IAAI,KAAK,6BAAY,CAAC,qBAAqB,CAAC,OAAO;YAC/D,CAAC,YAAY,CAAC,IAAI,KAAK,6BAAY,CAAC,qBAAqB,CAAC,OAAO;gBAC/D,YAAY,CAAC,cAAc,EAAE,MAAM,KAAK,CAAC;gBACzC,YAAY,CAAC,cAAc,EAAE,KAAK,CAAC,sBAAa,CAAC,CAAC,CAAC,EACvD,CAAC;QACD,OAAO;YACL,IAAI,EAAE,0BAAa,CAAC,OAAO;YAC3B,IAAI,EAAE;gBACJ,aAAa;aACd;SACF,CAAA;IACH,CAAC;IACD,IACE,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC7B,YAAY,CAAC,IAAI,KAAK,6BAAY,CAAC,qBAAqB,CAAC,OAAO,EAChE,CAAC;QACD,OAAO;YACL,IAAI,EAAE,0BAAa,CAAC,IAAI;YACxB,IAAI,EAAE;gBACJ,aAAa;gBACb,YAAY,EAAE,oBAAoB,CAAC,aAAa,EAAE,YAAY,CAAC;aAChE;SACF,CAAA;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAgB,mBAAmB,CAAC,EAClC,4BAA4B,EAC5B,SAAS,GAIV;IACC,MAAM,WAAW,GAAgB,EAAE,CAAA;IAEnC,uDAAuD;IACvD,MAAM,wBAAwB,GAAG,MAAM,CAAC,IAAI,CAAC,4BAA4B,IAAI,EAAE,CAAC,CAAC,MAAM,CACrF,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;QAChB,MAAM,iBAAiB,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;QACrD,GAAG,CAAC,iBAAiB,CAAC,GAAG,QAAQ,CAAA;QACjC,OAAO,GAAG,CAAA;IACZ,CAAC,EACD,EAA4B,CAC7B,CAAA;IAED,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;IACzD,MAAM,QAAQ,GAAG,IAAI,qBAAQ,CAAC,WAAW,CAAC,CAAA;IAE1C,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,EAAE;QAC9D,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAA;QAEpE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;YAClC,MAAM,aAAa,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAA;YACpD,MAAM,YAAY,GAAG,4BAA4B,CAAC,aAAa,CAAC,CAAA;YAEhE,IAAI,KAAK,GAAG,4BAA4B,EAAE,CAAC;gBACzC,MAAM,SAAS,GAAG,iBAAiB,CAAC,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC,CAAA;gBACnF,IAAI,SAAS,EAAE,CAAC;oBACd,WAAW,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAA;gBACnC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,WAAW,CAAA;AACpB,CAAC;AAxCD,kDAwCC;AAED,SAAgB,sCAAsC,CAAC,EACrD,UAAU,EACV,QAAQ,EACR,WAAW,EACX,4BAA4B,EAC5B,GAAG,GAOJ;IACC,IAAI,SAAiC,CAAA;IAErC,IAAI,CAAC;QACH,SAAS,GAAG,IAAA,uCAAgB,EAAC;YAC3B,UAAU,EAAE,UAAU;YACtB,cAAc,EAAE,QAAQ;YACxB,WAAW;SACZ,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAChB,gBAAM,CAAC,IAAI,CAAC,oCAAoC,UAAU,QAAQ,QAAQ,EAAE,CAAC,CAAA;QAC/E,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,OAAO,mBAAmB,CAAC;QACzB,4BAA4B;QAC5B,SAAS;KACV,CAAC,CAAA;AACJ,CAAC;AAhCD,wFAgCC"}