@danielx/civet 0.7.13 → 0.7.14

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.
package/dist/main.mjs CHANGED
@@ -495,6 +495,7 @@ __export(lib_exports, {
495
495
  blockWithPrefix: () => blockWithPrefix,
496
496
  convertNamedImportsToObject: () => convertNamedImportsToObject,
497
497
  convertObjectToJSXAttributes: () => convertObjectToJSXAttributes,
498
+ convertWithClause: () => convertWithClause,
498
499
  dedentBlockString: () => dedentBlockString,
499
500
  dedentBlockSubstitutions: () => dedentBlockSubstitutions,
500
501
  deepCopy: () => deepCopy,
@@ -546,6 +547,7 @@ __export(lib_exports, {
546
547
  replaceNode: () => replaceNode,
547
548
  replaceNodes: () => replaceNodes,
548
549
  skipImplicitArguments: () => skipImplicitArguments,
550
+ trimFirstSpace: () => trimFirstSpace,
549
551
  typeOfJSX: () => typeOfJSX,
550
552
  wrapIIFE: () => wrapIIFE
551
553
  });
@@ -1688,8 +1690,11 @@ function isEmptyBareBlock(node) {
1688
1690
  return bare && (Array.isArray(expressions) && len(expressions, 0) || Array.isArray(expressions) && len(expressions, 1) && Array.isArray(expressions[0]) && expressions[0].length >= 2 && typeof expressions[0][1] === "object" && expressions[0][1] != null && "type" in expressions[0][1] && expressions[0][1].type === "EmptyStatement");
1689
1691
  }
1690
1692
  function isFunction(node) {
1691
- const { type } = node;
1692
- return type === "FunctionExpression" || type === "ArrowFunction" || type === "MethodDefinition" || !!node.async;
1693
+ if (node && typeof node === "object" && "type" in node) {
1694
+ const { type } = node;
1695
+ return type === "FunctionExpression" || type === "ArrowFunction" || type === "MethodDefinition";
1696
+ }
1697
+ return false;
1693
1698
  }
1694
1699
  var statementTypes = /* @__PURE__ */ new Set([
1695
1700
  "BlockStatement",
@@ -1788,10 +1793,15 @@ function insertTrimmingSpace(target, c) {
1788
1793
  ...target,
1789
1794
  token: target.token.replace(/^ ?/, c)
1790
1795
  };
1796
+ } else if (typeof target === "string") {
1797
+ return target.replace(/^ ?/, c);
1791
1798
  } else {
1792
1799
  return target;
1793
1800
  }
1794
1801
  }
1802
+ function trimFirstSpace(target) {
1803
+ return insertTrimmingSpace(target, "");
1804
+ }
1795
1805
  function inplaceInsertTrimmingSpace(target, c) {
1796
1806
  if (!(target != null)) {
1797
1807
  return target;
@@ -2212,7 +2222,11 @@ function gatherNodes(node, predicate) {
2212
2222
  });
2213
2223
  }
2214
2224
  default: {
2215
- return gatherNodes(node.children, predicate);
2225
+ return gatherNodes(
2226
+ //@ts-ignore
2227
+ node.children,
2228
+ predicate
2229
+ );
2216
2230
  }
2217
2231
  }
2218
2232
  }
@@ -2223,12 +2237,18 @@ function gatherRecursive(node, predicate, skipPredicate) {
2223
2237
  if (Array.isArray(node)) {
2224
2238
  return node.flatMap(($) => gatherRecursive($, predicate, skipPredicate));
2225
2239
  }
2226
- if (skipPredicate?.(node))
2240
+ if (skipPredicate?.(node)) {
2227
2241
  return [];
2242
+ }
2228
2243
  if (predicate(node)) {
2229
2244
  return [node];
2230
2245
  }
2231
- return gatherRecursive(node.children, predicate, skipPredicate);
2246
+ return gatherRecursive(
2247
+ //@ts-ignore
2248
+ node.children,
2249
+ predicate,
2250
+ skipPredicate
2251
+ );
2232
2252
  }
2233
2253
  function gatherRecursiveAll(node, predicate) {
2234
2254
  if (node == null || typeof node === "string") {
@@ -2237,7 +2257,11 @@ function gatherRecursiveAll(node, predicate) {
2237
2257
  if (Array.isArray(node)) {
2238
2258
  return node.flatMap((n) => gatherRecursiveAll(n, predicate));
2239
2259
  }
2240
- const nodes = gatherRecursiveAll(node.children, predicate);
2260
+ const nodes = gatherRecursiveAll(
2261
+ //@ts-ignore
2262
+ node.children,
2263
+ predicate
2264
+ );
2241
2265
  if (predicate(node)) {
2242
2266
  nodes.push(node);
2243
2267
  }
@@ -2650,15 +2674,6 @@ var declareHelper = {
2650
2674
  ";\n"
2651
2675
  ]]);
2652
2676
  },
