@figma/code-connect 1.0.3 → 1.0.5

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 (87) hide show
  1. package/README.md +19 -0
  2. package/dist/commands/connect.d.ts.map +1 -1
  3. package/dist/commands/connect.js +11 -2
  4. package/dist/commands/connect.js.map +1 -1
  5. package/dist/common/intrinsics.js +1 -1
  6. package/dist/common/intrinsics.js.map +1 -1
  7. package/dist/common/project.d.ts +86 -0
  8. package/dist/common/project.d.ts.map +1 -0
  9. package/dist/common/project.js +138 -0
  10. package/dist/common/project.js.map +1 -0
  11. package/dist/common/updates.d.ts +3 -2
  12. package/dist/common/updates.d.ts.map +1 -1
  13. package/dist/common/updates.js +9 -7
  14. package/dist/common/updates.js.map +1 -1
  15. package/dist/connect/parser_executable_types.d.ts +19 -10
  16. package/dist/connect/parser_executable_types.d.ts.map +1 -1
  17. package/dist/connect/parser_executable_types.js.map +1 -1
  18. package/dist/connect/parser_executables.d.ts.map +1 -1
  19. package/dist/connect/parser_executables.js +25 -5
  20. package/dist/connect/parser_executables.js.map +1 -1
  21. package/dist/connect/upload.d.ts +3 -1
  22. package/dist/connect/upload.d.ts.map +1 -1
  23. package/dist/connect/upload.js +65 -4
  24. package/dist/connect/upload.js.map +1 -1
  25. package/dist/connect/validation.d.ts +1 -1
  26. package/dist/connect/validation.d.ts.map +1 -1
  27. package/dist/connect/validation.js +4 -4
  28. package/dist/connect/validation.js.map +1 -1
  29. package/dist/connect/wizard/autolinking.d.ts +17 -3
  30. package/dist/connect/wizard/autolinking.d.ts.map +1 -1
  31. package/dist/connect/wizard/autolinking.js +53 -8
  32. package/dist/connect/wizard/autolinking.js.map +1 -1
  33. package/dist/connect/wizard/helpers.d.ts +24 -1
  34. package/dist/connect/wizard/helpers.d.ts.map +1 -1
  35. package/dist/connect/wizard/helpers.js +78 -1
  36. package/dist/connect/wizard/helpers.js.map +1 -1
  37. package/dist/connect/wizard/prop_mapping.d.ts +18 -0
  38. package/dist/connect/wizard/prop_mapping.d.ts.map +1 -0
  39. package/dist/connect/wizard/prop_mapping.js +117 -0
  40. package/dist/connect/wizard/prop_mapping.js.map +1 -0
  41. package/dist/connect/wizard/run_wizard.d.ts +2 -2
  42. package/dist/connect/wizard/run_wizard.d.ts.map +1 -1
  43. package/dist/connect/wizard/run_wizard.js +92 -53
  44. package/dist/connect/wizard/run_wizard.js.map +1 -1
  45. package/dist/parser_scripts/compose_errors.d.ts +2 -0
  46. package/dist/parser_scripts/compose_errors.d.ts.map +1 -0
  47. package/dist/parser_scripts/compose_errors.js +12 -0
  48. package/dist/parser_scripts/compose_errors.js.map +1 -0
  49. package/dist/react/create.d.ts.map +1 -1
  50. package/dist/react/create.js +49 -14
  51. package/dist/react/create.js.map +1 -1
  52. package/dist/react/parser.d.ts +15 -0
  53. package/dist/react/parser.d.ts.map +1 -1
  54. package/dist/react/parser.js +136 -1
  55. package/dist/react/parser.js.map +1 -1
  56. package/dist/react/parser_template_helpers.d.ts.map +1 -1
  57. package/dist/react/parser_template_helpers.js +8 -2
  58. package/dist/react/parser_template_helpers.js.map +1 -1
  59. package/package.json +2 -1
  60. package/dist/connect/wizard/__test__/autolinking/autolinking.test.d.ts +0 -2
  61. package/dist/connect/wizard/__test__/autolinking/autolinking.test.d.ts.map +0 -1
  62. package/dist/connect/wizard/__test__/autolinking/autolinking.test.js +0 -49
  63. package/dist/connect/wizard/__test__/autolinking/autolinking.test.js.map +0 -1
  64. package/dist/connect/wizard/__test__/autolinking/test_cases/backstage.d.ts +0 -4
  65. package/dist/connect/wizard/__test__/autolinking/test_cases/backstage.d.ts.map +0 -1
  66. package/dist/connect/wizard/__test__/autolinking/test_cases/backstage.js +0 -306
  67. package/dist/connect/wizard/__test__/autolinking/test_cases/backstage.js.map +0 -1
  68. package/dist/connect/wizard/__test__/autolinking/test_cases/polaris_react.d.ts +0 -4
  69. package/dist/connect/wizard/__test__/autolinking/test_cases/polaris_react.d.ts.map +0 -1
  70. package/dist/connect/wizard/__test__/autolinking/test_cases/polaris_react.js +0 -982
  71. package/dist/connect/wizard/__test__/autolinking/test_cases/polaris_react.js.map +0 -1
  72. package/dist/connect/wizard/__test__/autolinking/test_cases/vitamin_web.d.ts +0 -4
  73. package/dist/connect/wizard/__test__/autolinking/test_cases/vitamin_web.d.ts.map +0 -1
  74. package/dist/connect/wizard/__test__/autolinking/test_cases/vitamin_web.js +0 -463
  75. package/dist/connect/wizard/__test__/autolinking/test_cases/vitamin_web.js.map +0 -1
  76. package/dist/connect/wizard/__test__/autolinking/types.d.ts +0 -12
  77. package/dist/connect/wizard/__test__/autolinking/types.d.ts.map +0 -1
  78. package/dist/connect/wizard/__test__/autolinking/types.js +0 -3
  79. package/dist/connect/wizard/__test__/autolinking/types.js.map +0 -1
  80. package/dist/connect/wizard/__test__/helpers.test.d.ts +0 -2
  81. package/dist/connect/wizard/__test__/helpers.test.d.ts.map +0 -1
  82. package/dist/connect/wizard/__test__/helpers.test.js +0 -27
  83. package/dist/connect/wizard/__test__/helpers.test.js.map +0 -1
  84. package/dist/connect/wizard/__test__/run_wizard.test.d.ts +0 -2
  85. package/dist/connect/wizard/__test__/run_wizard.test.d.ts.map +0 -1
  86. package/dist/connect/wizard/__test__/run_wizard.test.js +0 -160
  87. package/dist/connect/wizard/__test__/run_wizard.test.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"parser_executable_types.js","sourceRoot":"","sources":["../../src/connect/parser_executable_types.ts"],"names":[],"mappings":";;;AAAA,6BAAuB;AAcvB,MAAM,gBAAgB,GAAG,OAAC,CAAC,MAAM,CAAC;IAChC,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE;CAChB,CAAC,CAAA;AAEW,QAAA,wBAAwB,GAAG,OAAC,CAAC,KAAK,CAC7C,OAAC,CAAC,MAAM,CAAC;IACP,yEAAyE;IACzE,4DAA4D;IAC5D,EAAE;IACF,uEAAuE;IACvE,0EAA0E;IAC1E,iEAAiE;IACjE,EAAE;IACF,qEAAqE;IACrE,YAAY;IACZ,KAAK,EAAE,OAAC,CAAC,KAAK,CAAC,CAAC,OAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,OAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,OAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,OAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9F,4EAA4E;IAC5E,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;IACnB,yEAAyE;IACzE,cAAc,EAAE,OAAC;SACd,MAAM,CAAC;QACN,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;QAChB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC5B,CAAC;SACD,QAAQ,EAAE;CACd,CAAC,CACH,CAAA;AAED,+EAA+E;AAC/E,gCAAgC;AAChC,EAAE;AACF,gEAAgE;AAChE,6EAA6E;AAC7E,+EAA+E;AAC/E,4CAA4C;AAC/B,QAAA,oBAAoB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3C,yDAAyD;IACzD,IAAI,EAAE,OAAC,CAAC,KAAK,CACX,OAAC,CAAC,MAAM,CAAC;QACP,sCAAsC;QACtC,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;QACrB,kEAAkE;QAClE,mEAAmE;QACnE,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAChC,iFAAiF;QACjF,OAAO,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE;QACrC,sEAAsE;QACtE,wEAAwE;QACxE,0EAA0E;QAC1E,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC7B,+DAA+D;QAC/D,cAAc,EAAE,OAAC;aACd,MAAM,CAAC;YACN,yEAAyE;YACzE,yCAAyC;YACzC,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;SACjB,CAAC;aACD,QAAQ,EAAE;QACb,+CAA+C;QAC/C,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;QACpB,YAAY,EAAE,OAAC,CAAC,MAAM,CAAC;YACrB,wEAAwE;YACxE,uDAAuD;YACvD,EAAE;YACF,gFAAgF;YAChF,EAAE;YACF,wEAAwE;YACxE,sEAAsE;YACtE,kCAAkC;YAClC,KAAK,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,OAAC,CAAC,GAAG,EAAE,EAAE,CAAQ,CAAC;YACrE,oEAAoE;YACpE,qEAAqE;YACrE,kEAAkE;YAClE,wEAAwE;YACxE,yEAAyE;YACzE,uEAAuE;YACvE,kEAAkE;YAClE,EAAE;YACF,0EAA0E;YAC1E,2EAA2E;YAC3E,6EAA6E;YAC7E,aAAa;YACb,OAAO,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;YACvC,0EAA0E;YAC1E,QAAQ,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;SACjC,CAAC;QACF,8CAA8C;QAC9C,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;QACpB,6CAA6C;QAC7C,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;QACjB,qDAAqD;QACrD,iCAAiC;QACjC,KAAK,EAAE,OAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE;KAC5C,CAA4C,CAC9C;IACD,gEAAgE;IAChE,QAAQ,EAAE,gCAAwB;CACnC,CAAC,CAAA;AA8CW,QAAA,qBAAqB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC5C,8DAA8D;IAC9D,YAAY,EAAE,OAAC,CAAC,KAAK,CACnB,OAAC,CAAC,MAAM,CAAC;QACP,wCAAwC;QACxC,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;KACrB,CAAC,CACH;IACD,iEAAiE;IACjE,QAAQ,EAAE,gCAAwB;CACnC,CAAC,CAAA"}
