@figma/code-connect 0.1.1 → 0.2.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 (118) hide show
  1. package/README.md +123 -25
  2. package/dist/cli.js +7 -0
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/connect.d.ts +15 -0
  5. package/dist/commands/connect.d.ts.map +1 -1
  6. package/dist/commands/connect.js +140 -79
  7. package/dist/commands/connect.js.map +1 -1
  8. package/dist/common/__test__/project.test.d.ts +2 -0
  9. package/dist/common/__test__/project.test.d.ts.map +1 -0
  10. package/dist/common/__test__/project.test.js +14 -0
  11. package/dist/common/__test__/project.test.js.map +1 -0
  12. package/dist/common/api.d.ts +77 -5
  13. package/dist/common/api.d.ts.map +1 -1
  14. package/dist/common/external.d.ts +7 -3
  15. package/dist/common/external.d.ts.map +1 -1
  16. package/dist/common/external.js +13 -1
  17. package/dist/common/external.js.map +1 -1
  18. package/dist/common/figma_connect.d.ts +12 -10
  19. package/dist/common/figma_connect.d.ts.map +1 -1
  20. package/dist/common/intrinsics.d.ts +39 -7
  21. package/dist/common/intrinsics.d.ts.map +1 -1
  22. package/dist/common/intrinsics.js +166 -30
  23. package/dist/common/intrinsics.js.map +1 -1
  24. package/dist/common/logging.d.ts +9 -0
  25. package/dist/common/logging.d.ts.map +1 -1
  26. package/dist/common/logging.js +21 -1
  27. package/dist/common/logging.js.map +1 -1
  28. package/dist/common/updates.d.ts +4 -0
  29. package/dist/common/updates.d.ts.map +1 -0
  30. package/dist/common/updates.js +87 -0
  31. package/dist/common/updates.js.map +1 -0
  32. package/dist/connect/create.d.ts +5 -1
  33. package/dist/connect/create.d.ts.map +1 -1
  34. package/dist/connect/create.js +55 -69
  35. package/dist/connect/create.js.map +1 -1
  36. package/dist/connect/delete_docs.d.ts.map +1 -1
  37. package/dist/connect/delete_docs.js +1 -4
  38. package/dist/connect/delete_docs.js.map +1 -1
  39. package/dist/connect/figma_rest_api.d.ts +5 -0
  40. package/dist/connect/figma_rest_api.d.ts.map +1 -1
  41. package/dist/connect/figma_rest_api.js +10 -1
  42. package/dist/connect/figma_rest_api.js.map +1 -1
  43. package/dist/connect/helpers.d.ts +1 -1
  44. package/dist/connect/helpers.d.ts.map +1 -1
  45. package/dist/connect/helpers.js +6 -5
  46. package/dist/connect/helpers.js.map +1 -1
  47. package/dist/connect/parser_executable_types.d.ts +298 -0
  48. package/dist/connect/parser_executable_types.d.ts.map +1 -0
  49. package/dist/connect/parser_executable_types.js +108 -0
  50. package/dist/connect/parser_executable_types.js.map +1 -0
  51. package/dist/connect/parser_executables.d.ts +8 -0
  52. package/dist/connect/parser_executables.d.ts.map +1 -0
  53. package/dist/connect/parser_executables.js +132 -0
  54. package/dist/connect/parser_executables.js.map +1 -0
  55. package/dist/connect/project.d.ts +137 -0
  56. package/dist/connect/project.d.ts.map +1 -0
  57. package/dist/connect/project.js +411 -0
  58. package/dist/connect/project.js.map +1 -0
  59. package/dist/connect/upload.d.ts.map +1 -1
  60. package/dist/connect/upload.js +2 -5
  61. package/dist/connect/upload.js.map +1 -1
  62. package/dist/connect/validation.d.ts +6 -1
  63. package/dist/connect/validation.d.ts.map +1 -1
  64. package/dist/connect/validation.js +12 -12
  65. package/dist/connect/validation.js.map +1 -1
  66. package/dist/connect/wizard/helpers.d.ts +7 -0
  67. package/dist/connect/wizard/helpers.d.ts.map +1 -0
  68. package/dist/connect/wizard/helpers.js +55 -0
  69. package/dist/connect/wizard/helpers.js.map +1 -0
  70. package/dist/connect/wizard/run_wizard.d.ts +3 -0
  71. package/dist/connect/wizard/run_wizard.d.ts.map +1 -0
  72. package/dist/connect/wizard/run_wizard.js +479 -0
  73. package/dist/connect/wizard/run_wizard.js.map +1 -0
  74. package/dist/parser_scripts/get_file_if_exists.d.ts +2 -0
  75. package/dist/parser_scripts/get_file_if_exists.d.ts.map +1 -0
  76. package/dist/parser_scripts/get_file_if_exists.js +10 -0
  77. package/dist/parser_scripts/get_file_if_exists.js.map +1 -0
  78. package/dist/parser_scripts/get_gradlew_path.d.ts +3 -0
  79. package/dist/parser_scripts/get_gradlew_path.d.ts.map +1 -0
  80. package/dist/parser_scripts/get_gradlew_path.js +24 -0
  81. package/dist/parser_scripts/get_gradlew_path.js.map +1 -0
  82. package/dist/parser_scripts/get_swift_parser_dir.d.ts +2 -0
  83. package/dist/parser_scripts/get_swift_parser_dir.d.ts.map +1 -0
  84. package/dist/parser_scripts/get_swift_parser_dir.js +93 -0
  85. package/dist/parser_scripts/get_swift_parser_dir.js.map +1 -0
  86. package/dist/react/create.d.ts +4 -0
  87. package/dist/react/create.d.ts.map +1 -0
  88. package/dist/react/create.js +132 -0
  89. package/dist/react/create.js.map +1 -0
  90. package/dist/{common → react}/parser.d.ts +6 -15
  91. package/dist/react/parser.d.ts.map +1 -0
  92. package/dist/{common → react}/parser.js +223 -172
  93. package/dist/react/parser.js.map +1 -0
  94. package/dist/react/parser_template_helpers.d.ts +23 -0
  95. package/dist/react/parser_template_helpers.d.ts.map +1 -0
  96. package/dist/react/parser_template_helpers.js +126 -0
  97. package/dist/react/parser_template_helpers.js.map +1 -0
  98. package/dist/storybook/convert.d.ts +2 -2
  99. package/dist/storybook/convert.d.ts.map +1 -1
  100. package/dist/storybook/convert.js +11 -7
  101. package/dist/storybook/convert.js.map +1 -1
  102. package/dist/{common → typescript}/compiler.d.ts +1 -1
  103. package/dist/typescript/compiler.d.ts.map +1 -0
  104. package/dist/{common → typescript}/compiler.js +21 -2
  105. package/dist/typescript/compiler.js.map +1 -0
  106. package/package.json +36 -11
  107. package/dist/common/compiler.d.ts.map +0 -1
  108. package/dist/common/compiler.js.map +0 -1
  109. package/dist/common/parser.d.ts.map +0 -1
  110. package/dist/common/parser.js.map +0 -1
  111. package/dist/common/parser_template_helpers.d.ts +0 -2
  112. package/dist/common/parser_template_helpers.d.ts.map +0 -1
  113. package/dist/common/parser_template_helpers.js +0 -58
  114. package/dist/common/parser_template_helpers.js.map +0 -1
  115. package/dist/common/project.d.ts +0 -84
  116. package/dist/common/project.d.ts.map +0 -1
  117. package/dist/common/project.js +0 -179
  118. package/dist/common/project.js.map +0 -1