2653
- returnSymbol(ref) {
2654
- state.prelude.push(["", [
2655
- // [indent, statement]
2656
- preludeVar,
2657
- ref,
2658
- ` = Symbol("return")';
2659
- `
2660
- ]]);
2661
- },
2662
2677
  concatAssign(ref) {
2663
2678
  state.prelude.push(["", [
2664
2679
  // [indent, statement]
@@ -3605,6 +3620,39 @@ function dynamizeImportDeclarationExpression($0) {
3605
3620
  ]
3606
3621
  });
3607
3622
  }
3623
+ function convertWithClause(withClause, extendsClause) {
3624
+ let extendsToken, extendsTarget, ws;
3625
+ if (extendsClause) {
3626
+ [extendsToken, ws, extendsTarget] = extendsClause;
3627
+ } else {
3628
+ extendsToken = {
3629
+ type: "Extends",
3630
+ children: [" extends"]
3631
+ };
3632
+ ws = "";
3633
+ extendsTarget = "Object";
3634
+ }
3635
+ const wrapped = withClause.targets.reduce(
3636
+ (extendsTarget2, [wsNext, withTarget]) => {
3637
+ const args = [extendsTarget2];
3638
+ const exp = {
3639
+ type: "CallExpression",
3640
+ children: [
3641
+ makeLeftHandSideExpression(withTarget),
3642
+ {
3643
+ type: "Call",
3644
+ args,
3645
+ children: ["(", trimFirstSpace(ws), args, ")"]
3646
+ }
3647
+ ]
3648
+ };
3649
+ ws = wsNext;
3650
+ return exp;
3651
+ },
3652
+ extendsTarget
3653
+ );
3654
+ return [extendsToken, insertTrimmingSpace(ws, " "), wrapped];
3655
+ }
3608
3656
 
3609
3657
  // source/parser/unary.civet
3610
3658
  function processUnaryExpression(pre, exp, post) {
@@ -4692,7 +4740,7 @@ function getIndentOfBlockString(str, tab) {
4692
4740
  minLevel = level;
4693
4741
  }
4694
4742
  }
4695
- if (minLevel == Infinity) {
4743
+ if (minLevel === Infinity) {
4696
4744
  minLevel = 0;
4697
4745
  }
4698
4746
  return minLevel;
@@ -4738,7 +4786,7 @@ function dedentBlockSubstitutions($0, tab) {
4738
4786
  if (/^[ \t]*\r?\n/.test(stringPart)) {
4739
4787
  ref1 = getIndentOfBlockString(stringPart, tab);
4740
4788
  } else {
4741
- ref1 = false;
4789
+ ref1 = void 0;
4742
4790
  }
4743
4791
  ;
4744
4792
  const dedent = ref1;
@@ -4764,21 +4812,39 @@ function dedentBlockSubstitutions($0, tab) {
4764
4812
  };
4765
4813
  }
4766
4814
  function processCoffeeInterpolation(s, parts, e, $loc) {
4767
- if (parts.length === 0 || parts.length === 1 && parts[0].token != null) {
4815
+ if (parts.length === 0) {
4768
4816
  return {
4769
4817
  type: "StringLiteral",
4770
- token: parts.length ? `"${modifyString(parts[0].token)}"` : '""',
4818
+ token: '""',
4771
4819
  $loc
4772
4820
  };
4773
4821
  }
4774
- parts.forEach((part) => {
4775
- if (part.token) {
4776
- const str = part.token.replace(/(`|\$\{)/g, "\\$1");
4777
- return part.token = modifyString(str);
4822
+ if (parts.length === 1) {
4823
+ let ref2;
4824
+ if ((ref2 = parts[0]) && typeof ref2 === "object" && "token" in ref2) {
4825
+ const { token } = ref2;
4826
+ return {
4827
+ type: "StringLiteral",
4828
+ token: `"${modifyString(token)}"`,
4829
+ $loc
4830
+ };
4831
+ }
4832
+ }
4833
+ const results2 = [];
4834
+ for (let i4 = 0, len3 = parts.length; i4 < len3; i4++) {
4835
+ const part = parts[i4];
4836
+ if ("token" in part) {
4837
+ const token = modifyString(part.token.replace(/(`|\$\{)/g, "\\$1"));
4838
+ results2.push({
4839
+ ...part,
4840
+ token
4841
+ });
4842
+ } else {
4843
+ results2.push(part);
4778
4844
  }
4779
- ;
4780
- return;
4781
- });
4845
+ }
4846
+ ;
4847
+ parts = results2;
4782
4848
  s.token = e.token = "`";
4783
4849
  return {
4784
4850
  type: "TemplateLiteral",
@@ -6273,6 +6339,7 @@ var grammar = {
6273
6339
  ClassBinding,
6274
6340
  ClassHeritage,
6275
6341
  ExtendsClause,
6342
+ WithClause,
6276
6343
  ExtendsToken,
6277
6344
  ExtendsShorthand,
6278
6345
  NotExtendsToken,
@@ -6742,6 +6809,7 @@ var grammar = {
6742
6809
  Void,
6743
6810
  When,
6744
6811
  While,
6812
+ With,
6745
6813
  Yield,
6746
6814
  JSXImplicitFragment,
6747
6815
  JSXTag,
@@ -6809,6 +6877,7 @@ var grammar = {
6809
6877
  Module,
6810
6878
  Namespace,
6811
6879
  InterfaceBlock,
6880
+ NestedInterfaceBlock,
6812
6881
  NestedInterfaceProperties,
6813
6882
  NestedInterfaceProperty,
6814
6883
  InterfaceProperty,
@@ -6950,15 +7019,15 @@ var $L13 = (0, import_lib3.$L)("=>");
6950
7019
  var $L14 = (0, import_lib3.$L)("\u21D2");
6951
7020
  var $L15 = (0, import_lib3.$L)("import");
6952
7021
  var $L16 = (0, import_lib3.$L)(":");
6953
- var $L17 = (0, import_lib3.$L)(" ");
6954
- var $L18 = (0, import_lib3.$L)("<");
6955
- var $L19 = (0, import_lib3.$L)("implements");
6956
- var $L20 = (0, import_lib3.$L)("<:");
6957
- var $L21 = (0, import_lib3.$L)("^");
6958
- var $L22 = (0, import_lib3.$L)("-");
6959
- var $L23 = (0, import_lib3.$L)("import.meta");
6960
- var $L24 = (0, import_lib3.$L)("return.value");
6961
- var $L25 = (0, import_lib3.$L)(",");
7022
+ var $L17 = (0, import_lib3.$L)(",");
7023
+ var $L18 = (0, import_lib3.$L)(" ");
7024
+ var $L19 = (0, import_lib3.$L)("<");
7025
+ var $L20 = (0, import_lib3.$L)("implements");
7026
+ var $L21 = (0, import_lib3.$L)("<:");
7027
+ var $L22 = (0, import_lib3.$L)("^");
7028
+ var $L23 = (0, import_lib3.$L)("-");
7029
+ var $L24 = (0, import_lib3.$L)("import.meta");
7030
+ var $L25 = (0, import_lib3.$L)("return.value");
6962
7031
  var $L26 = (0, import_lib3.$L)("tighter");
6963
7032
  var $L27 = (0, import_lib3.$L)("looser");
6964
7033
  var $L28 = (0, import_lib3.$L)("same");
@@ -8216,8 +8285,24 @@ var ClassBinding$0 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$N)
8216
8285
  function ClassBinding(ctx, state2) {
8217
8286
  return (0, import_lib3.$EVENT)(ctx, state2, "ClassBinding", ClassBinding$0);
8218
8287
  }
8219
- var ClassHeritage$0 = (0, import_lib3.$S)(ExtendsClause, (0, import_lib3.$E)(ImplementsClause));
8220
- var ClassHeritage$1 = ImplementsClause;
8288
+ var ClassHeritage$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(ExtendsClause, (0, import_lib3.$E)(WithClause), (0, import_lib3.$E)(ImplementsClause)), function($skip, $loc, $0, $1, $2, $3) {
8289
+ var extendsClause = $1;
8290
+ var withClause = $2;
8291
+ var implementsClause = $3;
8292
+ if (withClause) {
8293
+ extendsClause = convertWithClause(withClause, extendsClause);
8294
+ }
8295
+ return [extendsClause, implementsClause];
8296
+ });
8297
+ var ClassHeritage$1 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$E)(WithClause), (0, import_lib3.$E)(ImplementsClause)), function($skip, $loc, $0, $1, $2) {
8298
+ var withClause = $1;
8299
+ var implementsClause = $2;
8300
+ if (withClause)
8301
+ return [convertWithClause(withClause), implementsClause];
8302
+ if (implementsClause)
8303
+ return implementsClause;
8304
+ return $skip;
8305
+ });
8221
8306
  var ClassHeritage$$ = [ClassHeritage$0, ClassHeritage$1];
8222
8307
  function ClassHeritage(ctx, state2) {
8223
8308
  return (0, import_lib3.$EVENT_C)(ctx, state2, "ClassHeritage", ClassHeritage$$);
@@ -8226,7 +8311,20 @@ var ExtendsClause$0 = (0, import_lib3.$S)(ExtendsToken, __, ExtendsTarget);
8226
8311
  function ExtendsClause(ctx, state2) {
8227
8312
  return (0, import_lib3.$EVENT)(ctx, state2, "ExtendsClause", ExtendsClause$0);
8228
8313
  }
8229
- var ExtendsToken$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Loc, (0, import_lib3.$E)(_), ExtendsShorthand, (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L17, 'ExtendsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
8314
+ var WithClause$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(__, With, __, ExtendsTarget, (0, import_lib3.$Q)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L17, 'WithClause ","'), __, ExtendsTarget))), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
8315
+ var ws = $3;
8316
+ var t = $4;
8317
+ var rest = $5;
8318
+ return {
8319
+ type: "WithClause",
8320
+ children: $0,
8321
+ targets: [[ws, t], ...rest.map(([_comma, ws2, target]) => [ws2, target])]
8322
+ };
8323
+ });
8324
+ function WithClause(ctx, state2) {
8325
+ return (0, import_lib3.$EVENT)(ctx, state2, "WithClause", WithClause$0);
8326
+ }
8327
+ var ExtendsToken$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Loc, (0, import_lib3.$E)(_), ExtendsShorthand, (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L18, 'ExtendsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
8230
8328
  var l = $1;
8231
8329
  var ws = $2;
8232
8330
  var t = $3;
@@ -8248,13 +8346,13 @@ var ExtendsToken$$ = [ExtendsToken$0, ExtendsToken$1];
8248
8346
  function ExtendsToken(ctx, state2) {
8249
8347
  return (0, import_lib3.$EVENT_C)(ctx, state2, "ExtendsToken", ExtendsToken$$);
8250
8348
  }
8251
- var ExtendsShorthand$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L18, 'ExtendsShorthand "<"'), function($skip, $loc, $0, $1) {
8349
+ var ExtendsShorthand$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L19, 'ExtendsShorthand "<"'), function($skip, $loc, $0, $1) {
8252
8350
  return { $loc, token: "extends " };
8253
8351
  });
