@typescript-eslint/typescript-estree 6.0.1-alpha.8 → 6.1.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 (43) hide show
  1. package/_ts4.3/dist/create-program/createProjectProgram.d.ts +2 -1
  2. package/_ts4.3/dist/create-program/createProjectService.d.ts +4 -0
  3. package/_ts4.3/dist/create-program/shared.d.ts +1 -1
  4. package/_ts4.3/dist/create-program/useProvidedPrograms.d.ts +5 -2
  5. package/_ts4.3/dist/parseSettings/createParseSettings.d.ts +1 -0
  6. package/_ts4.3/dist/parseSettings/index.d.ts +5 -0
  7. package/_ts4.3/dist/parser-options.d.ts +9 -1
  8. package/_ts4.3/dist/useProgramFromProjectService.d.ts +5 -0
  9. package/dist/clear-caches.d.ts.map +1 -1
  10. package/dist/clear-caches.js +1 -0
  11. package/dist/clear-caches.js.map +1 -1
  12. package/dist/create-program/createProjectProgram.d.ts +2 -1
  13. package/dist/create-program/createProjectProgram.d.ts.map +1 -1
  14. package/dist/create-program/createProjectProgram.js +2 -4
  15. package/dist/create-program/createProjectProgram.js.map +1 -1
  16. package/dist/create-program/createProjectService.d.ts +4 -0
  17. package/dist/create-program/createProjectService.d.ts.map +1 -0
  18. package/dist/create-program/createProjectService.js +45 -0
  19. package/dist/create-program/createProjectService.js.map +1 -0
  20. package/dist/create-program/shared.d.ts +1 -1
  21. package/dist/create-program/shared.d.ts.map +1 -1
  22. package/dist/create-program/shared.js +3 -3
  23. package/dist/create-program/shared.js.map +1 -1
  24. package/dist/create-program/useProvidedPrograms.d.ts +5 -2
  25. package/dist/create-program/useProvidedPrograms.d.ts.map +1 -1
  26. package/dist/create-program/useProvidedPrograms.js +4 -4
  27. package/dist/create-program/useProvidedPrograms.js.map +1 -1
  28. package/dist/parseSettings/createParseSettings.d.ts +1 -0
  29. package/dist/parseSettings/createParseSettings.d.ts.map +1 -1
  30. package/dist/parseSettings/createParseSettings.js +15 -3
  31. package/dist/parseSettings/createParseSettings.js.map +1 -1
  32. package/dist/parseSettings/index.d.ts +5 -0
  33. package/dist/parseSettings/index.d.ts.map +1 -1
  34. package/dist/parser-options.d.ts +9 -1
  35. package/dist/parser-options.d.ts.map +1 -1
  36. package/dist/parser.d.ts.map +1 -1
  37. package/dist/parser.js +23 -15
  38. package/dist/parser.js.map +1 -1
  39. package/dist/useProgramFromProjectService.d.ts +5 -0
  40. package/dist/useProgramFromProjectService.d.ts.map +1 -0
  41. package/dist/useProgramFromProjectService.js +31 -0
  42. package/dist/useProgramFromProjectService.js.map +1 -0
  43. package/package.json +4 -4
@@ -1,9 +1,10 @@
1
+ import * as ts from 'typescript';
1
2
  import type { ParseSettings } from '../parseSettings';
2
3
  import type { ASTAndDefiniteProgram } from './shared';
3
4
  /**
4
5
  * @param parseSettings Internal settings for parsing the file
5
6
  * @returns If found, the source file corresponding to the code and the containing program
6
7
  */
7
- declare function createProjectProgram(parseSettings: ParseSettings): ASTAndDefiniteProgram | undefined;
8
+ declare function createProjectProgram(parseSettings: ParseSettings, programsForProjects: readonly ts.Program[]): ASTAndDefiniteProgram | undefined;
8
9
  export { createProjectProgram };
9
10
  //# sourceMappingURL=createProjectProgram.d.ts.map
