@typescript-eslint/typescript-estree 8.39.1 → 8.43.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.
@@ -1 +1 @@
1
- {"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../src/convert.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EACV,aAAa,EACb,2BAA2B,EAC5B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,KAAK,EAAE,QAAQ,EAAoB,MAAM,EAAE,MAAM,aAAa,CAAC;AAmCtE,MAAM,WAAW,gBAAgB;IAC/B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,kCAAkC,CAAC,EAAE,OAAO,CAAC;CAC9C;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,wBAAwB,GAAG,EAAE,CAAC,sBAAsB,GAC1D,OAAO,CAMT;AAED,MAAM,WAAW,OAAO;IACtB,qBAAqB,EAAE,2BAA2B,CAAC;IACnD,qBAAqB,EAAE,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;CAC7D;AAqBD,qBAAa,SAAS;;IACpB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAgB;IACpC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAiB;IACvD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;IAC3C,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAiB;IAEvD;;;;;OAKG;gBACS,GAAG,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,gBAAgB;IAsZ1D,OAAO,CAAC,qBAAqB;IAsB7B,OAAO,CAAC,oCAAoC;IAe5C;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB;IAiC9B,OAAO,CAAC,sBAAsB;IA4C9B;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAIpB;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAItB;;;;;;OAMG;IACH,OAAO,CAAC,qBAAqB;IAsB7B;;;;;OAKG;IACH,OAAO,CAAC,gDAAgD;IAexD;;;;OAIG;IACH,OAAO,CAAC,kDAAkD;IAmB1D;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAgBzB;;;;;;OAMG;IACH,OAAO,CAAC,SAAS;IA8BjB,OAAO,CAAC,uBAAuB;IAQ/B,OAAO,CAAC,oBAAoB;IAW5B,OAAO,CAAC,+BAA+B;IAgDvC;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IA8BzB,OAAO,CAAC,sBAAsB;IAoC9B;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAczB;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAmkFnB,OAAO,CAAC,UAAU;IAclB,cAAc,IAAI,QAAQ,CAAC,OAAO;IAIlC;;;;OAIG;IACH,OAAO,CAAC,UAAU;IA0FlB;;;OAGG;IACH,OAAO,CAAC,UAAU;IAgFlB,UAAU,IAAI,OAAO;IAOrB;;OAEG;IACH,OAAO,CAAC,uBAAuB;CAYhC"}
1
+ {"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../src/convert.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EACV,aAAa,EACb,2BAA2B,EAC5B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,KAAK,EAAE,QAAQ,EAAoB,MAAM,EAAE,MAAM,aAAa,CAAC;AAmCtE,MAAM,WAAW,gBAAgB;IAC/B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,kCAAkC,CAAC,EAAE,OAAO,CAAC;CAC9C;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,wBAAwB,GAAG,EAAE,CAAC,sBAAsB,GAC1D,OAAO,CAMT;AAED,MAAM,WAAW,OAAO;IACtB,qBAAqB,EAAE,2BAA2B,CAAC;IACnD,qBAAqB,EAAE,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;CAC7D;AAqBD,qBAAa,SAAS;;IACpB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAgB;IACpC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAiB;IACvD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;IAC3C,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAiB;IAEvD;;;;;OAKG;gBACS,GAAG,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,gBAAgB;IA2Z1D,OAAO,CAAC,qBAAqB;IAsB7B,OAAO,CAAC,oCAAoC;IAe5C;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB;IAiC9B,OAAO,CAAC,sBAAsB;IA4C9B;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAIpB;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAItB;;;;;;OAMG;IACH,OAAO,CAAC,qBAAqB;IAsB7B;;;;;OAKG;IACH,OAAO,CAAC,gDAAgD;IAoBxD;;;;OAIG;IACH,OAAO,CAAC,kDAAkD;IAuB1D;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAgBzB;;;;;;OAMG;IACH,OAAO,CAAC,SAAS;IA8BjB,OAAO,CAAC,uBAAuB;IAQ/B,OAAO,CAAC,oBAAoB;IAW5B,OAAO,CAAC,+BAA+B;IAgDvC;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IA8BzB,OAAO,CAAC,sBAAsB;IAoC9B;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAczB;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAkmFnB,OAAO,CAAC,UAAU;IAclB,cAAc,IAAI,QAAQ,CAAC,OAAO;IAIlC;;;;OAIG;IACH,OAAO,CAAC,UAAU;IA0FlB;;;OAGG;IACH,OAAO,CAAC,UAAU;IAgFlB,UAAU,IAAI,OAAO;IAOrB;;OAEG;IACH,OAAO,CAAC,uBAAuB;CAYhC"}
package/dist/convert.js CHANGED
@@ -234,7 +234,10 @@ class Converter {
234
234
  #throwError(node, message) {
235
235
  let start;
236
236
  let end;
237
- if (typeof node === 'number') {
237
+ if (Array.isArray(node)) {
238
+ [start, end] = node;
239
+ }
240
+ else if (typeof node === 'number') {
238
241
  start = end = node;
239
242
  }
240
243
  else {
@@ -286,7 +289,13 @@ class Converter {
286
289
  ? () => value
287
290
  : () => {
288
291
  if (!warned) {
289
- process.emitWarning(`The '${deprecatedKey}' property is deprecated on ${node.type} nodes. Use ${preferredKey} instead. See https://typescript-eslint.io/troubleshooting/faqs/general#the-key-property-is-deprecated-on-type-nodes-use-key-instead-warnings.`, 'DeprecationWarning');
292
+ let message = `The '${deprecatedKey}' property is deprecated on ${node.type} nodes.`;
293
+ if (preferredKey) {
294
+ message += ` Use ${preferredKey} instead.`;
295
+ }
296
+ message +=
297
+ ' See https://typescript-eslint.io/troubleshooting/faqs/general#the-key-property-is-deprecated-on-type-nodes-use-key-instead-warnings.';
298
+ process.emitWarning(message, 'DeprecationWarning');
290
299
  warned = true;
291
300
  }
292
301
  return value;
@@ -425,9 +434,13 @@ class Converter {
425
434
  */
426
435
  convertTypeArgumentsToTypeParameterInstantiation(typeArguments, node) {
427
436
  const greaterThanToken = (0, node_utils_1.findNextToken)(typeArguments, this.ast, this.ast);
437
+ const range = [typeArguments.pos - 1, greaterThanToken.end];
438
+ if (typeArguments.length === 0) {
439
+ this.#throwError(range, 'Type argument list cannot be empty.');
440
+ }
428
441
  return this.createNode(node, {
429
442
  type: ts_estree_1.AST_NODE_TYPES.TSTypeParameterInstantiation,
430
- range: [typeArguments.pos - 1, greaterThanToken.end],
443
+ range,
431
444
  params: typeArguments.map(typeArgument => this.convertChild(typeArgument)),
432
445
  });
433
446
  }
@@ -442,6 +455,9 @@ class Converter {
442
455
  typeParameters.pos - 1,
443
456
  greaterThanToken.end,
444
457
  ];
458
+ if (typeParameters.length === 0) {
459
+ this.#throwError(range, 'Type parameter list cannot be empty.');
460
+ }
445
461
  return {
446
462
  type: ts_estree_1.AST_NODE_TYPES.TSTypeParameterDeclaration,
447
463
  loc: (0, node_utils_1.getLocFor)(range, this.ast),
@@ -2285,7 +2301,11 @@ class Converter {
2285
2301
  });
2286
2302
  const commaToken = (0, node_utils_1.findNextToken)(node.argument, node, this.ast);
2287
2303
  const openBraceToken = (0, node_utils_1.findNextToken)(commaToken, node, this.ast);
2288
- const closeBraceToken = (0, node_utils_1.findNextToken)(node.attributes, node, this.ast);
2304
+ const tokenAfterAttributes = (0, node_utils_1.findNextToken)(node.attributes, node, this.ast);
2305
+ // Since TS 5.9, there could be a trailing comma, i.e. `{ with: { ... }, }`
2306
+ const closeBraceToken = tokenAfterAttributes.kind === ts.SyntaxKind.CommaToken
2307
+ ? (0, node_utils_1.findNextToken)(tokenAfterAttributes, node, this.ast)
2308
+ : tokenAfterAttributes;
2289
2309
  const withOrAssertToken = (0, node_utils_1.findNextToken)(openBraceToken, node, this.ast);
2290
2310
  const withOrAssertTokenRange = (0, node_utils_1.getRange)(withOrAssertToken, this.ast);
2291
2311
  const withOrAssertName = withOrAssertToken.kind === ts.SyntaxKind.AssertKeyword
@@ -2351,12 +2371,19 @@ class Converter {
2351
2371
  return this.fixExports(node, result);
2352
2372
  }
2353
2373
  case SyntaxKind.EnumMember: {
2354
- return this.createNode(node, {
2374
+ const computed = node.name.kind === ts.SyntaxKind.ComputedPropertyName;
2375
+ if (computed) {
2376
+ this.#throwUnlessAllowInvalidAST(node.name, 'Computed property names are not allowed in enums.');
2377
+ }
2378
+ if (node.name.kind === SyntaxKind.NumericLiteral ||
2379
+ node.name.kind === SyntaxKind.BigIntLiteral) {
2380
+ this.#throwUnlessAllowInvalidAST(node.name, 'An enum member cannot have a numeric name.');
2381
+ }
2382
+ return this.createNode(node, this.#withDeprecatedGetter({
2355
2383
  type: ts_estree_1.AST_NODE_TYPES.TSEnumMember,
2356
- computed: node.name.kind === ts.SyntaxKind.ComputedPropertyName,
2357
2384
  id: this.convertChild(node.name),
2358
2385
  initializer: node.initializer && this.convertChild(node.initializer),
2359
- });
2386
+ }, 'computed', undefined, computed));
2360
2387
  }
2361
2388
  case SyntaxKind.ModuleDeclaration: {
2362
2389
  let isDeclare = (0, node_utils_1.hasModifier)(SyntaxKind.DeclareKeyword, node);
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/create-program/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAI1C,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC;IACnB,OAAO,EAAE,IAAI,CAAC;CACf;AACD,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC;IACnB,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC;CACrB;AACD,MAAM,MAAM,aAAa,GAAG,qBAAqB,GAAG,eAAe,CAAC;AAYpE,eAAO,MAAM,6BAA6B,aASxC,CAAC;AAEH,wBAAgB,qCAAqC,CACnD,aAAa,EAAE,aAAa,GAC3B,EAAE,CAAC,eAAe,CASpB;AAGD,MAAM,MAAM,aAAa,GAAG;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAAC;AAU1D,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,CAMpE;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,MAAM,CAI7E;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,aAAa,GAAG,aAAa,CAEhE;AAmBD,wBAAgB,iBAAiB,CAC/B,cAAc,EAAE,OAAO,EACvB,QAAQ,EAAE,MAAM,GACf,qBAAqB,GAAG,SAAS,CAWnC;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAOlD"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/create-program/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAI1C,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC;IACnB,OAAO,EAAE,IAAI,CAAC;CACf;AACD,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC;IACnB,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC;CACrB;AACD,MAAM,MAAM,aAAa,GAAG,qBAAqB,GAAG,eAAe,CAAC;AAYpE,eAAO,MAAM,6BAA6B,aASxC,CAAC;AAEH,wBAAgB,qCAAqC,CACnD,aAAa,EAAE,aAAa,GAC3B,EAAE,CAAC,eAAe,CASpB;AAGD,MAAM,MAAM,aAAa,GAAG;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAAC;AAU1D,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,CAMpE;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,MAAM,CAE7E;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,aAAa,GAAG,aAAa,CAEhE;AAmBD,wBAAgB,iBAAiB,CAC/B,cAAc,EAAE,OAAO,EACvB,QAAQ,EAAE,MAAM,GACf,qBAAqB,GAAG,SAAS,CAWnC;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAOlD"}
@@ -89,9 +89,7 @@ function getCanonicalFileName(filePath) {
89
89
  return correctPathCasing(normalized);
90
90
  }
91
91
  function ensureAbsolutePath(p, tsconfigRootDir) {
92
- return node_path_1.default.isAbsolute(p)
93
- ? p
94
- : node_path_1.default.join(tsconfigRootDir || process.cwd(), p);
92
+ return node_path_1.default.resolve(tsconfigRootDir, p);
95
93
  }
96
94
  function canonicalDirname(p) {
97
95
  return node_path_1.default.dirname(p);
@@ -1,7 +1,7 @@
1
1
  import * as ts from 'typescript';
2
2
  import type { ParseSettings } from '../parseSettings';
3
3
  import type { ASTAndDefiniteProgram } from './shared';
4
- export declare function useProvidedPrograms(programInstances: Iterable<ts.Program>, parseSettings: ParseSettings): ASTAndDefiniteProgram | undefined;
4
+ export declare function useProvidedPrograms(programInstances: Iterable<ts.Program>, parseSettings: ParseSettings): ASTAndDefiniteProgram;
5
5
  /**
6
6
  * Utility offered by parser to help consumers construct their own program instance.
7
7
  *
@@ -1 +1 @@
1
- {"version":3,"file":"useProvidedPrograms.d.ts","sourceRoot":"","sources":["../../src/create-program/useProvidedPrograms.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAQtD,wBAAgB,mBAAmB,CACjC,gBAAgB,EAAE,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,EACtC,aAAa,EAAE,aAAa,GAC3B,qBAAqB,GAAG,SAAS,CAoCnC;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACzC,UAAU,EAAE,MAAM,EAClB,gBAAgB,CAAC,EAAE,MAAM,GACxB,EAAE,CAAC,OAAO,CAIZ"}
1
+ {"version":3,"file":"useProvidedPrograms.d.ts","sourceRoot":"","sources":["../../src/create-program/useProvidedPrograms.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAQtD,wBAAgB,mBAAmB,CACjC,gBAAgB,EAAE,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,EACtC,aAAa,EAAE,aAAa,GAC3B,qBAAqB,CAoCvB;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACzC,UAAU,EAAE,MAAM,EAClB,gBAAgB,CAAC,EAAE,MAAM,GACxB,EAAE,CAAC,OAAO,CAIZ"}
@@ -1 +1 @@
1
- {"version":3,"file":"createParseSettings.d.ts","sourceRoot":"","sources":["../../src/parseSettings/createParseSettings.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAkCpD,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,GAAG,EAAE,CAAC,UAAU,EAC5B,eAAe,GAAE,OAAO,CAAC,eAAe,CAAM,GAC7C,oBAAoB,CAwJtB;AAED,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C;AAED,wBAAgB,2BAA2B,IAAI,IAAI,CAElD"}
1
+ {"version":3,"file":"createParseSettings.d.ts","sourceRoot":"","sources":["../../src/parseSettings/createParseSettings.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAkCpD,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,GAAG,EAAE,CAAC,UAAU,EAC5B,eAAe,GAAE,OAAO,CAAC,eAAe,CAAM,GAC7C,oBAAoB,CA0LtB;AAED,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C;AAED,wBAAgB,2BAA2B,IAAI,IAAI,CAElD"}
@@ -69,9 +69,28 @@ const JSDocParsingMode = {
69
69
  function createParseSettings(code, tsestreeOptions = {}) {
70
70
  const codeFullText = enforceCodeString(code);
71
71
  const singleRun = (0, inferSingleRun_1.inferSingleRun)(tsestreeOptions);
72
- const tsconfigRootDir = typeof tsestreeOptions.tsconfigRootDir === 'string'
73
- ? tsestreeOptions.tsconfigRootDir
74
- : (0, candidateTSConfigRootDirs_1.getInferredTSConfigRootDir)();
72
+ const tsconfigRootDir = (() => {
73
+ if (tsestreeOptions.tsconfigRootDir == null) {
74
+ const inferredTsconfigRootDir = (0, candidateTSConfigRootDirs_1.getInferredTSConfigRootDir)();
75
+ if (node_path_1.default.resolve(inferredTsconfigRootDir) !== inferredTsconfigRootDir) {
76
+ throw new Error(`inferred tsconfigRootDir should be a resolved absolute path, but received: ${JSON.stringify(inferredTsconfigRootDir)}. This is a bug in typescript-eslint! Please report it to us at https://github.com/typescript-eslint/typescript-eslint/issues/new/choose.`);
77
+ }
78
+ return inferredTsconfigRootDir;
79
+ }
80
+ if (typeof tsestreeOptions.tsconfigRootDir === 'string') {
81
+ const userProvidedTsconfigRootDir = tsestreeOptions.tsconfigRootDir;
82
+ if (!node_path_1.default.isAbsolute(userProvidedTsconfigRootDir) ||
83
+ // Ensure it's fully absolute with a drive letter if windows
84
+ (process.platform === 'win32' &&
85
+ !/^[a-zA-Z]:/.test(userProvidedTsconfigRootDir))) {
86
+ throw new Error(`parserOptions.tsconfigRootDir must be an absolute path, but received: ${JSON.stringify(userProvidedTsconfigRootDir)}. This is a bug in your configuration; please supply an absolute path.`);
87
+ }
88
+ // Deal with any funny business around trailing path separators (a/b/) or relative path segments (/a/b/../c)
89
+ // Since we already know it's absolute, we can safely use path.resolve here.
90
+ return node_path_1.default.resolve(userProvidedTsconfigRootDir);
91
+ }
92
+ throw new Error(`If provided, parserOptions.tsconfigRootDir must be a string, but received a value of type "${typeof tsestreeOptions.tsconfigRootDir}"`);
93
+ })();
75
94
  const passedLoggerFn = typeof tsestreeOptions.loggerFn === 'function';
76
95
  const filePath = (0, shared_1.ensureAbsolutePath)(typeof tsestreeOptions.filePath === 'string' &&
77
96
  tsestreeOptions.filePath !== '<input>'
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAKtC,OAAO,KAAK,EACV,cAAc,EAEd,eAAe,EAChB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AA4B5C,wBAAgB,iBAAiB,IAAI,IAAI,CAExC;AAGD,wBAAgB,+BAA+B,IAAI,IAAI,CAEtD;AA8CD,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,eAAe,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,IAAI,GACnE;IAAE,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAA;CAAE,GAChC,EAAE,CAAC,GACL,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,IAAI,GAAG;IAAE,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAA;CAAE,GAAG,EAAE,CAAC,GAC9D,QAAQ,CAAC,OAAO,CAAC;AAGnB,MAAM,WAAW,8BAA8B,CAAC,CAAC,SAAS,eAAe;IACvE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IACZ,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAMD,wBAAgB,KAAK,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe,EAC/D,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,CAAC,GACV,GAAG,CAAC,CAAC,CAAC,CAGR;AA4CD,wBAAgB,kCAAkC,IAAI,IAAI,CAEzD;AAED,wBAAgB,wBAAwB,CACtC,CAAC,SAAS,eAAe,GAAG,eAAe,EAE3C,IAAI,EAAE,MAAM,GAAG,EAAE,CAAC,UAAU,EAC5B,eAAe,EAAE,CAAC,GACjB,8BAA8B,CAAC,CAAC,CAAC,CA+GnC"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAKtC,OAAO,KAAK,EACV,cAAc,EAEd,eAAe,EAChB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AA4B5C,wBAAgB,iBAAiB,IAAI,IAAI,CAExC;AAGD,wBAAgB,+BAA+B,IAAI,IAAI,CAEtD;AAwCD,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,eAAe,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,IAAI,GACnE;IAAE,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAA;CAAE,GAChC,EAAE,CAAC,GACL,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,IAAI,GAAG;IAAE,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAA;CAAE,GAAG,EAAE,CAAC,GAC9D,QAAQ,CAAC,OAAO,CAAC;AAGnB,MAAM,WAAW,8BAA8B,CAAC,CAAC,SAAS,eAAe;IACvE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IACZ,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAMD,wBAAgB,KAAK,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe,EAC/D,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,CAAC,GACV,GAAG,CAAC,CAAC,CAAC,CAGR;AA4CD,wBAAgB,kCAAkC,IAAI,IAAI,CAEzD;AAED,wBAAgB,wBAAwB,CACtC,CAAC,SAAS,eAAe,GAAG,eAAe,EAE3C,IAAI,EAAE,MAAM,GAAG,EAAE,CAAC,UAAU,EAC5B,eAAe,EAAE,CAAC,GACjB,8BAA8B,CAAC,CAAC,CAAC,CA+GnC"}
package/dist/parser.js CHANGED
@@ -47,10 +47,7 @@ function getProgramAndAST(parseSettings, hasFullTypeInformation) {
47
47
  }
48
48
  }
49
49
  if (parseSettings.programs) {
50
- const fromProvidedPrograms = (0, useProvidedPrograms_1.useProvidedPrograms)(parseSettings.programs, parseSettings);
51
- if (fromProvidedPrograms) {
52
- return fromProvidedPrograms;
53
- }
50
+ return (0, useProvidedPrograms_1.useProvidedPrograms)(parseSettings.programs, parseSettings);
54
51
  }
55
52
  // no need to waste time creating a program as the caller didn't want parser services
56
53
  // so we can save time and just create a lonesome source file
@@ -1,4 +1,4 @@
1
- import type { ProjectServiceAndMetadata as ProjectServiceAndMetadata } from '@typescript-eslint/project-service';
1
+ import type { ProjectServiceAndMetadata } from '@typescript-eslint/project-service';
2
2
  import type { ASTAndDefiniteProgram, ASTAndNoProgram, ASTAndProgram } from './create-program/shared';
3
3
  import type { MutableParseSettings } from './parseSettings';
4
4
  export declare function useProgramFromProjectService(serviceAndSettings: ProjectServiceAndMetadata, parseSettings: Readonly<MutableParseSettings>, hasFullTypeInformation: boolean, defaultProjectMatchedFiles: Set<string>): ASTAndProgram | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"useProgramFromProjectService.d.ts","sourceRoot":"","sources":["../src/useProgramFromProjectService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,IAAI,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAQjH,OAAO,KAAK,EACV,qBAAqB,EACrB,eAAe,EACf,aAAa,EACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AA4M5D,wBAAgB,4BAA4B,CAC1C,kBAAkB,EAAE,yBAAyB,EAC7C,aAAa,EAAE,QAAQ,CAAC,oBAAoB,CAAC,EAC7C,sBAAsB,EAAE,OAAO,EAC/B,0BAA0B,EAAE,GAAG,CAAC,MAAM,CAAC,GACtC,aAAa,GAAG,SAAS,CAAC;AAC7B,wBAAgB,4BAA4B,CAC1C,kBAAkB,EAAE,yBAAyB,EAC7C,aAAa,EAAE,QAAQ,CAAC,oBAAoB,CAAC,EAC7C,sBAAsB,EAAE,IAAI,EAC5B,0BAA0B,EAAE,GAAG,CAAC,MAAM,CAAC,GACtC,qBAAqB,GAAG,SAAS,CAAC;AACrC,wBAAgB,4BAA4B,CAC1C,kBAAkB,EAAE,yBAAyB,EAC7C,aAAa,EAAE,QAAQ,CAAC,oBAAoB,CAAC,EAC7C,sBAAsB,EAAE,KAAK,EAC7B,0BAA0B,EAAE,GAAG,CAAC,MAAM,CAAC,GACtC,eAAe,GAAG,SAAS,CAAC"}
1
+ {"version":3,"file":"useProgramFromProjectService.d.ts","sourceRoot":"","sources":["../src/useProgramFromProjectService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAQpF,OAAO,KAAK,EACV,qBAAqB,EACrB,eAAe,EACf,aAAa,EACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AA4M5D,wBAAgB,4BAA4B,CAC1C,kBAAkB,EAAE,yBAAyB,EAC7C,aAAa,EAAE,QAAQ,CAAC,oBAAoB,CAAC,EAC7C,sBAAsB,EAAE,OAAO,EAC/B,0BAA0B,EAAE,GAAG,CAAC,MAAM,CAAC,GACtC,aAAa,GAAG,SAAS,CAAC;AAC7B,wBAAgB,4BAA4B,CAC1C,kBAAkB,EAAE,yBAAyB,EAC7C,aAAa,EAAE,QAAQ,CAAC,oBAAoB,CAAC,EAC7C,sBAAsB,EAAE,IAAI,EAC5B,0BAA0B,EAAE,GAAG,CAAC,MAAM,CAAC,GACtC,qBAAqB,GAAG,SAAS,CAAC;AACrC,wBAAgB,4BAA4B,CAC1C,kBAAkB,EAAE,yBAAyB,EAC7C,aAAa,EAAE,QAAQ,CAAC,oBAAoB,CAAC,EAC7C,sBAAsB,EAAE,KAAK,EAC7B,0BAA0B,EAAE,GAAG,CAAC,MAAM,CAAC,GACtC,eAAe,GAAG,SAAS,CAAC"}
@@ -192,5 +192,5 @@ function absolutify(filePath, serviceAndSettings) {
192
192
  : node_path_1.default.join(serviceAndSettings.service.host.getCurrentDirectory(), filePath);
193
193
  }
194
194
  function filePathMatchedBy(filePath, allowDefaultProject) {
195
- return !!allowDefaultProject?.some(pattern => (0, minimatch_1.minimatch)(filePath, pattern));
195
+ return !!allowDefaultProject?.some(pattern => (0, minimatch_1.minimatch)(filePath, pattern, { dot: true }));
196
196
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typescript-eslint/typescript-estree",
3
- "version": "8.39.1",
3
+ "version": "8.43.0",
4
4
  "description": "A parser that converts TypeScript source code into an ESTree compatible form",
5
5
  "files": [
6
6
  "dist",
@@ -52,10 +52,10 @@
52
52
  "typecheck": "yarn run -BT nx typecheck"
53
53
  },
54
54
  "dependencies": {
55
- "@typescript-eslint/project-service": "8.39.1",
56
- "@typescript-eslint/tsconfig-utils": "8.39.1",
57
- "@typescript-eslint/types": "8.39.1",
58
- "@typescript-eslint/visitor-keys": "8.39.1",
55
+ "@typescript-eslint/project-service": "8.43.0",
56
+ "@typescript-eslint/tsconfig-utils": "8.43.0",
57
+ "@typescript-eslint/types": "8.43.0",
58
+ "@typescript-eslint/visitor-keys": "8.43.0",
59
59
  "debug": "^4.3.4",
60
60
  "fast-glob": "^3.3.2",
61
61
  "is-glob": "^4.0.3",