8254
8352
  function ExtendsShorthand(ctx, state2) {
8255
8353
  return (0, import_lib3.$EVENT)(ctx, state2, "ExtendsShorthand", ExtendsShorthand$0);
8256
8354
  }
8257
- var NotExtendsToken$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Loc, (0, import_lib3.$E)(_), OmittedNegation, ExtendsShorthand, (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L17, 'NotExtendsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
8355
+ var NotExtendsToken$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Loc, (0, import_lib3.$E)(_), OmittedNegation, ExtendsShorthand, (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L18, 'NotExtendsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
8258
8356
  var l = $1;
8259
8357
  var ws1 = $2;
8260
8358
  var ws2 = $3;
@@ -8280,7 +8378,7 @@ function NotExtendsToken(ctx, state2) {
8280
8378
  var OmittedNegation$0 = (0, import_lib3.$T)((0, import_lib3.$S)(ExclamationPoint), function(value) {
8281
8379
  return "";
8282
8380
  });
8283
- var OmittedNegation$1 = (0, import_lib3.$T)((0, import_lib3.$S)(Not, (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L17, 'OmittedNegation " "')), (0, import_lib3.$E)(_)), function(value) {
8381
+ var OmittedNegation$1 = (0, import_lib3.$T)((0, import_lib3.$S)(Not, (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L18, 'OmittedNegation " "')), (0, import_lib3.$E)(_)), function(value) {
8284
8382
  return value[2];
8285
8383
  });
8286
8384
  var OmittedNegation$$ = [OmittedNegation$0, OmittedNegation$1];
@@ -8303,7 +8401,7 @@ var ImplementsClause$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(ImplementsToke
8303
8401
  function ImplementsClause(ctx, state2) {
8304
8402
  return (0, import_lib3.$EVENT)(ctx, state2, "ImplementsClause", ImplementsClause$0);
8305
8403
  }
8306
- var ImplementsToken$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Loc, __, ImplementsShorthand, (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L17, 'ImplementsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
8404
+ var ImplementsToken$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Loc, __, ImplementsShorthand, (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L18, 'ImplementsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
8307
8405
  var l = $1;
8308
8406
  var ws = $2;
8309
8407
  var token = $3;
@@ -8313,7 +8411,7 @@ var ImplementsToken$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(Loc, __, Implem
8313
8411
  }
8314
8412
  return { children };
8315
8413
  });
8316
- var ImplementsToken$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(__, (0, import_lib3.$EXPECT)($L19, 'ImplementsToken "implements"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
8414
+ var ImplementsToken$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(__, (0, import_lib3.$EXPECT)($L20, 'ImplementsToken "implements"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
8317
8415
  $2 = { $loc, token: $2 };
8318
8416
  return [$1, $2];
8319
8417
  });
@@ -8321,7 +8419,7 @@ var ImplementsToken$$ = [ImplementsToken$0, ImplementsToken$1];
8321
8419
  function ImplementsToken(ctx, state2) {
8322
8420
  return (0, import_lib3.$EVENT_C)(ctx, state2, "ImplementsToken", ImplementsToken$$);
8323
8421
  }
8324
- var ImplementsShorthand$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L20, 'ImplementsShorthand "<:"'), function($skip, $loc, $0, $1) {
8422
+ var ImplementsShorthand$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L21, 'ImplementsShorthand "<:"'), function($skip, $loc, $0, $1) {
8325
8423
  return { $loc, token: "implements " };
8326
8424
  });
8327
8425
  function ImplementsShorthand(ctx, state2) {
@@ -8670,7 +8768,7 @@ var OptionalDot$$ = [OptionalDot$0, OptionalDot$1];
8670
8768
  function OptionalDot(ctx, state2) {
8671
8769
  return (0, import_lib3.$EVENT_C)(ctx, state2, "OptionalDot", OptionalDot$$);
8672
8770
  }
8673
- var NonNullAssertion$0 = (0, import_lib3.$T)((0, import_lib3.$S)(ExclamationPoint, (0, import_lib3.$N)((0, import_lib3.$EXPECT)($L21, 'NonNullAssertion "^"'))), function(value) {
8771
+ var NonNullAssertion$0 = (0, import_lib3.$T)((0, import_lib3.$S)(ExclamationPoint, (0, import_lib3.$N)((0, import_lib3.$EXPECT)($L22, 'NonNullAssertion "^"'))), function(value) {
8674
8772
  return { "type": "NonNullAssertion", "ts": true, "children": [value[0]] };
8675
8773
  });
8676
8774
  function NonNullAssertion(ctx, state2) {
@@ -8878,7 +8976,7 @@ var PropertyAccess$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(AccessStart, (0,
8878
8976
  ]
8879
8977
  };
8880
8978
  });
8881
- var PropertyAccess$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(AccessStart, (0, import_lib3.$EXPECT)($L22, 'PropertyAccess "-"'), IntegerLiteral), function($skip, $loc, $0, $1, $2, $3) {
8979
+ var PropertyAccess$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(AccessStart, (0, import_lib3.$EXPECT)($L23, 'PropertyAccess "-"'), IntegerLiteral), function($skip, $loc, $0, $1, $2, $3) {
8882
8980
  var dot = $1;
8883
8981
  var neg = $2;
8884
8982
  var num = $3;
@@ -8985,7 +9083,7 @@ function SuperProperty(ctx, state2) {
8985
9083
  return (0, import_lib3.$EVENT_C)(ctx, state2, "SuperProperty", SuperProperty$$);
8986
9084
  }
8987
9085
  var MetaProperty$0 = (0, import_lib3.$S)(New, Dot, Target);
8988
- var MetaProperty$1 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L23, 'MetaProperty "import.meta"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9086
+ var MetaProperty$1 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L24, 'MetaProperty "import.meta"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8989
9087
  return { $loc, token: $1 };
8990
9088
  });
8991
9089
  var MetaProperty$2 = ReturnValue;
@@ -8993,7 +9091,7 @@ var MetaProperty$$ = [MetaProperty$0, MetaProperty$1, MetaProperty$2];
8993
9091
  function MetaProperty(ctx, state2) {
8994
9092
  return (0, import_lib3.$EVENT_C)(ctx, state2, "MetaProperty", MetaProperty$$);
8995
9093
  }
8996
- var ReturnValue$0 = (0, import_lib3.$TV)((0, import_lib3.$C)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L24, 'ReturnValue "return.value"'), NonIdContinue), (0, import_lib3.$S)(Return, (0, import_lib3.$Y)(AfterReturnShorthand))), function($skip, $loc, $0, $1) {
9094
+ var ReturnValue$0 = (0, import_lib3.$TV)((0, import_lib3.$C)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L25, 'ReturnValue "return.value"'), NonIdContinue), (0, import_lib3.$S)(Return, (0, import_lib3.$Y)(AfterReturnShorthand))), function($skip, $loc, $0, $1) {
8997
9095
  return { type: "ReturnValue", children: [$1[0]] };
8998
9096
  });
8999
9097
  function ReturnValue(ctx, state2) {
@@ -9522,7 +9620,7 @@ var BindingElement$1 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.
9522
9620
  children: [ws, binding]
9523
9621
  };
9524
9622
  });
