@typescript-eslint/typescript-estree 8.0.0-alpha.46 → 8.0.0-alpha.48
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/create-program/createProjectProgram.js +2 -2
- package/dist/create-program/createProjectProgram.js.map +1 -1
- package/dist/create-program/useProvidedPrograms.d.ts +2 -5
- package/dist/create-program/useProvidedPrograms.d.ts.map +1 -1
- package/dist/create-program/useProvidedPrograms.js +15 -12
- package/dist/create-program/useProvidedPrograms.js.map +1 -1
- package/dist/parser.d.ts.map +1 -1
- package/dist/parser.js +3 -4
- package/dist/parser.js.map +1 -1
- package/dist/useProgramFromProjectService.d.ts +4 -2
- package/dist/useProgramFromProjectService.d.ts.map +1 -1
- package/dist/useProgramFromProjectService.js +72 -39
- package/dist/useProgramFromProjectService.js.map +1 -1
- package/package.json +3 -3
|
@@ -59,10 +59,10 @@ function createProjectProgram(parseSettings, programsForProjects) {
|
|
|
59
59
|
const describedFilePath = (0, describeFilePath_1.describeFilePath)(parseSettings.filePath, parseSettings.tsconfigRootDir);
|
|
60
60
|
const relativeProjects = Array.from(parseSettings.projects.values()).map(describeProjectFilePath);
|
|
61
61
|
const describedPrograms = relativeProjects.length === 1
|
|
62
|
-
? relativeProjects[0]
|
|
62
|
+
? ` ${relativeProjects[0]}`
|
|
63
63
|
: `\n${relativeProjects.map(project => `- ${project}`).join('\n')}`;
|
|
64
64
|
const errorLines = [
|
|
65
|
-
`ESLint was configured to run on \`${describedFilePath}\` using \`parserOptions.project
|
|
65
|
+
`ESLint was configured to run on \`${describedFilePath}\` using \`parserOptions.project\`:${describedPrograms}`,
|
|
66
66
|
];
|
|
67
67
|
let hasMatchedAnError = false;
|
|
68
68
|
const { extraFileExtensions } = parseSettings;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createProjectProgram.js","sourceRoot":"","sources":["../../src/create-program/createProjectProgram.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+GS,oDAAoB;AA/G7B,kDAA0B;AAC1B,gDAAwB;AACxB,+CAAiC;AAEjC,8CAA6C;AAE7C,yDAAsD;AAEtD,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,EAC5B,mBAA0C;IAE1C,GAAG,CAAC,kCAAkC,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IAEhE,MAAM,aAAa,GAAG,IAAA,yBAAY,EAAC,mBAAmB,EAAE,cAAc,CAAC,EAAE,CACvE,IAAA,0BAAiB,EAAC,cAAc,EAAE,aAAa,CAAC,QAAQ,CAAC,CAC1D,CAAC;IAEF,2CAA2C;IAC3C,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,aAAa,CAAC;IACvB,CAAC;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,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CACtE,uBAAuB,CACxB,CAAC;IACF,MAAM,iBAAiB,GACrB,gBAAgB,CAAC,MAAM,KAAK,CAAC;QAC3B,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"createProjectProgram.js","sourceRoot":"","sources":["../../src/create-program/createProjectProgram.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
import * as ts from 'typescript';
|
|
2
|
+
import type { ParseSettings } from '../parseSettings';
|
|
2
3
|
import type { ASTAndDefiniteProgram } from './shared';
|
|
3
|
-
|
|
4
|
-
filePath: string;
|
|
5
|
-
tsconfigRootDir: string;
|
|
6
|
-
}
|
|
7
|
-
declare function useProvidedPrograms(programInstances: Iterable<ts.Program>, { filePath, tsconfigRootDir }: ProvidedProgramsSettings): ASTAndDefiniteProgram | undefined;
|
|
4
|
+
declare function useProvidedPrograms(programInstances: Iterable<ts.Program>, parseSettings: ParseSettings): ASTAndDefiniteProgram | undefined;
|
|
8
5
|
/**
|
|
9
6
|
* Utility offered by parser to help consumers construct their own program instance.
|
|
10
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,
|
|
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,CAoCnC;AAED;;;;;GAKG;AACH,iBAAS,2BAA2B,CAClC,UAAU,EAAE,MAAM,EAClB,gBAAgB,CAAC,EAAE,MAAM,GACxB,EAAE,CAAC,OAAO,CA+BZ;AAUD,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,CAAC"}
|
|
@@ -34,26 +34,29 @@ const path = __importStar(require("path"));
|
|
|
34
34
|
const ts = __importStar(require("typescript"));
|
|
35
35
|
const shared_1 = require("./shared");
|
|
36
36
|
const log = (0, debug_1.default)('typescript-eslint:typescript-estree:useProvidedProgram');
|
|
37
|
-
function useProvidedPrograms(programInstances,
|
|
38
|
-
log('Retrieving ast for %s from provided program instance(s)', filePath);
|
|
37
|
+
function useProvidedPrograms(programInstances, parseSettings) {
|
|
38
|
+
log('Retrieving ast for %s from provided program instance(s)', parseSettings.filePath);
|
|
39
39
|
let astAndProgram;
|
|
40
40
|
for (const programInstance of programInstances) {
|
|
41
|
-
astAndProgram = (0, shared_1.getAstFromProgram)(programInstance, filePath);
|
|
41
|
+
astAndProgram = (0, shared_1.getAstFromProgram)(programInstance, parseSettings.filePath);
|
|
42
42
|
// Stop at the first applicable program instance
|
|
43
43
|
if (astAndProgram) {
|
|
44
44
|
break;
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
|
-
if (
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
'"parserOptions.programs" has been provided for @typescript-eslint/parser.',
|
|
51
|
-
`The file was not found in any of the provided program instance(s): ${relativeFilePath}`,
|
|
52
|
-
];
|
|
53
|
-
throw new Error(errorLines.join('\n'));
|
|
47
|
+
if (astAndProgram) {
|
|
48
|
+
astAndProgram.program.getTypeChecker(); // ensure parent pointers are set in source files
|
|
49
|
+
return astAndProgram;
|
|
54
50
|
}
|
|
55
|
-
|
|
56
|
-
|
|
51
|
+
const relativeFilePath = path.relative(parseSettings.tsconfigRootDir, parseSettings.filePath);
|
|
52
|
+
const [typeSource, typeSources] = parseSettings.projects.size > 0
|
|
53
|
+
? ['project', 'project(s)']
|
|
54
|
+
: ['programs', 'program instance(s)'];
|
|
55
|
+
const errorLines = [
|
|
56
|
+
`"parserOptions.${typeSource}" has been provided for @typescript-eslint/parser.`,
|
|
57
|
+
`The file was not found in any of the provided ${typeSources}: ${relativeFilePath}`,
|
|
58
|
+
];
|
|
59
|
+
throw new Error(errorLines.join('\n'));
|
|
57
60
|
}
|
|
58
61
|
/**
|
|
59
62
|
* Utility offered by parser to help consumers construct their own program instance.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useProvidedPrograms.js","sourceRoot":"","sources":["../../src/create-program/useProvidedPrograms.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"useProvidedPrograms.js","sourceRoot":"","sources":["../../src/create-program/useProvidedPrograms.ts"],"names":[],"mappings":"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"}
|
package/dist/parser.d.ts.map
CHANGED
|
@@ -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;AAW5C,iBAAS,iBAAiB,IAAI,IAAI,CAEjC;AAGD,iBAAS,+BAA+B,IAAI,IAAI,CAE/C;AA8CD,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,EAAE,CAAC,GACnE,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,IAAI,GAAG;IAAE,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAA;CAAE,GAAG,EAAE,CAAC,CAAC;AAGjE,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,eAAe,EAAE,CAAC,GACjB,8BAA8B,CAAC,CAAC,CAAC,
|
|
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;AAW5C,iBAAS,iBAAiB,IAAI,IAAI,CAEjC;AAGD,iBAAS,+BAA+B,IAAI,IAAI,CAE/C;AA8CD,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,EAAE,CAAC,GACnE,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,IAAI,GAAG;IAAE,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAA;CAAE,GAAG,EAAE,CAAC,CAAC;AAGjE,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,eAAe,EAAE,CAAC,GACjB,8BAA8B,CAAC,CAAC,CAAC,CA+GnC;AAED,OAAO,EACL,GAAG,EACH,KAAK,EACL,wBAAwB,EACxB,8BAA8B,EAC9B,+BAA+B,EAC/B,iBAAiB,EACjB,kCAAkC,GACnC,CAAC"}
|
package/dist/parser.js
CHANGED
|
@@ -123,10 +123,9 @@ function parseAndGenerateServices(code, tsestreeOptions) {
|
|
|
123
123
|
},
|
|
124
124
|
};
|
|
125
125
|
}
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
const hasFullTypeInformation = parseSettings.programs != null || parseSettings.projects.size > 0;
|
|
126
|
+
const hasFullTypeInformation = parseSettings.programs != null ||
|
|
127
|
+
parseSettings.projects.size > 0 ||
|
|
128
|
+
!!parseSettings.projectService;
|
|
130
129
|
if (typeof tsestreeOptions.errorOnTypeScriptSyntacticAndSemanticIssues ===
|
|
131
130
|
'boolean' &&
|
|
132
131
|
tsestreeOptions.errorOnTypeScriptSyntacticAndSemanticIssues) {
|
package/dist/parser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type { ProjectServiceSettings } from './create-program/createProjectService';
|
|
2
|
-
import type { ASTAndDefiniteProgram } from './create-program/shared';
|
|
2
|
+
import type { ASTAndDefiniteProgram, ASTAndNoProgram, ASTAndProgram } from './create-program/shared';
|
|
3
3
|
import type { MutableParseSettings } from './parseSettings';
|
|
4
|
-
export declare function useProgramFromProjectService(
|
|
4
|
+
export declare function useProgramFromProjectService(settings: ProjectServiceSettings, parseSettings: Readonly<MutableParseSettings>, hasFullTypeInformation: boolean, defaultProjectMatchedFiles: Set<string>): ASTAndProgram | undefined;
|
|
5
|
+
export declare function useProgramFromProjectService(settings: ProjectServiceSettings, parseSettings: Readonly<MutableParseSettings>, hasFullTypeInformation: true, defaultProjectMatchedFiles: Set<string>): ASTAndDefiniteProgram | undefined;
|
|
6
|
+
export declare function useProgramFromProjectService(settings: ProjectServiceSettings, parseSettings: Readonly<MutableParseSettings>, hasFullTypeInformation: false, defaultProjectMatchedFiles: Set<string>): ASTAndNoProgram | undefined;
|
|
5
7
|
//# sourceMappingURL=useProgramFromProjectService.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useProgramFromProjectService.d.ts","sourceRoot":"","sources":["../src/useProgramFromProjectService.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;
|
|
1
|
+
{"version":3,"file":"useProgramFromProjectService.d.ts","sourceRoot":"","sources":["../src/useProgramFromProjectService.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAEpF,OAAO,KAAK,EACV,qBAAqB,EACrB,eAAe,EACf,aAAa,EACd,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAqJ5D,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,sBAAsB,EAChC,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,QAAQ,EAAE,sBAAsB,EAChC,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,QAAQ,EAAE,sBAAsB,EAChC,aAAa,EAAE,QAAQ,CAAC,oBAAoB,CAAC,EAC7C,sBAAsB,EAAE,KAAK,EAC7B,0BAA0B,EAAE,GAAG,CAAC,MAAM,CAAC,GACtC,eAAe,GAAG,SAAS,CAAC"}
|
|
@@ -33,6 +33,7 @@ const debug_1 = __importDefault(require("debug"));
|
|
|
33
33
|
const minimatch_1 = require("minimatch");
|
|
34
34
|
const ts = __importStar(require("typescript"));
|
|
35
35
|
const createProjectProgram_1 = require("./create-program/createProjectProgram");
|
|
36
|
+
const createSourceFile_1 = require("./create-program/createSourceFile");
|
|
36
37
|
const validateDefaultProjectForFilesGlob_1 = require("./create-program/validateDefaultProjectForFilesGlob");
|
|
37
38
|
const log = (0, debug_1.default)('typescript-eslint:typescript-estree:useProgramFromProjectService');
|
|
38
39
|
const serviceFileExtensions = new WeakMap();
|
|
@@ -51,33 +52,56 @@ const updateExtraFileExtensions = (service, extraFileExtensions) => {
|
|
|
51
52
|
log('Extra file extensions updated: %o', extraFileExtensions);
|
|
52
53
|
}
|
|
53
54
|
};
|
|
54
|
-
function
|
|
55
|
-
|
|
56
|
-
updateExtraFileExtensions(service, parseSettings.extraFileExtensions);
|
|
57
|
-
// We don't canonicalize the filename because it caused a performance regression.
|
|
58
|
-
// See https://github.com/typescript-eslint/typescript-eslint/issues/8519
|
|
59
|
-
const filePathAbsolute = absolutify(parseSettings.filePath);
|
|
60
|
-
log('Opening project service file for: %s at absolute path %s', parseSettings.filePath, filePathAbsolute);
|
|
61
|
-
const opened = service.openClientFile(filePathAbsolute, parseSettings.codeFullText,
|
|
55
|
+
function openClientFileFromProjectService(defaultProjectMatchedFiles, isDefaultProjectAllowed, filePathAbsolute, parseSettings, serviceSettings) {
|
|
56
|
+
const opened = serviceSettings.service.openClientFile(filePathAbsolute, parseSettings.codeFullText,
|
|
62
57
|
/* scriptKind */ undefined, parseSettings.tsconfigRootDir);
|
|
63
|
-
log('
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
if (opened.configFileName) {
|
|
69
|
-
if (isDefaultProjectAllowedPath) {
|
|
70
|
-
throw new Error(`${parseSettings.filePath} was included by allowDefaultProject but also was found in the project service. Consider removing it from allowDefaultProject.`);
|
|
71
|
-
}
|
|
58
|
+
log('Project service type information enabled; checking for file path match on: %o', serviceSettings.allowDefaultProject);
|
|
59
|
+
log('Default project allowed path: %s, based on config file: %s', isDefaultProjectAllowed, opened.configFileName);
|
|
60
|
+
if (opened.configFileName) {
|
|
61
|
+
if (isDefaultProjectAllowed) {
|
|
62
|
+
throw new Error(`${parseSettings.filePath} was included by allowDefaultProject but also was found in the project service. Consider removing it from allowDefaultProject.`);
|
|
72
63
|
}
|
|
73
|
-
|
|
74
|
-
|
|
64
|
+
}
|
|
65
|
+
else if (!isDefaultProjectAllowed) {
|
|
66
|
+
throw new Error(`${parseSettings.filePath} was not found by the project service. Consider either including it in the tsconfig.json or including it in allowDefaultProject.`);
|
|
67
|
+
}
|
|
68
|
+
// No a configFileName indicates this file wasn't included in a TSConfig.
|
|
69
|
+
// That means it must get its type information from the default project.
|
|
70
|
+
if (!opened.configFileName) {
|
|
71
|
+
defaultProjectMatchedFiles.add(filePathAbsolute);
|
|
72
|
+
if (defaultProjectMatchedFiles.size >
|
|
73
|
+
serviceSettings.maximumDefaultProjectFileMatchCount) {
|
|
74
|
+
const filePrintLimit = 20;
|
|
75
|
+
const filesToPrint = Array.from(defaultProjectMatchedFiles).slice(0, filePrintLimit);
|
|
76
|
+
const truncatedFileCount = defaultProjectMatchedFiles.size - filesToPrint.length;
|
|
77
|
+
throw new Error(`Too many files (>${serviceSettings.maximumDefaultProjectFileMatchCount}) have matched the default project.${validateDefaultProjectForFilesGlob_1.DEFAULT_PROJECT_FILES_ERROR_EXPLANATION}
|
|
78
|
+
Matching files:
|
|
79
|
+
${filesToPrint.map(file => `- ${file}`).join('\n')}
|
|
80
|
+
${truncatedFileCount ? `...and ${truncatedFileCount} more files\n` : ''}
|
|
81
|
+
If you absolutely need more files included, set parserOptions.projectService.maximumDefaultProjectFileMatchCount_THIS_WILL_SLOW_DOWN_LINTING to a larger value.
|
|
82
|
+
`);
|
|
75
83
|
}
|
|
76
84
|
}
|
|
85
|
+
return opened;
|
|
86
|
+
}
|
|
87
|
+
function createNoProgramWithProjectService(filePathAbsolute, parseSettings, service) {
|
|
88
|
+
log('No project service information available. Creating no program.');
|
|
89
|
+
// If the project service knows about this file, this informs if of changes.
|
|
90
|
+
// Doing so ensures that:
|
|
91
|
+
// - if the file is not part of a project, we don't waste time creating a program (fast non-type-aware linting)
|
|
92
|
+
// - otherwise, we refresh the file in the project service (moderately fast, since the project is already loaded)
|
|
93
|
+
if (service.getScriptInfo(filePathAbsolute)) {
|
|
94
|
+
log('Script info available. Opening client file in project service.');
|
|
95
|
+
service.openClientFile(filePathAbsolute, parseSettings.codeFullText,
|
|
96
|
+
/* scriptKind */ undefined, parseSettings.tsconfigRootDir);
|
|
97
|
+
}
|
|
98
|
+
return (0, createSourceFile_1.createNoProgram)(parseSettings);
|
|
99
|
+
}
|
|
100
|
+
function retrieveASTAndProgramFor(filePathAbsolute, parseSettings, serviceSettings) {
|
|
77
101
|
log('Retrieving script info and then program for: %s', filePathAbsolute);
|
|
78
|
-
const scriptInfo = service.getScriptInfo(filePathAbsolute);
|
|
102
|
+
const scriptInfo = serviceSettings.service.getScriptInfo(filePathAbsolute);
|
|
79
103
|
/* eslint-disable @typescript-eslint/no-non-null-assertion */
|
|
80
|
-
const program = service
|
|
104
|
+
const program = serviceSettings.service
|
|
81
105
|
.getDefaultProjectForFile(scriptInfo.fileName, true)
|
|
82
106
|
.getLanguageService(/*ensureSynchronized*/ true)
|
|
83
107
|
.getProgram();
|
|
@@ -86,27 +110,36 @@ function useProgramFromProjectService({ allowDefaultProject, maximumDefaultProje
|
|
|
86
110
|
log('Could not find project service program for: %s', filePathAbsolute);
|
|
87
111
|
return undefined;
|
|
88
112
|
}
|
|
89
|
-
if (!opened.configFileName) {
|
|
90
|
-
defaultProjectMatchedFiles.add(filePathAbsolute);
|
|
91
|
-
}
|
|
92
|
-
if (defaultProjectMatchedFiles.size > maximumDefaultProjectFileMatchCount) {
|
|
93
|
-
const filePrintLimit = 20;
|
|
94
|
-
const filesToPrint = Array.from(defaultProjectMatchedFiles).slice(0, filePrintLimit);
|
|
95
|
-
const truncatedFileCount = defaultProjectMatchedFiles.size - filesToPrint.length;
|
|
96
|
-
throw new Error(`Too many files (>${maximumDefaultProjectFileMatchCount}) have matched the default project.${validateDefaultProjectForFilesGlob_1.DEFAULT_PROJECT_FILES_ERROR_EXPLANATION}
|
|
97
|
-
Matching files:
|
|
98
|
-
${filesToPrint.map(file => `- ${file}`).join('\n')}
|
|
99
|
-
${truncatedFileCount ? `...and ${truncatedFileCount} more files\n` : ''}
|
|
100
|
-
If you absolutely need more files included, set parserOptions.projectService.maximumDefaultProjectFileMatchCount_THIS_WILL_SLOW_DOWN_LINTING to a larger value.
|
|
101
|
-
`);
|
|
102
|
-
}
|
|
103
113
|
log('Found project service program for: %s', filePathAbsolute);
|
|
104
114
|
return (0, createProjectProgram_1.createProjectProgram)(parseSettings, [program]);
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
115
|
+
}
|
|
116
|
+
function useProgramFromProjectService(serviceSettings, parseSettings, hasFullTypeInformation, defaultProjectMatchedFiles) {
|
|
117
|
+
// NOTE: triggers a full project reload when changes are detected
|
|
118
|
+
updateExtraFileExtensions(serviceSettings.service, parseSettings.extraFileExtensions);
|
|
119
|
+
// We don't canonicalize the filename because it caused a performance regression.
|
|
120
|
+
// See https://github.com/typescript-eslint/typescript-eslint/issues/8519
|
|
121
|
+
const filePathAbsolute = absolutify(parseSettings.filePath, serviceSettings);
|
|
122
|
+
log('Opening project service file for: %s at absolute path %s', parseSettings.filePath, filePathAbsolute);
|
|
123
|
+
const isDefaultProjectAllowed = filePathMatchedBy(parseSettings.filePath, serviceSettings.allowDefaultProject);
|
|
124
|
+
// Type-aware linting is disabled for this file.
|
|
125
|
+
// However, type-aware lint rules might still rely on its contents.
|
|
126
|
+
if (!hasFullTypeInformation && !isDefaultProjectAllowed) {
|
|
127
|
+
return createNoProgramWithProjectService(filePathAbsolute, parseSettings, serviceSettings.service);
|
|
109
128
|
}
|
|
129
|
+
// If type info was requested, we attempt to open it in the project service.
|
|
130
|
+
// By now, the file is known to be one of:
|
|
131
|
+
// - in the project service (valid configuration)
|
|
132
|
+
// - allowlisted in the default project (valid configuration)
|
|
133
|
+
// - neither, which openClientFileFromProjectService will throw an error for
|
|
134
|
+
const opened = hasFullTypeInformation &&
|
|
135
|
+
openClientFileFromProjectService(defaultProjectMatchedFiles, isDefaultProjectAllowed, filePathAbsolute, parseSettings, serviceSettings);
|
|
136
|
+
log('Opened project service file: %o', opened);
|
|
137
|
+
return retrieveASTAndProgramFor(filePathAbsolute, parseSettings, serviceSettings);
|
|
138
|
+
}
|
|
139
|
+
function absolutify(filePath, serviceSettings) {
|
|
140
|
+
return node_path_1.default.isAbsolute(filePath)
|
|
141
|
+
? filePath
|
|
142
|
+
: node_path_1.default.join(serviceSettings.service.host.getCurrentDirectory(), filePath);
|
|
110
143
|
}
|
|
111
144
|
function filePathMatchedBy(filePath, allowDefaultProject) {
|
|
112
145
|
return !!allowDefaultProject?.some(pattern => (0, minimatch_1.minimatch)(filePath, pattern));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useProgramFromProjectService.js","sourceRoot":"","sources":["../src/useProgramFromProjectService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"useProgramFromProjectService.js","sourceRoot":"","sources":["../src/useProgramFromProjectService.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@typescript-eslint/typescript-estree",
|
|
3
|
-
"version": "8.0.0-alpha.
|
|
3
|
+
"version": "8.0.0-alpha.48",
|
|
4
4
|
"description": "A parser that converts TypeScript source code into an ESTree compatible form",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist",
|
|
@@ -54,8 +54,8 @@
|
|
|
54
54
|
"typecheck": "tsc --noEmit"
|
|
55
55
|
},
|
|
56
56
|
"dependencies": {
|
|
57
|
-
"@typescript-eslint/types": "8.0.0-alpha.
|
|
58
|
-
"@typescript-eslint/visitor-keys": "8.0.0-alpha.
|
|
57
|
+
"@typescript-eslint/types": "8.0.0-alpha.48",
|
|
58
|
+
"@typescript-eslint/visitor-keys": "8.0.0-alpha.48",
|
|
59
59
|
"debug": "^4.3.4",
|
|
60
60
|
"globby": "^11.1.0",
|
|
61
61
|
"is-glob": "^4.0.3",
|