@@ -0,0 +1,4 @@
1
+ import type * as ts from 'typescript/lib/tsserverlibrary';
2
+ export type TypeScriptProjectService = ts.server.ProjectService;
3
+ export declare function createProjectService(): TypeScriptProjectService;
4
+ //# sourceMappingURL=createProjectService.d.ts.map
@@ -21,7 +21,7 @@ type CanonicalPath = string & {
21
21
  declare function getCanonicalFileName(filePath: string): CanonicalPath;
22
22
  declare function ensureAbsolutePath(p: string, tsconfigRootDir: string): string;
23
23
  declare function canonicalDirname(p: CanonicalPath): CanonicalPath;
24
- declare function getAstFromProgram(currentProgram: Program, parseSettings: ParseSettings): ASTAndDefiniteProgram | undefined;
24
+ declare function getAstFromProgram(currentProgram: Program, filePath: string): ASTAndDefiniteProgram | undefined;
25
25
  /**
26
26
  * Hash content for compare content.
27
27
  * @param content hashed contend
@@ -1,7 +1,10 @@
1
1
  import * as ts from 'typescript';
2
- import type { ParseSettings } from '../parseSettings';
3
2
  import type { ASTAndDefiniteProgram } from './shared';
4
- declare function useProvidedPrograms(programInstances: Iterable<ts.Program>, parseSettings: ParseSettings): ASTAndDefiniteProgram | undefined;
3
+ export interface ProvidedProgramsSettings {
4
+ filePath: string;
5
+ tsconfigRootDir: string;
6
+ }
7
+ declare function useProvidedPrograms(programInstances: Iterable<ts.Program>, { filePath, tsconfigRootDir }: ProvidedProgramsSettings): ASTAndDefiniteProgram | undefined;
5
8
  /**
6
9
  * Utility offered by parser to help consumers construct their own program instance.
7
10
  *
@@ -3,4 +3,5 @@ import type { TSESTreeOptions } from '../parser-options';
3
3
  import type { MutableParseSettings } from './index';
4
4
  export declare function createParseSettings(code: ts.SourceFile | string, options?: Partial<TSESTreeOptions>): MutableParseSettings;
5
5
  export declare function clearTSConfigMatchCache(): void;
6
+ export declare function clearTSServerProjectService(): void;
6
7
  //# sourceMappingURL=createParseSettings.d.ts.map
@@ -1,4 +1,5 @@
1
1
  import type * as ts from 'typescript';
2
+ import type * as tsserverlibrary from 'typescript/lib/tsserverlibrary';
2
3
  import type { CanonicalPath } from '../create-program/shared';
3
4
  import type { TSESTree } from '../ts-estree';
4
5
  import type { CacheLike } from './ExpiringCache';
@@ -45,6 +46,10 @@ export interface MutableParseSettings {
45
46
  * Whether to error if an unknown AST node type is encountered.
46
47
  */
47
48
  errorOnUnknownASTType: boolean;
49
+ /**
50
+ * Experimental: TypeScript server to power program creation.
51
+ */
52
+ EXPERIMENTAL_projectService: tsserverlibrary.server.ProjectService | undefined;
48
53
  /**
49
54
  * Whether TS should use the source files for referenced projects instead of the compiled .d.ts files.
50
55
  *
@@ -68,6 +68,14 @@ interface ParseAndGenerateServicesOptions extends ParseOptions {
68
68
  * Causes the parser to error if the TypeScript compiler returns any unexpected syntax/semantic errors.
69
69
  */
70
70
  errorOnTypeScriptSyntacticAndSemanticIssues?: boolean;
71
+ /**
72
+ * ***EXPERIMENTAL FLAG*** - Use this at your own risk.
73
+ *
74
+ * Whether to create a shared TypeScript server to power program creation.
75
+ *
76
+ * @see https://github.com/typescript-eslint/typescript-eslint/issues/6575
77
+ */
78
+ EXPERIMENTAL_useProjectService?: boolean;
71
79
  /**
72
80
  * ***EXPERIMENTAL FLAG*** - Use this at your own risk.
73
81
  *
@@ -76,7 +84,7 @@ interface ParseAndGenerateServicesOptions extends ParseOptions {
76
84
  *
77
85
  * This flag REQUIRES at least TS v3.9, otherwise it does nothing.
78
86
  *
79
- * See: https://github.com/typescript-eslint/typescript-eslint/issues/2094
87
+ * @see https://github.com/typescript-eslint/typescript-eslint/issues/2094
80
88
  */
81
89
  EXPERIMENTAL_useSourceOfProjectReferenceRedirect?: boolean;
82
90
  /**
@@ -0,0 +1,5 @@
1
+ import type { server } from 'typescript/lib/tsserverlibrary';
2
+ import type { ASTAndDefiniteProgram } from './create-program/shared';
3
+ import type { MutableParseSettings } from './parseSettings';
4
+ export declare function useProgramFromProjectService(projectService: server.ProjectService, parseSettings: Readonly<MutableParseSettings>): ASTAndDefiniteProgram | undefined;
5
+ //# sourceMappingURL=useProgramFromProjectService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"clear-caches.d.ts","sourceRoot":"","sources":["../src/clear-caches.ts"],"names":[],"mappings":"AAKA;;;;;;GAMG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAKlC;AAGD,eAAO,MAAM,iBAAiB,oBAAc,CAAC"}
1
+ {"version":3,"file":"clear-caches.d.ts","sourceRoot":"","sources":["../src/clear-caches.ts"],"names":[],"mappings":"AAQA;;;;;;GAMG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAMlC;AAGD,eAAO,MAAM,iBAAiB,oBAAc,CAAC"}
@@ -16,6 +16,7 @@ function clearCaches() {
16
16
  (0, parser_1.clearProgramCache)();
17
17
  (0, getWatchProgramsForProjects_1.clearWatchCaches)();
18
18
  (0, createParseSettings_1.clearTSConfigMatchCache)();
19
+ (0, createParseSettings_1.clearTSServerProjectService)();
19
20
  (0, resolveProjectList_1.clearGlobCache)();
20
21
  }
21
22
  exports.clearCaches = clearCaches;
@@ -1 +1 @@
1
- {"version":3,"file":"clear-caches.js","sourceRoot":"","sources":["../src/clear-caches.ts"],"names":[],"mappings":";;;AAAA,8FAAgF;AAChF,qCAA0E;AAC1E,6EAA8E;AAC9E,2EAAoE;AAEpE;;;;;;GAMG;AACH,SAAgB,WAAW;IACzB,IAAA,0BAAyB,GAAE,CAAC;IAC5B,IAAA,8CAAgB,GAAE,CAAC;IACnB,IAAA,6CAAuB,GAAE,CAAC;IAC1B,IAAA,mCAAc,GAAE,CAAC;AACnB,CAAC;AALD,kCAKC;AAED,mCAAmC;AACtB,QAAA,iBAAiB,GAAG,WAAW,CAAC"}
1
+ {"version":3,"file":"clear-caches.js","sourceRoot":"","sources":["../src/clear-caches.ts"],"names":[],"mappings":";;;AAAA,8FAAgF;AAChF,qCAA0E;AAC1E,6EAG6C;AAC7C,2EAAoE;AAEpE;;;;;;GAMG;AACH,SAAgB,WAAW;IACzB,IAAA,0BAAyB,GAAE,CAAC;IAC5B,IAAA,8CAAgB,GAAE,CAAC;IACnB,IAAA,6CAAuB,GAAE,CAAC;IAC1B,IAAA,iDAA2B,GAAE,CAAC;IAC9B,IAAA,mCAAc,GAAE,CAAC;AACnB,CAAC;AAND,kCAMC;AAED,mCAAmC;AACtB,QAAA,iBAAiB,GAAG,WAAW,CAAC"}
@@ -1,9 +1,10 @@
1
+ import * as ts from 'typescript';
1
2
  import type { ParseSettings } from '../parseSettings';
2
3
  import type { ASTAndDefiniteProgram } from './shared';
3
4
  /**
4
5
  * @param parseSettings Internal settings for parsing the file
5
6
  * @returns If found, the source file corresponding to the code and the containing program
6
7
  */
7
- declare function createProjectProgram(parseSettings: ParseSettings): ASTAndDefiniteProgram | undefined;
8
+ declare function createProjectProgram(parseSettings: ParseSettings, programsForProjects: readonly ts.Program[]): ASTAndDefiniteProgram | undefined;
8
9
  export { createProjectProgram };
9
10
  //# sourceMappingURL=createProjectProgram.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createProjectProgram.d.ts","sourceRoot":"","sources":["../../src/create-program/createProjectProgram.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGtD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAgBtD;;;GAGG;AACH,iBAAS,oBAAoB,CAC3B,aAAa,EAAE,aAAa,GAC3B,qBAAqB,GAAG,SAAS,CA+EnC;AAED,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
1
+ {"version":3,"file":"createProjectProgram.d.ts","sourceRoot":"","sources":["../../src/create-program/createProjectProgram.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAGjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAgBtD;;;GAGG;AACH,iBAAS,oBAAoB,CAC3B,aAAa,EAAE,aAAa,EAC5B,mBAAmB,EAAE,SAAS,EAAE,CAAC,OAAO,EAAE,GACzC,qBAAqB,GAAG,SAAS,CA8EnC;AAED,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
@@ -32,7 +32,6 @@ const path_1 = __importDefault(require("path"));
32
32
  const ts = __importStar(require("typescript"));
33
33
  const node_utils_1 = require("../node-utils");
34
34
  const describeFilePath_1 = require("./describeFilePath");
35
- const getWatchProgramsForProjects_1 = require("./getWatchProgramsForProjects");
36
35
  const shared_1 = require("./shared");
37
36
  const log = (0, debug_1.default)('typescript-eslint:typescript-estree:createProjectProgram');
38
37
  const DEFAULT_EXTRA_FILE_EXTENSIONS = [
@@ -49,10 +48,9 @@ const DEFAULT_EXTRA_FILE_EXTENSIONS = [
49
48
  * @param parseSettings Internal settings for parsing the file
50
49
  * @returns If found, the source file corresponding to the code and the containing program
51
50
  */
52
- function createProjectProgram(parseSettings) {
51
+ function createProjectProgram(parseSettings, programsForProjects) {
53
52
  log('Creating project program for: %s', parseSettings.filePath);
54
- const programsForProjects = (0, getWatchProgramsForProjects_1.getWatchProgramsForProjects)(parseSettings);
55
- const astAndProgram = (0, node_utils_1.firstDefined)(programsForProjects, currentProgram => (0, shared_1.getAstFromProgram)(currentProgram, parseSettings));
53
+ const astAndProgram = (0, node_utils_1.firstDefined)(programsForProjects, currentProgram => (0, shared_1.getAstFromProgram)(currentProgram, parseSettings.filePath));
56
54
  // The file was either matched within the tsconfig, or we allow creating a default program
57
55
  // eslint-disable-next-line deprecation/deprecation -- will be cleaned up with the next major
58
56
  if (astAndProgram || parseSettings.DEPRECATED__createDefaultProgram) {
@@ -1 +1 @@
1
- {"version":3,"file":"createProjectProgram.js","sourceRoot":"","sources":["../../src/create-program/createProjectProgram.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,gDAAwB;AACxB,+CAAiC;AAEjC,8CAA6C;AAE7C,yDAAsD;AACtD,+EAA4E;AAE5E,qCAA6C;AAE7C,MAAM,GAAG,GAAG,IAAA,eAAK,EAAC,0DAA0D,CAAC,CAAC;AAE9E,MAAM,6BAA6B,GAAG;IACpC,EAAE,CAAC,SAAS,CAAC,EAAE;IACf,EAAE,CAAC,SAAS,CAAC,GAAG;IAChB,EAAE,CAAC,SAAS,CAAC,EAAE;IACf,EAAE,CAAC,SAAS,CAAC,GAAG;IAChB,EAAE,CAAC,SAAS,CAAC,GAAG;IAChB,EAAE,CAAC,SAAS,CAAC,GAAG;IAChB,EAAE,CAAC,SAAS,CAAC,GAAG;IAChB,EAAE,CAAC,SAAS,CAAC,GAAG;CACI,CAAC;AAEvB;;;GAGG;AACH,SAAS,oBAAoB,CAC3B,aAA4B;IAE5B,GAAG,CAAC,kCAAkC,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IAEhE,MAAM,mBAAmB,GAAG,IAAA,yDAA2B,EAAC,aAAa,CAAC,CAAC;IACvE,MAAM,aAAa,GAAG,IAAA,yBAAY,EAAC,mBAAmB,EAAE,cAAc,CAAC,EAAE,CACvE,IAAA,0BAAiB,EAAC,cAAc,EAAE,aAAa,CAAC,CACjD,CAAC;IAEF,0FAA0F;IAC1F,6FAA6F;IAC7F,IAAI,aAAa,IAAI,aAAa,CAAC,gCAAgC,EAAE;QACnE,OAAO,aAAa,CAAC;KACtB;IAED,MAAM,uBAAuB,GAAG,CAAC,WAAmB,EAAU,EAAE,CAC9D,IAAA,mCAAgB,EAAC,WAAW,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IAE/D,MAAM,iBAAiB,GAAG,IAAA,mCAAgB,EACxC,aAAa,CAAC,QAAQ,EACtB,aAAa,CAAC,eAAe,CAC9B,CAAC;IACF,MAAM,gBAAgB,GAAG,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IAC7E,MAAM,iBAAiB,GACrB,gBAAgB,CAAC,MAAM,KAAK,CAAC;QAC3B,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACrB,CAAC,CAAC,KAAK,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IACxE,MAAM,UAAU,GAAG;QACjB,qCAAqC,iBAAiB,uCAAuC,iBAAiB,EAAE;KACjH,CAAC;IACF,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAE9B,MAAM,mBAAmB,GAAG,aAAa,CAAC,mBAAmB,IAAI,EAAE,CAAC;IAEpE,mBAAmB,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;QAC3C,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YACnC,UAAU,CAAC,IAAI,CACb,gCAAgC,cAAc,uFAAuF,cAAc,KAAK,CACzJ,CAAC;SACH;QACD,IAAI,6BAA6B,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;YAC1D,UAAU,CAAC,IAAI,CACb,8CAA8C,cAAc,uHAAuH,CACpL,CAAC;SACH;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,cAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC3D,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;QAC1D,MAAM,cAAc,GAAG,iCAAiC,aAAa,qBAAqB,CAAC;QAC3F,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE;YAClC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;gBAChD,UAAU,CAAC,IAAI,CACb,GAAG,cAAc,8EAA8E,CAChG,CAAC;gBACF,iBAAiB,GAAG,IAAI,CAAC;aAC1B;SACF;aAAM;YACL,UAAU,CAAC,IAAI,CACb,GAAG,cAAc,wEAAwE,CAC1F,CAAC;YACF,iBAAiB,GAAG,IAAI,CAAC;SAC1B;KACF;IAED,IAAI,CAAC,iBAAiB,EAAE;QACtB,MAAM,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,GAC9C,aAAa,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;YACjC,CAAC,CAAC,CAAC,wBAAwB,EAAE,eAAe,CAAC;YAC7C,CAAC,CAAC,CAAC,yBAAyB,EAAE,wBAAwB,CAAC,CAAC;QAC5D,UAAU,CAAC,IAAI,CACb,YAAY,mBAAmB,6BAA6B,EAC5D,mEAAmE,EACnE,YAAY,mBAAmB,uBAAuB,EACtD,8FAA8F,EAC9F,oOAAoO,CACrO,CAAC;KACH;IAED,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACzC,CAAC;AAEQ,oDAAoB"}
1
+ {"version":3,"file":"createProjectProgram.js","sourceRoot":"","sources":["../../src/create-program/createProjectProgram.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type * as ts from 'typescript/lib/tsserverlibrary';
2
+ export type TypeScriptProjectService = ts.server.ProjectService;
3
+ export declare function createProjectService(): TypeScriptProjectService;
4
+ //# sourceMappingURL=createProjectService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createProjectService.d.ts","sourceRoot":"","sources":["../../src/create-program/createProjectService.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAQ1D,MAAM,MAAM,wBAAwB,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC;AAEhE,wBAAgB,oBAAoB,IAAI,wBAAwB,CAoC/D"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createProjectService = void 0;
4
+ const doNothing = () => { };
5
+ const createStubFileWatcher = () => ({
6
+ close: doNothing,
7
+ });
8
+ function createProjectService() {
9
+ // We import this lazily to avoid its cost for users who don't use the service
10
+ const tsserver = require('typescript/lib/tsserverlibrary');
11
+ // TODO: see getWatchProgramsForProjects
12
+ // We don't watch the disk, we just refer to these when ESLint calls us
13
+ // there's a whole separate update pass in maybeInvalidateProgram at the bottom of getWatchProgramsForProjects
14
+ // (this "goes nuclear on TypeScript")
15
+ const system = {
16
+ ...tsserver.sys,
17
+ clearImmediate,
18
+ clearTimeout,
19
+ setImmediate,
20
+ setTimeout,
21
+ watchDirectory: createStubFileWatcher,
22
+ watchFile: createStubFileWatcher,
23
+ };
24
+ return new tsserver.server.ProjectService({
25
+ host: system,
26
+ cancellationToken: { isCancellationRequested: () => false },
27
+ useSingleInferredProject: false,
28
+ useInferredProjectPerProjectRoot: false,
29
+ logger: {
30
+ close: doNothing,
31
+ endGroup: doNothing,
32
+ getLogFileName: () => undefined,
33
+ hasLevel: () => false,
34
+ info: doNothing,
35
+ loggingEnabled: () => false,
36
+ msg: doNothing,
37
+ perftrc: doNothing,
38
+ startGroup: doNothing,
39
+ },
40
+ session: undefined,
41
+ });
42
+ }
43
+ exports.createProjectService = createProjectService;
44
+ /* eslint-enable @typescript-eslint/no-empty-function */
45
+ //# sourceMappingURL=createProjectService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createProjectService.js","sourceRoot":"","sources":["../../src/create-program/createProjectService.ts"],"names":[],"mappings":";;;AAGA,MAAM,SAAS,GAAG,GAAS,EAAE,GAAE,CAAC,CAAC;AAEjC,MAAM,qBAAqB,GAAG,GAAmB,EAAE,CAAC,CAAC;IACnD,KAAK,EAAE,SAAS;CACjB,CAAC,CAAC;AAIH,SAAgB,oBAAoB;IAClC,8EAA8E;IAC9E,MAAM,QAAQ,GAAG,OAAO,CAAC,gCAAgC,CAAc,CAAC;IAExE,wCAAwC;IACxC,uEAAuE;IACvE,8GAA8G;IAC9G,sCAAsC;IACtC,MAAM,MAAM,GAAyB;QACnC,GAAG,QAAQ,CAAC,GAAG;QACf,cAAc;QACd,YAAY;QACZ,YAAY;QACZ,UAAU;QACV,cAAc,EAAE,qBAAqB;QACrC,SAAS,EAAE,qBAAqB;KACjC,CAAC;IAEF,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC;QACxC,IAAI,EAAE,MAAM;QACZ,iBAAiB,EAAE,EAAE,uBAAuB,EAAE,GAAY,EAAE,CAAC,KAAK,EAAE;QACpE,wBAAwB,EAAE,KAAK;QAC/B,gCAAgC,EAAE,KAAK;QACvC,MAAM,EAAE;YACN,KAAK,EAAE,SAAS;YAChB,QAAQ,EAAE,SAAS;YACnB,cAAc,EAAE,GAAG,EAAE,CAAC,SAAS;YAC/B,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK;YACrB,IAAI,EAAE,SAAS;YACf,cAAc,EAAE,GAAG,EAAE,CAAC,KAAK;YAC3B,GAAG,EAAE,SAAS;YACd,OAAO,EAAE,SAAS;YAClB,UAAU,EAAE,SAAS;SACtB;QACD,OAAO,EAAE,SAAS;KACnB,CAAC,CAAC;AACL,CAAC;AApCD,oDAoCC;AACD,wDAAwD"}
@@ -21,7 +21,7 @@ type CanonicalPath = string & {
21
21
  declare function getCanonicalFileName(filePath: string): CanonicalPath;
22
22
  declare function ensureAbsolutePath(p: string, tsconfigRootDir: string): string;
23
23
  declare function canonicalDirname(p: CanonicalPath): CanonicalPath;
24
- declare function getAstFromProgram(currentProgram: Program, parseSettings: ParseSettings): ASTAndDefiniteProgram | undefined;
24
+ declare function getAstFromProgram(currentProgram: Program, filePath: string): ASTAndDefiniteProgram | undefined;
25
25
  /**
26
26
  * Hash content for compare content.
27
27
  * @param content hashed contend
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/create-program/shared.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,UAAU,eAAe;IACvB,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC;IACnB,OAAO,EAAE,IAAI,CAAC;CACf;AACD,UAAU,qBAAqB;IAC7B,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC;IACnB,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC;CACrB;AACD,KAAK,aAAa,GAAG,qBAAqB,GAAG,eAAe,CAAC;AAE7D;;GAEG;AACH,QAAA,MAAM,qBAAqB,EAAE,EAAE,CAAC,eAQ/B,CAAC;AAYF,iBAAS,qCAAqC,CAC5C,aAAa,EAAE,aAAa,GAC3B,EAAE,CAAC,eAAe,CASpB;AAGD,KAAK,aAAa,GAAG,MAAM,GAAG;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC;AASnD,iBAAS,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,CAM7D;AAED,iBAAS,kBAAkB,CAAC,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,MAAM,CAItE;AAED,iBAAS,gBAAgB,CAAC,CAAC,EAAE,aAAa,GAAG,aAAa,CAEzD;AAmBD,iBAAS,iBAAiB,CACxB,cAAc,EAAE,OAAO,EACvB,aAAa,EAAE,aAAa,GAC3B,qBAAqB,GAAG,SAAS,CAWnC;AAED;;;;GAIG;AACH,iBAAS,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAM3C;AAED,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,aAAa,EACb,qBAAqB,EACrB,gBAAgB,EAChB,aAAa,EACb,qCAAqC,EACrC,UAAU,EACV,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,GAClB,CAAC"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/create-program/shared.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,UAAU,eAAe;IACvB,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC;IACnB,OAAO,EAAE,IAAI,CAAC;CACf;AACD,UAAU,qBAAqB;IAC7B,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC;IACnB,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC;CACrB;AACD,KAAK,aAAa,GAAG,qBAAqB,GAAG,eAAe,CAAC;AAE7D;;GAEG;AACH,QAAA,MAAM,qBAAqB,EAAE,EAAE,CAAC,eAQ/B,CAAC;AAYF,iBAAS,qCAAqC,CAC5C,aAAa,EAAE,aAAa,GAC3B,EAAE,CAAC,eAAe,CASpB;AAGD,KAAK,aAAa,GAAG,MAAM,GAAG;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC;AASnD,iBAAS,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,CAM7D;AAED,iBAAS,kBAAkB,CAAC,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,MAAM,CAItE;AAED,iBAAS,gBAAgB,CAAC,CAAC,EAAE,aAAa,GAAG,aAAa,CAEzD;AAmBD,iBAAS,iBAAiB,CACxB,cAAc,EAAE,OAAO,EACvB,QAAQ,EAAE,MAAM,GACf,qBAAqB,GAAG,SAAS,CAWnC;AAED;;;;GAIG;AACH,iBAAS,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAM3C;AAED,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,aAAa,EACb,qBAAqB,EACrB,gBAAgB,EAChB,aAAa,EACb,qCAAqC,EACrC,UAAU,EACV,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,GAClB,CAAC"}
@@ -94,10 +94,10 @@ function getExtension(fileName) {
94
94
  }
95
95
  return (DEFINITION_EXTENSIONS.find(definitionExt => fileName.endsWith(definitionExt)) ?? path_1.default.extname(fileName));
96
96
  }
97
- function getAstFromProgram(currentProgram, parseSettings) {
98
- const ast = currentProgram.getSourceFile(parseSettings.filePath);
97
+ function getAstFromProgram(currentProgram, filePath) {
98
+ const ast = currentProgram.getSourceFile(filePath);
99
99
  // working around https://github.com/typescript-eslint/typescript-eslint/issues/1573
100
- const expectedExt = getExtension(parseSettings.filePath);
100
+ const expectedExt = getExtension(filePath);
101
101
  const returnedExt = getExtension(ast?.fileName);
102
102
  if (expectedExt !== returnedExt) {
103
103
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/create-program/shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/create-program/shared.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,10 @@
1
1
  import * as ts from 'typescript';
2
- import type { ParseSettings } from '../parseSettings';
3
2
  import type { ASTAndDefiniteProgram } from './shared';
4
- declare function useProvidedPrograms(programInstances: Iterable<ts.Program>, parseSettings: ParseSettings): ASTAndDefiniteProgram | undefined;
3
+ export interface ProvidedProgramsSettings {
4
+ filePath: string;
5
+ tsconfigRootDir: string;
6
+ }
7
+ declare function useProvidedPrograms(programInstances: Iterable<ts.Program>, { filePath, tsconfigRootDir }: ProvidedProgramsSettings): ASTAndDefiniteProgram | undefined;
5
8
  /**
6
9
  * Utility offered by parser to help consumers construct their own program instance.
7
10
  *
@@ -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;AAKtD,iBAAS,mBAAmB,CAC1B,gBAAgB,EAAE,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,EACtC,aAAa,EAAE,aAAa,GAC3B,qBAAqB,GAAG,SAAS,CA+BnC;AAED;;;;;GAKG;AACH,iBAAS,2BAA2B,CAClC,UAAU,EAAE,MAAM,EAClB,gBAAgB,CAAC,EAAE,MAAM,GACxB,EAAE,CAAC,OAAO,CA4BZ;AAUD,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,CAAC"}
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,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAKtD,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,iBAAS,mBAAmB,CAC1B,gBAAgB,EAAE,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,EACtC,EAAE,QAAQ,EAAE,eAAe,EAAE,EAAE,wBAAwB,GACtD,qBAAqB,GAAG,SAAS,CA4BnC;AAED;;;;;GAKG;AACH,iBAAS,2BAA2B,CAClC,UAAU,EAAE,MAAM,EAClB,gBAAgB,CAAC,EAAE,MAAM,GACxB,EAAE,CAAC,OAAO,CA4BZ;AAUD,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,CAAC"}
@@ -33,18 +33,18 @@ const path = __importStar(require("path"));
33
33
  const ts = __importStar(require("typescript"));
34
34
  const shared_1 = require("./shared");
35
35
  const log = (0, debug_1.default)('typescript-eslint:typescript-estree:useProvidedProgram');
36
- function useProvidedPrograms(programInstances, parseSettings) {
37
- log('Retrieving ast for %s from provided program instance(s)', parseSettings.filePath);
36
+ function useProvidedPrograms(programInstances, { filePath, tsconfigRootDir }) {
37
+ log('Retrieving ast for %s from provided program instance(s)', filePath);
38
38
  let astAndProgram;
39
39
  for (const programInstance of programInstances) {
40
- astAndProgram = (0, shared_1.getAstFromProgram)(programInstance, parseSettings);
40
+ astAndProgram = (0, shared_1.getAstFromProgram)(programInstance, filePath);
41
41
  // Stop at the first applicable program instance
42
42
  if (astAndProgram) {
43
43
  break;
44
44
  }
45
45
  }
46
46
  if (!astAndProgram) {
47
- const relativeFilePath = path.relative(parseSettings.tsconfigRootDir || process.cwd(), parseSettings.filePath);
47
+ const relativeFilePath = path.relative(tsconfigRootDir || process.cwd(), filePath);
48
48
  const errorLines = [
49
49
  '"parserOptions.programs" has been provided for @typescript-eslint/parser.',
50
50
  `The file was not found in any of the provided program instance(s): ${relativeFilePath}`,
@@ -1 +1 @@
1
- {"version":3,"file":"useProvidedPrograms.js","sourceRoot":"","sources":["../../src/create-program/useProvidedPrograms.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,uCAAyB;AACzB,2CAA6B;AAC7B,+CAAiC;AAIjC,qCAAoE;AAEpE,MAAM,GAAG,GAAG,IAAA,eAAK,EAAC,wDAAwD,CAAC,CAAC;AAE5E,SAAS,mBAAmB,CAC1B,gBAAsC,EACtC,aAA4B;IAE5B,GAAG,CACD,yDAAyD,EACzD,aAAa,CAAC,QAAQ,CACvB,CAAC;IAEF,IAAI,aAAgD,CAAC;IACrD,KAAK,MAAM,eAAe,IAAI,gBAAgB,EAAE;QAC9C,aAAa,GAAG,IAAA,0BAAiB,EAAC,eAAe,EAAE,aAAa,CAAC,CAAC;QAClE,gDAAgD;QAChD,IAAI,aAAa,EAAE;YACjB,MAAM;SACP;KACF;IAED,IAAI,CAAC,aAAa,EAAE;QAClB,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CACpC,aAAa,CAAC,eAAe,IAAI,OAAO,CAAC,GAAG,EAAE,EAC9C,aAAa,CAAC,QAAQ,CACvB,CAAC;QACF,MAAM,UAAU,GAAG;YACjB,2EAA2E;YAC3E,sEAAsE,gBAAgB,EAAE;SACzF,CAAC;QAEF,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;KACxC;IAED,aAAa,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,iDAAiD;IAEzF,OAAO,aAAa,CAAC;AACvB,CAAC;AAiDQ,kDAAmB;AA/C5B;;;;;GAKG;AACH,SAAS,2BAA2B,CAClC,UAAkB,EAClB,gBAAyB;IAEzB,IAAI,EAAE,CAAC,GAAG,KAAK,SAAS,EAAE;QACxB,MAAM,IAAI,KAAK,CACb,6EAA6E,CAC9E,CAAC;KACH;IAED,MAAM,MAAM,GAAG,EAAE,CAAC,gCAAgC,CAChD,UAAU,EACV,8BAAqB,EACrB;QACE,mCAAmC,EAAE,IAAI,CAAC,EAAE;YAC1C,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,oCAAoC;QAClF,CAAC;QACD,UAAU,EAAE,EAAE,CAAC,UAAU;QACzB,mBAAmB,EAAE,GAAG,EAAE,CACxB,CAAC,gBAAgB,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE;QACvE,aAAa,EAAE,EAAE,CAAC,GAAG,CAAC,aAAa;QACnC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC;QAChD,yBAAyB,EAAE,EAAE,CAAC,GAAG,CAAC,yBAAyB;KAC5D,CACF,CAAC;IACF,MAAM,MAAM,GAAG,MAAO,CAAC,CAAC,sDAAsD;IAC9E,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;QACxB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;KACnD;IACD,MAAM,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACzD,OAAO,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAClE,CAAC;AAU6B,kEAA2B;AARzD,SAAS,iBAAiB,CAAC,WAA4B;IACrD,OAAO,EAAE,CAAC,iBAAiB,CAAC,WAAW,EAAE;QACvC,oBAAoB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAC5B,mBAAmB,EAAE,OAAO,CAAC,GAAG;QAChC,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI;KACvB,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"useProvidedPrograms.js","sourceRoot":"","sources":["../../src/create-program/useProvidedPrograms.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,uCAAyB;AACzB,2CAA6B;AAC7B,+CAAiC;AAGjC,qCAAoE;AAEpE,MAAM,GAAG,GAAG,IAAA,eAAK,EAAC,wDAAwD,CAAC,CAAC;AAO5E,SAAS,mBAAmB,CAC1B,gBAAsC,EACtC,EAAE,QAAQ,EAAE,eAAe,EAA4B;IAEvD,GAAG,CAAC,yDAAyD,EAAE,QAAQ,CAAC,CAAC;IAEzE,IAAI,aAAgD,CAAC;IACrD,KAAK,MAAM,eAAe,IAAI,gBAAgB,EAAE;QAC9C,aAAa,GAAG,IAAA,0BAAiB,EAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;QAC7D,gDAAgD;QAChD,IAAI,aAAa,EAAE;YACjB,MAAM;SACP;KACF;IAED,IAAI,CAAC,aAAa,EAAE;QAClB,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CACpC,eAAe,IAAI,OAAO,CAAC,GAAG,EAAE,EAChC,QAAQ,CACT,CAAC;QACF,MAAM,UAAU,GAAG;YACjB,2EAA2E;YAC3E,sEAAsE,gBAAgB,EAAE;SACzF,CAAC;QAEF,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;KACxC;IAED,aAAa,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,iDAAiD;IAEzF,OAAO,aAAa,CAAC;AACvB,CAAC;AAiDQ,kDAAmB;AA/C5B;;;;;GAKG;AACH,SAAS,2BAA2B,CAClC,UAAkB,EAClB,gBAAyB;IAEzB,IAAI,EAAE,CAAC,GAAG,KAAK,SAAS,EAAE;QACxB,MAAM,IAAI,KAAK,CACb,6EAA6E,CAC9E,CAAC;KACH;IAED,MAAM,MAAM,GAAG,EAAE,CAAC,gCAAgC,CAChD,UAAU,EACV,8BAAqB,EACrB;QACE,mCAAmC,EAAE,IAAI,CAAC,EAAE;YAC1C,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,oCAAoC;QAClF,CAAC;QACD,UAAU,EAAE,EAAE,CAAC,UAAU;QACzB,mBAAmB,EAAE,GAAG,EAAE,CACxB,CAAC,gBAAgB,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE;QACvE,aAAa,EAAE,EAAE,CAAC,GAAG,CAAC,aAAa;QACnC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC;QAChD,yBAAyB,EAAE,EAAE,CAAC,GAAG,CAAC,yBAAyB;KAC5D,CACF,CAAC;IACF,MAAM,MAAM,GAAG,MAAO,CAAC,CAAC,sDAAsD;IAC9E,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;QACxB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;KACnD;IACD,MAAM,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACzD,OAAO,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAClE,CAAC;AAU6B,kEAA2B;AARzD,SAAS,iBAAiB,CAAC,WAA4B;IACrD,OAAO,EAAE,CAAC,iBAAiB,CAAC,WAAW,EAAE;QACvC,oBAAoB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAC5B,mBAAmB,EAAE,OAAO,CAAC,GAAG;QAChC,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI;KACvB,CAAC,CAAC;AACL,CAAC"}
@@ -3,4 +3,5 @@ import type { TSESTreeOptions } from '../parser-options';
3
3
  import type { MutableParseSettings } from './index';
4
4
  export declare function createParseSettings(code: ts.SourceFile | string, options?: Partial<TSESTreeOptions>): MutableParseSettings;
5
5
  export declare function clearTSConfigMatchCache(): void;
6
+ export declare function clearTSServerProjectService(): void;
6
7
  //# sourceMappingURL=createParseSettings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createParseSettings.d.ts","sourceRoot":"","sources":["../../src/parseSettings/createParseSettings.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAGtC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAOzD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAWpD,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,EAAE,CAAC,UAAU,GAAG,MAAM,EAC5B,OAAO,GAAE,OAAO,CAAC,eAAe,CAAM,GACrC,oBAAoB,CAyGtB;AAED,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C"}
1
+ {"version":3,"file":"createParseSettings.d.ts","sourceRoot":"","sources":["../../src/parseSettings/createParseSettings.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAKtC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAOzD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAYpD,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,EAAE,CAAC,UAAU,GAAG,MAAM,EAC5B,OAAO,GAAE,OAAO,CAAC,eAAe,CAAM,GACrC,oBAAoB,CAgHtB;AAED,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C;AAED,wBAAgB,2BAA2B,IAAI,IAAI,CAElD"}
@@ -3,8 +3,9 @@ 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.clearTSConfigMatchCache = exports.createParseSettings = void 0;
6
+ exports.clearTSServerProjectService = exports.clearTSConfigMatchCache = exports.createParseSettings = void 0;
7
7
  const debug_1 = __importDefault(require("debug"));
8
+ const createProjectService_1 = require("../create-program/createProjectService");
8
9
  const shared_1 = require("../create-program/shared");
9
10
  const source_files_1 = require("../source-files");
10
11
  const ExpiringCache_1 = require("./ExpiringCache");
@@ -14,6 +15,7 @@ const resolveProjectList_1 = require("./resolveProjectList");
14
15
  const warnAboutTSVersion_1 = require("./warnAboutTSVersion");
15
16
  const log = (0, debug_1.default)('typescript-eslint:typescript-estree:parser:parseSettings:createParseSettings');
16
17
  let TSCONFIG_MATCH_CACHE;
18
+ let TSSERVER_PROJECT_SERVICE = null;
17
19
  function createParseSettings(code, options = {}) {
18
20
  const codeFullText = enforceCodeString(code);
19
21
  const singleRun = (0, inferSingleRun_1.inferSingleRun)(options);
@@ -36,6 +38,12 @@ function createParseSettings(code, options = {}) {
36
38
  : new Set(),
37
39
  errorOnTypeScriptSyntacticAndSemanticIssues: false,
38
40
  errorOnUnknownASTType: options.errorOnUnknownASTType === true,
41
+ EXPERIMENTAL_projectService: (options.EXPERIMENTAL_useProjectService === true &&
42
+ process.env.TYPESCRIPT_ESLINT_EXPERIMENTAL_TSSERVER !== 'false') ||
43
+ (process.env.TYPESCRIPT_ESLINT_EXPERIMENTAL_TSSERVER === 'true' &&
44
+ options.EXPERIMENTAL_useProjectService !== false)
45
+ ? (TSSERVER_PROJECT_SERVICE ??= (0, createProjectService_1.createProjectService)())
46
+ : undefined,
39
47
  EXPERIMENTAL_useSourceOfProjectReferenceRedirect: options.EXPERIMENTAL_useSourceOfProjectReferenceRedirect === true,
40
48
  extraFileExtensions: Array.isArray(options.extraFileExtensions) &&
41
49
  options.extraFileExtensions.every(ext => typeof ext === 'string')
@@ -85,8 +93,8 @@ function createParseSettings(code, options = {}) {
85
93
  }
86
94
  log('parserOptions.programs was provided, so parserOptions.project will be ignored.');
87
95
  }
88
- // Providing a program overrides project resolution
89
- if (!parseSettings.programs) {
96
+ // Providing a program or project service overrides project resolution
97
+ if (!parseSettings.programs && !parseSettings.EXPERIMENTAL_projectService) {
90
98
  parseSettings.projects = (0, resolveProjectList_1.resolveProjectList)({
91
99
  cacheLifetime: options.cacheLifetime,
92
100
  project: (0, getProjectConfigFiles_1.getProjectConfigFiles)(parseSettings, options.project),
@@ -103,6 +111,10 @@ function clearTSConfigMatchCache() {
103
111
  TSCONFIG_MATCH_CACHE?.clear();
104
112
  }
105
113
  exports.clearTSConfigMatchCache = clearTSConfigMatchCache;
114
+ function clearTSServerProjectService() {
115
+ TSSERVER_PROJECT_SERVICE = null;
116
+ }
117
+ exports.clearTSServerProjectService = clearTSServerProjectService;
106
118
  /**
107
119
  * Ensures source code is a string.
108
120
  */
@@ -1 +1 @@
1
- {"version":3,"file":"createParseSettings.js","sourceRoot":"","sources":["../../src/parseSettings/createParseSettings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createParseSettings.js","sourceRoot":"","sources":["../../src/parseSettings/createParseSettings.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type * as ts from 'typescript';
2
+ import type * as tsserverlibrary from 'typescript/lib/tsserverlibrary';
2
3
  import type { CanonicalPath } from '../create-program/shared';
3
4
  import type { TSESTree } from '../ts-estree';
4
5
  import type { CacheLike } from './ExpiringCache';
@@ -45,6 +46,10 @@ export interface MutableParseSettings {
45
46
  * Whether to error if an unknown AST node type is encountered.
46
47
  */
47
48
  errorOnUnknownASTType: boolean;
49
+ /**
50
+ * Experimental: TypeScript server to power program creation.
51
+ */
52
+ EXPERIMENTAL_projectService: tsserverlibrary.server.ProjectService | undefined;
48
53
  /**
49
54
  * Whether TS should use the source files for referenced projects instead of the compiled .d.ts files.
50
55
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/parseSettings/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,KAAK,WAAW,GAAG,QAAQ,GAAG,mBAAmB,GAAG,YAAY,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,eAAe,EAAE,OAAO,CAAC;IAEzB;;OAEG;IACH,IAAI,EAAE,EAAE,CAAC,UAAU,GAAG,MAAM,CAAC;IAE7B;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;IAE7B;;;;OAIG;IACH,gCAAgC,EAAE,OAAO,CAAC;IAE1C;;OAEG;IACH,UAAU,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;IAE7B;;OAEG;IACH,2CAA2C,EAAE,OAAO,CAAC;IAErD;;OAEG;IACH,qBAAqB,EAAE,OAAO,CAAC;IAE/B;;;;;;OAMG;IACH,gDAAgD,EAAE,OAAO,CAAC;IAE1D;;OAEG;IACH,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAE9B;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,GAAG,EAAE,OAAO,CAAC;IAEb;;OAEG;IACH,GAAG,EAAE,OAAO,CAAC;IAEb;;OAEG;IACH,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAE/B;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;OAEG;IACH,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;IAEtC;;OAEG;IACH,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;IAEnC;;OAEG;IACH,KAAK,EAAE,OAAO,CAAC;IAEf;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,kCAAkC,EAAE,OAAO,CAAC;IAE5C;;OAEG;IACH,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC;IAEhC;;OAEG;IACH,kBAAkB,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE9C;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC,oBAAoB,CAAC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/parseSettings/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,KAAK,eAAe,MAAM,gCAAgC,CAAC;AAEvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,KAAK,WAAW,GAAG,QAAQ,GAAG,mBAAmB,GAAG,YAAY,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,eAAe,EAAE,OAAO,CAAC;IAEzB;;OAEG;IACH,IAAI,EAAE,EAAE,CAAC,UAAU,GAAG,MAAM,CAAC;IAE7B;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;IAE7B;;;;OAIG;IACH,gCAAgC,EAAE,OAAO,CAAC;IAE1C;;OAEG;IACH,UAAU,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;IAE7B;;OAEG;IACH,2CAA2C,EAAE,OAAO,CAAC;IAErD;;OAEG;IACH,qBAAqB,EAAE,OAAO,CAAC;IAE/B;;OAEG;IACH,2BAA2B,EACvB,eAAe,CAAC,MAAM,CAAC,cAAc,GACrC,SAAS,CAAC;IAEd;;;;;;OAMG;IACH,gDAAgD,EAAE,OAAO,CAAC;IAE1D;;OAEG;IACH,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAE9B;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,GAAG,EAAE,OAAO,CAAC;IAEb;;OAEG;IACH,GAAG,EAAE,OAAO,CAAC;IAEb;;OAEG;IACH,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAE/B;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;OAEG;IACH,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;IAEtC;;OAEG;IACH,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;IAEnC;;OAEG;IACH,KAAK,EAAE,OAAO,CAAC;IAEf;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,kCAAkC,EAAE,OAAO,CAAC;IAE5C;;OAEG;IACH,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC;IAEhC;;OAEG;IACH,kBAAkB,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE9C;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC,oBAAoB,CAAC,CAAC"}
@@ -68,6 +68,14 @@ interface ParseAndGenerateServicesOptions extends ParseOptions {
68
68
  * Causes the parser to error if the TypeScript compiler returns any unexpected syntax/semantic errors.
69
69
  */
70
70
  errorOnTypeScriptSyntacticAndSemanticIssues?: boolean;
71
+ /**
72
+ * ***EXPERIMENTAL FLAG*** - Use this at your own risk.
73
+ *
74
+ * Whether to create a shared TypeScript server to power program creation.
75
+ *
76
+ * @see https://github.com/typescript-eslint/typescript-eslint/issues/6575
77
+ */
78
+ EXPERIMENTAL_useProjectService?: boolean;
71
79
  /**
72
80
  * ***EXPERIMENTAL FLAG*** - Use this at your own risk.
73
81
  *
@@ -76,7 +84,7 @@ interface ParseAndGenerateServicesOptions extends ParseOptions {
76
84
  *
77
85
  * This flag REQUIRES at least TS v3.9, otherwise it does nothing.
78
86
  *
79
- * See: https://github.com/typescript-eslint/typescript-eslint/issues/2094
87
+ * @see https://github.com/typescript-eslint/typescript-eslint/issues/2094
80
88
  */
81
89
  EXPERIMENTAL_useSourceOfProjectReferenceRedirect?: boolean;
82
90
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"parser-options.d.ts","sourceRoot":"","sources":["../src/parser-options.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser-options.d.ts","sourceRoot":"","sources":["../src/parser-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,UAAU,EACX,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAM/E,UAAU,YAAY;IACpB;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;;;;;;OASG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;;;;OAQG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IAEd;;;;OAIG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IAOd,QAAQ,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,CAAC;IAE/C;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,kCAAkC,CAAC,EAAE,OAAO,CAAC;CAC9C;AAED,UAAU,+BAAgC,SAAQ,YAAY;IAC5D;;OAEG;IACH,2CAA2C,CAAC,EAAE,OAAO,CAAC;IAEtD;;;;;;OAMG;IACH,8BAA8B,CAAC,EAAE,OAAO,CAAC;IAEzC;;;;;;;;;OASG;IACH,gDAAgD,CAAC,EAAE,OAAO,CAAC;IAE3D;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE/B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;;;;;OASG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IAE1C;;;;;;OAMG;IACH,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnC;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;IAE/B;;;OAGG;IACH,gCAAgC,CAAC,EAAE,OAAO,CAAC;IAE3C;;;;;;;;;;;OAWG;IACH,gCAAgC,CAAC,EAAE,OAAO,CAAC;IAE3C;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE;QACd;;WAEG;QACH,IAAI,CAAC,EAAE,oBAAoB,CAAC;KAC7B,CAAC;CACH;AAED,MAAM,MAAM,eAAe,GAAG,+BAA+B,CAAC;AAI9D,MAAM,WAAW,aAAa,CAAC,IAAI,EAAE,UAAU;IAC7C,GAAG,CAAC,MAAM,SAAS,UAAU,EAAE,GAAG,EAAE,IAAI,GAAG,MAAM,CAAC;IAClD,GAAG,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,2BAA2B,CAC1C,IAAI,SAAS,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI;IAE1C,GAAG,CAAC,QAAQ,SAAS,IAAI,EAAE,GAAG,EAAE,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACtE,GAAG,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,sBAAsB;IACrC,qBAAqB,EAAE,2BAA2B,CAAC;IACnD,qBAAqB,EAAE,aAAa,CAAC,MAAM,GAAG,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;CACvE;AACD,MAAM,WAAW,iCACf,SAAQ,sBAAsB;IAC9B,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC;IACpB,mBAAmB,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,KAAK,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC;IACpE,iBAAiB,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,KAAK,EAAE,CAAC,IAAI,CAAC;CACrD;AACD,MAAM,WAAW,oCACf,SAAQ,sBAAsB;IAC9B,OAAO,EAAE,IAAI,CAAC;CACf;AACD,MAAM,MAAM,cAAc,GACtB,oCAAoC,GACpC,iCAAiC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAiBtC,OAAO,KAAK,EACV,cAAc,EAEd,eAAe,EAChB,MAAM,kBAAkB,CAAC;AAI1B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAU5C,iBAAS,iBAAiB,IAAI,IAAI,CAEjC;AA6CD,UAAU,WAAW;CAAG;AACxB,KAAK,GAAG,CAAC,CAAC,SAAS,eAAe,IAAI,QAAQ,CAAC,OAAO,GACpD,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,IAAI,GAAG;IAAE,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAA;CAAE,GAAG,WAAW,CAAC,GAC5E,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,IAAI,GAAG;IAAE,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAA;CAAE,GAAG,WAAW,CAAC,CAAC;AAE1E,UAAU,8BAA8B,CAAC,CAAC,SAAS,eAAe;IAChE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IACZ,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAMD,iBAAS,KAAK,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe,EACxD,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,CAAC,GACV,GAAG,CAAC,CAAC,CAAC,CAGR;AA4CD,iBAAS,kCAAkC,IAAI,IAAI,CAElD;AAED,iBAAS,wBAAwB,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe,EAC3E,IAAI,EAAE,EAAE,CAAC,UAAU,GAAG,MAAM,EAC5B,OAAO,EAAE,CAAC,GACT,8BAA8B,CAAC,CAAC,CAAC,CAkHnC;AAED,OAAO,EACL,GAAG,EACH,KAAK,EACL,wBAAwB,EACxB,8BAA8B,EAC9B,iBAAiB,EACjB,kCAAkC,GACnC,CAAC"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAkBtC,OAAO,KAAK,EACV,cAAc,EAEd,eAAe,EAChB,MAAM,kBAAkB,CAAC;AAI1B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAW5C,iBAAS,iBAAiB,IAAI,IAAI,CAEjC;AA0DD,UAAU,WAAW;CAAG;AACxB,KAAK,GAAG,CAAC,CAAC,SAAS,eAAe,IAAI,QAAQ,CAAC,OAAO,GACpD,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,IAAI,GAAG;IAAE,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAA;CAAE,GAAG,WAAW,CAAC,GAC5E,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,IAAI,GAAG;IAAE,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAA;CAAE,GAAG,WAAW,CAAC,CAAC;AAE1E,UAAU,8BAA8B,CAAC,CAAC,SAAS,eAAe;IAChE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IACZ,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAMD,iBAAS,KAAK,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe,EACxD,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,CAAC,GACV,GAAG,CAAC,CAAC,CAAC,CAGR;AA4CD,iBAAS,kCAAkC,IAAI,IAAI,CAElD;AAED,iBAAS,wBAAwB,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe,EAC3E,IAAI,EAAE,EAAE,CAAC,UAAU,GAAG,MAAM,EAC5B,OAAO,EAAE,CAAC,GACT,8BAA8B,CAAC,CAAC,CAAC,CAkHnC;AAED,OAAO,EACL,GAAG,EACH,KAAK,EACL,wBAAwB,EACxB,8BAA8B,EAC9B,iBAAiB,EACjB,kCAAkC,GACnC,CAAC"}
package/dist/parser.js CHANGED
@@ -11,10 +11,12 @@ const createDefaultProgram_1 = require("./create-program/createDefaultProgram");
11
11
  const createIsolatedProgram_1 = require("./create-program/createIsolatedProgram");
12
12
  const createProjectProgram_1 = require("./create-program/createProjectProgram");
13
13
  const createSourceFile_1 = require("./create-program/createSourceFile");
14
+ const getWatchProgramsForProjects_1 = require("./create-program/getWatchProgramsForProjects");
14
15
  const useProvidedPrograms_1 = require("./create-program/useProvidedPrograms");
15
16
  const createParserServices_1 = require("./createParserServices");
16
17
  const createParseSettings_1 = require("./parseSettings/createParseSettings");
17
18
  const semantic_or_syntactic_errors_1 = require("./semantic-or-syntactic-errors");
19
+ const useProgramFromProjectService_1 = require("./useProgramFromProjectService");
18
20
  const log = (0, debug_1.default)('typescript-eslint:typescript-estree:parser');
19
21
  /**
20
22
  * Cache existing programs for the single run use-case.
@@ -32,30 +34,36 @@ exports.clearProgramCache = clearProgramCache;
32
34
  * @returns Returns a source file and program corresponding to the linted code
33
35
  */
34
36
  function getProgramAndAST(parseSettings, hasFullTypeInformation) {
37
+ if (parseSettings.EXPERIMENTAL_projectService) {
38
+ const fromProjectService = (0, useProgramFromProjectService_1.useProgramFromProjectService)(parseSettings.EXPERIMENTAL_projectService, parseSettings);
39
+ if (fromProjectService) {
40
+ return fromProjectService;
41
+ }
42
+ }
35
43
  if (parseSettings.programs) {
36
44
  const fromProvidedPrograms = (0, useProvidedPrograms_1.useProvidedPrograms)(parseSettings.programs, parseSettings);
37
45
  if (fromProvidedPrograms) {
38
46
  return fromProvidedPrograms;
39
47
  }
40
48
  }
41
- if (hasFullTypeInformation) {
42
- const fromProjectProgram = (0, createProjectProgram_1.createProjectProgram)(parseSettings);
43
- if (fromProjectProgram) {
44
- return fromProjectProgram;
45
- }
49
+ // no need to waste time creating a program as the caller didn't want parser services
50
+ // so we can save time and just create a lonesome source file
51
+ if (!hasFullTypeInformation) {
52
+ return (0, createSourceFile_1.createNoProgram)(parseSettings);
53
+ }
54
+ const fromProjectProgram = (0, createProjectProgram_1.createProjectProgram)(parseSettings, (0, getWatchProgramsForProjects_1.getWatchProgramsForProjects)(parseSettings));
55
+ if (fromProjectProgram) {
56
+ return fromProjectProgram;
57
+ }
58
+ // eslint-disable-next-line deprecation/deprecation -- will be cleaned up with the next major
59
+ if (parseSettings.DEPRECATED__createDefaultProgram) {
46
60
  // eslint-disable-next-line deprecation/deprecation -- will be cleaned up with the next major
47
- if (parseSettings.DEPRECATED__createDefaultProgram) {
48
- // eslint-disable-next-line deprecation/deprecation -- will be cleaned up with the next major
49
- const fromDefaultProgram = (0, createDefaultProgram_1.createDefaultProgram)(parseSettings);
50
- if (fromDefaultProgram) {
51
- return fromDefaultProgram;
52
- }
61
+ const fromDefaultProgram = (0, createDefaultProgram_1.createDefaultProgram)(parseSettings);
62
+ if (fromDefaultProgram) {
63
+ return fromDefaultProgram;
53
64
  }
54
- return (0, createIsolatedProgram_1.createIsolatedProgram)(parseSettings);
55
65
  }
56
- // no need to waste time creating a program as the caller didn't want parser services
57
- // so we can save time and just create a lonesome source file
58
- return (0, createSourceFile_1.createNoProgram)(parseSettings);
66
+ return (0, createIsolatedProgram_1.createIsolatedProgram)(parseSettings);
59
67
  }
60
68
  function parse(code, options) {
61
69
  const { ast } = parseWithNodeMapsInternal(code, options, false);
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { server } from 'typescript/lib/tsserverlibrary';
2
+ import { type ASTAndDefiniteProgram } from './create-program/shared';
3
+ import type { MutableParseSettings } from './parseSettings';
4
+ export declare function useProgramFromProjectService(projectService: server.ProjectService, parseSettings: Readonly<MutableParseSettings>): ASTAndDefiniteProgram | undefined;
5
+ //# sourceMappingURL=useProgramFromProjectService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useProgramFromProjectService.d.ts","sourceRoot":"","sources":["../src/useProgramFromProjectService.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAG7D,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAE5D,wBAAgB,4BAA4B,CAC1C,cAAc,EAAE,MAAM,CAAC,cAAc,EACrC,aAAa,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GAC5C,qBAAqB,GAAG,SAAS,CA4BnC"}
@@ -0,0 +1,31 @@
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.useProgramFromProjectService = void 0;
7
+ const path_1 = __importDefault(require("path"));
8
+ const createProjectProgram_1 = require("./create-program/createProjectProgram");
9
+ function useProgramFromProjectService(projectService, parseSettings) {
10
+ const opened = projectService.openClientFile(absolutify(parseSettings.filePath), parseSettings.codeFullText,
11
+ /* scriptKind */ undefined, parseSettings.tsconfigRootDir);
12
+ if (!opened.configFileName) {
13
+ return undefined;
14
+ }
15
+ const scriptInfo = projectService.getScriptInfo(parseSettings.filePath);
16
+ const program = projectService
17
+ .getDefaultProjectForFile(scriptInfo.fileName, true)
18
+ .getLanguageService(/*ensureSynchronized*/ true)
19
+ .getProgram();
20
+ if (!program) {
21
+ return undefined;
22
+ }
23
+ return (0, createProjectProgram_1.createProjectProgram)(parseSettings, [program]);
24
+ function absolutify(filePath) {
25
+ return path_1.default.isAbsolute(filePath)
26
+ ? filePath
27
+ : path_1.default.join(projectService.host.getCurrentDirectory(), filePath);
28
+ }
29
+ }
30
+ exports.useProgramFromProjectService = useProgramFromProjectService;
31
+ //# sourceMappingURL=useProgramFromProjectService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useProgramFromProjectService.js","sourceRoot":"","sources":["../src/useProgramFromProjectService.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAIxB,gFAA6E;AAI7E,SAAgB,4BAA4B,CAC1C,cAAqC,EACrC,aAA6C;IAE7C,MAAM,MAAM,GAAG,cAAc,CAAC,cAAc,CAC1C,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,EAClC,aAAa,CAAC,YAAY;IAC1B,gBAAgB,CAAC,SAAS,EAC1B,aAAa,CAAC,eAAe,CAC9B,CAAC;IACF,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE;QAC1B,OAAO,SAAS,CAAC;KAClB;IAED,MAAM,UAAU,GAAG,cAAc,CAAC,aAAa,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACxE,MAAM,OAAO,GAAG,cAAc;SAC3B,wBAAwB,CAAC,UAAW,CAAC,QAAQ,EAAE,IAAI,CAAE;SACrD,kBAAkB,CAAC,sBAAsB,CAAC,IAAI,CAAC;SAC/C,UAAU,EAAE,CAAC;IAEhB,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,SAAS,CAAC;KAClB;IAED,OAAO,IAAA,2CAAoB,EAAC,aAAa,EAAE,CAAC,OAAqB,CAAC,CAAC,CAAC;IAEpE,SAAS,UAAU,CAAC,QAAgB;QAClC,OAAO,cAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YAC9B,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,cAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,QAAQ,CAAC,CAAC;IACrE,CAAC;AACH,CAAC;AA/BD,oEA+BC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typescript-eslint/typescript-estree",
3
- "version": "6.0.1-alpha.8+a1d67342b",
3
+ "version": "6.1.0",
4
4
  "description": "A parser that converts TypeScript source code into an ESTree compatible form",
5
5
  "files": [
6
6
  "dist",
@@ -52,8 +52,8 @@
52
52
  "typecheck": "tsc -p tsconfig.json --noEmit"
53
53
  },
54
54
  "dependencies": {
55
- "@typescript-eslint/types": "6.0.1-alpha.8+a1d67342b",
56
- "@typescript-eslint/visitor-keys": "6.0.1-alpha.8+a1d67342b",
55
+ "@typescript-eslint/types": "6.1.0",
56
+ "@typescript-eslint/visitor-keys": "6.1.0",
57
57
  "debug": "^4.3.4",
58
58
  "globby": "^11.1.0",
59
59
  "is-glob": "^4.0.3",
@@ -85,5 +85,5 @@
85
85
  ]
86
86
  }
87
87
  },
88
- "gitHead": "a1d67342bcb941acf33bffe73f7b8d02c24b0e00"
88
+ "gitHead": "d98f1e811a6a06128a86f10824b6005984dc8265"
89
89
  }