9525
- var BindingElement$2 = (0, import_lib3.$TV)((0, import_lib3.$Y)((0, import_lib3.$S)((0, import_lib3.$E)(_), (0, import_lib3.$EXPECT)($L25, 'BindingElement ","'))), function($skip, $loc, $0, $1) {
9623
+ var BindingElement$2 = (0, import_lib3.$TV)((0, import_lib3.$Y)((0, import_lib3.$S)((0, import_lib3.$E)(_), (0, import_lib3.$EXPECT)($L17, 'BindingElement ","'))), function($skip, $loc, $0, $1) {
9526
9624
  return {
9527
9625
  children: [{
9528
9626
  type: "ElisionElement",
@@ -11436,7 +11534,7 @@ var BinaryOpSymbol$5 = (0, import_lib3.$TV)((0, import_lib3.$C)((0, import_lib3.
11436
11534
  };
11437
11535
  });
11438
11536
  var BinaryOpSymbol$6 = (0, import_lib3.$EXPECT)($L69, 'BinaryOpSymbol "+"');
11439
- var BinaryOpSymbol$7 = (0, import_lib3.$EXPECT)($L22, 'BinaryOpSymbol "-"');
11537
+ var BinaryOpSymbol$7 = (0, import_lib3.$EXPECT)($L23, 'BinaryOpSymbol "-"');
11440
11538
  var BinaryOpSymbol$8 = (0, import_lib3.$EXPECT)($L70, 'BinaryOpSymbol "<="');
11441
11539
  var BinaryOpSymbol$9 = (0, import_lib3.$T)((0, import_lib3.$EXPECT)($L71, 'BinaryOpSymbol "\u2264"'), function(value) {
11442
11540
  return "<=";
@@ -11466,7 +11564,7 @@ var BinaryOpSymbol$14 = (0, import_lib3.$EXPECT)($L76, 'BinaryOpSymbol "<<"');
11466
11564
  var BinaryOpSymbol$15 = (0, import_lib3.$T)((0, import_lib3.$EXPECT)($L77, 'BinaryOpSymbol "\xAB"'), function(value) {
11467
11565
  return "<<";
11468
11566
  });
11469
- var BinaryOpSymbol$16 = (0, import_lib3.$EXPECT)($L18, 'BinaryOpSymbol "<"');
11567
+ var BinaryOpSymbol$16 = (0, import_lib3.$EXPECT)($L19, 'BinaryOpSymbol "<"');
11470
11568
  var BinaryOpSymbol$17 = (0, import_lib3.$EXPECT)($L78, 'BinaryOpSymbol ">>>"');
11471
11569
  var BinaryOpSymbol$18 = (0, import_lib3.$T)((0, import_lib3.$EXPECT)($L79, 'BinaryOpSymbol "\u22D9"'), function(value) {
11472
11570
  return ">>>";
@@ -11605,7 +11703,7 @@ var BinaryOpSymbol$47 = (0, import_lib3.$TS)((0, import_lib3.$S)(Is), function($
11605
11703
  });
11606
11704
  var BinaryOpSymbol$48 = In;
11607
11705
  var BinaryOpSymbol$49 = (0, import_lib3.$EXPECT)($L108, 'BinaryOpSymbol "&"');
11608
- var BinaryOpSymbol$50 = (0, import_lib3.$EXPECT)($L21, 'BinaryOpSymbol "^"');
11706
+ var BinaryOpSymbol$50 = (0, import_lib3.$EXPECT)($L22, 'BinaryOpSymbol "^"');
11609
11707
  var BinaryOpSymbol$51 = (0, import_lib3.$EXPECT)($L109, 'BinaryOpSymbol "|"');
11610
11708
  var BinaryOpSymbol$$ = [BinaryOpSymbol$0, BinaryOpSymbol$1, BinaryOpSymbol$2, BinaryOpSymbol$3, BinaryOpSymbol$4, BinaryOpSymbol$5, BinaryOpSymbol$6, BinaryOpSymbol$7, BinaryOpSymbol$8, BinaryOpSymbol$9, BinaryOpSymbol$10, BinaryOpSymbol$11, BinaryOpSymbol$12, BinaryOpSymbol$13, BinaryOpSymbol$14, BinaryOpSymbol$15, BinaryOpSymbol$16, BinaryOpSymbol$17, BinaryOpSymbol$18, BinaryOpSymbol$19, BinaryOpSymbol$20, BinaryOpSymbol$21, BinaryOpSymbol$22, BinaryOpSymbol$23, BinaryOpSymbol$24, BinaryOpSymbol$25, BinaryOpSymbol$26, BinaryOpSymbol$27, BinaryOpSymbol$28, BinaryOpSymbol$29, BinaryOpSymbol$30, BinaryOpSymbol$31, BinaryOpSymbol$32, BinaryOpSymbol$33, BinaryOpSymbol$34, BinaryOpSymbol$35, BinaryOpSymbol$36, BinaryOpSymbol$37, BinaryOpSymbol$38, BinaryOpSymbol$39, BinaryOpSymbol$40, BinaryOpSymbol$41, BinaryOpSymbol$42, BinaryOpSymbol$43, BinaryOpSymbol$44, BinaryOpSymbol$45, BinaryOpSymbol$46, BinaryOpSymbol$47, BinaryOpSymbol$48, BinaryOpSymbol$49, BinaryOpSymbol$50, BinaryOpSymbol$51];
11611
11709
  function BinaryOpSymbol(ctx, state2) {
@@ -11698,7 +11796,7 @@ var UnaryOp$2 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$C)(Del
11698
11796
  return [op, [" "]];
11699
11797
  return [op, ws];
11700
11798
  });
11701
- var UnaryOp$3 = (0, import_lib3.$T)((0, import_lib3.$S)(Not, (0, import_lib3.$N)((0, import_lib3.$EXPECT)($R23, "UnaryOp /[:.]/")), (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L17, 'UnaryOp " "')), (0, import_lib3.$E)(_)), function(value) {
11799
+ var UnaryOp$3 = (0, import_lib3.$T)((0, import_lib3.$S)(Not, (0, import_lib3.$N)((0, import_lib3.$EXPECT)($R23, "UnaryOp /[:.]/")), (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L18, 'UnaryOp " "')), (0, import_lib3.$E)(_)), function(value) {
11702
11800
  return [value[0], value[3]];
11703
11801
  });
11704
11802
  var UnaryOp$$ = [UnaryOp$0, UnaryOp$1, UnaryOp$2, UnaryOp$3];
@@ -13121,7 +13219,7 @@ function OperatorImportSpecifier(ctx, state2) {
13121
13219
  return (0, import_lib3.$EVENT_C)(ctx, state2, "OperatorImportSpecifier", OperatorImportSpecifier$$);
13122
13220
  }
13123
13221
  var ImportAsToken$0 = (0, import_lib3.$S)(__, As);
13124
- var ImportAsToken$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(Loc, __, Colon, (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L17, 'ImportAsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
13222
+ var ImportAsToken$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(Loc, __, Colon, (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L18, 'ImportAsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
13125
13223
  var l = $1;
13126
13224
  var ws = $2;
13127
13225
  var c = $3;
@@ -13894,7 +13992,7 @@ var Loc$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L0, 'Loc ""'), functi
13894
13992
  function Loc(ctx, state2) {
13895
13993
  return (0, import_lib3.$EVENT)(ctx, state2, "Loc", Loc$0);
13896
13994
  }
13897
- var Abstract$0 = (0, import_lib3.$TV)((0, import_lib3.$TEXT)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L126, 'Abstract "abstract"'), NonIdContinue, (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L17, 'Abstract " "')))), function($skip, $loc, $0, $1) {
13995
+ var Abstract$0 = (0, import_lib3.$TV)((0, import_lib3.$TEXT)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L126, 'Abstract "abstract"'), NonIdContinue, (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L18, 'Abstract " "')))), function($skip, $loc, $0, $1) {
13898
13996
  return { $loc, token: $1, ts: true };
13899
13997
  });
13900
13998
  function Abstract(ctx, state2) {
@@ -13948,7 +14046,7 @@ var By$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L1
13948
14046
  function By(ctx, state2) {
13949
14047
  return (0, import_lib3.$EVENT)(ctx, state2, "By", By$0);
13950
14048
  }
13951
- var Caret$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L21, 'Caret "^"'), function($skip, $loc, $0, $1) {
14049
+ var Caret$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L22, 'Caret "^"'), function($skip, $loc, $0, $1) {
13952
14050
  return { $loc, token: $1 };
13953
14051
  });
13954
14052
  function Caret(ctx, state2) {
@@ -14008,7 +14106,7 @@ var Colon$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPECT)(
14008
14106
  function Colon(ctx, state2) {
14009
14107
  return (0, import_lib3.$EVENT)(ctx, state2, "Colon", Colon$0);
14010
14108
  }
14011
- var Comma$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L25, 'Comma ","'), function($skip, $loc, $0, $1) {
14109
+ var Comma$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L17, 'Comma ","'), function($skip, $loc, $0, $1) {
14012
14110
  return { $loc, token: $1 };
14013
14111
  });
14014
14112
  function Comma(ctx, state2) {
@@ -14168,7 +14266,7 @@ var Hash$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L160, 'Hash "#"'), f
14168
14266
  function Hash(ctx, state2) {
14169
14267
  return (0, import_lib3.$EVENT)(ctx, state2, "Hash", Hash$0);
14170
14268
  }
14171
- var If$0 = (0, import_lib3.$TV)((0, import_lib3.$TEXT)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L161, 'If "if"'), NonIdContinue, (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L17, 'If " "')))), function($skip, $loc, $0, $1) {
14269
+ var If$0 = (0, import_lib3.$TV)((0, import_lib3.$TEXT)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L161, 'If "if"'), NonIdContinue, (0, import_lib3.$E)((0, import_lib3.$EXPECT)($L18, 'If " "')))), function($skip, $loc, $0, $1) {
14172
14270
  return { $loc, token: $1 };
14173
14271
  });