1
+ {"version":3,"file":"parser_executable_types.js","sourceRoot":"","sources":["../../src/connect/parser_executable_types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"parser_executables.d.ts","sourceRoot":"","sources":["../../src/connect/parser_executables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,iCAAiC,EAA8B,MAAM,WAAW,CAAA;AACzF,OAAO,EAEL,wBAAwB,EACxB,oBAAoB,EACrB,MAAM,2BAA2B,CAAA;AAwDlC,wBAAsB,UAAU,CAC9B,MAAM,EAAE,iCAAiC,EACzC,OAAO,EAAE,oBAAoB,EAC7B,GAAG,EAAE,MAAM,mBAuEZ;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC;;EAsBhF"}
1
+ {"version":3,"file":"parser_executables.d.ts","sourceRoot":"","sources":["../../src/connect/parser_executables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EACL,iCAAiC,EAGlC,MAAM,WAAW,CAAA;AAClB,OAAO,EAEL,wBAAwB,EACxB,oBAAoB,EACrB,MAAM,2BAA2B,CAAA;AAyDlC,wBAAsB,UAAU,CAC9B,MAAM,EAAE,iCAAiC,EACzC,OAAO,EAAE,oBAAoB,EAC7B,GAAG,EAAE,MAAM,mBA+EZ;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC;;EAsBhF"}
@@ -10,6 +10,7 @@ const get_swift_parser_dir_1 = require("../parser_scripts/get_swift_parser_dir")
10
10
  const fs_1 = __importDefault(require("fs"));
11
11
  const path_1 = __importDefault(require("path"));
12
12
  const get_gradlew_path_1 = require("../parser_scripts/get_gradlew_path");
13
+ const compose_errors_1 = require("../parser_scripts/compose_errors");
13
14
  const temporaryInputFilePath = 'tmp/figma-code-connect-parser-input.json.tmp';
14
15
  const FIRST_PARTY_PARSERS = {
15
16
  swift: {
@@ -56,6 +57,7 @@ async function callParser(config, payload, cwd) {
56
57
  cwd,
57
58
  });
58
59
  let stdout = '';
60
+ let stderr = '';
59
61
  child.stdout.on('data', (data) => {
60
62
  stdout += data.toString();
61
63
  });
@@ -74,18 +76,26 @@ async function callParser(config, payload, cwd) {
74
76
  // Non-JSON output will be logged as debug messages, as this is likely to
75
77
  // be e.g. compiler output which the user doesn't need to see ordinarily.
76
78
  child.stderr.on('data', (data) => {
77
- const message = data.toString().trim();
79
+ const message = data.toString();
80
+ const trimmedMessage = message.trim();
78
81
  try {
79
- const parsed = JSON.parse(message);
82
+ const parsed = JSON.parse(trimmedMessage);
80
83
  handleMessages([parsed]);
81
84
  }
82
85
  catch (e) {
83
- logging_1.logger.debug(message);
86
+ stderr += message;
87
+ logging_1.logger.debug(trimmedMessage);
84
88
  }
85
89
  });
86
90
  child.on('close', (code) => {
87
91
  if (code !== 0) {
88
- reject(new Error(`Parser exited with code ${code}`));
92
+ const errorSuggestion = determineErrorSuggestionFromStderr(stderr, config.parser);
93
+ if (errorSuggestion) {
94
+ reject(new Error(`Parser exited with code ${code}: ${errorSuggestion}`));
95
+ }
96
+ else {
97
+ reject(new Error(`Parser exited with code ${code}`));
98
+ }
89
99
  }
90
100
  else {
91
101
  resolve(JSON.parse(stdout));
@@ -103,7 +113,7 @@ async function callParser(config, payload, cwd) {
103
113
  }
104
114
  }
105
115
  catch (e) {
106
- (0, logging_1.exitWithError)(`Error calling parser: ${e}, try re-running the command with --verbose for more information.`);
116
+ (0, logging_1.exitWithError)(`Error calling parser: ${e}. Try re-running the command with --verbose for more information.`);
107
117
  }
108
118
  });
109
119
  }
@@ -130,4 +140,14 @@ function handleMessages(messages) {
130
140
  return { hasErrors };
131
141
  }
132
142
  exports.handleMessages = handleMessages;
143
+ // This function is used to determine if there is a suggestion for the error based on the output
144
+ // to stderr. Certain parsers return the same error code for different types of errors such as
145
+ // errors from invoking the gradle wrapper for Compose.
146
+ // In the future we should consider exposing a different API for having the parser return a suggestion directly.
147
+ function determineErrorSuggestionFromStderr(stderr, parser) {
148
+ if (parser === 'compose') {
149
+ return (0, compose_errors_1.getComposeErrorSuggestion)(stderr);
150
+ }
151
+ return null;
152
+ }
133
153
  //# sourceMappingURL=parser_executables.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parser_executables.js","sourceRoot":"","sources":["../../src/connect/parser_executables.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser_executables.js","sourceRoot":"","sources":["../../src/connect/parser_executables.ts"],"names":[],"mappings":";;;;;;AACA,+CAAyD;AAWzD,6CAAmC;AACnC,iFAA0E;AAC1E,4CAAmB;AACnB,gDAAuB;AACvB,yEAG2C;AAC3C,qEAA4E;AAE5E,MAAM,sBAAsB,GAAG,8CAA8C,CAAA;AAW7E,MAAM,mBAAmB,GAAmD;IAC1E,KAAK,EAAE;QACL,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;YACnC,OAAO,4BAA4B,MAAM,IAAA,wCAAiB,EAAC,GAAG,EAAG,MAAc,CAAC,aAAa,CAAC,cAAc,CAAA;QAC9G,CAAC;KACF;IACD,OAAO,EAAE;QACP,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;YACnC,MAAM,WAAW,GAAG,MAAM,IAAA,uCAAoB,EAAC,GAAG,EAAG,MAAc,CAAC,iBAAiB,CAAC,CAAA;YACtF,MAAM,0BAA0B,GAAG,IAAA,iDAA8B,EAAC,WAAW,CAAC,CAAA;YAC9E,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtB,OAAO,GAAG,0BAA0B,OAAO,WAAW,iCAAiC,sBAAsB,KAAK,CAAA;YACpH,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG,0BAA0B,OAAO,WAAW,gCAAgC,sBAAsB,KAAK,CAAA;YACnH,CAAC;QACH,CAAC;QACD,sBAAsB,EAAE,sBAAsB;KAC/C;IACD,aAAa,EAAE;QACb,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,iCAAiC;KACvD;CACF,CAAA;AAED,SAAS,SAAS,CAAC,MAAyC;IAC1D,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAEjD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,IAAA,uBAAa,EACX,8BAA8B,MAAM,CAAC,MAAM,yBAAyB,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACnH,CAAA;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAEM,KAAK,UAAU,UAAU,CAC9B,MAAyC,EACzC,OAA6B,EAC7B,GAAW;IAEX,OAAO,IAAI,OAAO,CAAS,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;QACnD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAA;YAChC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;YAC/D,IAAI,MAAM,CAAC,sBAAsB,EAAE,CAAC;gBAClC,YAAE,CAAC,SAAS,CAAC,cAAI,CAAC,OAAO,CAAC,MAAM,CAAC,sBAAsB,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;gBAC9E,YAAE,CAAC,aAAa,CAAC,sBAAsB,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;YACnE,CAAC;YACD,gBAAM,CAAC,KAAK,CAAC,mBAAmB,OAAO,EAAE,CAAC,CAAA;YAC1C,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAEvC,MAAM,KAAK,GAAG,IAAA,mBAAK,EAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;gBAC1D,GAAG;aACJ,CAAC,CAAA;YAEF,IAAI,MAAM,GAAG,EAAE,CAAA;YACf,IAAI,MAAM,GAAG,EAAE,CAAA;YAEf,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC/B,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAA;YAC3B,CAAC,CAAC,CAAA;YAEF,kDAAkD;YAClD,EAAE;YACF,0EAA0E;YAC1E,0EAA0E;YAC1E,yEAAyE;YACzE,uEAAuE;YACvE,kEAAkE;YAClE,EAAE;YACF,0EAA0E;YAC1E,qEAAqE;YACrE,+CAA+C;YAC/C,EAAE;YACF,yEAAyE;YACzE,yEAAyE;YACzE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;gBAC/B,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,EAAE,CAAA;gBACrC,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;oBACzC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;gBAC1B,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,MAAM,IAAI,OAAO,CAAA;oBACjB,gBAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;gBAC9B,CAAC;YACH,CAAC,CAAC,CAAA;YAEF,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;gBACzB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;oBACf,MAAM,eAAe,GAAG,kCAAkC,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;oBACjF,IAAI,eAAe,EAAE,CAAC;wBACpB,MAAM,CAAC,IAAI,KAAK,CAAC,2BAA2B,IAAI,KAAK,eAAe,EAAE,CAAC,CAAC,CAAA;oBAC1E,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,IAAI,KAAK,CAAC,2BAA2B,IAAI,EAAE,CAAC,CAAC,CAAA;oBACtD,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;gBAC7B,CAAC;gBACD,IAAI,MAAM,CAAC,sBAAsB,EAAE,CAAC;oBAClC,YAAE,CAAC,UAAU,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAA;gBAC9C,CAAC;YACH,CAAC,CAAC,CAAA;YAEF,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;gBACtB,MAAM,CAAC,CAAC,CAAC,CAAA;YACX,CAAC,CAAC,CAAA;YACF,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC;gBACnC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;gBAC1C,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAA;YACnB,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAA,uBAAa,EACX,yBAAyB,CAAC,mEAAmE,CAC9F,CAAA;QACH,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAlFD,gCAkFC;AAED,SAAgB,cAAc,CAAC,QAAkD;IAC/E,IAAI,SAAS,GAAG,KAAK,CAAA;IAErB,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC3B,QAAQ,OAAO,CAAC,KAAK,EAAE,CAAC;YACtB,KAAK,OAAO;gBACV,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;gBAC7B,MAAK;YACP,KAAK,MAAM;gBACT,gBAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;gBAC5B,MAAK;YACP,KAAK,MAAM;gBACT,gBAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;gBAC5B,MAAK;YACP,KAAK,OAAO;gBACV,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;gBAC7B,SAAS,GAAG,IAAI,CAAA;gBAChB,MAAK;QACT,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,EAAE,SAAS,EAAE,CAAA;AACtB,CAAC;AAtBD,wCAsBC;AAED,gGAAgG;AAChG,8FAA8F;AAC9F,uDAAuD;AACvD,gHAAgH;AAChH,SAAS,kCAAkC,CACzC,MAAc,EACd,MAAwB;IAExB,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,IAAA,0CAAyB,EAAC,MAAM,CAAC,CAAA;IAC1C,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -2,7 +2,9 @@ import { CodeConnectJSON } from '../common/figma_connect';
2
2
  interface Args {
3
3
  accessToken: string;
4
4
  docs: CodeConnectJSON[];
5
+ batchSize?: number;
6
+ verbose: boolean;
5
7
  }
6
- export declare function upload({ accessToken, docs }: Args): Promise<void>;
8
+ export declare function upload({ accessToken, docs, batchSize, verbose }: Args): Promise<void>;
7
9
  export {};
8
10
  //# sourceMappingURL=upload.d.ts.map
@@ -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;AAMzD,UAAU,IAAI;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,eAAe,EAAE,CAAA;CACxB;AAMD,wBAAsB,MAAM,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,IAAI,iBA0CvD"}
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"}
@@ -28,16 +28,77 @@ const logging_1 = require("../common/logging");
28
28
  const axios_1 = __importStar(require("axios"));
29
29
  const figma_rest_api_1 = require("./figma_rest_api");
30
30
  const helpers_1 = require("./helpers");
31
+ const validation_1 = require("./validation");
31
32
  function codeConnectStr(doc) {
32
33
  return `${(0, logging_1.highlight)(doc.component ?? '')}${doc.variant ? `(${Object.entries(doc.variant).map(([key, value]) => `${key}=${value}`)})` : ''} ${(0, logging_1.underline)(doc.figmaNode)}`;
33
34
  }
34
- async function upload({ accessToken, docs }) {
35
+ async function upload({ accessToken, docs, batchSize, verbose }) {
35
36
  const apiUrl = (0, figma_rest_api_1.getApiUrl)(docs?.[0]?.figmaNode ?? '') + '/code_connect';
36
37
  try {
37
38
  logging_1.logger.info(`Uploading to Figma...`);
38
- const response = await axios_1.default.post(apiUrl, docs, {
39
- headers: (0, figma_rest_api_1.getHeaders)(accessToken),
40
- });
39
+ if (batchSize) {
40
+ if (typeof batchSize !== 'number') {
41
+ logging_1.logger.error('Batch size must be a number');
42
+ (0, helpers_1.exitWithFeedbackMessage)(1);
43
+ }
44
+ // batch together based on fileKey + nodeId as all variants etc of the same node should be uploaded together
45
+ // Otherwise, the server will overwrite the previous upload
46
+ const groupedDocs = docs.reduce((acc, doc) => {
47
+ const parsedData = (0, validation_1.parseFigmaNode)(verbose, doc);
48
+ if (!parsedData) {
49
+ (0, helpers_1.exitWithFeedbackMessage)(1);
50
+ }
51
+ const { fileKey, nodeId } = parsedData;
52
+ const accKey = fileKey + ',' + nodeId;
53
+ if (!acc[accKey]) {
54
+ acc[accKey] = [];
55
+ }
56
+ acc[accKey].push(doc);
57
+ return acc;
58
+ }, {});
59
+ const batchedDocs = [];
60
+ const nodeKeys = Object.keys(groupedDocs);
61
+ for (let i = 0; i < nodeKeys.length; i += batchSize) {
62
+ const batch = [];
63
+ for (let j = i; j < i + batchSize && j < nodeKeys.length; j++) {
64
+ const nodeKey = nodeKeys[j];
65
+ batch.push(...groupedDocs[nodeKey]);
66
+ }
67
+ batchedDocs.push(batch);
68
+ }
69
+ let currentBatch = 1;
70
+ const noOfBatches = batchedDocs.length;
71
+ for (const batch of batchedDocs) {
72
+ process.stderr.write('\x1b[2K\x1b[0G');
73
+ process.stderr.write(`Uploading batch ${currentBatch}/${noOfBatches}`);
74
+ var size = Buffer.byteLength(JSON.stringify(batch)) / (1024 * 1024);
75
+ // Server has a limit of 5mb
76
+ if (size > 5) {
77
+ logging_1.logger.error(`Failed to upload to Figma: The request is too large (${size.toFixed(2)}mb).`);
78
+ logging_1.logger.error('Please try reducing the size of uploads by splitting them into smaller requests by running again and decreasing the --batch-size parameter.');
79
+ (0, helpers_1.exitWithFeedbackMessage)(1);
80
+ }
81
+ logging_1.logger.debug(`Uploading ${size.toFixed(2)}mb to Figma`);
82
+ await axios_1.default.post(apiUrl, batch, {
83
+ headers: (0, figma_rest_api_1.getHeaders)(accessToken),
84
+ });
85
+ currentBatch++;
86
+ }
87
+ process.stderr.write(`\n`);
88
+ }
89
+ else {
90
+ var size = Buffer.byteLength(JSON.stringify(docs)) / (1024 * 1024);
91
+ // Server has a limit of 5mb
92
+ if (size > 5) {
93
+ logging_1.logger.error(`Failed to upload to Figma: The request is too large (${size.toFixed(2)}mb).`);
94
+ logging_1.logger.error('Please try reducing the size of uploads by splitting them into smaller requests by running again with the --batch-size parameter. You can do also this by running on different subdirectories using the --dir flag or by iteratively adjusting the includes field in the configuration.');
95
+ (0, helpers_1.exitWithFeedbackMessage)(1);
96
+ }
97
+ logging_1.logger.debug(`Uploading ${size.toFixed(2)}mb to Figma`);
98
+ await axios_1.default.post(apiUrl, docs, {
99
+ headers: (0, figma_rest_api_1.getHeaders)(accessToken),
100
+ });
101
+ }
41
102
  const docsByLabel = docs.reduce((acc, doc) => {
42
103
  if (acc[doc.label]) {
43
104
  acc[doc.label].push(doc);
@@ -1 +1 @@
1
- {"version":3,"file":"upload.js","sourceRoot":"","sources":["../../src/connect/upload.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,+CAAgE;AAChE,+CAA2C;AAC3C,qDAAwD;AACxD,uCAAmD;AAOnD,SAAS,cAAc,CAAC,GAAoB;IAC1C,OAAO,GAAG,IAAA,mBAAS,EAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,IAAA,mBAAS,EAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAA;AACzK,CAAC;AAEM,KAAK,UAAU,MAAM,CAAC,EAAE,WAAW,EAAE,IAAI,EAAQ;IACtD,MAAM,MAAM,GAAG,IAAA,0BAAS,EAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,IAAI,EAAE,CAAC,GAAG,eAAe,CAAA;IAEtE,IAAI,CAAC;QACH,gBAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;QAEpC,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE;YAC9C,OAAO,EAAE,IAAA,2BAAU,EAAC,WAAW,CAAC;SACjC,CAAC,CAAA;QAEF,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAC7B,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACX,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnB,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAC1B,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACxB,CAAC;YACD,OAAO,GAAG,CAAA;QACZ,CAAC,EACD,EAAuC,CACxC,CAAA;QAED,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YACxD,gBAAM,CAAC,IAAI,CACT,uCAAuC,KAAK,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC9G,CAAA;QACH,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,IAAA,oBAAY,EAAC,GAAG,CAAC,EAAE,CAAC;YACtB,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;gBACjB,gBAAM,CAAC,KAAK,CACV,8BAA8B,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,CAClG,CAAA;YACH,CAAC;iBAAM,CAAC;gBACN,gBAAM,CAAC,KAAK,CAAC,8BAA8B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;YAC3D,CAAC;YACD,gBAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAA;QAClD,CAAC;aAAM,CAAC;YACN,gBAAM,CAAC,KAAK,CAAC,8BAA8B,GAAG,EAAE,CAAC,CAAA;QACnD,CAAC;QACD,IAAA,iCAAuB,EAAC,CAAC,CAAC,CAAA;IAC5B,CAAC;AACH,CAAC;AA1CD,wBA0CC"}
1
+ {"version":3,"file":"upload.js","sourceRoot":"","sources":["../../src/connect/upload.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { CodeConnectJSON } from '../common/figma_connect';
2
2
  import { BaseCommand } from '../commands/connect';
3
- export declare function parseFigmaNode(cmd: BaseCommand, doc: CodeConnectJSON, silent?: boolean): {
3
+ export declare function parseFigmaNode(verbose: boolean, doc: CodeConnectJSON, silent?: boolean): {
4
4
  fileKey: string;
5
5
  nodeId: string;
6
6
  } | null;
@@ -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,GAAG,EAAE,WAAW,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,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"}
@@ -30,11 +30,11 @@ const axios_1 = __importStar(require("axios"));
30
30
  const logging_1 = require("../common/logging");
31
31
  const helpers_1 = require("./helpers");
32
32
  const figma_rest_api_1 = require("./figma_rest_api");
33
- function parseFigmaNode(cmd, doc, silent = false) {
33
+ function parseFigmaNode(verbose, doc, silent = false) {
34
34
  const figmaNodeUrl = url.parse(doc.figmaNode, true);
35
35
  const fileKeyMatch = figmaNodeUrl.path?.match(/(file|design)\/([a-zA-Z0-9]+)/);
36
36
  if (!fileKeyMatch) {
37
- if (!silent || cmd.verbose) {
37
+ if (!silent || verbose) {
38
38
  logging_1.logger.error(`Failed to parse ${doc.figmaNode}`);
39
39
  }
40
40
  return null;
@@ -46,7 +46,7 @@ function parseFigmaNode(cmd, doc, silent = false) {
46
46
  return { fileKey, nodeId: figmaNodeId };
47
47
  }
48
48
  else {
49
- if (!silent || cmd.verbose) {
49
+ if (!silent || verbose) {
50
50
  logging_1.logger.error(`Failed to get node-id from ${doc.figmaNode}`);
51
51
  }
52
52
  return null;
@@ -200,7 +200,7 @@ async function validateDocs(cmd, accessToken, docs) {
200
200
  const fileKeyToNodeIds = {};
201
201
  let valid = true;
202
202
  docs.forEach((doc) => {
203
- const parsedNode = parseFigmaNode(cmd, doc);
203
+ const parsedNode = parseFigmaNode(cmd.verbose, doc);
204
204
  if (!parsedNode) {
205
205
  valid = false;
206
206
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/connect/validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/connect/validation.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,26 @@
1
1
  import { FigmaRestApi } from '../figma_rest_api';
2
+ import prompts from 'prompts';
3
+ /**
4
+ * Guesses which export to use for a given file. Prioritizes default then search term.
5
+ * @param args
6
+ * @param args.filepath current file
7
+ * @param args.exportOptions exported members of current file
8
+ * @param args.nameToMatch name of Figma component
9
+ * @returns filepathExport to use
10
+ */
11
+ export declare function getBestMatchingExportWithinFile({ filepath, exportOptions, nameToMatch, }: {
12
+ filepath: string;
13
+ exportOptions: prompts.Choice[];
14
+ nameToMatch: string;
15
+ }): string;
2
16
  /**
3
17
  * Autolinks components/paths based on fuzzy matching of name and writes mappings to linkedNodeIdsToPaths.
4
18
  *
5
19
  * Matching is done by fast-fuzzy
6
20
  */
7
- export declare function autoLinkComponents({ unconnectedComponents, linkedNodeIdsToPaths, componentPaths, }: {
21
+ export declare function autoLinkComponents({ unconnectedComponents, linkedNodeIdsToFilepathExports, filepathExports, }: {
8
22
  unconnectedComponents: FigmaRestApi.Component[];
9
- linkedNodeIdsToPaths: Record<string, string>;
10
- componentPaths: string[];
23
+ linkedNodeIdsToFilepathExports: Record<string, string>;
24
+ filepathExports: string[];
11
25
  }): void;
12
26
  //# sourceMappingURL=autolinking.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"autolinking.d.ts","sourceRoot":"","sources":["../../../src/connect/wizard/autolinking.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAKhD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,qBAAqB,EACrB,oBAAoB,EACpB,cAAc,GACf,EAAE;IACD,qBAAqB,EAAE,YAAY,CAAC,SAAS,EAAE,CAAA;IAC/C,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5C,cAAc,EAAE,MAAM,EAAE,CAAA;CACzB,QAsCA"}
1
+ {"version":3,"file":"autolinking.d.ts","sourceRoot":"","sources":["../../../src/connect/wizard/autolinking.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGhD,OAAO,OAAO,MAAM,SAAS,CAAA;AAK7B;;;;;;;GAOG;AACH,wBAAgB,+BAA+B,CAAC,EAC9C,QAAQ,EACR,aAAa,EACb,WAAW,GACZ,EAAE;IACD,QAAQ,EAAE,MAAM,CAAA;IAChB,aAAa,EAAE,OAAO,CAAC,MAAM,EAAE,CAAA;IAC/B,WAAW,EAAE,MAAM,CAAA;CACpB,GAAG,MAAM,CAoCT;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,qBAAqB,EACrB,8BAA8B,EAC9B,eAAe,GAChB,EAAE;IACD,qBAAqB,EAAE,YAAY,CAAC,SAAS,EAAE,CAAA;IAC/C,8BAA8B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACtD,eAAe,EAAE,MAAM,EAAE,CAAA;CAC1B,QA6CA"}
@@ -3,16 +3,56 @@ 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.autoLinkComponents = void 0;
6
+ exports.autoLinkComponents = exports.getBestMatchingExportWithinFile = void 0;
7
7
  const fast_fuzzy_1 = require("fast-fuzzy");
8
8
  const path_1 = __importDefault(require("path"));
9
- const MINIMUM_MATCH_THRESHOLD = 0.8;
9
+ const helpers_1 = require("./helpers");
10
+ const FILENAME_MINIMUM_MATCH_THRESHOLD = 0.8;
11
+ const EXPORT_NAME_MINIMUM_MATCH_THRESHOLD = 0.8;
12
+ /**
13
+ * Guesses which export to use for a given file. Prioritizes default then search term.
14
+ * @param args
15
+ * @param args.filepath current file
16
+ * @param args.exportOptions exported members of current file
17
+ * @param args.nameToMatch name of Figma component
18
+ * @returns filepathExport to use
19
+ */
20
+ function getBestMatchingExportWithinFile({ filepath, exportOptions, nameToMatch, }) {
21
+ // Don't append export if no known exports
22
+ if (exportOptions.length === 0) {
23
+ return filepath;
24
+ }
25
+ if (exportOptions.length === 1) {
26
+ return exportOptions[0].value;
27
+ }
28
+ const defaultOption = exportOptions.find((o) => o.title === 'default');
29
+ if (defaultOption) {
30
+ return defaultOption.value;
31
+ }
32
+ const matches = (0, fast_fuzzy_1.search)(nameToMatch, exportOptions.map((opt) => opt.title), {
33
+ threshold: EXPORT_NAME_MINIMUM_MATCH_THRESHOLD,
34
+ });
35
+ /**
36
+ * fuzzy.search searches for string inside another, meaning e.g. "Button" and "ButtonProps" rank equally for "Button".
37
+ * We counter this by looking for shortest string in matches
38
+ */
39
+ const shortestMatch = matches.reduce(function (a, b) {
40
+ return a.length <= b.length ? a : b;
41
+ });
42
+ if (shortestMatch) {
43
+ return exportOptions.find((o) => o.title === shortestMatch).value;
44
+ }
45
+ // use anything
46
+ return exportOptions[0].value;
47
+ }
48
+ exports.getBestMatchingExportWithinFile = getBestMatchingExportWithinFile;
10
49
  /**
11
50
  * Autolinks components/paths based on fuzzy matching of name and writes mappings to linkedNodeIdsToPaths.
12
51
  *
13
52
  * Matching is done by fast-fuzzy
14
53
  */
15
- function autoLinkComponents({ unconnectedComponents, linkedNodeIdsToPaths, componentPaths, }) {
54
+ function autoLinkComponents({ unconnectedComponents, linkedNodeIdsToFilepathExports, filepathExports, }) {
55
+ const componentOptionsMap = (0, helpers_1.getComponentOptionsMap)(filepathExports);
16
56
  const pathMatchScores = {};
17
57
  /**
18
58
  * fast-fuzzy finds best match in filenames for a given component - this function
@@ -21,7 +61,7 @@ function autoLinkComponents({ unconnectedComponents, linkedNodeIdsToPaths, compo
21
61
  function isBestMatchForPath(match) {
22
62
  return !pathMatchScores[match.item] || match.score > pathMatchScores[match.item].score;
23
63
  }
24
- const matchableFilenameToPathMap = componentPaths.reduce((acc, componentPath) => {
64
+ const matchableFilenameToPathMap = Object.keys(componentOptionsMap).reduce((acc, componentPath) => {
25
65
  const { name } = path_1.default.parse(componentPath);
26
66
  const matchableName = name;
27
67
  acc[matchableName] = componentPath;
@@ -33,12 +73,17 @@ function autoLinkComponents({ unconnectedComponents, linkedNodeIdsToPaths, compo
33
73
  const matchableName = component.name;
34
74
  const results = searcher.search(matchableName, { returnMatchData: true });
35
75
  const bestMatch = results[0];
36
- const filepath = bestMatch?.item;
76
+ const filename = bestMatch?.item;
37
77
  if (bestMatch &&
38
- bestMatch.score > MINIMUM_MATCH_THRESHOLD &&
39
- filepath in matchableFilenameToPathMap &&
78
+ bestMatch.score > FILENAME_MINIMUM_MATCH_THRESHOLD &&
79
+ filename in matchableFilenameToPathMap &&
40
80
  isBestMatchForPath(bestMatch)) {
41
- linkedNodeIdsToPaths[component.id] = matchableFilenameToPathMap[bestMatch.item];
81
+ const filepath = matchableFilenameToPathMap[bestMatch.item];
82
+ linkedNodeIdsToFilepathExports[component.id] = getBestMatchingExportWithinFile({
83
+ filepath,
84
+ exportOptions: componentOptionsMap[filepath],
85
+ nameToMatch: component.name,
86
+ });
42
87
  pathMatchScores[bestMatch.item] = { nodeId: component.id, score: bestMatch.score };
43
88
  }
44
89
  });
@@ -1 +1 @@
1
- {"version":3,"file":"autolinking.js","sourceRoot":"","sources":["../../../src/connect/wizard/autolinking.ts"],"names":[],"mappings":";;;;;;AAAA,2CAAgD;AAEhD,gDAAuB;AAEvB,MAAM,uBAAuB,GAAG,GAAG,CAAA;AAEnC;;;;GAIG;AACH,SAAgB,kBAAkB,CAAC,EACjC,qBAAqB,EACrB,oBAAoB,EACpB,cAAc,GAKf;IACC,MAAM,eAAe,GAAsD,EAAE,CAAA;IAC7E;;;OAGG;IACH,SAAS,kBAAkB,CAAC,KAAwB;QAClD,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAA;IACxF,CAAC;IAED,MAAM,0BAA0B,GAAG,cAAc,CAAC,MAAM,CACtD,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE;QACrB,MAAM,EAAE,IAAI,EAAE,GAAG,cAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;QAC1C,MAAM,aAAa,GAAG,IAAI,CAAA;QAC1B,GAAG,CAAC,aAAa,CAAC,GAAG,aAAa,CAAA;QAClC,OAAO,GAAG,CAAA;IACZ,CAAC,EACD,EAA4B,CAC7B,CAAA;IAED,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAA;IAC3D,MAAM,QAAQ,GAAG,IAAI,qBAAQ,CAAC,WAAW,CAAC,CAAA;IAE1C,qBAAqB,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;QAC1C,MAAM,aAAa,GAAG,SAAS,CAAC,IAAI,CAAA;QACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAA;QACzE,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;QAC5B,MAAM,QAAQ,GAAG,SAAS,EAAE,IAAI,CAAA;QAChC,IACE,SAAS;YACT,SAAS,CAAC,KAAK,GAAG,uBAAuB;YACzC,QAAQ,IAAI,0BAA0B;YACtC,kBAAkB,CAAC,SAAS,CAAC,EAC7B,CAAC;YACD,oBAAoB,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,0BAA0B,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;YAC/E,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,CAAA;QACpF,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AA9CD,gDA8CC"}
1
+ {"version":3,"file":"autolinking.js","sourceRoot":"","sources":["../../../src/connect/wizard/autolinking.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
- import { CodeConnectConfig } from '../project';
1
+ import { CodeConnectConfig, ProjectInfo } from '../project';
2
+ import prompts from 'prompts';
3
+ import { BaseCommand } from '../../commands/connect';
2
4
  /**
3
5
  *
4
6
  * Gets the default include globs for config.parser with componentDirectory prepended
@@ -18,4 +20,25 @@ export declare function createCodeConnectConfig({ dir, componentDirectory, confi
18
20
  componentDirectory: string | null;
19
21
  config: CodeConnectConfig;
20
22
  }): Promise<void>;
23
+ export declare function parseFilepathExport(filepathExport: string): {
24
+ filepath: string;
25
+ exportName: null;
26
+ } | {
27
+ filepath: string;
28
+ exportName: string;
29
+ };
30
+ /**
31
+ * Formats an array of filepathExports into a map of filepaths->exports
32
+ *
33
+ * @param filepathExports an array of components in the format `${filepath}~${componentName}
34
+ * @returns a map of filepaths to an array of their exports. Array is empty if no exports found
35
+ */
36
+ export declare function getComponentOptionsMap(filepathExports: string[]): Record<string, prompts.Choice[]>;
37
+ /**
38
+ * Parses a ProjectInfo for any TS exports (or filepaths if not a TS project)
39
+ *
40
+ * @param projectInfo
41
+ * @returns an array of components in the format `${filepath}~${componentName}
42
+ */
43
+ export declare function getFilepathExportsFromFiles(projectInfo: ProjectInfo, cmd: BaseCommand): string[];
21
44
  //# sourceMappingURL=helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/connect/wizard/helpers.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,iBAAiB,EAGlB,MAAM,YAAY,CAAA;AAMnB;;;;;;;;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"}
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;AAGpD;;;;;;;;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"}
@@ -26,12 +26,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
26
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.createCodeConnectConfig = exports.getIncludesGlob = void 0;
29
+ exports.getFilepathExportsFromFiles = exports.getComponentOptionsMap = exports.parseFilepathExport = exports.createCodeConnectConfig = exports.getIncludesGlob = void 0;
30
30
  const prettier = __importStar(require("prettier"));
31
31
  const fs_1 = __importDefault(require("fs"));
32
32
  const project_1 = require("../project");
33
33
  const logging_1 = require("../../common/logging");
34
34
  const path_1 = __importDefault(require("path"));
35
+ const parser_1 = require("../../react/parser");
35
36
  /**
36
37
  *
37
38
  * Gets the default include globs for config.parser with componentDirectory prepended
@@ -67,4 +68,80 @@ async function createCodeConnectConfig({ dir, componentDirectory, config, }) {
67
68
  logging_1.logger.info((0, logging_1.success)(`Created ${filePath}`));
68
69
  }
69
70
  exports.createCodeConnectConfig = createCodeConnectConfig;
71
+ const FILEPATH_EXPORT_DELIMITER = '~';
72
+ function parseFilepathExport(filepathExport) {
73
+ const delimiterLastIndex = filepathExport.lastIndexOf(FILEPATH_EXPORT_DELIMITER);
74
+ if (delimiterLastIndex === -1) {
75
+ return {
76
+ filepath: filepathExport,
77
+ exportName: null,
78
+ };
79
+ }
80
+ return {
81
+ filepath: filepathExport.substring(0, delimiterLastIndex),
82
+ exportName: filepathExport.substring(delimiterLastIndex + 1),
83
+ };
84
+ }
85
+ exports.parseFilepathExport = parseFilepathExport;
86
+ function getFilepathExport(filepath, exp) {
87
+ return `${filepath}${FILEPATH_EXPORT_DELIMITER}${exp}`;
88
+ }
89
+ /**
90
+ * Formats an array of filepathExports into a map of filepaths->exports
91
+ *
92
+ * @param filepathExports an array of components in the format `${filepath}~${componentName}
93
+ * @returns a map of filepaths to an array of their exports. Array is empty if no exports found
94
+ */
95
+ function getComponentOptionsMap(filepathExports) {
96
+ return filepathExports.reduce((acc, filepathExport) => {
97
+ const { filepath, exportName } = parseFilepathExport(filepathExport);
98
+ acc[filepath] = acc[filepath] || [];
99
+ if (exportName) {
100
+ acc[filepath].push({
101
+ title: exportName,
102
+ value: getFilepathExport(filepath, exportName),
103
+ });
104
+ }
105
+ return acc;
106
+ }, {});
107
+ }
108
+ exports.getComponentOptionsMap = getComponentOptionsMap;
109
+ /**
110
+ * Parses a ProjectInfo for any TS exports (or filepaths if not a TS project)
111
+ *
112
+ * @param projectInfo
113
+ * @returns an array of components in the format `${filepath}~${componentName}
114
+ */
115
+ function getFilepathExportsFromFiles(projectInfo, cmd) {
116
+ return projectInfo.files.reduce((options, filepath) => {
117
+ if (projectInfo.config.parser === 'react') {
118
+ const { tsProgram } = projectInfo;
119
+ if (!(0, parser_1.isFigmaConnectFile)(tsProgram, filepath)) {
120
+ const checker = tsProgram.getTypeChecker();
121
+ const sourceFile = tsProgram.getSourceFile(filepath);
122
+ if (!sourceFile) {
123
+ throw new Error(`Could not parse file ${filepath}`);
124
+ }
125
+ try {
126
+ const sourceFileSymbol = checker.getSymbolAtLocation(sourceFile);
127
+ const exports = checker.getExportsOfModule(sourceFileSymbol);
128
+ exports.forEach((exp) => {
129
+ options.push(getFilepathExport(filepath, exp.getName()));
130
+ });
131
+ }
132
+ catch (e) {
133
+ if (cmd.verbose) {
134
+ logging_1.logger.warn(`Could not get exports from ${filepath}`);
135
+ }
136
+ // ignore invalid files
137
+ }
138
+ }
139
+ }
140
+ else {
141
+ options.push(filepath);
142
+ }
143
+ return options;
144
+ }, []);
145
+ }
146
+ exports.getFilepathExportsFromFiles = getFilepathExportsFromFiles;
70
147
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/connect/wizard/helpers.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAoC;AACpC,4CAAmB;AACnB,wCAImB;AACnB,kDAAsD;AACtD,gDAAuB;AAIvB;;;;;;;;GAQG;AACH,SAAgB,eAAe,CAAC,EAC9B,GAAG,EACH,kBAAkB,EAClB,MAAM,GAKP;IACC,IAAI,kBAAkB,EAAE,CAAC;QACvB,4CAA4C;QAC5C,MAAM,mBAAmB,GAAG,cAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC,UAAU,CAAC,cAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QAC5F,OAAO,yCAA+B,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CACvD,CAAC,kBAAkB,EAAE,EAAE,CAAC,GAAG,mBAAmB,IAAI,kBAAkB,EAAE,CACvE,CAAA;IACH,CAAC;IACD,OAAO,yCAA+B,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;AACvD,CAAC;AAjBD,0CAiBC;AAEM,KAAK,UAAU,uBAAuB,CAAC,EAC5C,GAAG,EACH,kBAAkB,EAClB,MAAM,GAKP;IACC,MAAM,YAAY,GAAG,eAAe,CAAC,EAAE,GAAG,EAAE,kBAAkB,EAAE,MAAM,EAAE,CAAC,CAAA;IACzE,MAAM,UAAU,GAAG;;;mBAGF,YAAY;;;GAG5B,CAAA;IACD,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE;QAClD,MAAM,EAAE,MAAM;KACf,CAAC,CAAA;IACF,MAAM,QAAQ,GAAG,IAAA,8BAAoB,EAAC,GAAG,CAAC,CAAA;IAE1C,YAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAErC,gBAAM,CAAC,IAAI,CAAC,IAAA,iBAAO,EAAC,WAAW,QAAQ,EAAE,CAAC,CAAC,CAAA;AAC7C,CAAC;AAzBD,0DAyBC"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/connect/wizard/helpers.ts"],"names":[],"mappings":"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"}