@@ -23,12 +23,13 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.intrinsicToString = exports.valueMappingToString = exports.parseIntrinsic = exports.IntrinsicKind = exports.FIGMA_CONNECT_CALL = exports.API_PREFIX = void 0;
26
+ exports.parsePropsObject = exports.intrinsicToString = exports.valueMappingToString = exports.parseIntrinsic = exports.IntrinsicKind = exports.FIGMA_CONNECT_CALL = exports.API_PREFIX = void 0;
27
27
  const ts = __importStar(require("typescript"));
28
- const parser_1 = require("./parser");
29
- const compiler_1 = require("./compiler");
30
- const compiler_2 = require("./compiler");
31
- const compiler_3 = require("./compiler");
28
+ const parser_1 = require("../react/parser");
29
+ const compiler_1 = require("../typescript/compiler");
30
+ const compiler_2 = require("../typescript/compiler");
31
+ const compiler_3 = require("../typescript/compiler");
32
+ const parser_template_helpers_1 = require("../react/parser_template_helpers");
32
33
  exports.API_PREFIX = 'figma';
33
34
  exports.FIGMA_CONNECT_CALL = `${exports.API_PREFIX}.connect`;
34
35
  var IntrinsicKind;
@@ -38,6 +39,9 @@ var IntrinsicKind;
38
39
  IntrinsicKind["Boolean"] = "boolean";
39
40
  IntrinsicKind["Instance"] = "instance";
40
41
  IntrinsicKind["Children"] = "children";
42
+ IntrinsicKind["NestedProps"] = "nested-props";
43
+ IntrinsicKind["ClassName"] = "className";
44
+ IntrinsicKind["TextContent"] = "text-content";
41
45
  })(IntrinsicKind || (exports.IntrinsicKind = IntrinsicKind = {}));
42
46
  const Intrinsics = {};