14174
14272
  function If(ctx, state2) {
@@ -14246,7 +14344,7 @@ var Of$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L1
14246
14344
  function Of(ctx, state2) {
14247
14345
  return (0, import_lib3.$EVENT)(ctx, state2, "Of", Of$0);
14248
14346
  }
14249
- var OpenAngleBracket$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L18, 'OpenAngleBracket "<"'), function($skip, $loc, $0, $1) {
14347
+ var OpenAngleBracket$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L19, 'OpenAngleBracket "<"'), function($skip, $loc, $0, $1) {
14250
14348
  return { $loc, token: $1 };
14251
14349
  });
14252
14350
  function OpenAngleBracket(ctx, state2) {
@@ -14497,6 +14595,12 @@ var While$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPECT)(
14497
14595
  function While(ctx, state2) {
14498
14596
  return (0, import_lib3.$EVENT)(ctx, state2, "While", While$0);
14499
14597
  }
14598
+ var With$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L116, 'With "with"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14599
+ return { $loc, token: $1 };
14600
+ });
14601
+ function With(ctx, state2) {
14602
+ return (0, import_lib3.$EVENT)(ctx, state2, "With", With$0);
14603
+ }
14500
14604
  var Yield$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L211, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14501
14605
  return { $loc, token: $1, type: "Yield" };
14502
14606
  });
@@ -14576,7 +14680,7 @@ var JSXElement$$ = [JSXElement$0, JSXElement$1, JSXElement$2];
14576
14680
  function JSXElement(ctx, state2) {
14577
14681
  return (0, import_lib3.$EVENT_C)(ctx, state2, "JSXElement", JSXElement$$);
14578
14682
  }
14579
- var JSXSelfClosingElement$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L18, 'JSXSelfClosingElement "<"'), JSXElementName, (0, import_lib3.$E)(TypeArguments), (0, import_lib3.$E)(JSXAttributes), (0, import_lib3.$E)(Whitespace), (0, import_lib3.$EXPECT)($L212, 'JSXSelfClosingElement "/>"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
14683
+ var JSXSelfClosingElement$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$EXPECT)($L19, 'JSXSelfClosingElement "<"'), JSXElementName, (0, import_lib3.$E)(TypeArguments), (0, import_lib3.$E)(JSXAttributes), (0, import_lib3.$E)(Whitespace), (0, import_lib3.$EXPECT)($L212, 'JSXSelfClosingElement "/>"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
14580
14684
  return { type: "JSXElement", children: $0, tag: $2 };
14581
14685
  });
14582
14686
  function JSXSelfClosingElement(ctx, state2) {
@@ -14595,7 +14699,7 @@ var PopJSXStack$0 = (0, import_lib3.$TV)((0, import_lib3.$EXPECT)($L0, 'PopJSXSt
14595
14699
  function PopJSXStack(ctx, state2) {
14596
14700
  return (0, import_lib3.$EVENT)(ctx, state2, "PopJSXStack", PopJSXStack$0);
14597
14701
  }
14598
- var JSXOpeningElement$0 = (0, import_lib3.$S)((0, import_lib3.$EXPECT)($L18, 'JSXOpeningElement "<"'), JSXElementName, (0, import_lib3.$E)(TypeArguments), (0, import_lib3.$E)(JSXAttributes), (0, import_lib3.$E)(Whitespace), (0, import_lib3.$EXPECT)($L44, 'JSXOpeningElement ">"'));
14702
+ var JSXOpeningElement$0 = (0, import_lib3.$S)((0, import_lib3.$EXPECT)($L19, 'JSXOpeningElement "<"'), JSXElementName, (0, import_lib3.$E)(TypeArguments), (0, import_lib3.$E)(JSXAttributes), (0, import_lib3.$E)(Whitespace), (0, import_lib3.$EXPECT)($L44, 'JSXOpeningElement ">"'));
14599
14703
  function JSXOpeningElement(ctx, state2) {
14600
14704
  return (0, import_lib3.$EVENT)(ctx, state2, "JSXOpeningElement", JSXOpeningElement$0);
14601
14705
  }
@@ -15365,11 +15469,15 @@ function Namespace(ctx, state2) {
15365
15469
  }
15366
15470
  var InterfaceBlock$0 = (0, import_lib3.$S)(__, OpenBrace, NestedInterfaceProperties, __, CloseBrace);
15367
15471
  var InterfaceBlock$1 = (0, import_lib3.$S)(__, OpenBrace, (0, import_lib3.$Q)((0, import_lib3.$S)(__, InterfaceProperty)), __, CloseBrace);
15368
- var InterfaceBlock$2 = (0, import_lib3.$S)(InsertOpenBrace, NestedInterfaceProperties, InsertNewline, InsertIndent, InsertCloseBrace);
15472
+ var InterfaceBlock$2 = NestedInterfaceBlock;
15369
15473
  var InterfaceBlock$$ = [InterfaceBlock$0, InterfaceBlock$1, InterfaceBlock$2];
15370
15474
  function InterfaceBlock(ctx, state2) {
15371
15475
  return (0, import_lib3.$EVENT_C)(ctx, state2, "InterfaceBlock", InterfaceBlock$$);
15372
15476
  }
15477
+ var NestedInterfaceBlock$0 = (0, import_lib3.$S)(InsertOpenBrace, NestedInterfaceProperties, InsertNewline, InsertIndent, InsertCloseBrace);
15478
+ function NestedInterfaceBlock(ctx, state2) {
15479
+ return (0, import_lib3.$EVENT)(ctx, state2, "NestedInterfaceBlock", NestedInterfaceBlock$0);
15480
+ }
15373
15481
  var NestedInterfaceProperties$0 = (0, import_lib3.$TS)((0, import_lib3.$S)(PushIndent, (0, import_lib3.$Q)(NestedInterfaceProperty), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
15374
15482
  var props = $2;
15375
15483
  if (props.length)
@@ -15608,9 +15716,7 @@ var TypeSuffix$$ = [TypeSuffix$0, TypeSuffix$1, TypeSuffix$2];
15608
15716
  function TypeSuffix(ctx, state2) {
15609
15717
  return (0, import_lib3.$EVENT_C)(ctx, state2, "TypeSuffix", TypeSuffix$$);
15610
15718
  }
15611
- var MaybeNestedType$0 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$N)((0, import_lib3.$S)(__, OpenBrace)), InterfaceBlock), function(value) {
15612
- return value[1];
15613
- });
15719
+ var MaybeNestedType$0 = NestedInterfaceBlock;
15614
15720
  var MaybeNestedType$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(PushIndent, (0, import_lib3.$E)((0, import_lib3.$S)(Nested, Type)), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
15615
15721
  if (!$2)
15616
15722
  return $skip;
@@ -15872,9 +15978,9 @@ function NestedType(ctx, state2) {
15872
15978
  var TypeConditional$0 = (0, import_lib3.$TS)((0, import_lib3.$S)((0, import_lib3.$E)(_), (0, import_lib3.$EXPECT)($R85, "TypeConditional /(?=if|unless)/"), TypeIfThenElse), function($skip, $loc, $0, $1, $2, $3) {
15873
15979
  return [$1, expressionizeTypeIf($3)];
15874
15980
  });
15875
- var TypeConditional$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(TypeCondition, NotDedented, QuestionMark, Type, __, Colon, Type), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
15981
+ var TypeConditional$1 = (0, import_lib3.$TS)((0, import_lib3.$S)(TypeCondition, NotDedented, QuestionMark, __, Type, __, Colon, __, Type), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
15876
15982
  if ($1.negated)
15877
- return [$1, $2, $3, $7, $5, $6, $4];
15983
+ return [$1, $2, $3, $4, $9, $6, $7, $8, $5];
15878
15984
  return $0;
15879
15985
  });
15880
15986
  var TypeConditional$2 = TypeBinary;
@@ -15910,12 +16016,13 @@ var TypeBlock$0 = (0, import_lib3.$T)((0, import_lib3.$S)(Then, Type), function(
15910
16016
  var TypeBlock$1 = (0, import_lib3.$T)((0, import_lib3.$S)((0, import_lib3.$N)(EOS), Type), function(value) {
15911
16017
  return value[1];
15912
16018
  });
15913
- var TypeBlock$2 = (0, import_lib3.$TS)((0, import_lib3.$S)(PushIndent, (0, import_lib3.$E)((0, import_lib3.$S)(Nested, Type)), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
16019
+ var TypeBlock$2 = NestedInterfaceBlock;
16020
+ var TypeBlock$3 = (0, import_lib3.$TS)((0, import_lib3.$S)(PushIndent, (0, import_lib3.$E)((0, import_lib3.$S)(Nested, Type)), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
15914
16021
  if (!$2)
15915
16022
  return $skip;
15916
16023
  return $2;
15917
16024
  });
15918
- var TypeBlock$$ = [TypeBlock$0, TypeBlock$1, TypeBlock$2];
16025
+ var TypeBlock$$ = [TypeBlock$0, TypeBlock$1, TypeBlock$2, TypeBlock$3];
15919
16026
  function TypeBlock(ctx, state2) {
15920
16027
  return (0, import_lib3.$EVENT_C)(ctx, state2, "TypeBlock", TypeBlock$$);
15921
16028
  }
package/dist/rollup.js CHANGED
@@ -100,6 +100,7 @@ var rawPlugin = (options = {}, meta) => {
100
100
  let compilerOptions, compilerOptionsWithSourceMap;
101
101
  let rootDir = process.cwd();
102
102
  let esbuildOptions;
103
+ let configErrors;
103
104
  const tsPromise = transformTS || options.ts === "tsc" ? import("typescript").then((m) => m.default) : null;
104
105
  const getFormatHost = (sys) => {
105
106
  return {
@@ -140,12 +141,13 @@ var rawPlugin = (options = {}, meta) => {
140
141
  ts.sys,
141
142
  process.cwd()
142
143
  );
144
+ configErrors = configContents.errors;
143
145
  compilerOptions = {
144
146
  ...configContents.options,
145
147
  target: ts.ScriptTarget.ESNext,
146
148
  composite: false
147
149
  };
148
- compilerOptions.jsx ?? (compilerOptions.jsx = "preserve");
150
+ compilerOptions.jsx ?? (compilerOptions.jsx = ts.JsxEmit.Preserve);
149
151
  compilerOptionsWithSourceMap = {
150
152
  ...compilerOptions,
151
153
  sourceMap: true
@@ -166,6 +168,31 @@ var rawPlugin = (options = {}, meta) => {
166
168
  return systemFileExists(filename.slice(0, -4));
167
169
  };
168
170
  system.readFile = (filename, encoding = "utf-8") => {
171
+ if (import_path.default.basename(filename) === "package.json") {
172
+ let recurse2 = function(node) {
173
+ if (node && typeof node === "object") {
174
+ for (const key in node) {
175
+ const value = node[key];
176
+ if (typeof value === "string") {
177
+ if (value.endsWith(".civet")) {
178
+ node[key] = value + ".tsx";
179
+ modified = true;
180
+ }
181
+ } else if (value) {
182
+ recurse2(value);
183
+ }
184
+ }
185
+ }
186
+ };
187
+ var recurse = recurse2;
188
+ const json = systemReadFile(filename);
189
+ if (!json)
190
+ return json;
191
+ const parsed = JSON.parse(json);
192
+ let modified = false;
193
+ recurse2(parsed.imports);
194
+ return modified ? JSON.stringify(parsed) : json;
195
+ }
169
196
  if (!filename.endsWith(".civet.tsx"))
170
197
  return systemReadFile(filename);
171
198
  if (fsMap.has(filename))
@@ -216,6 +243,9 @@ var rawPlugin = (options = {}, meta) => {
216
243
  start: range.start
217
244
  };
218
245
  });
246
+ if (configErrors?.length) {
247
+ diagnostics.unshift(...configErrors);
248
+ }
219
249
  if (diagnostics.length > 0) {
220
250
  console.error(
221
251
  ts.formatDiagnosticsWithColorAndContext(