43
47
  /**
@@ -68,11 +72,7 @@ makeIntrinsic('boolean', (name) => {
68
72
  let valueMapping;
69
73
  if (valueMappingArg) {
70
74
  (0, compiler_3.assertIsObjectLiteralExpression)(valueMappingArg, ctx.sourceFile, `${name} second argument should be an object literal, that sets values for 'true' and 'false'`);
71
- valueMapping = (0, compiler_2.convertObjectLiteralToJs)(valueMappingArg, ctx.sourceFile, ctx.checker, (valueNode) => {
72
- if (ts.isCallExpression(valueNode)) {
73
- return parseIntrinsic(valueNode, ctx);
74
- }
75
- });
75
+ valueMapping = parsePropsObject(valueMappingArg, ctx);
76
76
  }
77
77
  return {
78
78
  kind: IntrinsicKind.Boolean,
@@ -87,7 +87,7 @@ makeIntrinsic('boolean', (name) => {
87
87
  makeIntrinsic('enum', (name) => {
88
88
  return {
89
89
  parse: (exp, ctx) => {
90
- const { sourceFile, checker } = ctx;
90
+ const { sourceFile } = ctx;
91
91
  const figmaPropNameIdentifier = exp.arguments?.[0];
92
92
  (0, compiler_1.assertIsStringLiteral)(figmaPropNameIdentifier, sourceFile, `${name} takes at least one argument, which is the Figma property name`);
93
93
  const valueMapping = exp.arguments?.[1];
@@ -96,11 +96,7 @@ makeIntrinsic('enum', (name) => {
96
96
  kind: IntrinsicKind.Enum,
97
97
  args: {
98
98
  figmaPropName: (0, compiler_1.stripQuotes)(figmaPropNameIdentifier),
99
- valueMapping: (0, compiler_2.convertObjectLiteralToJs)(valueMapping, sourceFile, checker, (valueNode) => {
100
- if (ts.isCallExpression(valueNode)) {
101
- return parseIntrinsic(valueNode, ctx);
102
- }
103
- }),
99
+ valueMapping: parsePropsObject(valueMapping, ctx),
104
100
  },
105
101
  };
106
102
  },
@@ -148,6 +144,13 @@ makeIntrinsic('children', (name) => {
148
144
  else if (ts.isArrayLiteralExpression(layerName) && layerName.elements.length > 0) {
149
145
  layerName.elements.forEach((el) => {
150
146
  (0, compiler_1.assertIsStringLiteral)(el, sourceFile);
147
+ const name = (0, compiler_1.stripQuotes)(el);
148
+ if (name.includes('*')) {
149
+ throw new parser_1.ParserError(`Wildcards can not be used with an array of strings. Use a single string literal instead.`, {
150
+ node: layerName,
151
+ sourceFile,
152
+ });
153
+ }
151
154
  layers.push((0, compiler_1.stripQuotes)(el));
152
155
  });
153
156
  }
@@ -166,6 +169,63 @@ makeIntrinsic('children', (name) => {
166
169
  },
167
170
  };
168
171
  });
172
+ makeIntrinsic('nestedProps', (name) => {
173
+ return {
174
+ parse: (exp, ctx) => {
175
+ const { sourceFile } = ctx;
176
+ const layerName = exp.arguments?.[0];
177
+ const mapping = exp.arguments?.[1];
178
+ (0, compiler_1.assertIsStringLiteral)(layerName, sourceFile, `Invalid argument to ${name}, \`layerName\` should be a string literal`);
179
+ (0, compiler_3.assertIsObjectLiteralExpression)(mapping, sourceFile, `Invalid argument to ${name}, \`props\` should be an object literal`);
180
+ return {
181
+ kind: IntrinsicKind.NestedProps,
182
+ args: {
183
+ layer: (0, compiler_1.stripQuotes)(layerName),
184
+ props: parsePropsObject(mapping, ctx),
185
+ },
186
+ };
187
+ },
188
+ };
189
+ });
190
+ makeIntrinsic('className', (name) => {
191
+ return {
192
+ parse: (exp, ctx) => {
193
+ const { sourceFile } = ctx;
194
+ const classNameArg = exp.arguments?.[0];
195
+ const className = [];
196
+ (0, compiler_1.assertIsArrayLiteralExpression)(classNameArg, sourceFile, `${name} takes an array of strings`);
197
+ classNameArg.elements.forEach((el) => {
198
+ if (ts.isStringLiteral(el)) {
199
+ className.push((0, compiler_1.stripQuotes)(el));
200
+ }
201
+ else if (ts.isCallExpression(el)) {
202
+ className.push(parseIntrinsic(el, ctx));
203
+ }
204
+ });
205
+ return {
206
+ kind: IntrinsicKind.ClassName,
207
+ args: {
208
+ className,
209
+ },
210
+ };
211
+ },
212
+ };
213
+ });
214
+ makeIntrinsic('textContent', (name) => {
215
+ return {
216
+ parse: (exp, ctx) => {
217
+ const { sourceFile } = ctx;
218
+ const layerNameArg = exp.arguments?.[0];
219
+ (0, compiler_1.assertIsStringLiteral)(layerNameArg, sourceFile, `${name} takes a single argument which is the Figma layer name`);
220
+ return {
221
+ kind: IntrinsicKind.TextContent,
222
+ args: {
223
+ layer: (0, compiler_1.stripQuotes)(layerNameArg),
224
+ },
225
+ };
226
+ },
227
+ };
228
+ });
169
229
  /**
170
230
  * Parses a call expression to an intrinsic
171
231
  *
@@ -185,28 +245,53 @@ function parseIntrinsic(exp, parserContext) {
185
245
  });
186
246
  }
187
247
  exports.parseIntrinsic = parseIntrinsic;
188
- function valueMappingToString(valueMapping) {
248
+ /**
249
+ * Replace newlines in enum values with \\n so that we don't output
250
+ * broken JS with newlines inside the string
251
+ */
252
+ function replaceNewlines(str) {
253
+ return str.toString().replaceAll('\n', '\\n').replaceAll("'", "\\'");
254
+ }
255
+ function valueMappingToString(valueMapping, childLayer) {
189
256
  // For enums (and booleans with a valueMapping provided), convert the
190
257
  // value mapping to an object.
191
258
  return ('{\n' +
192
259
  Object.entries(valueMapping)
193
260
  .map(([key, value]) => {
194
- if (typeof value === 'object' && 'kind' in value) {
195
- // Mappings can be nested, e.g. an enum value can be figma.instance(...)
196
- return `"${key}": ${intrinsicToString(value)}`;
197
- }
198
- else if (typeof value === 'boolean' || typeof value === 'undefined') {
261
+ if (typeof value === 'boolean' ||
262
+ typeof value === 'number' ||
263
+ typeof value === 'undefined') {
199
264
  return `"${key}": ${value}`;
200
265
  }
201
- else {
202
- return `"${key}": '${value}'`;
266
+ if (typeof value === 'string') {
267
+ return `"${key}": '${replaceNewlines(value)}'`;
268
+ }
269
+ if ('kind' in value) {
270
+ // Mappings can be nested, e.g. an enum value can be figma.instance(...)
271
+ return `"${key}": ${intrinsicToString(value, childLayer)}`;
272
+ }
273
+ const v = replaceNewlines(value.value);
274
+ switch (value.type) {
275
+ case 'function':
276
+ return `"${key}": _fcc_function('${v}')`;
277
+ case 'identifier':
278
+ return `"${key}": _fcc_identifier('${v}')`;
279
+ case 'object':
280
+ return `"${key}": _fcc_object('${v}')`;
281
+ case 'template-string':
282
+ return `"${key}": _fcc_templateString('${v}')`;
283
+ case 'jsx-element':
284
+ return `"${key}": _fcc_jsxElement('${v}')`;
285
+ default:
286
+ throw new parser_1.InternalError(`Unknown helper type: ${value}`);
203
287
  }
204
288
  })
205
289
  .join(',\n') +
206
290
  '}');
207
291
  }
208
292
  exports.valueMappingToString = valueMappingToString;
209
- function intrinsicToString({ kind, args }) {
293
+ function intrinsicToString({ kind, args }, childLayer) {
294
+ const selector = childLayer ?? `figma.currentLayer`;
210
295
  switch (kind) {
211
296
  case IntrinsicKind.String:
212
297
  case IntrinsicKind.Instance: {
@@ -214,28 +299,79 @@ function intrinsicToString({ kind, args }) {
214
299
  // `const propName = figma.properties.string('propName')`, or
215
300
  // `const propName = figma.properties.boolean('propName')`, or
216
301
  // `const propName = figma.properties.instance('propName')`
217
- return `figma.properties.${kind}('${args.figmaPropName}')`;
302
+ return `${selector}.__properties__.${kind}('${args.figmaPropName}')`;
218
303
  }
219
304
  case IntrinsicKind.Boolean: {
220
305
  if (args.valueMapping) {
221
306
  const mappingString = valueMappingToString(args.valueMapping);
222
307
  // Outputs: `const propName = figma.properties.boolean('propName', { ... mapping object from above ... })`
223
- return `figma.properties.boolean('${args.figmaPropName}', ${mappingString})`;
308
+ return `${selector}.__properties__.boolean('${args.figmaPropName}', ${mappingString})`;
224
309
  }
225
- return `figma.properties.boolean('${args.figmaPropName}')`;
310
+ return `${selector}.__properties__.boolean('${args.figmaPropName}')`;
226
311
  }
227
312
  case IntrinsicKind.Enum: {
228
313
  const mappingString = valueMappingToString(args.valueMapping);
229
314
  // Outputs: `const propName = figma.properties.enum('propName', { ... mapping object from above ... })`
230
- return `figma.properties.enum('${args.figmaPropName}', ${mappingString})`;
315
+ return `${selector}.__properties__.enum('${args.figmaPropName}', ${mappingString})`;
231
316
  }
232
317
  case IntrinsicKind.Children: {
233
318
  // Outputs: `const propName = figma.properties.children(["Layer 1", "Layer 2"])`
234
- return `figma.properties.children([${args.layers.map((layerName) => `"${layerName}"`).join(',')}])`;
319
+ return `${selector}.__properties__.children([${args.layers.map((layerName) => `"${layerName}"`).join(',')}])`;
320
+ }
321
+ case IntrinsicKind.ClassName: {
322
+ // Outputs: `const propName = ['btn-base', figma.currentLayer.__properties__.enum('Size, { Large: 'btn-large' })].join(" ")`
323
+ return `[${args.className.map((className) => (typeof className === 'string' ? `"${className}"` : `${intrinsicToString(className, childLayer)}`)).join(', ')}].filter(v => !!v).join(' ')`;
324
+ }
325
+ case IntrinsicKind.TextContent: {
326
+ return `${selector}.__findChildWithCriteria__({ name: '${args.layer}', type: "TEXT" }).textContent`;
327
+ }
328
+ case IntrinsicKind.NestedProps: {
329
+ throw new parser_1.ParserError(`Deeply nested props should be expressed on the root level by passing the name of the inner layer`);
235
330
  }
236
331
  default:
237
332
  throw new parser_1.InternalError(`Unknown intrinsic: ${kind}`);
238
333
  }
239
334
  }
240
335
  exports.intrinsicToString = intrinsicToString;
336
+ function expressionToFccEnumValue(valueNode, sourceFile) {
337
+ if (ts.isParenthesizedExpression(valueNode)) {
338
+ return expressionToFccEnumValue(valueNode.expression, sourceFile);
339
+ }
340
+ if (ts.isJsxElement(valueNode) || ts.isJsxSelfClosingElement(valueNode)) {
341
+ return (0, parser_template_helpers_1._fcc_jsxElement)(valueNode.getText());
342
+ }
343
+ if (ts.isArrowFunction(valueNode) || ts.isFunctionExpression(valueNode)) {
344
+ return (0, parser_template_helpers_1._fcc_function)(valueNode.getText());
345
+ }
346
+ if (ts.isObjectLiteralExpression(valueNode)) {
347
+ return (0, parser_template_helpers_1._fcc_object)(valueNode.getText());
348
+ }
349
+ if (ts.isTemplateLiteral(valueNode)) {
350
+ const str = valueNode.getText().replaceAll('`', '');
351
+ return (0, parser_template_helpers_1._fcc_templateString)(str);
352
+ }
353
+ if (ts.isPropertyAccessExpression(valueNode)) {
354
+ return (0, parser_template_helpers_1._fcc_identifier)(valueNode.getText());
355
+ }
356
+ // Fall back to the default conversion in `convertObjectLiteralToJs`
357
+ return undefined;
358
+ }
359
+ /**
360
+ * Parses the `props` field in a `figma.connect()` call, returning a mapping of
361
+ * prop names to their respective intrinsic types
362
+ *
363
+ * @param objectLiteral An object literal expression
364
+ * @param parserContext Parser context
365
+ * @returns
366
+ */
367
+ function parsePropsObject(objectLiteral, parserContext) {
368
+ const { sourceFile, checker } = parserContext;
369
+ return (0, compiler_2.convertObjectLiteralToJs)(objectLiteral, sourceFile, checker, (valueNode) => {
370
+ if (ts.isCallExpression(valueNode)) {
371
+ return parseIntrinsic(valueNode, parserContext);
372
+ }
373
+ return expressionToFccEnumValue(valueNode, sourceFile);
374
+ });
375
+ }
376
+ exports.parsePropsObject = parsePropsObject;
241
377
  //# sourceMappingURL=intrinsics.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"intrinsics.js","sourceRoot":"","sources":["../../src/common/intrinsics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"intrinsics.js","sourceRoot":"","sources":["../../src/common/intrinsics.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAgC;AAChC,4CAA2E;AAC3E,qDAI+B;AAC/B,qDAAiE;AACjE,qDAAwE;AAExE,8EAOyC;AAE5B,QAAA,UAAU,GAAG,OAAO,CAAA;AACpB,QAAA,kBAAkB,GAAG,GAAG,kBAAU,UAAU,CAAA;AAEzD,IAAY,aASX;AATD,WAAY,aAAa;IACvB,8BAAa,CAAA;IACb,kCAAiB,CAAA;IACjB,oCAAmB,CAAA;IACnB,sCAAqB,CAAA;IACrB,sCAAqB,CAAA;IACrB,6CAA4B,CAAA;IAC5B,wCAAuB,CAAA;IACvB,6CAA4B,CAAA;AAC9B,CAAC,EATW,aAAa,6BAAb,aAAa,QASxB;AA8ED,MAAM,UAAU,GAKZ,EAAE,CAAA;AAEN;;;;;;;;;GASG;AACH,SAAS,aAAa,CACpB,aAAgB,EAChB,GAA0B;IAE1B,MAAM,IAAI,GAAG,GAAG,kBAAU,IAAI,aAAa,EAAE,CAAA;IAC7C,UAAU,CAAC,IAAI,CAAC,GAAG;QACjB,KAAK,EAAE,CAAC,GAAsB,EAAE,EAAE;YAChC,OAAO,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;QACnE,CAAC;QACD,GAAG,GAAG,CAAC,IAAI,CAAC;KACb,CAAA;AACH,CAAC;AAED,aAAa,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE;IAChC,OAAO;QACL,KAAK,EAAE,CAAC,GAAsB,EAAE,GAAkB,EAAgB,EAAE;YAClE,MAAM,uBAAuB,GAAG,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAA;YAClD,IAAA,gCAAqB,EACnB,uBAAuB,EACvB,GAAG,CAAC,UAAU,EACd,GAAG,IAAI,gEAAgE,CACxE,CAAA;YACD,MAAM,eAAe,GAAG,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAA;YAC1C,IAAI,YAAY,CAAA;YAChB,IAAI,eAAe,EAAE,CAAC;gBACpB,IAAA,0CAA+B,EAC7B,eAAe,EACf,GAAG,CAAC,UAAU,EACd,GAAG,IAAI,uFAAuF,CAC/F,CAAA;gBACD,YAAY,GAAG,gBAAgB,CAAC,eAAe,EAAE,GAAG,CAGnD,CAAA;YACH,CAAC;YACD,OAAO;gBACL,IAAI,EAAE,aAAa,CAAC,OAAO;gBAC3B,IAAI,EAAE;oBACJ,aAAa,EAAE,IAAA,sBAAW,EAAC,uBAAuB,CAAC;oBACnD,YAAY;iBACb;aACF,CAAA;QACH,CAAC;KACF,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,aAAa,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;IAC7B,OAAO;QACL,KAAK,EAAE,CAAC,GAAsB,EAAE,GAAkB,EAAa,EAAE;YAC/D,MAAM,EAAE,UAAU,EAAE,GAAG,GAAG,CAAA;YAC1B,MAAM,uBAAuB,GAAG,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAA;YAClD,IAAA,gCAAqB,EACnB,uBAAuB,EACvB,UAAU,EACV,GAAG,IAAI,gEAAgE,CACxE,CAAA;YACD,MAAM,YAAY,GAAG,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAA;YACvC,IAAA,0CAA+B,EAC7B,YAAY,EACZ,UAAU,EACV,GAAG,IAAI,mFAAmF,CAC3F,CAAA;YACD,OAAO;gBACL,IAAI,EAAE,aAAa,CAAC,IAAI;gBACxB,IAAI,EAAE;oBACJ,aAAa,EAAE,IAAA,sBAAW,EAAC,uBAAuB,CAAC;oBACnD,YAAY,EAAE,gBAAgB,CAAC,YAAY,EAAE,GAAG,CAAC;iBAClD;aACF,CAAA;QACH,CAAC;KACF,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,aAAa,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE;IAC/B,OAAO;QACL,KAAK,EAAE,CAAC,GAAsB,EAAE,GAAkB,EAAe,EAAE;YACjE,MAAM,EAAE,UAAU,EAAE,GAAG,GAAG,CAAA;YAC1B,MAAM,uBAAuB,GAAG,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAA;YAClD,IAAA,gCAAqB,EACnB,uBAAuB,EACvB,UAAU,EACV,GAAG,IAAI,gEAAgE,CACxE,CAAA;YACD,OAAO;gBACL,IAAI,EAAE,aAAa,CAAC,MAAM;gBAC1B,IAAI,EAAE;oBACJ,aAAa,EAAE,IAAA,sBAAW,EAAC,uBAAuB,CAAC;iBACpD;aACF,CAAA;QACH,CAAC;KACF,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,aAAa,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE;IACjC,OAAO;QACL,KAAK,EAAE,CAAC,GAAsB,EAAE,GAAkB,EAAiB,EAAE;YACnE,MAAM,EAAE,UAAU,EAAE,GAAG,GAAG,CAAA;YAC1B,MAAM,uBAAuB,GAAG,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAA;YAClD,IAAA,gCAAqB,EACnB,uBAAuB,EACvB,UAAU,EACV,GAAG,IAAI,gEAAgE,CACxE,CAAA;YACD,OAAO;gBACL,IAAI,EAAE,aAAa,CAAC,QAAQ;gBAC5B,IAAI,EAAE;oBACJ,aAAa,EAAE,IAAA,sBAAW,EAAC,uBAAuB,CAAC;iBACpD;aACF,CAAA;QACH,CAAC;KACF,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,aAAa,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE;IACjC,OAAO;QACL,KAAK,EAAE,CAAC,GAAsB,EAAE,GAAkB,EAAiB,EAAE;YACnE,MAAM,EAAE,UAAU,EAAE,GAAG,GAAG,CAAA;YAC1B,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAA;YACpC,MAAM,MAAM,GAAa,EAAE,CAAA;YAC3B,IAAI,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC;gBAClC,MAAM,CAAC,IAAI,CAAC,IAAA,sBAAW,EAAC,SAAS,CAAC,CAAC,CAAA;YACrC,CAAC;iBAAM,IAAI,EAAE,CAAC,wBAAwB,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnF,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;oBAChC,IAAA,gCAAqB,EAAC,EAAE,EAAE,UAAU,CAAC,CAAA;oBACrC,MAAM,IAAI,GAAG,IAAA,sBAAW,EAAC,EAAE,CAAC,CAAA;oBAC5B,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;wBACvB,MAAM,IAAI,oBAAW,CACnB,0FAA0F,EAC1F;4BACE,IAAI,EAAE,SAAS;4BACf,UAAU;yBACX,CACF,CAAA;oBACH,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC,IAAA,sBAAW,EAAC,EAAE,CAAC,CAAC,CAAA;gBAC9B,CAAC,CAAC,CAAA;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,oBAAW,CACnB,uBAAuB,IAAI,qDAAqD,EAChF;oBACE,IAAI,EAAE,SAAS;oBACf,UAAU;iBACX,CACF,CAAA;YACH,CAAC;YAED,OAAO;gBACL,IAAI,EAAE,aAAa,CAAC,QAAQ;gBAC5B,IAAI,EAAE;oBACJ,MAAM;iBACP;aACF,CAAA;QACH,CAAC;KACF,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,aAAa,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE;IACpC,OAAO;QACL,KAAK,EAAE,CAAC,GAAsB,EAAE,GAAkB,EAAoB,EAAE;YACtE,MAAM,EAAE,UAAU,EAAE,GAAG,GAAG,CAAA;YAC1B,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAA;YACpC,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAA;YAElC,IAAA,gCAAqB,EACnB,SAAS,EACT,UAAU,EACV,uBAAuB,IAAI,4CAA4C,CACxE,CAAA;YACD,IAAA,0CAA+B,EAC7B,OAAO,EACP,UAAU,EACV,uBAAuB,IAAI,yCAAyC,CACrE,CAAA;YAED,OAAO;gBACL,IAAI,EAAE,aAAa,CAAC,WAAW;gBAC/B,IAAI,EAAE;oBACJ,KAAK,EAAE,IAAA,sBAAW,EAAC,SAAS,CAAC;oBAC7B,KAAK,EAAE,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC;iBACtC;aACF,CAAA;QACH,CAAC;KACF,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,aAAa,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE;IAClC,OAAO;QACL,KAAK,EAAE,CAAC,GAAsB,EAAE,GAAkB,EAAkB,EAAE;YACpE,MAAM,EAAE,UAAU,EAAE,GAAG,GAAG,CAAA;YAC1B,MAAM,YAAY,GAAG,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAA;YACvC,MAAM,SAAS,GAA2B,EAAE,CAAA;YAC5C,IAAA,yCAA8B,EAAC,YAAY,EAAE,UAAU,EAAE,GAAG,IAAI,4BAA4B,CAAC,CAAA;YAE7F,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;gBACnC,IAAI,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,CAAC;oBAC3B,SAAS,CAAC,IAAI,CAAC,IAAA,sBAAW,EAAC,EAAE,CAAC,CAAC,CAAA;gBACjC,CAAC;qBAAM,IAAI,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC,EAAE,CAAC;oBACnC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAA;gBACzC,CAAC;YACH,CAAC,CAAC,CAAA;YAEF,OAAO;gBACL,IAAI,EAAE,aAAa,CAAC,SAAS;gBAC7B,IAAI,EAAE;oBACJ,SAAS;iBACV;aACF,CAAA;QACH,CAAC;KACF,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,aAAa,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE;IACpC,OAAO;QACL,KAAK,EAAE,CAAC,GAAsB,EAAE,GAAkB,EAAoB,EAAE;YACtE,MAAM,EAAE,UAAU,EAAE,GAAG,GAAG,CAAA;YAC1B,MAAM,YAAY,GAAG,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAA;YACvC,IAAA,gCAAqB,EACnB,YAAY,EACZ,UAAU,EACV,GAAG,IAAI,wDAAwD,CAChE,CAAA;YAED,OAAO;gBACL,IAAI,EAAE,aAAa,CAAC,WAAW;gBAC/B,IAAI,EAAE;oBACJ,KAAK,EAAE,IAAA,sBAAW,EAAC,YAAY,CAAC;iBACjC;aACF,CAAA;QACH,CAAC;KACF,CAAA;AACH,CAAC,CAAC,CAAA;AAEF;;;;;;GAMG;AACH,SAAgB,cAAc,CAAC,GAAsB,EAAE,aAA4B;IACjF,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/B,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,CAAC,CAAA;QAClD,CAAC;IACH,CAAC;IAED,MAAM,IAAI,oBAAW,CAAC,sBAAsB,GAAG,CAAC,OAAO,EAAE,EAAE,EAAE;QAC3D,IAAI,EAAE,GAAG;QACT,UAAU,EAAE,aAAa,CAAC,UAAU;KACrC,CAAC,CAAA;AACJ,CAAC;AAXD,wCAWC;AAED;;;GAGG;AACH,SAAS,eAAe,CAAC,GAAW;IAClC,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;AACtE,CAAC;AAED,SAAgB,oBAAoB,CAClC,YAA8C,EAC9C,UAAmB;IAEnB,qEAAqE;IACrE,8BAA8B;IAC9B,OAAO,CACL,KAAK;QACL,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC;aACzB,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YACpB,IACE,OAAO,KAAK,KAAK,SAAS;gBAC1B,OAAO,KAAK,KAAK,QAAQ;gBACzB,OAAO,KAAK,KAAK,WAAW,EAC5B,CAAC;gBACD,OAAO,IAAI,GAAG,MAAM,KAAK,EAAE,CAAA;YAC7B,CAAC;YAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,OAAO,IAAI,GAAG,OAAO,eAAe,CAAC,KAAK,CAAC,GAAG,CAAA;YAChD,CAAC;YAED,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;gBACpB,wEAAwE;gBACxE,OAAO,IAAI,GAAG,MAAM,iBAAiB,CAAC,KAAkB,EAAE,UAAU,CAAC,EAAE,CAAA;YACzE,CAAC;YAED,MAAM,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YACtC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;gBACnB,KAAK,UAAU;oBACb,OAAO,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAA;gBAC1C,KAAK,YAAY;oBACf,OAAO,IAAI,GAAG,uBAAuB,CAAC,IAAI,CAAA;gBAC5C,KAAK,QAAQ;oBACX,OAAO,IAAI,GAAG,mBAAmB,CAAC,IAAI,CAAA;gBACxC,KAAK,iBAAiB;oBACpB,OAAO,IAAI,GAAG,2BAA2B,CAAC,IAAI,CAAA;gBAChD,KAAK,aAAa;oBAChB,OAAO,IAAI,GAAG,uBAAuB,CAAC,IAAI,CAAA;gBAC5C;oBACE,MAAM,IAAI,sBAAa,CAAC,wBAAwB,KAAK,EAAE,CAAC,CAAA;YAC5D,CAAC;QACH,CAAC,CAAC;aACD,IAAI,CAAC,KAAK,CAAC;QACd,GAAG,CACJ,CAAA;AACH,CAAC;AA9CD,oDA8CC;AAED,SAAgB,iBAAiB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAa,EAAE,UAAmB;IAC9E,MAAM,QAAQ,GAAG,UAAU,IAAI,oBAAoB,CAAA;IACnD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,aAAa,CAAC,MAAM,CAAC;QAC1B,KAAK,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC5B,WAAW;YACX,6DAA6D;YAC7D,8DAA8D;YAC9D,2DAA2D;YAC3D,OAAO,GAAG,QAAQ,mBAAmB,IAAI,KAAK,IAAI,CAAC,aAAa,IAAI,CAAA;QACtE,CAAC;QACD,KAAK,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;YAC3B,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,MAAM,aAAa,GAAG,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;gBAC7D,0GAA0G;gBAC1G,OAAO,GAAG,QAAQ,4BAA4B,IAAI,CAAC,aAAa,MAAM,aAAa,GAAG,CAAA;YACxF,CAAC;YACD,OAAO,GAAG,QAAQ,4BAA4B,IAAI,CAAC,aAAa,IAAI,CAAA;QACtE,CAAC;QACD,KAAK,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;YACxB,MAAM,aAAa,GAAG,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;YAE7D,uGAAuG;YACvG,OAAO,GAAG,QAAQ,yBAAyB,IAAI,CAAC,aAAa,MAAM,aAAa,GAAG,CAAA;QACrF,CAAC;QACD,KAAK,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC5B,gFAAgF;YAChF,OAAO,GAAG,QAAQ,6BAA6B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAA;QAC/G,CAAC;QACD,KAAK,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;YAC7B,4HAA4H;YAC5H,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,8BAA8B,CAAA;QAC3L,CAAC;QACD,KAAK,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC;YAC/B,OAAO,GAAG,QAAQ,uCAAuC,IAAI,CAAC,KAAK,gCAAgC,CAAA;QACrG,CAAC;QACD,KAAK,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC;YAC/B,MAAM,IAAI,oBAAW,CACnB,kGAAkG,CACnG,CAAA;QACH,CAAC;QACD;YACE,MAAM,IAAI,sBAAa,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAA;IACzD,CAAC;AACH,CAAC;AA5CD,8CA4CC;AAED,SAAS,wBAAwB,CAAC,SAAwB,EAAE,UAAyB;IACnF,IAAI,EAAE,CAAC,yBAAyB,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5C,OAAO,wBAAwB,CAAC,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;IACnE,CAAC;IAED,IAAI,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,uBAAuB,CAAC,SAAS,CAAC,EAAE,CAAC;QACxE,OAAO,IAAA,yCAAe,EAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAA;IAC7C,CAAC;IAED,IAAI,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,oBAAoB,CAAC,SAAS,CAAC,EAAE,CAAC;QACxE,OAAO,IAAA,uCAAa,EAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAA;IAC3C,CAAC;IAED,IAAI,EAAE,CAAC,yBAAyB,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5C,OAAO,IAAA,qCAAW,EAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAA;IACzC,CAAC;IAED,IAAI,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,CAAC;QACpC,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QACnD,OAAO,IAAA,6CAAmB,EAAC,GAAG,CAAC,CAAA;IACjC,CAAC;IAED,IAAI,EAAE,CAAC,0BAA0B,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7C,OAAO,IAAA,yCAAe,EAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAA;IAC7C,CAAC;IAED,oEAAoE;IACpE,OAAO,SAAS,CAAA;AAClB,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,gBAAgB,CAC9B,aAAyC,EACzC,aAA4B;IAE5B,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,aAAa,CAAA;IAC7C,OAAO,IAAA,mCAAwB,EAAC,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,SAAS,EAAE,EAAE;QAChF,IAAI,EAAE,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC;YACnC,OAAO,cAAc,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;QACjD,CAAC;QACD,OAAO,wBAAwB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;IACxD,CAAC,CAAiB,CAAA;AACpB,CAAC;AAXD,4CAWC"}
@@ -20,6 +20,15 @@ export declare const logger: {
20
20
  error: (...msgs: unknown[]) => void;
21
21
  warn: (...msgs: unknown[]) => void;
22
22
  info: (...msgs: unknown[]) => void;
23
+ infoForce: (...msgs: unknown[]) => void;
23
24
  debug: (...msgs: unknown[]) => void;
24
25
  };
26
+ /**
27
+ * Exit the process with an error message. The `never` type tells TypeScript
28
+ * that code after this will not be executed.
29
+ *
30
+ * @param msg Error message
31
+ * @param errorCode Optional command exit code, defaults to 1
32
+ */
33
+ export declare function exitWithError(msg: string, errorCode?: number): never;
25
34
  //# sourceMappingURL=logging.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../../src/common/logging.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,eAAO,MAAM,KAAK,aAAY,CAAA;AAC9B,eAAO,MAAM,OAAO,aAAc,CAAA;AAClC,eAAO,MAAM,IAAI,aAAc,CAAA;AAC/B,eAAO,MAAM,IAAI,aAAe,CAAA;AAChC,eAAO,MAAM,KAAK,aAAa,CAAA;AAC/B,eAAO,MAAM,OAAO,aAAa,CAAA;AACjC,eAAO,MAAM,SAAS,aAAa,CAAA;AACnC,eAAO,MAAM,KAAK,aAAc,CAAA;AAChC,eAAO,MAAM,SAAS,aAAkB,CAAA;AAExC,oBAAY,QAAQ;IAClB,OAAO,IAAI;IACX,KAAK,IAAI;IACT,IAAI,IAAI;IACR,IAAI,IAAI;IACR,KAAK,IAAI;CACV;AAID,eAAO,MAAM,MAAM;yBACI,QAAQ;qBAGZ,OAAO,EAAE;oBAGV,OAAO,EAAE;oBAGT,OAAO,EAAE;qBAGR,OAAO,EAAE;CAG3B,CAAA"}
1
+ {"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../../src/common/logging.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAQzB,eAAO,MAAM,KAAK,aAAY,CAAA;AAC9B,eAAO,MAAM,OAAO,aAAc,CAAA;AAClC,eAAO,MAAM,IAAI,aAAc,CAAA;AAC/B,eAAO,MAAM,IAAI,aAAe,CAAA;AAChC,eAAO,MAAM,KAAK,aAAa,CAAA;AAC/B,eAAO,MAAM,OAAO,aAAa,CAAA;AACjC,eAAO,MAAM,SAAS,aAAa,CAAA;AACnC,eAAO,MAAM,KAAK,aAAc,CAAA;AAChC,eAAO,MAAM,SAAS,aAAkB,CAAA;AAExC,oBAAY,QAAQ;IAClB,OAAO,IAAI;IACX,KAAK,IAAI;IACT,IAAI,IAAI;IACR,IAAI,IAAI;IACR,KAAK,IAAI;CACV;AAID,eAAO,MAAM,MAAM;yBACI,QAAQ;qBAGZ,OAAO,EAAE;oBAGV,OAAO,EAAE;oBAGT,OAAO,EAAE;yBAGJ,OAAO,EAAE;qBAGb,OAAO,EAAE;CAG3B,CAAA;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,SAAI,GAAG,KAAK,CAG/D"}
@@ -3,8 +3,13 @@ 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.logger = exports.LogLevel = exports.underline = exports.reset = exports.highlight = exports.verbose = exports.debug = exports.warn = exports.info = exports.success = exports.error = void 0;
6
+ exports.exitWithError = exports.logger = exports.LogLevel = exports.underline = exports.reset = exports.highlight = exports.verbose = exports.debug = exports.warn = exports.info = exports.success = exports.error = void 0;
7
7
  const chalk_1 = __importDefault(require("chalk"));
8
+ const console_1 = require("console");
9
+ const updates_1 = require("./updates");
10
+ // Redirect all console output to stderr, so that JSON output to stdout in parse
11
+ // mode can be piped to other commands
12
+ const console = new console_1.Console(process.stderr);
8
13
  exports.error = chalk_1.default.red;
9
14
  exports.success = chalk_1.default.green;
10
15
  exports.info = chalk_1.default.white;
@@ -39,9 +44,24 @@ exports.logger = {
39
44
  if (logLevel >= LogLevel.Info)
40
45
  console.info((0, exports.info)(...msgs));
41
46
  },
47
+ infoForce: (...msgs) => {
48
+ console.info((0, exports.info)(...msgs));
49
+ },
42
50
  debug: (...msgs) => {
43
51
  if (logLevel >= LogLevel.Debug)
44
52
  console.debug((0, exports.debug)(...msgs));
45
53
  },
46
54
  };
55
+ /**
56
+ * Exit the process with an error message. The `never` type tells TypeScript
57
+ * that code after this will not be executed.
58
+ *
59
+ * @param msg Error message
60
+ * @param errorCode Optional command exit code, defaults to 1
61
+ */
62
+ function exitWithError(msg, errorCode = 1) {
63
+ exports.logger.error(msg);
64
+ (0, updates_1.exitWithUpdateCheck)(errorCode);
65
+ }
66
+ exports.exitWithError = exitWithError;
47
67
  //# sourceMappingURL=logging.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logging.js","sourceRoot":"","sources":["../../src/common/logging.ts"],"names":[],"mappings":";;;;;;AAAA,kDAAyB;AAEZ,QAAA,KAAK,GAAG,eAAK,CAAC,GAAG,CAAA;AACjB,QAAA,OAAO,GAAG,eAAK,CAAC,KAAK,CAAA;AACrB,QAAA,IAAI,GAAG,eAAK,CAAC,KAAK,CAAA;AAClB,QAAA,IAAI,GAAG,eAAK,CAAC,MAAM,CAAA;AACnB,QAAA,KAAK,GAAG,eAAK,CAAC,IAAI,CAAA;AAClB,QAAA,OAAO,GAAG,eAAK,CAAC,IAAI,CAAA;AACpB,QAAA,SAAS,GAAG,eAAK,CAAC,IAAI,CAAA;AACtB,QAAA,KAAK,GAAG,eAAK,CAAC,KAAK,CAAA;AACnB,QAAA,SAAS,GAAG,eAAK,CAAC,SAAS,CAAA;AAExC,IAAY,QAMX;AAND,WAAY,QAAQ;IAClB,6CAAW,CAAA;IACX,yCAAS,CAAA;IACT,uCAAQ,CAAA;IACR,uCAAQ,CAAA;IACR,yCAAS,CAAA;AACX,CAAC,EANW,QAAQ,wBAAR,QAAQ,QAMnB;AAED,IAAI,QAAQ,GAAa,QAAQ,CAAC,IAAI,CAAA;AAEzB,QAAA,MAAM,GAAG;IACpB,WAAW,EAAE,CAAC,KAAe,EAAE,EAAE;QAC/B,QAAQ,GAAG,KAAK,CAAA;IAClB,CAAC;IACD,KAAK,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE;QAC5B,IAAI,QAAQ,IAAI,QAAQ,CAAC,KAAK;YAAE,OAAO,CAAC,KAAK,CAAC,IAAA,aAAK,EAAC,GAAG,IAAI,CAAC,CAAC,CAAA;IAC/D,CAAC;IACD,IAAI,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE;QAC3B,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI;YAAE,OAAO,CAAC,IAAI,CAAC,IAAA,YAAI,EAAC,GAAG,IAAI,CAAC,CAAC,CAAA;IAC5D,CAAC;IACD,IAAI,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE;QAC3B,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI;YAAE,OAAO,CAAC,IAAI,CAAC,IAAA,YAAI,EAAC,GAAG,IAAI,CAAC,CAAC,CAAA;IAC5D,CAAC;IACD,KAAK,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE;QAC5B,IAAI,QAAQ,IAAI,QAAQ,CAAC,KAAK;YAAE,OAAO,CAAC,KAAK,CAAC,IAAA,aAAK,EAAC,GAAG,IAAI,CAAC,CAAC,CAAA;IAC/D,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"logging.js","sourceRoot":"","sources":["../../src/common/logging.ts"],"names":[],"mappings":";;;;;;AAAA,kDAAyB;AACzB,qCAAiC;AACjC,uCAA+C;AAE/C,gFAAgF;AAChF,sCAAsC;AACtC,MAAM,OAAO,GAAG,IAAI,iBAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;AAE9B,QAAA,KAAK,GAAG,eAAK,CAAC,GAAG,CAAA;AACjB,QAAA,OAAO,GAAG,eAAK,CAAC,KAAK,CAAA;AACrB,QAAA,IAAI,GAAG,eAAK,CAAC,KAAK,CAAA;AAClB,QAAA,IAAI,GAAG,eAAK,CAAC,MAAM,CAAA;AACnB,QAAA,KAAK,GAAG,eAAK,CAAC,IAAI,CAAA;AAClB,QAAA,OAAO,GAAG,eAAK,CAAC,IAAI,CAAA;AACpB,QAAA,SAAS,GAAG,eAAK,CAAC,IAAI,CAAA;AACtB,QAAA,KAAK,GAAG,eAAK,CAAC,KAAK,CAAA;AACnB,QAAA,SAAS,GAAG,eAAK,CAAC,SAAS,CAAA;AAExC,IAAY,QAMX;AAND,WAAY,QAAQ;IAClB,6CAAW,CAAA;IACX,yCAAS,CAAA;IACT,uCAAQ,CAAA;IACR,uCAAQ,CAAA;IACR,yCAAS,CAAA;AACX,CAAC,EANW,QAAQ,wBAAR,QAAQ,QAMnB;AAED,IAAI,QAAQ,GAAa,QAAQ,CAAC,IAAI,CAAA;AAEzB,QAAA,MAAM,GAAG;IACpB,WAAW,EAAE,CAAC,KAAe,EAAE,EAAE;QAC/B,QAAQ,GAAG,KAAK,CAAA;IAClB,CAAC;IACD,KAAK,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE;QAC5B,IAAI,QAAQ,IAAI,QAAQ,CAAC,KAAK;YAAE,OAAO,CAAC,KAAK,CAAC,IAAA,aAAK,EAAC,GAAG,IAAI,CAAC,CAAC,CAAA;IAC/D,CAAC;IACD,IAAI,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE;QAC3B,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI;YAAE,OAAO,CAAC,IAAI,CAAC,IAAA,YAAI,EAAC,GAAG,IAAI,CAAC,CAAC,CAAA;IAC5D,CAAC;IACD,IAAI,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE;QAC3B,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI;YAAE,OAAO,CAAC,IAAI,CAAC,IAAA,YAAI,EAAC,GAAG,IAAI,CAAC,CAAC,CAAA;IAC5D,CAAC;IACD,SAAS,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE;QAChC,OAAO,CAAC,IAAI,CAAC,IAAA,YAAI,EAAC,GAAG,IAAI,CAAC,CAAC,CAAA;IAC7B,CAAC;IACD,KAAK,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE;QAC5B,IAAI,QAAQ,IAAI,QAAQ,CAAC,KAAK;YAAE,OAAO,CAAC,KAAK,CAAC,IAAA,aAAK,EAAC,GAAG,IAAI,CAAC,CAAC,CAAA;IAC/D,CAAC;CACF,CAAA;AAED;;;;;;GAMG;AACH,SAAgB,aAAa,CAAC,GAAW,EAAE,SAAS,GAAG,CAAC;IACtD,cAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACjB,IAAA,6BAAmB,EAAC,SAAS,CAAC,CAAA;AAChC,CAAC;AAHD,sCAGC"}
@@ -0,0 +1,4 @@
1
+ export declare function withUpdateCheck(fn: (...args: any[]) => void | Promise<void>): (...args: any[]) => void;
2
+ export declare function exitWithUpdateCheck(errorCode?: number): never;
3
+ export declare function updateCli(): void;
4
+ //# sourceMappingURL=updates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updates.d.ts","sourceRoot":"","sources":["../../src/common/updates.ts"],"names":[],"mappings":"AAWA,wBAAgB,eAAe,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,aACzD,GAAG,EAAE,UAUvB;AAyCD,wBAAgB,mBAAmB,CAAC,SAAS,SAAI,GAAG,KAAK,CAGxD;AAkBD,wBAAgB,SAAS,SAExB"}
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.updateCli = exports.exitWithUpdateCheck = exports.withUpdateCheck = void 0;
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ const logging_1 = require("./logging");
9
+ const child_process_1 = require("child_process");
10
+ const axios_1 = __importDefault(require("axios"));
11
+ const compare_versions_1 = require("compare-versions");
12
+ let updatedVersionAvailable = undefined;
13
+ let message = undefined;
14
+ // Wrap action handlers to check for updates or a message, and output a message
15
+ // after the action if any are available
16
+ function withUpdateCheck(fn) {
17
+ return (...args) => {
18
+ startUpdateCheck();
19
+ const result = fn(...args);
20
+ if (result instanceof Promise) {
21
+ result.finally(waitAndCheckForUpdates);
22
+ }
23
+ else {
24
+ waitAndCheckForUpdates();
25
+ }
26
+ };
27
+ }
28
+ exports.withUpdateCheck = withUpdateCheck;
29
+ // Start checking for updates in the background. We don't wait for this before
30
+ // running the action, as we will show the result at the end
31
+ function startUpdateCheck() {
32
+ axios_1.default
33
+ .get('https://api.github.com/repos/figma/code-connect/releases/latest')
34
+ .then((response) => {
35
+ const latestVersion = response.data.tag_name.replace(/^v/, '');
36
+ const currentVersion = require('../../package.json').version;
37
+ if ((0, compare_versions_1.compareVersions)(latestVersion, currentVersion) === 1) {
38
+ updatedVersionAvailable = latestVersion;
39
+ }
40
+ else {
41
+ updatedVersionAvailable = false;
42
+ }
43
+ })
44
+ .catch(() => {
45
+ // Silently fail if we can't check for updates
46
+ updatedVersionAvailable = false;
47
+ });
48
+ }
49
+ // Wait for up to 1 second for the result of update checking to be available,
50
+ // and output a message if there is an update or a message. If there is no
51
+ // result after the timeout, the app will exit.
52
+ async function waitAndCheckForUpdates() {
53
+ for (let i = 0; i < 10; i++) {
54
+ if (updatedVersionAvailable !== undefined) {
55
+ break;
56
+ }
57
+ await new Promise((resolve) => setTimeout(resolve, 100));
58
+ }
59
+ maybeShowUpdateMessage();
60
+ }
61
+ // Exit the process, first checking if there is an update or message available.
62
+ // Unlike waitAndCheckForUpdates, this will not wait for the update check to
63
+ // complete, so if the request has not completed yet, nothing will be shown.
64
+ // This is to avoid confusion about when the process _actually_ exits.
65
+ function exitWithUpdateCheck(errorCode = 1) {
66
+ maybeShowUpdateMessage();
67
+ process.exit(errorCode);
68
+ }
69
+ exports.exitWithUpdateCheck = exitWithUpdateCheck;
70
+ function getUpdateCommand() {
71
+ return 'npm update -g @figma/code-connect';
72
+ }
73
+ function maybeShowUpdateMessage() {
74
+ if (updatedVersionAvailable) {
75
+ logging_1.logger.warn(`\nA new version of the Figma CLI is available. v${require('../../package.json').version} is currently installed, and the latest version available is v${updatedVersionAvailable}.
76
+
77
+ To update, run ${chalk_1.default.whiteBright('figma update')}, or you can manually update by running ${chalk_1.default.white(getUpdateCommand())}.`);
78
+ }
79
+ if (message) {
80
+ logging_1.logger.warn(`\n${message}`);
81
+ }
82
+ }
83
+ function updateCli() {
84
+ (0, child_process_1.execSync)(getUpdateCommand(), { stdio: 'inherit' });
85
+ }
86
+ exports.updateCli = updateCli;
87
+ //# sourceMappingURL=updates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updates.js","sourceRoot":"","sources":["../../src/common/updates.ts"],"names":[],"mappings":";;;;;;AAAA,kDAAyB;AACzB,uCAAkC;AAClC,iDAAmD;AACnD,kDAAyB;AACzB,uDAAkD;AAElD,IAAI,uBAAuB,GAA+B,SAAS,CAAA;AACnE,IAAI,OAAO,GAAuB,SAAS,CAAA;AAE3C,+EAA+E;AAC/E,wCAAwC;AACxC,SAAgB,eAAe,CAAC,EAA4C;IAC1E,OAAO,CAAC,GAAG,IAAW,EAAE,EAAE;QACxB,gBAAgB,EAAE,CAAA;QAElB,MAAM,MAAM,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAA;QAC1B,IAAI,MAAM,YAAY,OAAO,EAAE,CAAC;YAC9B,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAA;QACxC,CAAC;aAAM,CAAC;YACN,sBAAsB,EAAE,CAAA;QAC1B,CAAC;IACH,CAAC,CAAA;AACH,CAAC;AAXD,0CAWC;AAED,8EAA8E;AAC9E,4DAA4D;AAC5D,SAAS,gBAAgB;IACvB,eAAK;SACF,GAAG,CAAC,iEAAiE,CAAC;SACtE,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;QACjB,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QAC9D,MAAM,cAAc,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAA;QAE5D,IAAI,IAAA,kCAAe,EAAC,aAAa,EAAE,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;YACzD,uBAAuB,GAAG,aAAa,CAAA;QACzC,CAAC;aAAM,CAAC;YACN,uBAAuB,GAAG,KAAK,CAAA;QACjC,CAAC;IACH,CAAC,CAAC;SACD,KAAK,CAAC,GAAG,EAAE;QACV,8CAA8C;QAC9C,uBAAuB,GAAG,KAAK,CAAA;IACjC,CAAC,CAAC,CAAA;AACN,CAAC;AAED,6EAA6E;AAC7E,0EAA0E;AAC1E,+CAA+C;AAC/C,KAAK,UAAU,sBAAsB;IACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,IAAI,uBAAuB,KAAK,SAAS,EAAE,CAAC;YAC1C,MAAK;QACP,CAAC;QACD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAA;IAC1D,CAAC;IAED,sBAAsB,EAAE,CAAA;AAC1B,CAAC;AAED,+EAA+E;AAC/E,4EAA4E;AAC5E,4EAA4E;AAC5E,sEAAsE;AACtE,SAAgB,mBAAmB,CAAC,SAAS,GAAG,CAAC;IAC/C,sBAAsB,EAAE,CAAA;IACxB,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;AACzB,CAAC;AAHD,kDAGC;AAED,SAAS,gBAAgB;IACvB,OAAO,mCAAmC,CAAA;AAC5C,CAAC;AAED,SAAS,sBAAsB;IAC7B,IAAI,uBAAuB,EAAE,CAAC;QAC5B,gBAAM,CAAC,IAAI,CAAC,mDAAmD,OAAO,CAAC,oBAAoB,CAAC,CAAC,OAAO,iEAAiE,uBAAuB;;iBAE/K,eAAK,CAAC,WAAW,CAAC,cAAc,CAAC,2CAA2C,eAAK,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC,GAAG,CAAC,CAAA;IAC9H,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,gBAAM,CAAC,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC,CAAA;IAC7B,CAAC;AACH,CAAC;AAED,SAAgB,SAAS;IACvB,IAAA,wBAAQ,EAAC,gBAAgB,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;AACpD,CAAC;AAFD,8BAEC"}
@@ -1,8 +1,12 @@
1
+ import { ProjectInfo } from './project';
1
2
  interface GenerateDocsArgs {
2
3
  accessToken: string;
3
4
  figmaNodeUrl: string;
4
5
  outFile: string;
6
+ outDir: string;
7
+ projectInfo: ProjectInfo;
5
8
  }
6
- export declare function createCodeConnectFromUrl({ accessToken, figmaNodeUrl, outFile, }: GenerateDocsArgs): Promise<void>;
9
+ export declare function normalizeComponentName(name: string): string;
10
+ export declare function createCodeConnectFromUrl({ accessToken, figmaNodeUrl, outFile, outDir, projectInfo, }: GenerateDocsArgs): Promise<void>;
7
11
  export {};
8
12
  //# sourceMappingURL=create.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/connect/create.ts"],"names":[],"mappings":"AAQA,UAAU,gBAAgB;IACxB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;CAChB;AA2ED,wBAAsB,wBAAwB,CAAC,EAC7C,WAAW,EACX,YAAY,EACZ,OAAO,GACR,EAAE,gBAAgB,iBAmElB"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/connect/create.ts"],"names":[],"mappings":"AAOA,OAAO,EAAqC,WAAW,EAAE,MAAM,WAAW,CAAA;AAM1E,UAAU,gBAAgB;IACxB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,WAAW,CAAA;CACzB;AA2BD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,UAQlD;AAED,wBAAsB,wBAAwB,CAAC,EAC7C,WAAW,EACX,YAAY,EACZ,OAAO,EACP,MAAM,EACN,WAAW,GACZ,EAAE,gBAAgB,iBA0FlB"}