From 69aa3c984fb28b92a34987014a8cba154cf9262c Mon Sep 17 00:00:00 2001 From: Christopher Aubut Date: Fri, 7 Jun 2024 20:03:33 -0600 Subject: [PATCH 01/36] refactor(typescript-estree): refactors default project config and adds initial tests --- .../create-program/createProjectService.ts | 40 +++---- .../src/create-program/getParsedConfigFile.ts | 56 ++++++++++ .../src/create-program/useProvidedPrograms.ts | 49 ++------- .../project-a/src/index.ts | 0 .../project-a/tsconfig.json | 5 + .../project-a/tsconfig.src.json | 0 .../project-b/src/index.ts | 0 .../project-b/tsconfig.json | 5 + .../project-b/tsconfig.src.json | 9 ++ .../projectServicesComplex/tsconfig.base.json | 9 ++ .../projectServicesComplex/tsconfig.json | 8 ++ .../tsconfig.overridden.json | 3 + .../tsconfig.overrides.json | 5 + .../tests/lib/createProjectService.test.ts | 100 ++++++++++++++---- 14 files changed, 204 insertions(+), 85 deletions(-) create mode 100644 packages/typescript-estree/src/create-program/getParsedConfigFile.ts create mode 100644 packages/typescript-estree/tests/fixtures/projectServicesComplex/project-a/src/index.ts create mode 100644 packages/typescript-estree/tests/fixtures/projectServicesComplex/project-a/tsconfig.json create mode 100644 packages/typescript-estree/tests/fixtures/projectServicesComplex/project-a/tsconfig.src.json create mode 100644 packages/typescript-estree/tests/fixtures/projectServicesComplex/project-b/src/index.ts create mode 100644 packages/typescript-estree/tests/fixtures/projectServicesComplex/project-b/tsconfig.json create mode 100644 packages/typescript-estree/tests/fixtures/projectServicesComplex/project-b/tsconfig.src.json create mode 100644 packages/typescript-estree/tests/fixtures/projectServicesComplex/tsconfig.base.json create mode 100644 packages/typescript-estree/tests/fixtures/projectServicesComplex/tsconfig.json create mode 100644 packages/typescript-estree/tests/fixtures/projectServicesComplex/tsconfig.overridden.json create mode 100644 packages/typescript-estree/tests/fixtures/projectServicesComplex/tsconfig.overrides.json diff --git a/packages/typescript-estree/src/create-program/createProjectService.ts b/packages/typescript-estree/src/create-program/createProjectService.ts index 9f0f44dcec68..0c1831e2231f 100644 --- a/packages/typescript-estree/src/create-program/createProjectService.ts +++ b/packages/typescript-estree/src/create-program/createProjectService.ts @@ -1,10 +1,14 @@ /* eslint-disable @typescript-eslint/no-empty-function -- for TypeScript APIs*/ +import fs from 'node:fs'; import os from 'node:os'; +import path from 'node:path'; import type * as ts from 'typescript/lib/tsserverlibrary'; import type { ProjectServiceOptions } from '../parser-options'; import { validateDefaultProjectForFilesGlob } from './validateDefaultProjectForFilesGlob'; +import { CORE_COMPILER_OPTIONS } from './shared'; +import { getParsedConfigFile } from './getParsedConfigFile'; const DEFAULT_PROJECT_MATCHED_FILES_THRESHOLD = 8; @@ -69,39 +73,25 @@ export function createProjectService( }); if (options.defaultProject) { - let configRead; - try { - configRead = tsserver.readConfigFile( + const configFile = getParsedConfigFile( options.defaultProject, - system.readFile, + path.dirname(options.defaultProject), + ); + service.setCompilerOptionsForInferredProjects( + // NOTE: The inferred projects APIs are not intended for source files when a tsconfig exists. + // There is no API that generates InferredProjectCompilerOptions suggesting it is meant for + // hard coded options passed in to be type checked. The original readConfigFile.config is + // type any and all available config parsing methods generate a CompilerOptions type. Hard + // casting as a work around. + // See https://github.com/microsoft/TypeScript/blob/27bcd4cb5a98bce46c9cdd749752703ead021a4b/src/server/protocol.ts#L1904 + configFile.options as any, // providing CompilerOptions while expecting InferredProjectCompilerOptions ); } catch (error) { throw new Error( `Could not parse default project '${options.defaultProject}': ${(error as Error).message}`, ); } - - if (configRead.error) { - throw new Error( - `Could not read default project '${options.defaultProject}': ${tsserver.formatDiagnostic( - configRead.error, - { - getCurrentDirectory: system.getCurrentDirectory, - getCanonicalFileName: fileName => fileName, - getNewLine: () => os.EOL, - }, - )}`, - ); - } - - service.setCompilerOptionsForInferredProjects( - ( - configRead.config as { - compilerOptions: ts.server.protocol.InferredProjectCompilerOptions; - } - ).compilerOptions, - ); } return { diff --git a/packages/typescript-estree/src/create-program/getParsedConfigFile.ts b/packages/typescript-estree/src/create-program/getParsedConfigFile.ts new file mode 100644 index 000000000000..e6997f41009f --- /dev/null +++ b/packages/typescript-estree/src/create-program/getParsedConfigFile.ts @@ -0,0 +1,56 @@ +import * as ts from 'typescript'; +import * as fs from 'fs'; +import * as path from 'path'; + +import { CORE_COMPILER_OPTIONS } from './shared'; + +/** + * Utility offered by parser to help consumers read a config file. + * + * @param configFilePath the path to the tsconfig.json file, relative to `projectDirectory` + * @param projectDirectory the project directory to use as the CWD, defaults to `process.cwd()` + */ +function getParsedConfigFile( + configFilePath: string, + projectDirectory?: string, +): ts.ParsedCommandLine { + // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition + if (ts.sys === undefined) { + throw new Error( + '`createProgramFromConfigFile` is only supported in a Node-like environment.', + ); + } + + const parsed = ts.getParsedCommandLineOfConfigFile( + configFilePath, + CORE_COMPILER_OPTIONS, + { + onUnRecoverableConfigFileDiagnostic: diag => { + throw new Error(formatDiagnostics([diag])); // ensures that `parsed` is defined. + }, + fileExists: fs.existsSync, + getCurrentDirectory: () => + (projectDirectory && path.resolve(projectDirectory)) || process.cwd(), + readDirectory: ts.sys.readDirectory, + readFile: file => fs.readFileSync(file, 'utf-8'), + useCaseSensitiveFileNames: ts.sys.useCaseSensitiveFileNames, + }, + ); + // parsed is not undefined, since we throw on failure. + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + const result = parsed!; + if (result.errors.length) { + throw new Error(formatDiagnostics(result.errors)); + } + return result; +} + +function formatDiagnostics(diagnostics: ts.Diagnostic[]): string | undefined { + return ts.formatDiagnostics(diagnostics, { + getCanonicalFileName: f => f, + getCurrentDirectory: process.cwd, + getNewLine: () => '\n', + }); +} + +export { getParsedConfigFile }; diff --git a/packages/typescript-estree/src/create-program/useProvidedPrograms.ts b/packages/typescript-estree/src/create-program/useProvidedPrograms.ts index cae07bda5fa1..67249355322f 100644 --- a/packages/typescript-estree/src/create-program/useProvidedPrograms.ts +++ b/packages/typescript-estree/src/create-program/useProvidedPrograms.ts @@ -1,10 +1,10 @@ import debug from 'debug'; -import * as fs from 'fs'; import * as path from 'path'; import * as ts from 'typescript'; import type { ASTAndDefiniteProgram } from './shared'; -import { CORE_COMPILER_OPTIONS, getAstFromProgram } from './shared'; +import { getAstFromProgram } from './shared'; +import { getParsedConfigFile } from './getParsedConfigFile'; const log = debug('typescript-eslint:typescript-estree:useProvidedProgram'); @@ -49,51 +49,16 @@ function useProvidedPrograms( /** * Utility offered by parser to help consumers construct their own program instance. * - * @param configFile the path to the tsconfig.json file, relative to `projectDirectory` + * @param configFilePath the path to the tsconfig.json file, relative to `projectDirectory` * @param projectDirectory the project directory to use as the CWD, defaults to `process.cwd()` */ function createProgramFromConfigFile( - configFile: string, + configFilePath: string, projectDirectory?: string, ): ts.Program { - // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition - if (ts.sys === undefined) { - throw new Error( - '`createProgramFromConfigFile` is only supported in a Node-like environment.', - ); - } - - const parsed = ts.getParsedCommandLineOfConfigFile( - configFile, - CORE_COMPILER_OPTIONS, - { - onUnRecoverableConfigFileDiagnostic: diag => { - throw new Error(formatDiagnostics([diag])); // ensures that `parsed` is defined. - }, - fileExists: fs.existsSync, - getCurrentDirectory: () => - (projectDirectory && path.resolve(projectDirectory)) || process.cwd(), - readDirectory: ts.sys.readDirectory, - readFile: file => fs.readFileSync(file, 'utf-8'), - useCaseSensitiveFileNames: ts.sys.useCaseSensitiveFileNames, - }, - ); - // parsed is not undefined, since we throw on failure. - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - const result = parsed!; - if (result.errors.length) { - throw new Error(formatDiagnostics(result.errors)); - } - const host = ts.createCompilerHost(result.options, true); - return ts.createProgram(result.fileNames, result.options, host); -} - -function formatDiagnostics(diagnostics: ts.Diagnostic[]): string | undefined { - return ts.formatDiagnostics(diagnostics, { - getCanonicalFileName: f => f, - getCurrentDirectory: process.cwd, - getNewLine: () => '\n', - }); + const configFile = getParsedConfigFile(configFilePath, projectDirectory); + const host = ts.createCompilerHost(configFile.options, true); + return ts.createProgram(configFile.fileNames, configFile.options, host); } export { useProvidedPrograms, createProgramFromConfigFile }; diff --git a/packages/typescript-estree/tests/fixtures/projectServicesComplex/project-a/src/index.ts b/packages/typescript-estree/tests/fixtures/projectServicesComplex/project-a/src/index.ts new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/packages/typescript-estree/tests/fixtures/projectServicesComplex/project-a/tsconfig.json b/packages/typescript-estree/tests/fixtures/projectServicesComplex/project-a/tsconfig.json new file mode 100644 index 000000000000..144eca86d81d --- /dev/null +++ b/packages/typescript-estree/tests/fixtures/projectServicesComplex/project-a/tsconfig.json @@ -0,0 +1,5 @@ +{ + "extends": "../tsconfig.base.json", + "include": [], + "references": [{ "path": "./tsconfig.src.json" }] +} diff --git a/packages/typescript-estree/tests/fixtures/projectServicesComplex/project-a/tsconfig.src.json b/packages/typescript-estree/tests/fixtures/projectServicesComplex/project-a/tsconfig.src.json new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/packages/typescript-estree/tests/fixtures/projectServicesComplex/project-b/src/index.ts b/packages/typescript-estree/tests/fixtures/projectServicesComplex/project-b/src/index.ts new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/packages/typescript-estree/tests/fixtures/projectServicesComplex/project-b/tsconfig.json b/packages/typescript-estree/tests/fixtures/projectServicesComplex/project-b/tsconfig.json new file mode 100644 index 000000000000..144eca86d81d --- /dev/null +++ b/packages/typescript-estree/tests/fixtures/projectServicesComplex/project-b/tsconfig.json @@ -0,0 +1,5 @@ +{ + "extends": "../tsconfig.base.json", + "include": [], + "references": [{ "path": "./tsconfig.src.json" }] +} diff --git a/packages/typescript-estree/tests/fixtures/projectServicesComplex/project-b/tsconfig.src.json b/packages/typescript-estree/tests/fixtures/projectServicesComplex/project-b/tsconfig.src.json new file mode 100644 index 000000000000..35eec1467e18 --- /dev/null +++ b/packages/typescript-estree/tests/fixtures/projectServicesComplex/project-b/tsconfig.src.json @@ -0,0 +1,9 @@ +{ + "extends": "../tsconfig.base.json", + "include": ["./src"], + "compilerOptions": { + "paths": { + "@": ["./project-b/src/index.ts"] + } + } +} diff --git a/packages/typescript-estree/tests/fixtures/projectServicesComplex/tsconfig.base.json b/packages/typescript-estree/tests/fixtures/projectServicesComplex/tsconfig.base.json new file mode 100644 index 000000000000..1558f0441589 --- /dev/null +++ b/packages/typescript-estree/tests/fixtures/projectServicesComplex/tsconfig.base.json @@ -0,0 +1,9 @@ +{ + "compilerOptions": { + "strict": true, + "paths": { + "@/package-a": ["./project-a/src/index.ts"], + "@/package-b": ["./project-b/src/index.ts"] + } + } +} diff --git a/packages/typescript-estree/tests/fixtures/projectServicesComplex/tsconfig.json b/packages/typescript-estree/tests/fixtures/projectServicesComplex/tsconfig.json new file mode 100644 index 000000000000..f5573dac6eda --- /dev/null +++ b/packages/typescript-estree/tests/fixtures/projectServicesComplex/tsconfig.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.base.json", + "include": [], + "references": [ + { "path": "./packages/package-a" }, + { "path": "./packages/package-b" } + ] +} diff --git a/packages/typescript-estree/tests/fixtures/projectServicesComplex/tsconfig.overridden.json b/packages/typescript-estree/tests/fixtures/projectServicesComplex/tsconfig.overridden.json new file mode 100644 index 000000000000..588708a2b74e --- /dev/null +++ b/packages/typescript-estree/tests/fixtures/projectServicesComplex/tsconfig.overridden.json @@ -0,0 +1,3 @@ +{ + "extends": ["./tsconfig.base.json", "./tsconfig.overrides.json"] +} diff --git a/packages/typescript-estree/tests/fixtures/projectServicesComplex/tsconfig.overrides.json b/packages/typescript-estree/tests/fixtures/projectServicesComplex/tsconfig.overrides.json new file mode 100644 index 000000000000..8ad9c98014c7 --- /dev/null +++ b/packages/typescript-estree/tests/fixtures/projectServicesComplex/tsconfig.overrides.json @@ -0,0 +1,5 @@ +{ + "compilerOptions": { + "strict": false + } +} diff --git a/packages/typescript-estree/tests/lib/createProjectService.test.ts b/packages/typescript-estree/tests/lib/createProjectService.test.ts index 1159e8625f41..28a12da24e42 100644 --- a/packages/typescript-estree/tests/lib/createProjectService.test.ts +++ b/packages/typescript-estree/tests/lib/createProjectService.test.ts @@ -1,22 +1,32 @@ import * as ts from 'typescript'; +import fs from 'node:fs'; +import { join } from 'node:path'; +import { CORE_COMPILER_OPTIONS } from '../../src/create-program/shared'; import { createProjectService } from '../../src/create-program/createProjectService'; -const mockReadConfigFile = jest.fn(); +const FIXTURES_DIR = join(__dirname, '../fixtures/projectServicesComplex'); + +const mockGetParsedCommandLineOfConfigFile = jest.fn(); const mockSetCompilerOptionsForInferredProjects = jest.fn(); -jest.mock('typescript/lib/tsserverlibrary', () => ({ - ...jest.requireActual('typescript/lib/tsserverlibrary'), - readConfigFile: mockReadConfigFile, - server: { - ProjectService: class { - setCompilerOptionsForInferredProjects = - mockSetCompilerOptionsForInferredProjects; +const useMock = () => + jest.mock('typescript/lib/tsserverlibrary', () => ({ + ...jest.requireActual('typescript/lib/tsserverlibrary'), + getParsedCommandLineOfConfigFile: mockGetParsedCommandLineOfConfigFile, + server: { + ProjectService: class { + setCompilerOptionsForInferredProjects = + mockSetCompilerOptionsForInferredProjects; + }, }, - }, -})); + })); describe('createProjectService', () => { + beforeEach(() => { + jest.resetModules(); + }); + it('sets allowDefaultProject when options.allowDefaultProject is defined', () => { const allowDefaultProject = ['./*.js']; const settings = createProjectService({ allowDefaultProject }, undefined); @@ -31,7 +41,8 @@ describe('createProjectService', () => { }); it('throws an error when options.defaultProject is set and readConfigFile returns an error', () => { - mockReadConfigFile.mockReturnValue({ + useMock(); + mockGetParsedCommandLineOfConfigFile.mockReturnValue({ error: { category: ts.DiagnosticCategory.Error, code: 1234, @@ -58,7 +69,8 @@ describe('createProjectService', () => { }); it('throws an error when options.defaultProject is set and readConfigFile throws an error', () => { - mockReadConfigFile.mockImplementation(() => { + useMock(); + mockGetParsedCommandLineOfConfigFile.mockImplementation(() => { throw new Error('Oh no!'); }); @@ -73,20 +85,72 @@ describe('createProjectService', () => { ).toThrow("Could not parse default project './tsconfig.json': Oh no!"); }); - it('uses the default projects compiler options when options.defaultProject is set and readConfigFile succeeds', () => { - const compilerOptions = { strict: true }; - mockReadConfigFile.mockReturnValue({ config: { compilerOptions } }); + it('uses the default projects compiler options when options.defaultProject is set and getParsedCommandLineOfConfigFile succeeds', () => { + const base = JSON.parse( + fs.readFileSync(join(FIXTURES_DIR, 'tsconfig.base.json'), 'utf8'), + ); + const compilerOptions = base?.compilerOptions; + + const { service } = createProjectService( + { + defaultProject: join(FIXTURES_DIR, 'tsconfig.base.json'), + }, + undefined, + ); + + expect(service.setCompilerOptionsForInferredProjects).toHaveBeenCalledWith( + // Looser assertion since config parser tacks on some meta data to track references to other files. + // See https://github.com/microsoft/TypeScript/blob/27bcd4cb5a98bce46c9cdd749752703ead021a4b/src/compiler/commandLineParser.ts#L2888 + // See https://github.com/microsoft/TypeScript/blob/27bcd4cb5a98bce46c9cdd749752703ead021a4b/src/compiler/commandLineParser.ts#L3125 + expect.objectContaining({ ...CORE_COMPILER_OPTIONS, ...compilerOptions }), + ); + }); + + it('uses the default projects compiler options when options.defaultProject is set with a single extends', () => { + const base = JSON.parse( + fs.readFileSync(join(FIXTURES_DIR, 'tsconfig.base.json'), 'utf8'), + ); + const compilerOptions = base?.compilerOptions; + + const { service } = createProjectService( + { + defaultProject: join(FIXTURES_DIR, 'tsconfig.json'), + }, + undefined, + ); + + expect(service.setCompilerOptionsForInferredProjects).toHaveBeenCalledWith( + // Looser assertion since config parser tacks on some meta data to track references to other files. + // See https://github.com/microsoft/TypeScript/blob/27bcd4cb5a98bce46c9cdd749752703ead021a4b/src/compiler/commandLineParser.ts#L2888 + // See https://github.com/microsoft/TypeScript/blob/27bcd4cb5a98bce46c9cdd749752703ead021a4b/src/compiler/commandLineParser.ts#L3125 + expect.objectContaining({ ...CORE_COMPILER_OPTIONS, ...compilerOptions }), + ); + }); + + it('uses the default projects compiler options when options.defaultProject is set with multiple extends', () => { + const base = JSON.parse( + fs.readFileSync(join(FIXTURES_DIR, 'tsconfig.base.json'), 'utf8'), + ); + const overrides = JSON.parse( + fs.readFileSync(join(FIXTURES_DIR, 'tsconfig.overrides.json'), 'utf8'), + ); + const compilerOptions = { + ...base?.compilerOptions, + ...overrides?.compilerOptions, + }; const { service } = createProjectService( { - allowDefaultProject: ['file.js'], - defaultProject: './tsconfig.json', + defaultProject: join(FIXTURES_DIR, 'tsconfig.overridden.json'), }, undefined, ); expect(service.setCompilerOptionsForInferredProjects).toHaveBeenCalledWith( - compilerOptions, + // Looser assertion since config parser tacks on some meta data to track references to other files. + // See https://github.com/microsoft/TypeScript/blob/27bcd4cb5a98bce46c9cdd749752703ead021a4b/src/compiler/commandLineParser.ts#L2888 + // See https://github.com/microsoft/TypeScript/blob/27bcd4cb5a98bce46c9cdd749752703ead021a4b/src/compiler/commandLineParser.ts#L3125 + expect.objectContaining({ ...CORE_COMPILER_OPTIONS, ...compilerOptions }), ); }); }); From d32c1e5eedd3ad33e85be24daaf7ec285ffc956a Mon Sep 17 00:00:00 2001 From: Christopher Aubut Date: Sat, 8 Jun 2024 14:08:34 -0600 Subject: [PATCH 02/36] test(typescript-estree): fix original failing unit tests --- .../create-program/createProjectService.ts | 8 +- .../src/create-program/getParsedConfigFile.ts | 33 +++++--- .../src/create-program/useProvidedPrograms.ts | 2 +- .../tests/lib/createProjectService.test.ts | 75 +++++++++++-------- 4 files changed, 69 insertions(+), 49 deletions(-) diff --git a/packages/typescript-estree/src/create-program/createProjectService.ts b/packages/typescript-estree/src/create-program/createProjectService.ts index 0c1831e2231f..a33bb2c7435a 100644 --- a/packages/typescript-estree/src/create-program/createProjectService.ts +++ b/packages/typescript-estree/src/create-program/createProjectService.ts @@ -1,14 +1,11 @@ /* eslint-disable @typescript-eslint/no-empty-function -- for TypeScript APIs*/ -import fs from 'node:fs'; -import os from 'node:os'; import path from 'node:path'; import type * as ts from 'typescript/lib/tsserverlibrary'; import type { ProjectServiceOptions } from '../parser-options'; -import { validateDefaultProjectForFilesGlob } from './validateDefaultProjectForFilesGlob'; -import { CORE_COMPILER_OPTIONS } from './shared'; import { getParsedConfigFile } from './getParsedConfigFile'; +import { validateDefaultProjectForFilesGlob } from './validateDefaultProjectForFilesGlob'; const DEFAULT_PROJECT_MATCHED_FILES_THRESHOLD = 8; @@ -35,6 +32,7 @@ export function createProjectService( // We import this lazily to avoid its cost for users who don't use the service // TODO: Once we drop support for TS<5.3 we can import from "typescript" directly + // NOTE: Jest mock's rely on this behavior. // eslint-disable-next-line @typescript-eslint/no-require-imports const tsserver = require('typescript/lib/tsserverlibrary') as typeof ts; @@ -71,7 +69,6 @@ export function createProjectService( session: undefined, jsDocParsingMode, }); - if (options.defaultProject) { try { const configFile = getParsedConfigFile( @@ -85,6 +82,7 @@ export function createProjectService( // type any and all available config parsing methods generate a CompilerOptions type. Hard // casting as a work around. // See https://github.com/microsoft/TypeScript/blob/27bcd4cb5a98bce46c9cdd749752703ead021a4b/src/server/protocol.ts#L1904 + // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-explicit-any configFile.options as any, // providing CompilerOptions while expecting InferredProjectCompilerOptions ); } catch (error) { diff --git a/packages/typescript-estree/src/create-program/getParsedConfigFile.ts b/packages/typescript-estree/src/create-program/getParsedConfigFile.ts index e6997f41009f..912b5319b4c0 100644 --- a/packages/typescript-estree/src/create-program/getParsedConfigFile.ts +++ b/packages/typescript-estree/src/create-program/getParsedConfigFile.ts @@ -1,6 +1,6 @@ -import * as ts from 'typescript'; import * as fs from 'fs'; import * as path from 'path'; +import type * as ts from 'typescript/lib/tsserverlibrary'; import { CORE_COMPILER_OPTIONS } from './shared'; @@ -14,14 +14,20 @@ function getParsedConfigFile( configFilePath: string, projectDirectory?: string, ): ts.ParsedCommandLine { + // We import this lazily to avoid its cost for users who don't use the service + // TODO: Once we drop support for TS<5.3 we can import from "typescript" directly + // NOTE: Jest mock's rely on this behavior. + // eslint-disable-next-line @typescript-eslint/no-require-imports + const tsserver = require('typescript/lib/tsserverlibrary') as typeof ts; + // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition - if (ts.sys === undefined) { + if (tsserver.sys === undefined) { throw new Error( '`createProgramFromConfigFile` is only supported in a Node-like environment.', ); } - const parsed = ts.getParsedCommandLineOfConfigFile( + const parsed = tsserver.getParsedCommandLineOfConfigFile( configFilePath, CORE_COMPILER_OPTIONS, { @@ -31,26 +37,29 @@ function getParsedConfigFile( fileExists: fs.existsSync, getCurrentDirectory: () => (projectDirectory && path.resolve(projectDirectory)) || process.cwd(), - readDirectory: ts.sys.readDirectory, + readDirectory: tsserver.sys.readDirectory, readFile: file => fs.readFileSync(file, 'utf-8'), - useCaseSensitiveFileNames: ts.sys.useCaseSensitiveFileNames, + useCaseSensitiveFileNames: tsserver.sys.useCaseSensitiveFileNames, }, ); + // parsed is not undefined, since we throw on failure. // eslint-disable-next-line @typescript-eslint/no-non-null-assertion const result = parsed!; if (result.errors.length) { throw new Error(formatDiagnostics(result.errors)); } + return result; -} -function formatDiagnostics(diagnostics: ts.Diagnostic[]): string | undefined { - return ts.formatDiagnostics(diagnostics, { - getCanonicalFileName: f => f, - getCurrentDirectory: process.cwd, - getNewLine: () => '\n', - }); + // scoped to parent function to use lazy typescript import + function formatDiagnostics(diagnostics: ts.Diagnostic[]): string | undefined { + return tsserver.formatDiagnostics(diagnostics, { + getCanonicalFileName: f => f, + getCurrentDirectory: process.cwd, + getNewLine: () => '\n', + }); + } } export { getParsedConfigFile }; diff --git a/packages/typescript-estree/src/create-program/useProvidedPrograms.ts b/packages/typescript-estree/src/create-program/useProvidedPrograms.ts index 67249355322f..00b20fc47e23 100644 --- a/packages/typescript-estree/src/create-program/useProvidedPrograms.ts +++ b/packages/typescript-estree/src/create-program/useProvidedPrograms.ts @@ -2,9 +2,9 @@ import debug from 'debug'; import * as path from 'path'; import * as ts from 'typescript'; +import { getParsedConfigFile } from './getParsedConfigFile'; import type { ASTAndDefiniteProgram } from './shared'; import { getAstFromProgram } from './shared'; -import { getParsedConfigFile } from './getParsedConfigFile'; const log = debug('typescript-eslint:typescript-estree:useProvidedProgram'); diff --git a/packages/typescript-estree/tests/lib/createProjectService.test.ts b/packages/typescript-estree/tests/lib/createProjectService.test.ts index 28a12da24e42..3600c24585c9 100644 --- a/packages/typescript-estree/tests/lib/createProjectService.test.ts +++ b/packages/typescript-estree/tests/lib/createProjectService.test.ts @@ -1,30 +1,34 @@ -import * as ts from 'typescript'; import fs from 'node:fs'; import { join } from 'node:path'; -import { CORE_COMPILER_OPTIONS } from '../../src/create-program/shared'; +import * as ts from 'typescript'; + import { createProjectService } from '../../src/create-program/createProjectService'; +import { CORE_COMPILER_OPTIONS } from '../../src/create-program/shared'; const FIXTURES_DIR = join(__dirname, '../fixtures/projectServicesComplex'); const mockGetParsedCommandLineOfConfigFile = jest.fn(); const mockSetCompilerOptionsForInferredProjects = jest.fn(); -const useMock = () => - jest.mock('typescript/lib/tsserverlibrary', () => ({ - ...jest.requireActual('typescript/lib/tsserverlibrary'), - getParsedCommandLineOfConfigFile: mockGetParsedCommandLineOfConfigFile, - server: { - ProjectService: class { - setCompilerOptionsForInferredProjects = - mockSetCompilerOptionsForInferredProjects; - }, +const origGetParsedCommandLineOfConfigFile = + ts.getParsedCommandLineOfConfigFile; + +jest.mock('typescript/lib/tsserverlibrary', () => ({ + ...jest.requireActual('typescript/lib/tsserverlibrary'), + getParsedCommandLineOfConfigFile: mockGetParsedCommandLineOfConfigFile, + server: { + ProjectService: class { + setCompilerOptionsForInferredProjects = + mockSetCompilerOptionsForInferredProjects; }, - })); + }, +})); describe('createProjectService', () => { - beforeEach(() => { - jest.resetModules(); + // not strictly needed but removes the dependency on tests running in a specific order + afterEach(() => { + jest.resetAllMocks(); }); it('sets allowDefaultProject when options.allowDefaultProject is defined', () => { @@ -41,18 +45,19 @@ describe('createProjectService', () => { }); it('throws an error when options.defaultProject is set and readConfigFile returns an error', () => { - useMock(); mockGetParsedCommandLineOfConfigFile.mockReturnValue({ - error: { - category: ts.DiagnosticCategory.Error, - code: 1234, - file: ts.createSourceFile('./tsconfig.json', '', { - languageVersion: ts.ScriptTarget.Latest, - }), - start: 0, - length: 0, - messageText: 'Oh no!', - } satisfies ts.Diagnostic, + errors: [ + { + category: ts.DiagnosticCategory.Error, + code: 1234, + file: ts.createSourceFile('./tsconfig.json', '', { + languageVersion: ts.ScriptTarget.Latest, + }), + start: 0, + length: 0, + messageText: 'Oh no!', + }, + ] satisfies ts.Diagnostic[], }); expect(() => @@ -64,28 +69,30 @@ describe('createProjectService', () => { undefined, ), ).toThrow( - /Could not read default project '\.\/tsconfig.json': .+ error TS1234: Oh no!/, + /Could not parse default project '\.\/tsconfig.json': .+ error TS1234: Oh no!/, ); }); it('throws an error when options.defaultProject is set and readConfigFile throws an error', () => { - useMock(); mockGetParsedCommandLineOfConfigFile.mockImplementation(() => { throw new Error('Oh no!'); }); - expect(() => - createProjectService( + expect(() => { + return createProjectService( { allowDefaultProject: ['file.js'], defaultProject: './tsconfig.json', }, undefined, - ), - ).toThrow("Could not parse default project './tsconfig.json': Oh no!"); + ); + }).toThrow("Could not parse default project './tsconfig.json': Oh no!"); }); it('uses the default projects compiler options when options.defaultProject is set and getParsedCommandLineOfConfigFile succeeds', () => { + mockGetParsedCommandLineOfConfigFile.mockImplementation( + origGetParsedCommandLineOfConfigFile, + ); const base = JSON.parse( fs.readFileSync(join(FIXTURES_DIR, 'tsconfig.base.json'), 'utf8'), ); @@ -107,6 +114,9 @@ describe('createProjectService', () => { }); it('uses the default projects compiler options when options.defaultProject is set with a single extends', () => { + mockGetParsedCommandLineOfConfigFile.mockImplementation( + origGetParsedCommandLineOfConfigFile, + ); const base = JSON.parse( fs.readFileSync(join(FIXTURES_DIR, 'tsconfig.base.json'), 'utf8'), ); @@ -128,6 +138,9 @@ describe('createProjectService', () => { }); it('uses the default projects compiler options when options.defaultProject is set with multiple extends', () => { + mockGetParsedCommandLineOfConfigFile.mockImplementation( + origGetParsedCommandLineOfConfigFile, + ); const base = JSON.parse( fs.readFileSync(join(FIXTURES_DIR, 'tsconfig.base.json'), 'utf8'), ); From 148a9d0f7c670a74152279974988e9107e4be2f7 Mon Sep 17 00:00:00 2001 From: Christopher Aubut Date: Sat, 8 Jun 2024 14:41:26 -0600 Subject: [PATCH 03/36] chore(typescript-estree): cleans up PR submission --- .../create-program/createProjectService.ts | 11 +++--- .../src/create-program/getParsedConfigFile.ts | 9 +++-- .../src/create-program/useProvidedPrograms.ts | 10 +++--- .../project-a/tsconfig.src.json | 9 +++++ .../tests/lib/createProjectService.test.ts | 34 +++++++------------ 5 files changed, 35 insertions(+), 38 deletions(-) diff --git a/packages/typescript-estree/src/create-program/createProjectService.ts b/packages/typescript-estree/src/create-program/createProjectService.ts index a33bb2c7435a..709c670aff51 100644 --- a/packages/typescript-estree/src/create-program/createProjectService.ts +++ b/packages/typescript-estree/src/create-program/createProjectService.ts @@ -32,7 +32,6 @@ export function createProjectService( // We import this lazily to avoid its cost for users who don't use the service // TODO: Once we drop support for TS<5.3 we can import from "typescript" directly - // NOTE: Jest mock's rely on this behavior. // eslint-disable-next-line @typescript-eslint/no-require-imports const tsserver = require('typescript/lib/tsserverlibrary') as typeof ts; @@ -76,11 +75,11 @@ export function createProjectService( path.dirname(options.defaultProject), ); service.setCompilerOptionsForInferredProjects( - // NOTE: The inferred projects APIs are not intended for source files when a tsconfig exists. - // There is no API that generates InferredProjectCompilerOptions suggesting it is meant for - // hard coded options passed in to be type checked. The original readConfigFile.config is - // type any and all available config parsing methods generate a CompilerOptions type. Hard - // casting as a work around. + // NOTE: The inferred projects API is not intended for source files when a tsconfig + // exists. There is no API that generates a InferredProjectCompilerOptions suggesting + // it is meant for hard coded options passed in. The original readConfigFile.config + // produced type any and all available config parsing methods generate a CompilerOptions + // type. Hard casting as a work around. // See https://github.com/microsoft/TypeScript/blob/27bcd4cb5a98bce46c9cdd749752703ead021a4b/src/server/protocol.ts#L1904 // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-explicit-any configFile.options as any, // providing CompilerOptions while expecting InferredProjectCompilerOptions diff --git a/packages/typescript-estree/src/create-program/getParsedConfigFile.ts b/packages/typescript-estree/src/create-program/getParsedConfigFile.ts index 912b5319b4c0..de72cf743e8b 100644 --- a/packages/typescript-estree/src/create-program/getParsedConfigFile.ts +++ b/packages/typescript-estree/src/create-program/getParsedConfigFile.ts @@ -5,18 +5,17 @@ import type * as ts from 'typescript/lib/tsserverlibrary'; import { CORE_COMPILER_OPTIONS } from './shared'; /** - * Utility offered by parser to help consumers read a config file. + * Utility offered by parser to help consumers parse a config file. * - * @param configFilePath the path to the tsconfig.json file, relative to `projectDirectory` + * @param configFile the path to the tsconfig.json file, relative to `projectDirectory` * @param projectDirectory the project directory to use as the CWD, defaults to `process.cwd()` */ function getParsedConfigFile( - configFilePath: string, + configFile: string, projectDirectory?: string, ): ts.ParsedCommandLine { // We import this lazily to avoid its cost for users who don't use the service // TODO: Once we drop support for TS<5.3 we can import from "typescript" directly - // NOTE: Jest mock's rely on this behavior. // eslint-disable-next-line @typescript-eslint/no-require-imports const tsserver = require('typescript/lib/tsserverlibrary') as typeof ts; @@ -28,7 +27,7 @@ function getParsedConfigFile( } const parsed = tsserver.getParsedCommandLineOfConfigFile( - configFilePath, + configFile, CORE_COMPILER_OPTIONS, { onUnRecoverableConfigFileDiagnostic: diag => { diff --git a/packages/typescript-estree/src/create-program/useProvidedPrograms.ts b/packages/typescript-estree/src/create-program/useProvidedPrograms.ts index 00b20fc47e23..e9d443a315a9 100644 --- a/packages/typescript-estree/src/create-program/useProvidedPrograms.ts +++ b/packages/typescript-estree/src/create-program/useProvidedPrograms.ts @@ -49,16 +49,16 @@ function useProvidedPrograms( /** * Utility offered by parser to help consumers construct their own program instance. * - * @param configFilePath the path to the tsconfig.json file, relative to `projectDirectory` + * @param configFile the path to the tsconfig.json file, relative to `projectDirectory` * @param projectDirectory the project directory to use as the CWD, defaults to `process.cwd()` */ function createProgramFromConfigFile( - configFilePath: string, + configFile: string, projectDirectory?: string, ): ts.Program { - const configFile = getParsedConfigFile(configFilePath, projectDirectory); - const host = ts.createCompilerHost(configFile.options, true); - return ts.createProgram(configFile.fileNames, configFile.options, host); + const parsed = getParsedConfigFile(configFile, projectDirectory); + const host = ts.createCompilerHost(parsed.options, true); + return ts.createProgram(parsed.fileNames, parsed.options, host); } export { useProvidedPrograms, createProgramFromConfigFile }; diff --git a/packages/typescript-estree/tests/fixtures/projectServicesComplex/project-a/tsconfig.src.json b/packages/typescript-estree/tests/fixtures/projectServicesComplex/project-a/tsconfig.src.json index e69de29bb2d1..35eec1467e18 100644 --- a/packages/typescript-estree/tests/fixtures/projectServicesComplex/project-a/tsconfig.src.json +++ b/packages/typescript-estree/tests/fixtures/projectServicesComplex/project-a/tsconfig.src.json @@ -0,0 +1,9 @@ +{ + "extends": "../tsconfig.base.json", + "include": ["./src"], + "compilerOptions": { + "paths": { + "@": ["./project-b/src/index.ts"] + } + } +} diff --git a/packages/typescript-estree/tests/lib/createProjectService.test.ts b/packages/typescript-estree/tests/lib/createProjectService.test.ts index 3600c24585c9..84b20d6821b5 100644 --- a/packages/typescript-estree/tests/lib/createProjectService.test.ts +++ b/packages/typescript-estree/tests/lib/createProjectService.test.ts @@ -8,12 +8,12 @@ import { CORE_COMPILER_OPTIONS } from '../../src/create-program/shared'; const FIXTURES_DIR = join(__dirname, '../fixtures/projectServicesComplex'); -const mockGetParsedCommandLineOfConfigFile = jest.fn(); -const mockSetCompilerOptionsForInferredProjects = jest.fn(); - const origGetParsedCommandLineOfConfigFile = ts.getParsedCommandLineOfConfigFile; +const mockGetParsedCommandLineOfConfigFile = jest.fn(); +const mockSetCompilerOptionsForInferredProjects = jest.fn(); + jest.mock('typescript/lib/tsserverlibrary', () => ({ ...jest.requireActual('typescript/lib/tsserverlibrary'), getParsedCommandLineOfConfigFile: mockGetParsedCommandLineOfConfigFile, @@ -26,11 +26,6 @@ jest.mock('typescript/lib/tsserverlibrary', () => ({ })); describe('createProjectService', () => { - // not strictly needed but removes the dependency on tests running in a specific order - afterEach(() => { - jest.resetAllMocks(); - }); - it('sets allowDefaultProject when options.allowDefaultProject is defined', () => { const allowDefaultProject = ['./*.js']; const settings = createProjectService({ allowDefaultProject }, undefined); @@ -93,11 +88,11 @@ describe('createProjectService', () => { mockGetParsedCommandLineOfConfigFile.mockImplementation( origGetParsedCommandLineOfConfigFile, ); + const base = JSON.parse( fs.readFileSync(join(FIXTURES_DIR, 'tsconfig.base.json'), 'utf8'), ); const compilerOptions = base?.compilerOptions; - const { service } = createProjectService( { defaultProject: join(FIXTURES_DIR, 'tsconfig.base.json'), @@ -105,23 +100,21 @@ describe('createProjectService', () => { undefined, ); + // looser assertion since config parser adds metadata to track references to other files expect(service.setCompilerOptionsForInferredProjects).toHaveBeenCalledWith( - // Looser assertion since config parser tacks on some meta data to track references to other files. - // See https://github.com/microsoft/TypeScript/blob/27bcd4cb5a98bce46c9cdd749752703ead021a4b/src/compiler/commandLineParser.ts#L2888 - // See https://github.com/microsoft/TypeScript/blob/27bcd4cb5a98bce46c9cdd749752703ead021a4b/src/compiler/commandLineParser.ts#L3125 expect.objectContaining({ ...CORE_COMPILER_OPTIONS, ...compilerOptions }), ); }); - it('uses the default projects compiler options when options.defaultProject is set with a single extends', () => { + it('uses the default projects extended compiler options when options.defaultProject is set and getParsedCommandLineOfConfigFile succeeds', () => { mockGetParsedCommandLineOfConfigFile.mockImplementation( origGetParsedCommandLineOfConfigFile, ); + const base = JSON.parse( fs.readFileSync(join(FIXTURES_DIR, 'tsconfig.base.json'), 'utf8'), ); const compilerOptions = base?.compilerOptions; - const { service } = createProjectService( { defaultProject: join(FIXTURES_DIR, 'tsconfig.json'), @@ -129,18 +122,17 @@ describe('createProjectService', () => { undefined, ); + // looser assertion since config parser adds metadata to track references to other files expect(service.setCompilerOptionsForInferredProjects).toHaveBeenCalledWith( - // Looser assertion since config parser tacks on some meta data to track references to other files. - // See https://github.com/microsoft/TypeScript/blob/27bcd4cb5a98bce46c9cdd749752703ead021a4b/src/compiler/commandLineParser.ts#L2888 - // See https://github.com/microsoft/TypeScript/blob/27bcd4cb5a98bce46c9cdd749752703ead021a4b/src/compiler/commandLineParser.ts#L3125 expect.objectContaining({ ...CORE_COMPILER_OPTIONS, ...compilerOptions }), ); }); - it('uses the default projects compiler options when options.defaultProject is set with multiple extends', () => { + it('uses the default projects multiple extended compiler options when options.defaultProject is set and getParsedCommandLineOfConfigFile succeeds', () => { mockGetParsedCommandLineOfConfigFile.mockImplementation( origGetParsedCommandLineOfConfigFile, ); + const base = JSON.parse( fs.readFileSync(join(FIXTURES_DIR, 'tsconfig.base.json'), 'utf8'), ); @@ -151,18 +143,16 @@ describe('createProjectService', () => { ...base?.compilerOptions, ...overrides?.compilerOptions, }; - const { service } = createProjectService( { + // extends tsconfig.base.json and tsconfig.overrides.json defaultProject: join(FIXTURES_DIR, 'tsconfig.overridden.json'), }, undefined, ); + // looser assertion since config parser adds metadata to track references to other files expect(service.setCompilerOptionsForInferredProjects).toHaveBeenCalledWith( - // Looser assertion since config parser tacks on some meta data to track references to other files. - // See https://github.com/microsoft/TypeScript/blob/27bcd4cb5a98bce46c9cdd749752703ead021a4b/src/compiler/commandLineParser.ts#L2888 - // See https://github.com/microsoft/TypeScript/blob/27bcd4cb5a98bce46c9cdd749752703ead021a4b/src/compiler/commandLineParser.ts#L3125 expect.objectContaining({ ...CORE_COMPILER_OPTIONS, ...compilerOptions }), ); }); From b6718a10d624ee86a8b63f7060f881e8207f7480 Mon Sep 17 00:00:00 2001 From: Christopher Aubut Date: Sat, 8 Jun 2024 15:19:20 -0600 Subject: [PATCH 04/36] chore(typescript-estree): fixes test names to use the new function name --- .../typescript-estree/tests/lib/createProjectService.test.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/typescript-estree/tests/lib/createProjectService.test.ts b/packages/typescript-estree/tests/lib/createProjectService.test.ts index 84b20d6821b5..8eba55d38e8b 100644 --- a/packages/typescript-estree/tests/lib/createProjectService.test.ts +++ b/packages/typescript-estree/tests/lib/createProjectService.test.ts @@ -39,7 +39,7 @@ describe('createProjectService', () => { expect(settings.allowDefaultProject).toBeUndefined(); }); - it('throws an error when options.defaultProject is set and readConfigFile returns an error', () => { + it('throws an error when options.defaultProject is set and getParsedCommandLineOfConfigFile returns an error', () => { mockGetParsedCommandLineOfConfigFile.mockReturnValue({ errors: [ { @@ -68,7 +68,7 @@ describe('createProjectService', () => { ); }); - it('throws an error when options.defaultProject is set and readConfigFile throws an error', () => { + it('throws an error when options.defaultProject is set and getParsedCommandLineOfConfigFile throws an error', () => { mockGetParsedCommandLineOfConfigFile.mockImplementation(() => { throw new Error('Oh no!'); }); From bde1a26e5bca15958833cb32a3901d874c844bff Mon Sep 17 00:00:00 2001 From: Christopher Aubut Date: Sat, 8 Jun 2024 16:43:55 -0600 Subject: [PATCH 05/36] test(typescript-estree): adds additional tests for coverage --- .../tests/lib/createProjectService.test.ts | 79 ++++++++++++++++--- 1 file changed, 68 insertions(+), 11 deletions(-) diff --git a/packages/typescript-estree/tests/lib/createProjectService.test.ts b/packages/typescript-estree/tests/lib/createProjectService.test.ts index 8eba55d38e8b..cd5644240cdf 100644 --- a/packages/typescript-estree/tests/lib/createProjectService.test.ts +++ b/packages/typescript-estree/tests/lib/createProjectService.test.ts @@ -8,24 +8,35 @@ import { CORE_COMPILER_OPTIONS } from '../../src/create-program/shared'; const FIXTURES_DIR = join(__dirname, '../fixtures/projectServicesComplex'); +const origSys = ts.sys; const origGetParsedCommandLineOfConfigFile = ts.getParsedCommandLineOfConfigFile; +let mockSys: typeof ts.sys; const mockGetParsedCommandLineOfConfigFile = jest.fn(); const mockSetCompilerOptionsForInferredProjects = jest.fn(); -jest.mock('typescript/lib/tsserverlibrary', () => ({ - ...jest.requireActual('typescript/lib/tsserverlibrary'), - getParsedCommandLineOfConfigFile: mockGetParsedCommandLineOfConfigFile, - server: { - ProjectService: class { - setCompilerOptionsForInferredProjects = - mockSetCompilerOptionsForInferredProjects; - }, - }, -})); - describe('createProjectService', () => { + beforeEach(() => { + jest.resetModules(); + + mockSys = origSys; + jest.doMock('typescript/lib/tsserverlibrary', () => { + const actualTs = jest.requireActual('typescript/lib/tsserverlibrary'); + return { + ...actualTs, + sys: mockSys, + getParsedCommandLineOfConfigFile: mockGetParsedCommandLineOfConfigFile, + server: { + ProjectService: class { + setCompilerOptionsForInferredProjects = + mockSetCompilerOptionsForInferredProjects; + }, + }, + }; + }); + }); + it('sets allowDefaultProject when options.allowDefaultProject is defined', () => { const allowDefaultProject = ['./*.js']; const settings = createProjectService({ allowDefaultProject }, undefined); @@ -68,6 +79,36 @@ describe('createProjectService', () => { ); }); + it('throws an error when options.defaultProject is absolute and getParsedCommandLineOfConfigFile returns an error', () => { + // NOTE: triggers getCanonicalFileName for coverage + mockGetParsedCommandLineOfConfigFile.mockReturnValue({ + errors: [ + { + category: ts.DiagnosticCategory.Error, + code: 1234, + file: ts.createSourceFile(join(process.cwd(), 'tsconfig.json'), '', { + languageVersion: ts.ScriptTarget.Latest, + }), + start: 0, + length: 0, + messageText: 'Oh no!', + }, + ] satisfies ts.Diagnostic[], + }); + + expect(() => + createProjectService( + { + allowDefaultProject: ['file.js'], + defaultProject: join(process.cwd(), 'tsconfig.json'), + }, + undefined, + ), + ).toThrow( + /Could not parse default project '\/(.*\/)+tsconfig.json': .+ error TS1234: Oh no!/, + ); + }); + it('throws an error when options.defaultProject is set and getParsedCommandLineOfConfigFile throws an error', () => { mockGetParsedCommandLineOfConfigFile.mockImplementation(() => { throw new Error('Oh no!'); @@ -84,6 +125,22 @@ describe('createProjectService', () => { }).toThrow("Could not parse default project './tsconfig.json': Oh no!"); }); + it('throws an error when options.defaultProject is set and tserver.sys is undefined', () => { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + mockSys = undefined as any; + expect(() => { + return createProjectService( + { + allowDefaultProject: ['file.js'], + defaultProject: './tsconfig.json', + }, + undefined, + ); + }).toThrow( + "Could not parse default project './tsconfig.json': `createProgramFromConfigFile` is only supported in a Node-like environment.", + ); + }); + it('uses the default projects compiler options when options.defaultProject is set and getParsedCommandLineOfConfigFile succeeds', () => { mockGetParsedCommandLineOfConfigFile.mockImplementation( origGetParsedCommandLineOfConfigFile, From 331534521533603408c8d847dcb0eccde3ba1afd Mon Sep 17 00:00:00 2001 From: Christopher Aubut Date: Sat, 8 Jun 2024 17:04:44 -0600 Subject: [PATCH 06/36] test(typescript-estree): fixes test for windows --- .../tests/lib/createProjectService.test.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/typescript-estree/tests/lib/createProjectService.test.ts b/packages/typescript-estree/tests/lib/createProjectService.test.ts index cd5644240cdf..4b9043b7483c 100644 --- a/packages/typescript-estree/tests/lib/createProjectService.test.ts +++ b/packages/typescript-estree/tests/lib/createProjectService.test.ts @@ -86,7 +86,7 @@ describe('createProjectService', () => { { category: ts.DiagnosticCategory.Error, code: 1234, - file: ts.createSourceFile(join(process.cwd(), 'tsconfig.json'), '', { + file: ts.createSourceFile('/tsconfig.json', '', { languageVersion: ts.ScriptTarget.Latest, }), start: 0, @@ -100,12 +100,12 @@ describe('createProjectService', () => { createProjectService( { allowDefaultProject: ['file.js'], - defaultProject: join(process.cwd(), 'tsconfig.json'), + defaultProject: '/tsconfig.json', }, undefined, ), ).toThrow( - /Could not parse default project '\/(.*\/)+tsconfig.json': .+ error TS1234: Oh no!/, + /Could not parse default project '\/tsconfig.json': .+ error TS1234: Oh no!/, ); }); From 2859ef96a13fe5e9d7be3d62728282515d2d69fc Mon Sep 17 00:00:00 2001 From: Christopher Aubut Date: Sat, 8 Jun 2024 17:07:16 -0600 Subject: [PATCH 07/36] test(typescript-estree): fixes test name typo --- .../typescript-estree/tests/lib/createProjectService.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/typescript-estree/tests/lib/createProjectService.test.ts b/packages/typescript-estree/tests/lib/createProjectService.test.ts index 4b9043b7483c..e6a688820ca3 100644 --- a/packages/typescript-estree/tests/lib/createProjectService.test.ts +++ b/packages/typescript-estree/tests/lib/createProjectService.test.ts @@ -125,7 +125,7 @@ describe('createProjectService', () => { }).toThrow("Could not parse default project './tsconfig.json': Oh no!"); }); - it('throws an error when options.defaultProject is set and tserver.sys is undefined', () => { + it('throws an error when options.defaultProject is set and tsserver.sys is undefined', () => { // eslint-disable-next-line @typescript-eslint/no-explicit-any mockSys = undefined as any; expect(() => { From f01fe0eee3dc6d711fcf913358984b3e67c8b472 Mon Sep 17 00:00:00 2001 From: Christopher Aubut Date: Sat, 8 Jun 2024 18:04:34 -0600 Subject: [PATCH 08/36] chore(typescript-estree): minor cleanup to comments and variables --- .../src/create-program/createProjectService.ts | 8 +++----- .../tests/lib/createProjectService.test.ts | 4 ++-- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/packages/typescript-estree/src/create-program/createProjectService.ts b/packages/typescript-estree/src/create-program/createProjectService.ts index 709c670aff51..64283cef8a8c 100644 --- a/packages/typescript-estree/src/create-program/createProjectService.ts +++ b/packages/typescript-estree/src/create-program/createProjectService.ts @@ -76,13 +76,11 @@ export function createProjectService( ); service.setCompilerOptionsForInferredProjects( // NOTE: The inferred projects API is not intended for source files when a tsconfig - // exists. There is no API that generates a InferredProjectCompilerOptions suggesting - // it is meant for hard coded options passed in. The original readConfigFile.config - // produced type any and all available config parsing methods generate a CompilerOptions - // type. Hard casting as a work around. + // exists. There is no API that generates an InferredProjectCompilerOptions suggesting + // it is meant for hard coded options passed in. Hard casting as a work around. // See https://github.com/microsoft/TypeScript/blob/27bcd4cb5a98bce46c9cdd749752703ead021a4b/src/server/protocol.ts#L1904 // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-explicit-any - configFile.options as any, // providing CompilerOptions while expecting InferredProjectCompilerOptions + configFile.options as ts.server.protocol.InferredProjectCompilerOptions, ); } catch (error) { throw new Error( diff --git a/packages/typescript-estree/tests/lib/createProjectService.test.ts b/packages/typescript-estree/tests/lib/createProjectService.test.ts index e6a688820ca3..addf70d7ebea 100644 --- a/packages/typescript-estree/tests/lib/createProjectService.test.ts +++ b/packages/typescript-estree/tests/lib/createProjectService.test.ts @@ -21,10 +21,10 @@ describe('createProjectService', () => { jest.resetModules(); mockSys = origSys; + // doMock is used over mock to handle the `sys` property mock jest.doMock('typescript/lib/tsserverlibrary', () => { - const actualTs = jest.requireActual('typescript/lib/tsserverlibrary'); return { - ...actualTs, + ...jest.requireActual('typescript/lib/tsserverlibrary'), sys: mockSys, getParsedCommandLineOfConfigFile: mockGetParsedCommandLineOfConfigFile, server: { From 73e2c7837d6d69524dc742bbc4b178af310b02ac Mon Sep 17 00:00:00 2001 From: Christopher Aubut Date: Sat, 8 Jun 2024 18:19:51 -0600 Subject: [PATCH 09/36] style(typescript-estree): unifies how compiler options are defined in tests --- .../tests/lib/createProjectService.test.ts | 27 ++++++++++++------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/packages/typescript-estree/tests/lib/createProjectService.test.ts b/packages/typescript-estree/tests/lib/createProjectService.test.ts index addf70d7ebea..26246fad0c86 100644 --- a/packages/typescript-estree/tests/lib/createProjectService.test.ts +++ b/packages/typescript-estree/tests/lib/createProjectService.test.ts @@ -21,7 +21,7 @@ describe('createProjectService', () => { jest.resetModules(); mockSys = origSys; - // doMock is used over mock to handle the `sys` property mock + // doMock is used over mock to handle the tsserver.sys property mock jest.doMock('typescript/lib/tsserverlibrary', () => { return { ...jest.requireActual('typescript/lib/tsserverlibrary'), @@ -80,12 +80,12 @@ describe('createProjectService', () => { }); it('throws an error when options.defaultProject is absolute and getParsedCommandLineOfConfigFile returns an error', () => { - // NOTE: triggers getCanonicalFileName for coverage mockGetParsedCommandLineOfConfigFile.mockReturnValue({ errors: [ { category: ts.DiagnosticCategory.Error, code: 1234, + // absolute path triggers getCanonicalFileName for coverage file: ts.createSourceFile('/tsconfig.json', '', { languageVersion: ts.ScriptTarget.Latest, }), @@ -149,7 +149,10 @@ describe('createProjectService', () => { const base = JSON.parse( fs.readFileSync(join(FIXTURES_DIR, 'tsconfig.base.json'), 'utf8'), ); - const compilerOptions = base?.compilerOptions; + const compilerOptions = { + ...CORE_COMPILER_OPTIONS, + ...base?.compilerOptions, + }; const { service } = createProjectService( { defaultProject: join(FIXTURES_DIR, 'tsconfig.base.json'), @@ -157,9 +160,9 @@ describe('createProjectService', () => { undefined, ); - // looser assertion since config parser adds metadata to track references to other files expect(service.setCompilerOptionsForInferredProjects).toHaveBeenCalledWith( - expect.objectContaining({ ...CORE_COMPILER_OPTIONS, ...compilerOptions }), + // looser assertion since config parser adds metadata to track references to other files + expect.objectContaining(compilerOptions), ); }); @@ -171,7 +174,10 @@ describe('createProjectService', () => { const base = JSON.parse( fs.readFileSync(join(FIXTURES_DIR, 'tsconfig.base.json'), 'utf8'), ); - const compilerOptions = base?.compilerOptions; + const compilerOptions = { + ...CORE_COMPILER_OPTIONS, + ...base?.compilerOptions, + }; const { service } = createProjectService( { defaultProject: join(FIXTURES_DIR, 'tsconfig.json'), @@ -179,9 +185,9 @@ describe('createProjectService', () => { undefined, ); - // looser assertion since config parser adds metadata to track references to other files expect(service.setCompilerOptionsForInferredProjects).toHaveBeenCalledWith( - expect.objectContaining({ ...CORE_COMPILER_OPTIONS, ...compilerOptions }), + // looser assertion since config parser adds metadata to track references to other files + expect.objectContaining(compilerOptions), ); }); @@ -197,6 +203,7 @@ describe('createProjectService', () => { fs.readFileSync(join(FIXTURES_DIR, 'tsconfig.overrides.json'), 'utf8'), ); const compilerOptions = { + ...CORE_COMPILER_OPTIONS, ...base?.compilerOptions, ...overrides?.compilerOptions, }; @@ -208,9 +215,9 @@ describe('createProjectService', () => { undefined, ); - // looser assertion since config parser adds metadata to track references to other files expect(service.setCompilerOptionsForInferredProjects).toHaveBeenCalledWith( - expect.objectContaining({ ...CORE_COMPILER_OPTIONS, ...compilerOptions }), + // looser assertion since config parser adds metadata to track references to other files + expect.objectContaining(compilerOptions), ); }); }); From 5a12641f8f6f69cc3899a01f59a892053f146de4 Mon Sep 17 00:00:00 2001 From: Christopher Aubut Date: Tue, 11 Jun 2024 15:24:06 -0600 Subject: [PATCH 10/36] perf(typescript-estree): moves setHostConfiguration into createProjectService Calling on every source causes a full graph update. Relocating to call once per ProjectService. --- .../create-program/createProjectService.ts | 17 +++++++ .../src/parseSettings/createParseSettings.ts | 12 +++-- .../tests/lib/createProjectService.test.ts | 43 +++++++++++++++++ .../lib/useProgramFromProjectService.test.ts | 46 ------------------- 4 files changed, 67 insertions(+), 51 deletions(-) diff --git a/packages/typescript-estree/src/create-program/createProjectService.ts b/packages/typescript-estree/src/create-program/createProjectService.ts index 9f0f44dcec68..751581ca161f 100644 --- a/packages/typescript-estree/src/create-program/createProjectService.ts +++ b/packages/typescript-estree/src/create-program/createProjectService.ts @@ -22,9 +22,14 @@ export interface ProjectServiceSettings { service: TypeScriptProjectService; } +export interface ProjectServiceParseSettings { + extraFileExtensions?: string[]; +} + export function createProjectService( optionsRaw: boolean | ProjectServiceOptions | undefined, jsDocParsingMode: ts.JSDocParsingMode | undefined, + parseSettings?: ProjectServiceParseSettings, ): ProjectServiceSettings { const options = typeof optionsRaw === 'object' ? optionsRaw : {}; validateDefaultProjectForFilesGlob(options); @@ -95,6 +100,18 @@ export function createProjectService( ); } + if (parseSettings?.extraFileExtensions?.length) { + service.setHostConfiguration({ + extraFileExtensions: parseSettings.extraFileExtensions.map( + extension => ({ + extension, + isMixedContent: false, + scriptKind: tsserver.ScriptKind.Deferred, + }), + ), + }); + } + service.setCompilerOptionsForInferredProjects( ( configRead.config as { diff --git a/packages/typescript-estree/src/parseSettings/createParseSettings.ts b/packages/typescript-estree/src/parseSettings/createParseSettings.ts index 98e42d8af36c..ff6537780f02 100644 --- a/packages/typescript-estree/src/parseSettings/createParseSettings.ts +++ b/packages/typescript-estree/src/parseSettings/createParseSettings.ts @@ -61,6 +61,11 @@ export function createParseSettings( return JSDocParsingMode.ParseAll; } })(); + const extraFileExtensions = + Array.isArray(tsestreeOptions.extraFileExtensions) && + tsestreeOptions.extraFileExtensions.every(ext => typeof ext === 'string') + ? tsestreeOptions.extraFileExtensions + : []; const parseSettings: MutableParseSettings = { allowInvalidAST: tsestreeOptions.allowInvalidAST === true, @@ -76,11 +81,7 @@ export function createParseSettings( : new Set(), errorOnTypeScriptSyntacticAndSemanticIssues: false, errorOnUnknownASTType: tsestreeOptions.errorOnUnknownASTType === true, - extraFileExtensions: - Array.isArray(tsestreeOptions.extraFileExtensions) && - tsestreeOptions.extraFileExtensions.every(ext => typeof ext === 'string') - ? tsestreeOptions.extraFileExtensions - : [], + extraFileExtensions, filePath: ensureAbsolutePath( typeof tsestreeOptions.filePath === 'string' && tsestreeOptions.filePath !== '' @@ -110,6 +111,7 @@ export function createParseSettings( ? (TSSERVER_PROJECT_SERVICE ??= createProjectService( tsestreeOptions.projectService, jsDocParsingMode, + { extraFileExtensions }, )) : undefined, range: tsestreeOptions.range === true, diff --git a/packages/typescript-estree/tests/lib/createProjectService.test.ts b/packages/typescript-estree/tests/lib/createProjectService.test.ts index 1159e8625f41..68d1f6ca703f 100644 --- a/packages/typescript-estree/tests/lib/createProjectService.test.ts +++ b/packages/typescript-estree/tests/lib/createProjectService.test.ts @@ -4,6 +4,7 @@ import { createProjectService } from '../../src/create-program/createProjectServ const mockReadConfigFile = jest.fn(); const mockSetCompilerOptionsForInferredProjects = jest.fn(); +const mockSetHostConfiguration = jest.fn(); jest.mock('typescript/lib/tsserverlibrary', () => ({ ...jest.requireActual('typescript/lib/tsserverlibrary'), @@ -12,6 +13,7 @@ jest.mock('typescript/lib/tsserverlibrary', () => ({ ProjectService: class { setCompilerOptionsForInferredProjects = mockSetCompilerOptionsForInferredProjects; + setHostConfiguration = mockSetHostConfiguration; }, }, })); @@ -89,4 +91,45 @@ describe('createProjectService', () => { compilerOptions, ); }); + + it('does not call setHostConfiguration if extraFileExtensions are not provided', () => { + const compilerOptions = { strict: true }; + mockReadConfigFile.mockReturnValue({ config: { compilerOptions } }); + + const { service } = createProjectService( + { + allowDefaultProject: ['file.js'], + defaultProject: './tsconfig.json', + }, + undefined, + ); + + expect(service.setHostConfiguration).not.toHaveBeenCalled(); + }); + + it('calls setHostConfiguration when extraFileExtensions is provided', () => { + const compilerOptions = { strict: true }; + mockReadConfigFile.mockReturnValue({ config: { compilerOptions } }); + + const { service } = createProjectService( + { + allowDefaultProject: ['file.js'], + defaultProject: './tsconfig.json', + }, + undefined, + { + extraFileExtensions: ['.vue'], + }, + ); + + expect(service.setHostConfiguration).toHaveBeenCalledWith({ + extraFileExtensions: [ + { + extension: '.vue', + isMixedContent: false, + scriptKind: ts.ScriptKind.Deferred, + }, + ], + }); + }); }); diff --git a/packages/typescript-estree/tests/lib/useProgramFromProjectService.test.ts b/packages/typescript-estree/tests/lib/useProgramFromProjectService.test.ts index 3ca8ae53aea4..958ab3e96240 100644 --- a/packages/typescript-estree/tests/lib/useProgramFromProjectService.test.ts +++ b/packages/typescript-estree/tests/lib/useProgramFromProjectService.test.ts @@ -1,6 +1,5 @@ /* eslint-disable @typescript-eslint/explicit-function-return-type -- Fancy mocks */ import path from 'path'; -import { ScriptKind } from 'typescript'; import type { ProjectServiceSettings, @@ -23,7 +22,6 @@ const currentDirectory = '/repos/repo'; function createMockProjectService() { const openClientFile = jest.fn(); - const setHostConfiguration = jest.fn(); const service = { getDefaultProjectForFile: () => ({ getLanguageService: () => ({ @@ -35,7 +33,6 @@ function createMockProjectService() { getCurrentDirectory: () => currentDirectory, }, openClientFile, - setHostConfiguration, }; return { @@ -301,47 +298,4 @@ If you absolutely need more files included, set parserOptions.projectService.max expect(actual).toBe(program); }); - - it('does not call setHostConfiguration if extraFileExtensions are not provided', () => { - const { service } = createMockProjectService(); - - useProgramFromProjectService( - createProjectServiceSettings({ - allowDefaultProject: [mockParseSettings.filePath], - service, - }), - mockParseSettings, - false, - new Set(), - ); - - expect(service.setHostConfiguration).not.toHaveBeenCalled(); - }); - - it('calls setHostConfiguration on the service to use extraFileExtensions when it is provided', () => { - const { service } = createMockProjectService(); - - useProgramFromProjectService( - createProjectServiceSettings({ - allowDefaultProject: [mockParseSettings.filePath], - service, - }), - { - ...mockParseSettings, - extraFileExtensions: ['.vue'], - }, - false, - new Set(), - ); - - expect(service.setHostConfiguration).toHaveBeenCalledWith({ - extraFileExtensions: [ - { - extension: '.vue', - isMixedContent: false, - scriptKind: ScriptKind.Deferred, - }, - ], - }); - }); }); From b60001d092fdbee4a40620b2e2f42be879be280d Mon Sep 17 00:00:00 2001 From: Christopher Aubut Date: Tue, 11 Jun 2024 16:51:59 -0600 Subject: [PATCH 11/36] feat(typescript-estree): exposes tsserver logs with ProjectService --- docs/packages/TypeScript_ESTree.mdx | 2 + .../create-program/createProjectService.ts | 62 ++++++-- .../tests/lib/createProjectService.test.ts | 132 ++++++++++++++++++ 3 files changed, 186 insertions(+), 10 deletions(-) diff --git a/docs/packages/TypeScript_ESTree.mdx b/docs/packages/TypeScript_ESTree.mdx index e8a27eb0f012..b8317ae6f25f 100644 --- a/docs/packages/TypeScript_ESTree.mdx +++ b/docs/packages/TypeScript_ESTree.mdx @@ -367,3 +367,5 @@ const { ast, services } = parseAndGenerateServices(code, { If you encounter a bug with the parser that you want to investigate, you can turn on the debug logging via setting the environment variable: `DEBUG=typescript-eslint:*`. I.e. in this repo you can run: `DEBUG=typescript-eslint:* yarn lint`. + +To include TypeScript server logs when using Project Services, include the following in the environment variable: `DEBUG=TBD` # FIXME: before PR diff --git a/packages/typescript-estree/src/create-program/createProjectService.ts b/packages/typescript-estree/src/create-program/createProjectService.ts index 9f0f44dcec68..3f1af534ffca 100644 --- a/packages/typescript-estree/src/create-program/createProjectService.ts +++ b/packages/typescript-estree/src/create-program/createProjectService.ts @@ -1,6 +1,7 @@ /* eslint-disable @typescript-eslint/no-empty-function -- for TypeScript APIs*/ import os from 'node:os'; +import debug from 'debug'; import type * as ts from 'typescript/lib/tsserverlibrary'; import type { ProjectServiceOptions } from '../parser-options'; @@ -8,6 +9,19 @@ import { validateDefaultProjectForFilesGlob } from './validateDefaultProjectForF const DEFAULT_PROJECT_MATCHED_FILES_THRESHOLD = 8; +const logTsserverErr = debug( + 'typescript-eslint:typescript-estree:tsserver:err', +); +const logTsserverInfo = debug( + 'typescript-eslint:typescript-estree:tsserver:info', +); +const logTsserverPerf = debug( + 'typescript-eslint:typescript-estree:tsserver:perf', +); +const logTsserverEvent = debug( + 'typescript-eslint:typescript-estree:tsserver:event', +); + const doNothing = (): void => {}; const createStubFileWatcher = (): ts.FileWatcher => ({ @@ -48,21 +62,49 @@ export function createProjectService( watchFile: createStubFileWatcher, }; + const logger: ts.server.Logger = { + close: doNothing, + endGroup: doNothing, + getLogFileName: (): undefined => undefined, + // The debug library doesn't use levels without creating a namespace for each. + // Log levels are not passed to the writer so we wouldn't be able to forward + // to a respective namespace. Supporting would require an additional flag for + // grainular control. Defaulting to all levels for now. + hasLevel: (): boolean => true, + info(s) { + this.msg(s, tsserver.server.Msg.Info); + }, + loggingEnabled: (): boolean => + // if none of the debug namespaces are enabled, then don;t enable logging in tsserver + logTsserverInfo.enabled || + logTsserverErr.enabled || + logTsserverPerf.enabled, + msg: (s, type) => { + switch (type) { + case tsserver.server.Msg.Err: + logTsserverErr(s); + break; + case tsserver.server.Msg.Perf: + logTsserverPerf(s); + break; + default: + logTsserverInfo(s); + } + }, + perftrc(s) { + this.msg(s, tsserver.server.Msg.Perf); + }, + startGroup: doNothing, + }; + const service = new tsserver.server.ProjectService({ host: system, cancellationToken: { isCancellationRequested: (): boolean => false }, useSingleInferredProject: false, useInferredProjectPerProjectRoot: false, - logger: { - close: doNothing, - endGroup: doNothing, - getLogFileName: (): undefined => undefined, - hasLevel: (): boolean => false, - info: doNothing, - loggingEnabled: (): boolean => false, - msg: doNothing, - perftrc: doNothing, - startGroup: doNothing, + logger, + eventHandler: (e): void => { + logTsserverEvent(e); }, session: undefined, jsDocParsingMode, diff --git a/packages/typescript-estree/tests/lib/createProjectService.test.ts b/packages/typescript-estree/tests/lib/createProjectService.test.ts index 1159e8625f41..da0cd2eb046d 100644 --- a/packages/typescript-estree/tests/lib/createProjectService.test.ts +++ b/packages/typescript-estree/tests/lib/createProjectService.test.ts @@ -1,3 +1,4 @@ +import debug from 'debug'; import * as ts from 'typescript'; import { createProjectService } from '../../src/create-program/createProjectService'; @@ -9,7 +10,19 @@ jest.mock('typescript/lib/tsserverlibrary', () => ({ ...jest.requireActual('typescript/lib/tsserverlibrary'), readConfigFile: mockReadConfigFile, server: { + ...jest.requireActual('typescript/lib/tsserverlibrary').server, ProjectService: class { + logger: ts.server.Logger; + eventHandler: ts.server.ProjectServiceEventHandler | undefined; + constructor( + ...args: ConstructorParameters + ) { + this.logger = args[0].logger; + this.eventHandler = args[0].eventHandler; + this.eventHandler!({ + eventName: 'projectLoadingStart', + } as ts.server.ProjectLoadingStartEvent); + } setCompilerOptionsForInferredProjects = mockSetCompilerOptionsForInferredProjects; }, @@ -17,6 +30,10 @@ jest.mock('typescript/lib/tsserverlibrary', () => ({ })); describe('createProjectService', () => { + afterEach(() => { + jest.resetAllMocks(); + }); + it('sets allowDefaultProject when options.allowDefaultProject is defined', () => { const allowDefaultProject = ['./*.js']; const settings = createProjectService({ allowDefaultProject }, undefined); @@ -89,4 +106,119 @@ describe('createProjectService', () => { compilerOptions, ); }); + + it('uses the default projects error debugger for error messages when enabled', () => { + jest.spyOn(process.stderr, 'write').mockImplementation(); + const { service } = createProjectService(undefined, undefined); + debug.enable('typescript-eslint:typescript-estree:tsserver:err'); + const enabled = service.logger.loggingEnabled(); + service.logger.msg('foo', ts.server.Msg.Err); + debug.disable(); + + expect(enabled).toBe(true); + expect(process.stderr.write).toHaveBeenCalledWith( + expect.stringMatching( + /^.*typescript-eslint:typescript-estree:tsserver:err foo\n$/, + ), + ); + }); + + it('does not use the default projects error debugger for error messages when disabled', () => { + jest.spyOn(process.stderr, 'write').mockImplementation(); + const { service } = createProjectService(undefined, undefined); + const enabled = service.logger.loggingEnabled(); + service.logger.msg('foo', ts.server.Msg.Err); + + expect(enabled).toBe(false); + expect(process.stderr.write).toHaveBeenCalledTimes(0); + }); + + it('uses the default projects info debugger for info messages when enabled', () => { + jest.spyOn(process.stderr, 'write').mockImplementation(); + const { service } = createProjectService(undefined, undefined); + debug.enable('typescript-eslint:typescript-estree:tsserver:info'); + const enabled = service.logger.loggingEnabled(); + service.logger.info('foo'); + debug.disable(); + + expect(enabled).toBe(true); + expect(process.stderr.write).toHaveBeenCalledWith( + expect.stringMatching( + /^.*typescript-eslint:typescript-estree:tsserver:info foo\n$/, + ), + ); + }); + + it('does not use the default projects info debugger for info messages when disabled', () => { + jest.spyOn(process.stderr, 'write').mockImplementation(); + const { service } = createProjectService(undefined, undefined); + const enabled = service.logger.loggingEnabled(); + service.logger.info('foo'); + + expect(enabled).toBe(false); + expect(process.stderr.write).toHaveBeenCalledTimes(0); + }); + + it('uses the default projects perf debugger for perf messages when enabled', () => { + jest.spyOn(process.stderr, 'write').mockImplementation(); + const { service } = createProjectService(undefined, undefined); + debug.enable('typescript-eslint:typescript-estree:tsserver:perf'); + const enabled = service.logger.loggingEnabled(); + service.logger.perftrc('foo'); + debug.disable(); + + expect(enabled).toBe(true); + expect(process.stderr.write).toHaveBeenCalledWith( + expect.stringMatching( + /^.*typescript-eslint:typescript-estree:tsserver:perf foo\n$/, + ), + ); + }); + + it('does not use the default projects perf debugger for perf messages when disabled', () => { + jest.spyOn(process.stderr, 'write').mockImplementation(); + const { service } = createProjectService(undefined, undefined); + const enabled = service.logger.loggingEnabled(); + service.logger.perftrc('foo'); + + expect(enabled).toBe(false); + expect(process.stderr.write).toHaveBeenCalledTimes(0); + }); + + it('enables all log levels for the default projects logger', () => { + const { service } = createProjectService(undefined, undefined); + + expect(service.logger.hasLevel(ts.server.LogLevel.terse)).toBe(true); + expect(service.logger.hasLevel(ts.server.LogLevel.normal)).toBe(true); + expect(service.logger.hasLevel(ts.server.LogLevel.requestTime)).toBe(true); + expect(service.logger.hasLevel(ts.server.LogLevel.verbose)).toBe(true); + }); + + it('does not return a log filename with the default projects logger', () => { + const { service } = createProjectService(undefined, undefined); + + expect(service.logger.getLogFileName()).toBeUndefined(); + }); + + it('uses the default projects event debugger for event handling when enabled', () => { + jest.spyOn(process.stderr, 'write').mockImplementation(); + + debug.enable('typescript-eslint:typescript-estree:tsserver:event'); + createProjectService(undefined, undefined); + debug.disable(); + + expect(process.stderr.write).toHaveBeenCalledWith( + expect.stringMatching( + /^.*typescript-eslint:typescript-estree:tsserver:event { eventName: 'projectLoadingStart' }\n$/, + ), + ); + }); + + it('does not use the default projects event debugger for event handling when disabled', () => { + jest.spyOn(process.stderr, 'write').mockImplementation(); + + createProjectService(undefined, undefined); + + expect(process.stderr.write).toHaveBeenCalledTimes(0); + }); }); From 6c99fe53bdd7f06d219280fb0fc4a8a513a20791 Mon Sep 17 00:00:00 2001 From: Christopher Aubut Date: Tue, 11 Jun 2024 17:00:25 -0600 Subject: [PATCH 12/36] chore(typescript-estree): fixes comment typo --- .../src/create-program/createProjectService.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/typescript-estree/src/create-program/createProjectService.ts b/packages/typescript-estree/src/create-program/createProjectService.ts index 3f1af534ffca..0f6161a24d6f 100644 --- a/packages/typescript-estree/src/create-program/createProjectService.ts +++ b/packages/typescript-estree/src/create-program/createProjectService.ts @@ -75,7 +75,7 @@ export function createProjectService( this.msg(s, tsserver.server.Msg.Info); }, loggingEnabled: (): boolean => - // if none of the debug namespaces are enabled, then don;t enable logging in tsserver + // if none of the debug namespaces are enabled, then don't enable logging in tsserver logTsserverInfo.enabled || logTsserverErr.enabled || logTsserverPerf.enabled, From f124343aa553988511084aa1c9fa82c5f00ba51c Mon Sep 17 00:00:00 2001 From: Christopher Aubut Date: Tue, 11 Jun 2024 17:17:54 -0600 Subject: [PATCH 13/36] chore(typescript-estree): fixes another comment typo --- .../src/create-program/createProjectService.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/typescript-estree/src/create-program/createProjectService.ts b/packages/typescript-estree/src/create-program/createProjectService.ts index 0f6161a24d6f..697ece67a494 100644 --- a/packages/typescript-estree/src/create-program/createProjectService.ts +++ b/packages/typescript-estree/src/create-program/createProjectService.ts @@ -69,7 +69,7 @@ export function createProjectService( // The debug library doesn't use levels without creating a namespace for each. // Log levels are not passed to the writer so we wouldn't be able to forward // to a respective namespace. Supporting would require an additional flag for - // grainular control. Defaulting to all levels for now. + // granular control. Defaulting to all levels for now. hasLevel: (): boolean => true, info(s) { this.msg(s, tsserver.server.Msg.Info); From 7f498eecf42e960c30e3efc222f32c09d18e35f4 Mon Sep 17 00:00:00 2001 From: Christopher Aubut Date: Tue, 11 Jun 2024 18:37:34 -0600 Subject: [PATCH 14/36] chore: links for testingh --- packages/eslint-plugin-internal/package.json | 8 ++++---- packages/eslint-plugin/package.json | 12 ++++++------ packages/parser/package.json | 8 ++++---- packages/repo-tools/package.json | 10 +++++----- .../rule-schema-to-typescript-types/package.json | 4 ++-- packages/rule-tester/package.json | 6 +++--- packages/scope-manager/package.json | 6 +++--- packages/type-utils/package.json | 6 +++--- packages/typescript-eslint/package.json | 6 +++--- packages/typescript-estree/package.json | 4 ++-- packages/utils/package.json | 6 +++--- packages/visitor-keys/package.json | 2 +- packages/website-eslint/package.json | 10 +++++----- packages/website/package.json | 16 ++++++++-------- 14 files changed, 52 insertions(+), 52 deletions(-) diff --git a/packages/eslint-plugin-internal/package.json b/packages/eslint-plugin-internal/package.json index 2745f488f422..b93a0534c3bd 100644 --- a/packages/eslint-plugin-internal/package.json +++ b/packages/eslint-plugin-internal/package.json @@ -15,10 +15,10 @@ }, "dependencies": { "@prettier/sync": "^0.5.1", - "@typescript-eslint/rule-tester": "7.12.0", - "@typescript-eslint/scope-manager": "7.12.0", - "@typescript-eslint/type-utils": "7.12.0", - "@typescript-eslint/utils": "7.12.0", + "@typescript-eslint/rule-tester": "link:../rule-tester", + "@typescript-eslint/scope-manager": "link:../scope-manager", + "@typescript-eslint/type-utils": "link:../type-utils", + "@typescript-eslint/utils": "link:../utils", "prettier": "^3.2.5" }, "devDependencies": { diff --git a/packages/eslint-plugin/package.json b/packages/eslint-plugin/package.json index 2bdb3b4f9507..7bb6ecdad41a 100644 --- a/packages/eslint-plugin/package.json +++ b/packages/eslint-plugin/package.json @@ -62,10 +62,10 @@ }, "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "7.12.0", - "@typescript-eslint/type-utils": "7.12.0", - "@typescript-eslint/utils": "7.12.0", - "@typescript-eslint/visitor-keys": "7.12.0", + "@typescript-eslint/scope-manager": "link:../scope-manager", + "@typescript-eslint/type-utils": "link:../type-utils", + "@typescript-eslint/utils": "link:../utils", + "@typescript-eslint/visitor-keys": "link:../visitor-keys", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", @@ -76,8 +76,8 @@ "@types/marked": "^5.0.2", "@types/mdast": "^4.0.3", "@types/natural-compare": "*", - "@typescript-eslint/rule-schema-to-typescript-types": "7.12.0", - "@typescript-eslint/rule-tester": "7.12.0", + "@typescript-eslint/rule-schema-to-typescript-types": "link:../rule-schema-to-typescript-types", + "@typescript-eslint/rule-tester": "link:../rule-tester", "ajv": "^6.12.6", "cross-env": "^7.0.3", "cross-fetch": "*", diff --git a/packages/parser/package.json b/packages/parser/package.json index de80d3fa7bd7..2eaba273ba86 100644 --- a/packages/parser/package.json +++ b/packages/parser/package.json @@ -52,10 +52,10 @@ "eslint": "^8.57.0 || ^9.0.0" }, "dependencies": { - "@typescript-eslint/scope-manager": "7.12.0", - "@typescript-eslint/types": "7.12.0", - "@typescript-eslint/typescript-estree": "7.12.0", - "@typescript-eslint/visitor-keys": "7.12.0", + "@typescript-eslint/scope-manager": "link:../scope-manager", + "@typescript-eslint/types": "link:../types", + "@typescript-eslint/typescript-estree": "link:../typescript-estree", + "@typescript-eslint/visitor-keys": "link:../visitor-keys", "debug": "^4.3.4" }, "devDependencies": { diff --git a/packages/repo-tools/package.json b/packages/repo-tools/package.json index d1155a5dc1bc..6ba28e36fe7a 100644 --- a/packages/repo-tools/package.json +++ b/packages/repo-tools/package.json @@ -18,11 +18,11 @@ "devDependencies": { "@jest/types": "29.6.3", "@nx/devkit": "*", - "@typescript-eslint/eslint-plugin": "7.12.0", - "@typescript-eslint/scope-manager": "7.12.0", - "@typescript-eslint/types": "7.12.0", - "@typescript-eslint/typescript-estree": "7.12.0", - "@typescript-eslint/utils": "7.12.0", + "@typescript-eslint/eslint-plugin": "link:../eslint-plugin", + "@typescript-eslint/scope-manager": "link:../scope-manager", + "@typescript-eslint/types": "link:../types", + "@typescript-eslint/typescript-estree": "link:../typescript-estree", + "@typescript-eslint/utils": "link:../utils", "cross-fetch": "*", "execa": "*", "prettier": "^3.2.5", diff --git a/packages/rule-schema-to-typescript-types/package.json b/packages/rule-schema-to-typescript-types/package.json index f5412a4e726b..db1085e0e7b0 100644 --- a/packages/rule-schema-to-typescript-types/package.json +++ b/packages/rule-schema-to-typescript-types/package.json @@ -34,8 +34,8 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@typescript-eslint/type-utils": "7.12.0", - "@typescript-eslint/utils": "7.12.0", + "@typescript-eslint/type-utils": "link:../type-utils", + "@typescript-eslint/utils": "link:../utils", "natural-compare": "^1.4.0", "prettier": "^3.2.5" }, diff --git a/packages/rule-tester/package.json b/packages/rule-tester/package.json index ab800d15d583..624b60c24264 100644 --- a/packages/rule-tester/package.json +++ b/packages/rule-tester/package.json @@ -48,8 +48,8 @@ }, "//": "NOTE - AJV is out-of-date, but it's intentionally synced with ESLint - https://github.com/eslint/eslint/blob/ad9dd6a933fd098a0d99c6a9aa059850535c23ee/package.json#L70", "dependencies": { - "@typescript-eslint/typescript-estree": "7.12.0", - "@typescript-eslint/utils": "7.12.0", + "@typescript-eslint/typescript-estree": "link:../typescript-estree", + "@typescript-eslint/utils": "link:../utils", "ajv": "^6.12.6", "json-stable-stringify-without-jsonify": "^1.0.1", "lodash.merge": "4.6.2", @@ -63,7 +63,7 @@ "@jest/types": "29.6.3", "@types/json-stable-stringify-without-jsonify": "^1.0.2", "@types/lodash.merge": "4.6.9", - "@typescript-eslint/parser": "7.12.0", + "@typescript-eslint/parser": "link:../parser", "chai": "^4.4.1", "eslint-visitor-keys": "^4.0.0", "espree": "^10.0.1", diff --git a/packages/scope-manager/package.json b/packages/scope-manager/package.json index 1e451d9e3c8c..351336d9002f 100644 --- a/packages/scope-manager/package.json +++ b/packages/scope-manager/package.json @@ -46,13 +46,13 @@ "typecheck": "npx nx typecheck" }, "dependencies": { - "@typescript-eslint/types": "7.12.0", - "@typescript-eslint/visitor-keys": "7.12.0" + "@typescript-eslint/types": "link:../types", + "@typescript-eslint/visitor-keys": "link:../visitor-keys" }, "devDependencies": { "@jest/types": "29.6.3", "@types/glob": "*", - "@typescript-eslint/typescript-estree": "7.12.0", + "@typescript-eslint/typescript-estree": "link:../typescript-estree", "glob": "*", "jest-specific-snapshot": "*", "make-dir": "*", diff --git a/packages/type-utils/package.json b/packages/type-utils/package.json index 0f3548dd0f0c..6f3afe40fa81 100644 --- a/packages/type-utils/package.json +++ b/packages/type-utils/package.json @@ -46,14 +46,14 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@typescript-eslint/typescript-estree": "7.12.0", - "@typescript-eslint/utils": "7.12.0", + "@typescript-eslint/typescript-estree": "link:../typescript-estree", + "@typescript-eslint/utils": "link:../utils", "debug": "^4.3.4", "ts-api-utils": "^1.3.0" }, "devDependencies": { "@jest/types": "29.6.3", - "@typescript-eslint/parser": "7.12.0", + "@typescript-eslint/parser": "link:../parser", "ajv": "^6.12.6", "downlevel-dts": "*", "jest": "29.7.0", diff --git a/packages/typescript-eslint/package.json b/packages/typescript-eslint/package.json index abce66748cb1..00baeb270ecb 100644 --- a/packages/typescript-eslint/package.json +++ b/packages/typescript-eslint/package.json @@ -52,9 +52,9 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@typescript-eslint/eslint-plugin": "7.12.0", - "@typescript-eslint/parser": "7.12.0", - "@typescript-eslint/utils": "7.12.0" + "@typescript-eslint/eslint-plugin": "link:../eslint-plugin", + "@typescript-eslint/parser": "link:../parser", + "@typescript-eslint/utils": "link:../utils" }, "devDependencies": { "@jest/types": "29.6.3", diff --git a/packages/typescript-estree/package.json b/packages/typescript-estree/package.json index 2107c1830a10..0340a5411c7b 100644 --- a/packages/typescript-estree/package.json +++ b/packages/typescript-estree/package.json @@ -54,8 +54,8 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@typescript-eslint/types": "7.12.0", - "@typescript-eslint/visitor-keys": "7.12.0", + "@typescript-eslint/types": "link:../types", + "@typescript-eslint/visitor-keys": "link:../visitor-keys", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", diff --git a/packages/utils/package.json b/packages/utils/package.json index a0792efdc04f..9bec711b045a 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -68,9 +68,9 @@ }, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "7.12.0", - "@typescript-eslint/types": "7.12.0", - "@typescript-eslint/typescript-estree": "7.12.0" + "@typescript-eslint/scope-manager": "link:../scope-manager", + "@typescript-eslint/types": "link:../types", + "@typescript-eslint/typescript-estree": "link:../typescript-estree" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0" diff --git a/packages/visitor-keys/package.json b/packages/visitor-keys/package.json index c5227fa7e936..f880a88947de 100644 --- a/packages/visitor-keys/package.json +++ b/packages/visitor-keys/package.json @@ -47,7 +47,7 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@typescript-eslint/types": "7.12.0", + "@typescript-eslint/types": "link:../types", "eslint-visitor-keys": "^3.4.3" }, "devDependencies": { diff --git a/packages/website-eslint/package.json b/packages/website-eslint/package.json index 3482370835be..87cd761784bd 100644 --- a/packages/website-eslint/package.json +++ b/packages/website-eslint/package.json @@ -24,11 +24,11 @@ }, "devDependencies": { "@eslint/js": "*", - "@typescript-eslint/eslint-plugin": "7.12.0", - "@typescript-eslint/parser": "7.12.0", - "@typescript-eslint/scope-manager": "7.12.0", - "@typescript-eslint/typescript-estree": "7.12.0", - "@typescript-eslint/visitor-keys": "7.12.0", + "@typescript-eslint/eslint-plugin": "link:../eslint-plugin", + "@typescript-eslint/parser": "link:../parser", + "@typescript-eslint/scope-manager": "link:../scope-manager", + "@typescript-eslint/typescript-estree": "link:../typescript-estree", + "@typescript-eslint/visitor-keys": "link:../visitor-keys", "esbuild": "~0.21.0", "eslint": "*", "esquery": "*", diff --git a/packages/website/package.json b/packages/website/package.json index a5c649efedf4..413a8825b78d 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -23,8 +23,8 @@ "@docusaurus/preset-classic": "^3.2.1", "@docusaurus/remark-plugin-npm2yarn": "^3.2.1", "@docusaurus/theme-common": "^3.2.1", - "@typescript-eslint/parser": "7.12.0", - "@typescript-eslint/website-eslint": "7.12.0", + "@typescript-eslint/parser": "link:../parser", + "@typescript-eslint/website-eslint": "link:../website-eslint", "@uiw/react-shields": "2.0.1", "clsx": "^2.1.0", "eslint": "*", @@ -47,12 +47,12 @@ "@types/mdast": "^4.0.3", "@types/react": "*", "@types/unist": "^3.0.2", - "@typescript-eslint/eslint-plugin": "7.12.0", - "@typescript-eslint/rule-schema-to-typescript-types": "7.12.0", - "@typescript-eslint/scope-manager": "7.12.0", - "@typescript-eslint/types": "7.12.0", - "@typescript-eslint/typescript-estree": "7.12.0", - "@typescript-eslint/utils": "7.12.0", + "@typescript-eslint/eslint-plugin": "link:../eslint-plugin", + "@typescript-eslint/rule-schema-to-typescript-types": "link:../rule-schema-to-typescript-types", + "@typescript-eslint/scope-manager": "link:../scope-manager", + "@typescript-eslint/types": "link:../types", + "@typescript-eslint/typescript-estree": "link:../typescript-estree", + "@typescript-eslint/utils": "link:../utils", "copy-webpack-plugin": "^12.0.0", "cross-fetch": "*", "history": "^4.9.0", From 08a84984e4302e1a60de2ab8f2e69b89975a2f81 Mon Sep 17 00:00:00 2001 From: Christopher Aubut Date: Tue, 11 Jun 2024 19:41:33 -0600 Subject: [PATCH 15/36] chore: remove un-needed param --- .../tests/lib/useProgramFromProjectService.test.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/typescript-estree/tests/lib/useProgramFromProjectService.test.ts b/packages/typescript-estree/tests/lib/useProgramFromProjectService.test.ts index 958ab3e96240..6fa98ada5420 100644 --- a/packages/typescript-estree/tests/lib/useProgramFromProjectService.test.ts +++ b/packages/typescript-estree/tests/lib/useProgramFromProjectService.test.ts @@ -43,7 +43,6 @@ function createMockProjectService() { const mockParseSettings = { filePath: 'path/PascalCaseDirectory/camelCaseFile.ts', - extraFileExtensions: [] as readonly string[], } as ParseSettings; const createProjectServiceSettings = < From 5c07f0c041721f53c63aa8ce0270283db6c4c6ef Mon Sep 17 00:00:00 2001 From: Christopher Aubut Date: Tue, 11 Jun 2024 19:49:17 -0600 Subject: [PATCH 16/36] chore: mvp? --- .../create-program/createProjectService.ts | 30 +- .../src/useProgramFromProjectService.ts | 11 - yarn.lock | 532 ++++++++++++++---- 3 files changed, 440 insertions(+), 133 deletions(-) diff --git a/packages/typescript-estree/src/create-program/createProjectService.ts b/packages/typescript-estree/src/create-program/createProjectService.ts index e87850a75826..1b2da7264222 100644 --- a/packages/typescript-estree/src/create-program/createProjectService.ts +++ b/packages/typescript-estree/src/create-program/createProjectService.ts @@ -10,6 +10,7 @@ import { validateDefaultProjectForFilesGlob } from './validateDefaultProjectForF const DEFAULT_PROJECT_MATCHED_FILES_THRESHOLD = 8; +const log = debug('typescript-eslint:typescript-estree:createProjectService'); const logTsserverErr = debug( 'typescript-eslint:typescript-estree:tsserver:err', ); @@ -103,6 +104,8 @@ export function createProjectService( startGroup: doNothing, }; + log('Creating Project Service'); + const service = new tsserver.server.ProjectService({ host: system, cancellationToken: { isCancellationRequested: (): boolean => false }, @@ -116,7 +119,22 @@ export function createProjectService( jsDocParsingMode, }); + if (parseSettings?.extraFileExtensions?.length) { + log( + 'Enabling extra file extensions: %s', + parseSettings.extraFileExtensions, + ); + service.setHostConfiguration({ + extraFileExtensions: parseSettings.extraFileExtensions.map(extension => ({ + extension, + isMixedContent: false, + scriptKind: tsserver.ScriptKind.Deferred, + })), + }); + } + if (options.defaultProject) { + log('Enabling default project: %s', options.defaultProject); try { const configFile = getParsedConfigFile( options.defaultProject, @@ -135,18 +153,6 @@ export function createProjectService( `Could not parse default project '${options.defaultProject}': ${(error as Error).message}`, ); } - - if (parseSettings?.extraFileExtensions?.length) { - service.setHostConfiguration({ - extraFileExtensions: parseSettings.extraFileExtensions.map( - extension => ({ - extension, - isMixedContent: false, - scriptKind: tsserver.ScriptKind.Deferred, - }), - ), - }); - } } return { diff --git a/packages/typescript-estree/src/useProgramFromProjectService.ts b/packages/typescript-estree/src/useProgramFromProjectService.ts index b0606902b079..fe450351b32b 100644 --- a/packages/typescript-estree/src/useProgramFromProjectService.ts +++ b/packages/typescript-estree/src/useProgramFromProjectService.ts @@ -1,7 +1,6 @@ import debug from 'debug'; import { minimatch } from 'minimatch'; import path from 'path'; -import { ScriptKind } from 'typescript'; import { createProjectProgram } from './create-program/createProjectProgram'; import type { ProjectServiceSettings } from './create-program/createProjectService'; @@ -32,16 +31,6 @@ export function useProgramFromProjectService( filePathAbsolute, ); - if (parseSettings.extraFileExtensions.length) { - service.setHostConfiguration({ - extraFileExtensions: parseSettings.extraFileExtensions.map(extension => ({ - extension, - isMixedContent: false, - scriptKind: ScriptKind.Deferred, - })), - }); - } - const opened = service.openClientFile( filePathAbsolute, parseSettings.codeFullText, diff --git a/yarn.lock b/yarn.lock index 7f33222a0c67..3b7d8ec5aa47 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5567,17 +5567,41 @@ __metadata: dependencies: "@jest/types": 29.6.3 "@prettier/sync": ^0.5.1 - "@typescript-eslint/rule-tester": 7.12.0 - "@typescript-eslint/scope-manager": 7.12.0 - "@typescript-eslint/type-utils": 7.12.0 - "@typescript-eslint/utils": 7.12.0 + "@typescript-eslint/rule-tester": "link:../rule-tester" + "@typescript-eslint/scope-manager": "link:../scope-manager" + "@typescript-eslint/type-utils": "link:../type-utils" + "@typescript-eslint/utils": "link:../utils" jest: 29.7.0 prettier: ^3.2.5 rimraf: "*" languageName: unknown linkType: soft -"@typescript-eslint/eslint-plugin@7.12.0, @typescript-eslint/eslint-plugin@workspace:packages/eslint-plugin": +"@typescript-eslint/eslint-plugin@link:../eslint-plugin::locator=%40typescript-eslint%2Frepo-tools%40workspace%3Apackages%2Frepo-tools": + version: 0.0.0-use.local + resolution: "@typescript-eslint/eslint-plugin@link:../eslint-plugin::locator=%40typescript-eslint%2Frepo-tools%40workspace%3Apackages%2Frepo-tools" + languageName: node + linkType: soft + +"@typescript-eslint/eslint-plugin@link:../eslint-plugin::locator=%40typescript-eslint%2Fwebsite-eslint%40workspace%3Apackages%2Fwebsite-eslint": + version: 0.0.0-use.local + resolution: "@typescript-eslint/eslint-plugin@link:../eslint-plugin::locator=%40typescript-eslint%2Fwebsite-eslint%40workspace%3Apackages%2Fwebsite-eslint" + languageName: node + linkType: soft + +"@typescript-eslint/eslint-plugin@link:../eslint-plugin::locator=typescript-eslint%40workspace%3Apackages%2Ftypescript-eslint": + version: 0.0.0-use.local + resolution: "@typescript-eslint/eslint-plugin@link:../eslint-plugin::locator=typescript-eslint%40workspace%3Apackages%2Ftypescript-eslint" + languageName: node + linkType: soft + +"@typescript-eslint/eslint-plugin@link:../eslint-plugin::locator=website%40workspace%3Apackages%2Fwebsite": + version: 0.0.0-use.local + resolution: "@typescript-eslint/eslint-plugin@link:../eslint-plugin::locator=website%40workspace%3Apackages%2Fwebsite" + languageName: node + linkType: soft + +"@typescript-eslint/eslint-plugin@workspace:packages/eslint-plugin": version: 0.0.0-use.local resolution: "@typescript-eslint/eslint-plugin@workspace:packages/eslint-plugin" dependencies: @@ -5586,12 +5610,12 @@ __metadata: "@types/marked": ^5.0.2 "@types/mdast": ^4.0.3 "@types/natural-compare": "*" - "@typescript-eslint/rule-schema-to-typescript-types": 7.12.0 - "@typescript-eslint/rule-tester": 7.12.0 - "@typescript-eslint/scope-manager": 7.12.0 - "@typescript-eslint/type-utils": 7.12.0 - "@typescript-eslint/utils": 7.12.0 - "@typescript-eslint/visitor-keys": 7.12.0 + "@typescript-eslint/rule-schema-to-typescript-types": "link:../rule-schema-to-typescript-types" + "@typescript-eslint/rule-tester": "link:../rule-tester" + "@typescript-eslint/scope-manager": "link:../scope-manager" + "@typescript-eslint/type-utils": "link:../type-utils" + "@typescript-eslint/utils": "link:../utils" + "@typescript-eslint/visitor-keys": "link:../visitor-keys" ajv: ^6.12.6 cross-env: ^7.0.3 cross-fetch: "*" @@ -5636,16 +5660,46 @@ __metadata: languageName: unknown linkType: soft -"@typescript-eslint/parser@7.12.0, @typescript-eslint/parser@workspace:packages/parser": +"@typescript-eslint/parser@link:../parser::locator=%40typescript-eslint%2Frule-tester%40workspace%3Apackages%2Frule-tester": + version: 0.0.0-use.local + resolution: "@typescript-eslint/parser@link:../parser::locator=%40typescript-eslint%2Frule-tester%40workspace%3Apackages%2Frule-tester" + languageName: node + linkType: soft + +"@typescript-eslint/parser@link:../parser::locator=%40typescript-eslint%2Ftype-utils%40workspace%3Apackages%2Ftype-utils": + version: 0.0.0-use.local + resolution: "@typescript-eslint/parser@link:../parser::locator=%40typescript-eslint%2Ftype-utils%40workspace%3Apackages%2Ftype-utils" + languageName: node + linkType: soft + +"@typescript-eslint/parser@link:../parser::locator=%40typescript-eslint%2Fwebsite-eslint%40workspace%3Apackages%2Fwebsite-eslint": + version: 0.0.0-use.local + resolution: "@typescript-eslint/parser@link:../parser::locator=%40typescript-eslint%2Fwebsite-eslint%40workspace%3Apackages%2Fwebsite-eslint" + languageName: node + linkType: soft + +"@typescript-eslint/parser@link:../parser::locator=typescript-eslint%40workspace%3Apackages%2Ftypescript-eslint": + version: 0.0.0-use.local + resolution: "@typescript-eslint/parser@link:../parser::locator=typescript-eslint%40workspace%3Apackages%2Ftypescript-eslint" + languageName: node + linkType: soft + +"@typescript-eslint/parser@link:../parser::locator=website%40workspace%3Apackages%2Fwebsite": + version: 0.0.0-use.local + resolution: "@typescript-eslint/parser@link:../parser::locator=website%40workspace%3Apackages%2Fwebsite" + languageName: node + linkType: soft + +"@typescript-eslint/parser@workspace:packages/parser": version: 0.0.0-use.local resolution: "@typescript-eslint/parser@workspace:packages/parser" dependencies: "@jest/types": 29.6.3 "@types/glob": "*" - "@typescript-eslint/scope-manager": 7.12.0 - "@typescript-eslint/types": 7.12.0 - "@typescript-eslint/typescript-estree": 7.12.0 - "@typescript-eslint/visitor-keys": 7.12.0 + "@typescript-eslint/scope-manager": "link:../scope-manager" + "@typescript-eslint/types": "link:../types" + "@typescript-eslint/typescript-estree": "link:../typescript-estree" + "@typescript-eslint/visitor-keys": "link:../visitor-keys" debug: ^4.3.4 downlevel-dts: "*" glob: "*" @@ -5667,11 +5721,11 @@ __metadata: dependencies: "@jest/types": 29.6.3 "@nx/devkit": "*" - "@typescript-eslint/eslint-plugin": 7.12.0 - "@typescript-eslint/scope-manager": 7.12.0 - "@typescript-eslint/types": 7.12.0 - "@typescript-eslint/typescript-estree": 7.12.0 - "@typescript-eslint/utils": 7.12.0 + "@typescript-eslint/eslint-plugin": "link:../eslint-plugin" + "@typescript-eslint/scope-manager": "link:../scope-manager" + "@typescript-eslint/types": "link:../types" + "@typescript-eslint/typescript-estree": "link:../typescript-estree" + "@typescript-eslint/utils": "link:../utils" cross-fetch: "*" execa: "*" prettier: ^3.2.5 @@ -5681,28 +5735,52 @@ __metadata: languageName: unknown linkType: soft -"@typescript-eslint/rule-schema-to-typescript-types@7.12.0, @typescript-eslint/rule-schema-to-typescript-types@workspace:packages/rule-schema-to-typescript-types": +"@typescript-eslint/rule-schema-to-typescript-types@link:../rule-schema-to-typescript-types::locator=%40typescript-eslint%2Feslint-plugin%40workspace%3Apackages%2Feslint-plugin": + version: 0.0.0-use.local + resolution: "@typescript-eslint/rule-schema-to-typescript-types@link:../rule-schema-to-typescript-types::locator=%40typescript-eslint%2Feslint-plugin%40workspace%3Apackages%2Feslint-plugin" + languageName: node + linkType: soft + +"@typescript-eslint/rule-schema-to-typescript-types@link:../rule-schema-to-typescript-types::locator=website%40workspace%3Apackages%2Fwebsite": + version: 0.0.0-use.local + resolution: "@typescript-eslint/rule-schema-to-typescript-types@link:../rule-schema-to-typescript-types::locator=website%40workspace%3Apackages%2Fwebsite" + languageName: node + linkType: soft + +"@typescript-eslint/rule-schema-to-typescript-types@workspace:packages/rule-schema-to-typescript-types": version: 0.0.0-use.local resolution: "@typescript-eslint/rule-schema-to-typescript-types@workspace:packages/rule-schema-to-typescript-types" dependencies: "@jest/types": 29.6.3 - "@typescript-eslint/type-utils": 7.12.0 - "@typescript-eslint/utils": 7.12.0 + "@typescript-eslint/type-utils": "link:../type-utils" + "@typescript-eslint/utils": "link:../utils" natural-compare: ^1.4.0 prettier: ^3.2.5 languageName: unknown linkType: soft -"@typescript-eslint/rule-tester@7.12.0, @typescript-eslint/rule-tester@workspace:packages/rule-tester": +"@typescript-eslint/rule-tester@link:../rule-tester::locator=%40typescript-eslint%2Feslint-plugin%40workspace%3Apackages%2Feslint-plugin": + version: 0.0.0-use.local + resolution: "@typescript-eslint/rule-tester@link:../rule-tester::locator=%40typescript-eslint%2Feslint-plugin%40workspace%3Apackages%2Feslint-plugin" + languageName: node + linkType: soft + +"@typescript-eslint/rule-tester@link:../rule-tester::locator=%40typescript-eslint%2Feslint-plugin-internal%40workspace%3Apackages%2Feslint-plugin-internal": + version: 0.0.0-use.local + resolution: "@typescript-eslint/rule-tester@link:../rule-tester::locator=%40typescript-eslint%2Feslint-plugin-internal%40workspace%3Apackages%2Feslint-plugin-internal" + languageName: node + linkType: soft + +"@typescript-eslint/rule-tester@workspace:packages/rule-tester": version: 0.0.0-use.local resolution: "@typescript-eslint/rule-tester@workspace:packages/rule-tester" dependencies: "@jest/types": 29.6.3 "@types/json-stable-stringify-without-jsonify": ^1.0.2 "@types/lodash.merge": 4.6.9 - "@typescript-eslint/parser": 7.12.0 - "@typescript-eslint/typescript-estree": 7.12.0 - "@typescript-eslint/utils": 7.12.0 + "@typescript-eslint/parser": "link:../parser" + "@typescript-eslint/typescript-estree": "link:../typescript-estree" + "@typescript-eslint/utils": "link:../utils" ajv: ^6.12.6 chai: ^4.4.1 eslint-visitor-keys: ^4.0.0 @@ -5721,21 +5799,46 @@ __metadata: languageName: unknown linkType: soft -"@typescript-eslint/scope-manager@7.12.0, @typescript-eslint/scope-manager@workspace:packages/scope-manager": +"@typescript-eslint/scope-manager@link:../scope-manager::locator=%40typescript-eslint%2Feslint-plugin%40workspace%3Apackages%2Feslint-plugin": version: 0.0.0-use.local - resolution: "@typescript-eslint/scope-manager@workspace:packages/scope-manager" - dependencies: - "@jest/types": 29.6.3 - "@types/glob": "*" - "@typescript-eslint/types": 7.12.0 - "@typescript-eslint/typescript-estree": 7.12.0 - "@typescript-eslint/visitor-keys": 7.12.0 - glob: "*" - jest-specific-snapshot: "*" - make-dir: "*" - pretty-format: "*" - typescript: "*" - languageName: unknown + resolution: "@typescript-eslint/scope-manager@link:../scope-manager::locator=%40typescript-eslint%2Feslint-plugin%40workspace%3Apackages%2Feslint-plugin" + languageName: node + linkType: soft + +"@typescript-eslint/scope-manager@link:../scope-manager::locator=%40typescript-eslint%2Feslint-plugin-internal%40workspace%3Apackages%2Feslint-plugin-internal": + version: 0.0.0-use.local + resolution: "@typescript-eslint/scope-manager@link:../scope-manager::locator=%40typescript-eslint%2Feslint-plugin-internal%40workspace%3Apackages%2Feslint-plugin-internal" + languageName: node + linkType: soft + +"@typescript-eslint/scope-manager@link:../scope-manager::locator=%40typescript-eslint%2Fparser%40workspace%3Apackages%2Fparser": + version: 0.0.0-use.local + resolution: "@typescript-eslint/scope-manager@link:../scope-manager::locator=%40typescript-eslint%2Fparser%40workspace%3Apackages%2Fparser" + languageName: node + linkType: soft + +"@typescript-eslint/scope-manager@link:../scope-manager::locator=%40typescript-eslint%2Frepo-tools%40workspace%3Apackages%2Frepo-tools": + version: 0.0.0-use.local + resolution: "@typescript-eslint/scope-manager@link:../scope-manager::locator=%40typescript-eslint%2Frepo-tools%40workspace%3Apackages%2Frepo-tools" + languageName: node + linkType: soft + +"@typescript-eslint/scope-manager@link:../scope-manager::locator=%40typescript-eslint%2Futils%40workspace%3Apackages%2Futils": + version: 0.0.0-use.local + resolution: "@typescript-eslint/scope-manager@link:../scope-manager::locator=%40typescript-eslint%2Futils%40workspace%3Apackages%2Futils" + languageName: node + linkType: soft + +"@typescript-eslint/scope-manager@link:../scope-manager::locator=%40typescript-eslint%2Fwebsite-eslint%40workspace%3Apackages%2Fwebsite-eslint": + version: 0.0.0-use.local + resolution: "@typescript-eslint/scope-manager@link:../scope-manager::locator=%40typescript-eslint%2Fwebsite-eslint%40workspace%3Apackages%2Fwebsite-eslint" + languageName: node + linkType: soft + +"@typescript-eslint/scope-manager@link:../scope-manager::locator=website%40workspace%3Apackages%2Fwebsite": + version: 0.0.0-use.local + resolution: "@typescript-eslint/scope-manager@link:../scope-manager::locator=website%40workspace%3Apackages%2Fwebsite" + languageName: node linkType: soft "@typescript-eslint/scope-manager@npm:5.62.0": @@ -5758,14 +5861,49 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/type-utils@7.12.0, @typescript-eslint/type-utils@workspace:packages/type-utils": +"@typescript-eslint/scope-manager@workspace:packages/scope-manager": + version: 0.0.0-use.local + resolution: "@typescript-eslint/scope-manager@workspace:packages/scope-manager" + dependencies: + "@jest/types": 29.6.3 + "@types/glob": "*" + "@typescript-eslint/types": "link:../types" + "@typescript-eslint/typescript-estree": "link:../typescript-estree" + "@typescript-eslint/visitor-keys": "link:../visitor-keys" + glob: "*" + jest-specific-snapshot: "*" + make-dir: "*" + pretty-format: "*" + typescript: "*" + languageName: unknown + linkType: soft + +"@typescript-eslint/type-utils@link:../type-utils::locator=%40typescript-eslint%2Feslint-plugin%40workspace%3Apackages%2Feslint-plugin": + version: 0.0.0-use.local + resolution: "@typescript-eslint/type-utils@link:../type-utils::locator=%40typescript-eslint%2Feslint-plugin%40workspace%3Apackages%2Feslint-plugin" + languageName: node + linkType: soft + +"@typescript-eslint/type-utils@link:../type-utils::locator=%40typescript-eslint%2Feslint-plugin-internal%40workspace%3Apackages%2Feslint-plugin-internal": + version: 0.0.0-use.local + resolution: "@typescript-eslint/type-utils@link:../type-utils::locator=%40typescript-eslint%2Feslint-plugin-internal%40workspace%3Apackages%2Feslint-plugin-internal" + languageName: node + linkType: soft + +"@typescript-eslint/type-utils@link:../type-utils::locator=%40typescript-eslint%2Frule-schema-to-typescript-types%40workspace%3Apackages%2Frule-schema-to-typescript-types": + version: 0.0.0-use.local + resolution: "@typescript-eslint/type-utils@link:../type-utils::locator=%40typescript-eslint%2Frule-schema-to-typescript-types%40workspace%3Apackages%2Frule-schema-to-typescript-types" + languageName: node + linkType: soft + +"@typescript-eslint/type-utils@workspace:packages/type-utils": version: 0.0.0-use.local resolution: "@typescript-eslint/type-utils@workspace:packages/type-utils" dependencies: "@jest/types": 29.6.3 - "@typescript-eslint/parser": 7.12.0 - "@typescript-eslint/typescript-estree": 7.12.0 - "@typescript-eslint/utils": 7.12.0 + "@typescript-eslint/parser": "link:../parser" + "@typescript-eslint/typescript-estree": "link:../typescript-estree" + "@typescript-eslint/utils": "link:../utils" ajv: ^6.12.6 debug: ^4.3.4 downlevel-dts: "*" @@ -5780,17 +5918,46 @@ __metadata: languageName: unknown linkType: soft -"@typescript-eslint/types@7.12.0, @typescript-eslint/types@workspace:packages/types": +"@typescript-eslint/types@link:../types::locator=%40typescript-eslint%2Fparser%40workspace%3Apackages%2Fparser": version: 0.0.0-use.local - resolution: "@typescript-eslint/types@workspace:packages/types" - dependencies: - "@jest/types": 29.6.3 - downlevel-dts: "*" - prettier: ^3.2.5 - rimraf: "*" - tsx: "*" - typescript: "*" - languageName: unknown + resolution: "@typescript-eslint/types@link:../types::locator=%40typescript-eslint%2Fparser%40workspace%3Apackages%2Fparser" + languageName: node + linkType: soft + +"@typescript-eslint/types@link:../types::locator=%40typescript-eslint%2Frepo-tools%40workspace%3Apackages%2Frepo-tools": + version: 0.0.0-use.local + resolution: "@typescript-eslint/types@link:../types::locator=%40typescript-eslint%2Frepo-tools%40workspace%3Apackages%2Frepo-tools" + languageName: node + linkType: soft + +"@typescript-eslint/types@link:../types::locator=%40typescript-eslint%2Fscope-manager%40workspace%3Apackages%2Fscope-manager": + version: 0.0.0-use.local + resolution: "@typescript-eslint/types@link:../types::locator=%40typescript-eslint%2Fscope-manager%40workspace%3Apackages%2Fscope-manager" + languageName: node + linkType: soft + +"@typescript-eslint/types@link:../types::locator=%40typescript-eslint%2Ftypescript-estree%40workspace%3Apackages%2Ftypescript-estree": + version: 0.0.0-use.local + resolution: "@typescript-eslint/types@link:../types::locator=%40typescript-eslint%2Ftypescript-estree%40workspace%3Apackages%2Ftypescript-estree" + languageName: node + linkType: soft + +"@typescript-eslint/types@link:../types::locator=%40typescript-eslint%2Futils%40workspace%3Apackages%2Futils": + version: 0.0.0-use.local + resolution: "@typescript-eslint/types@link:../types::locator=%40typescript-eslint%2Futils%40workspace%3Apackages%2Futils" + languageName: node + linkType: soft + +"@typescript-eslint/types@link:../types::locator=%40typescript-eslint%2Fvisitor-keys%40workspace%3Apackages%2Fvisitor-keys": + version: 0.0.0-use.local + resolution: "@typescript-eslint/types@link:../types::locator=%40typescript-eslint%2Fvisitor-keys%40workspace%3Apackages%2Fvisitor-keys" + languageName: node + linkType: soft + +"@typescript-eslint/types@link:../types::locator=website%40workspace%3Apackages%2Fwebsite": + version: 0.0.0-use.local + resolution: "@typescript-eslint/types@link:../types::locator=website%40workspace%3Apackages%2Fwebsite" + languageName: node linkType: soft "@typescript-eslint/types@npm:5.62.0": @@ -5807,6 +5974,19 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/types@workspace:packages/types": + version: 0.0.0-use.local + resolution: "@typescript-eslint/types@workspace:packages/types" + dependencies: + "@jest/types": 29.6.3 + downlevel-dts: "*" + prettier: ^3.2.5 + rimraf: "*" + tsx: "*" + typescript: "*" + languageName: unknown + linkType: soft + "@typescript-eslint/typescript-eslint@workspace:.": version: 0.0.0-use.local resolution: "@typescript-eslint/typescript-eslint@workspace:." @@ -5879,29 +6059,52 @@ __metadata: languageName: unknown linkType: soft -"@typescript-eslint/typescript-estree@7.12.0, @typescript-eslint/typescript-estree@workspace:packages/typescript-estree": +"@typescript-eslint/typescript-estree@link:../typescript-estree::locator=%40typescript-eslint%2Fparser%40workspace%3Apackages%2Fparser": version: 0.0.0-use.local - resolution: "@typescript-eslint/typescript-estree@workspace:packages/typescript-estree" - dependencies: - "@jest/types": 29.6.3 - "@typescript-eslint/types": 7.12.0 - "@typescript-eslint/visitor-keys": 7.12.0 - debug: ^4.3.4 - glob: "*" - globby: ^11.1.0 - is-glob: ^4.0.3 - jest: 29.7.0 - minimatch: ^9.0.4 - prettier: ^3.2.5 - rimraf: "*" - semver: ^7.6.0 - tmp: "*" - ts-api-utils: ^1.3.0 - typescript: "*" - peerDependenciesMeta: - typescript: - optional: true - languageName: unknown + resolution: "@typescript-eslint/typescript-estree@link:../typescript-estree::locator=%40typescript-eslint%2Fparser%40workspace%3Apackages%2Fparser" + languageName: node + linkType: soft + +"@typescript-eslint/typescript-estree@link:../typescript-estree::locator=%40typescript-eslint%2Frepo-tools%40workspace%3Apackages%2Frepo-tools": + version: 0.0.0-use.local + resolution: "@typescript-eslint/typescript-estree@link:../typescript-estree::locator=%40typescript-eslint%2Frepo-tools%40workspace%3Apackages%2Frepo-tools" + languageName: node + linkType: soft + +"@typescript-eslint/typescript-estree@link:../typescript-estree::locator=%40typescript-eslint%2Frule-tester%40workspace%3Apackages%2Frule-tester": + version: 0.0.0-use.local + resolution: "@typescript-eslint/typescript-estree@link:../typescript-estree::locator=%40typescript-eslint%2Frule-tester%40workspace%3Apackages%2Frule-tester" + languageName: node + linkType: soft + +"@typescript-eslint/typescript-estree@link:../typescript-estree::locator=%40typescript-eslint%2Fscope-manager%40workspace%3Apackages%2Fscope-manager": + version: 0.0.0-use.local + resolution: "@typescript-eslint/typescript-estree@link:../typescript-estree::locator=%40typescript-eslint%2Fscope-manager%40workspace%3Apackages%2Fscope-manager" + languageName: node + linkType: soft + +"@typescript-eslint/typescript-estree@link:../typescript-estree::locator=%40typescript-eslint%2Ftype-utils%40workspace%3Apackages%2Ftype-utils": + version: 0.0.0-use.local + resolution: "@typescript-eslint/typescript-estree@link:../typescript-estree::locator=%40typescript-eslint%2Ftype-utils%40workspace%3Apackages%2Ftype-utils" + languageName: node + linkType: soft + +"@typescript-eslint/typescript-estree@link:../typescript-estree::locator=%40typescript-eslint%2Futils%40workspace%3Apackages%2Futils": + version: 0.0.0-use.local + resolution: "@typescript-eslint/typescript-estree@link:../typescript-estree::locator=%40typescript-eslint%2Futils%40workspace%3Apackages%2Futils" + languageName: node + linkType: soft + +"@typescript-eslint/typescript-estree@link:../typescript-estree::locator=%40typescript-eslint%2Fwebsite-eslint%40workspace%3Apackages%2Fwebsite-eslint": + version: 0.0.0-use.local + resolution: "@typescript-eslint/typescript-estree@link:../typescript-estree::locator=%40typescript-eslint%2Fwebsite-eslint%40workspace%3Apackages%2Fwebsite-eslint" + languageName: node + linkType: soft + +"@typescript-eslint/typescript-estree@link:../typescript-estree::locator=website%40workspace%3Apackages%2Fwebsite": + version: 0.0.0-use.local + resolution: "@typescript-eslint/typescript-estree@link:../typescript-estree::locator=website%40workspace%3Apackages%2Fwebsite" + languageName: node linkType: soft "@typescript-eslint/typescript-estree@npm:5.62.0": @@ -5941,24 +6144,79 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/utils@7.12.0, @typescript-eslint/utils@workspace:packages/utils": +"@typescript-eslint/typescript-estree@workspace:packages/typescript-estree": version: 0.0.0-use.local - resolution: "@typescript-eslint/utils@workspace:packages/utils" + resolution: "@typescript-eslint/typescript-estree@workspace:packages/typescript-estree" dependencies: - "@eslint-community/eslint-utils": ^4.4.0 - "@typescript-eslint/scope-manager": 7.12.0 - "@typescript-eslint/types": 7.12.0 - "@typescript-eslint/typescript-estree": 7.12.0 - downlevel-dts: "*" + "@jest/types": 29.6.3 + "@typescript-eslint/types": "link:../types" + "@typescript-eslint/visitor-keys": "link:../visitor-keys" + debug: ^4.3.4 + glob: "*" + globby: ^11.1.0 + is-glob: ^4.0.3 jest: 29.7.0 + minimatch: ^9.0.4 prettier: ^3.2.5 rimraf: "*" + semver: ^7.6.0 + tmp: "*" + ts-api-utils: ^1.3.0 typescript: "*" - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 + peerDependenciesMeta: + typescript: + optional: true languageName: unknown linkType: soft +"@typescript-eslint/utils@link:../utils::locator=%40typescript-eslint%2Feslint-plugin%40workspace%3Apackages%2Feslint-plugin": + version: 0.0.0-use.local + resolution: "@typescript-eslint/utils@link:../utils::locator=%40typescript-eslint%2Feslint-plugin%40workspace%3Apackages%2Feslint-plugin" + languageName: node + linkType: soft + +"@typescript-eslint/utils@link:../utils::locator=%40typescript-eslint%2Feslint-plugin-internal%40workspace%3Apackages%2Feslint-plugin-internal": + version: 0.0.0-use.local + resolution: "@typescript-eslint/utils@link:../utils::locator=%40typescript-eslint%2Feslint-plugin-internal%40workspace%3Apackages%2Feslint-plugin-internal" + languageName: node + linkType: soft + +"@typescript-eslint/utils@link:../utils::locator=%40typescript-eslint%2Frepo-tools%40workspace%3Apackages%2Frepo-tools": + version: 0.0.0-use.local + resolution: "@typescript-eslint/utils@link:../utils::locator=%40typescript-eslint%2Frepo-tools%40workspace%3Apackages%2Frepo-tools" + languageName: node + linkType: soft + +"@typescript-eslint/utils@link:../utils::locator=%40typescript-eslint%2Frule-schema-to-typescript-types%40workspace%3Apackages%2Frule-schema-to-typescript-types": + version: 0.0.0-use.local + resolution: "@typescript-eslint/utils@link:../utils::locator=%40typescript-eslint%2Frule-schema-to-typescript-types%40workspace%3Apackages%2Frule-schema-to-typescript-types" + languageName: node + linkType: soft + +"@typescript-eslint/utils@link:../utils::locator=%40typescript-eslint%2Frule-tester%40workspace%3Apackages%2Frule-tester": + version: 0.0.0-use.local + resolution: "@typescript-eslint/utils@link:../utils::locator=%40typescript-eslint%2Frule-tester%40workspace%3Apackages%2Frule-tester" + languageName: node + linkType: soft + +"@typescript-eslint/utils@link:../utils::locator=%40typescript-eslint%2Ftype-utils%40workspace%3Apackages%2Ftype-utils": + version: 0.0.0-use.local + resolution: "@typescript-eslint/utils@link:../utils::locator=%40typescript-eslint%2Ftype-utils%40workspace%3Apackages%2Ftype-utils" + languageName: node + linkType: soft + +"@typescript-eslint/utils@link:../utils::locator=typescript-eslint%40workspace%3Apackages%2Ftypescript-eslint": + version: 0.0.0-use.local + resolution: "@typescript-eslint/utils@link:../utils::locator=typescript-eslint%40workspace%3Apackages%2Ftypescript-eslint" + languageName: node + linkType: soft + +"@typescript-eslint/utils@link:../utils::locator=website%40workspace%3Apackages%2Fwebsite": + version: 0.0.0-use.local + resolution: "@typescript-eslint/utils@link:../utils::locator=website%40workspace%3Apackages%2Fwebsite" + languageName: node + linkType: soft + "@typescript-eslint/utils@npm:^5.10.0": version: 5.62.0 resolution: "@typescript-eslint/utils@npm:5.62.0" @@ -5994,22 +6252,54 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/visitor-keys@7.12.0, @typescript-eslint/visitor-keys@workspace:packages/visitor-keys": +"@typescript-eslint/utils@workspace:packages/utils": version: 0.0.0-use.local - resolution: "@typescript-eslint/visitor-keys@workspace:packages/visitor-keys" + resolution: "@typescript-eslint/utils@workspace:packages/utils" dependencies: - "@jest/types": 29.6.3 - "@types/eslint-visitor-keys": "*" - "@typescript-eslint/types": 7.12.0 + "@eslint-community/eslint-utils": ^4.4.0 + "@typescript-eslint/scope-manager": "link:../scope-manager" + "@typescript-eslint/types": "link:../types" + "@typescript-eslint/typescript-estree": "link:../typescript-estree" downlevel-dts: "*" - eslint-visitor-keys: ^3.4.3 jest: 29.7.0 prettier: ^3.2.5 rimraf: "*" typescript: "*" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 languageName: unknown linkType: soft +"@typescript-eslint/visitor-keys@link:../visitor-keys::locator=%40typescript-eslint%2Feslint-plugin%40workspace%3Apackages%2Feslint-plugin": + version: 0.0.0-use.local + resolution: "@typescript-eslint/visitor-keys@link:../visitor-keys::locator=%40typescript-eslint%2Feslint-plugin%40workspace%3Apackages%2Feslint-plugin" + languageName: node + linkType: soft + +"@typescript-eslint/visitor-keys@link:../visitor-keys::locator=%40typescript-eslint%2Fparser%40workspace%3Apackages%2Fparser": + version: 0.0.0-use.local + resolution: "@typescript-eslint/visitor-keys@link:../visitor-keys::locator=%40typescript-eslint%2Fparser%40workspace%3Apackages%2Fparser" + languageName: node + linkType: soft + +"@typescript-eslint/visitor-keys@link:../visitor-keys::locator=%40typescript-eslint%2Fscope-manager%40workspace%3Apackages%2Fscope-manager": + version: 0.0.0-use.local + resolution: "@typescript-eslint/visitor-keys@link:../visitor-keys::locator=%40typescript-eslint%2Fscope-manager%40workspace%3Apackages%2Fscope-manager" + languageName: node + linkType: soft + +"@typescript-eslint/visitor-keys@link:../visitor-keys::locator=%40typescript-eslint%2Ftypescript-estree%40workspace%3Apackages%2Ftypescript-estree": + version: 0.0.0-use.local + resolution: "@typescript-eslint/visitor-keys@link:../visitor-keys::locator=%40typescript-eslint%2Ftypescript-estree%40workspace%3Apackages%2Ftypescript-estree" + languageName: node + linkType: soft + +"@typescript-eslint/visitor-keys@link:../visitor-keys::locator=%40typescript-eslint%2Fwebsite-eslint%40workspace%3Apackages%2Fwebsite-eslint": + version: 0.0.0-use.local + resolution: "@typescript-eslint/visitor-keys@link:../visitor-keys::locator=%40typescript-eslint%2Fwebsite-eslint%40workspace%3Apackages%2Fwebsite-eslint" + languageName: node + linkType: soft + "@typescript-eslint/visitor-keys@npm:5.62.0": version: 5.62.0 resolution: "@typescript-eslint/visitor-keys@npm:5.62.0" @@ -6030,16 +6320,38 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/website-eslint@7.12.0, @typescript-eslint/website-eslint@workspace:packages/website-eslint": +"@typescript-eslint/visitor-keys@workspace:packages/visitor-keys": + version: 0.0.0-use.local + resolution: "@typescript-eslint/visitor-keys@workspace:packages/visitor-keys" + dependencies: + "@jest/types": 29.6.3 + "@types/eslint-visitor-keys": "*" + "@typescript-eslint/types": "link:../types" + downlevel-dts: "*" + eslint-visitor-keys: ^3.4.3 + jest: 29.7.0 + prettier: ^3.2.5 + rimraf: "*" + typescript: "*" + languageName: unknown + linkType: soft + +"@typescript-eslint/website-eslint@link:../website-eslint::locator=website%40workspace%3Apackages%2Fwebsite": + version: 0.0.0-use.local + resolution: "@typescript-eslint/website-eslint@link:../website-eslint::locator=website%40workspace%3Apackages%2Fwebsite" + languageName: node + linkType: soft + +"@typescript-eslint/website-eslint@workspace:packages/website-eslint": version: 0.0.0-use.local resolution: "@typescript-eslint/website-eslint@workspace:packages/website-eslint" dependencies: "@eslint/js": "*" - "@typescript-eslint/eslint-plugin": 7.12.0 - "@typescript-eslint/parser": 7.12.0 - "@typescript-eslint/scope-manager": 7.12.0 - "@typescript-eslint/typescript-estree": 7.12.0 - "@typescript-eslint/visitor-keys": 7.12.0 + "@typescript-eslint/eslint-plugin": "link:../eslint-plugin" + "@typescript-eslint/parser": "link:../parser" + "@typescript-eslint/scope-manager": "link:../scope-manager" + "@typescript-eslint/typescript-estree": "link:../typescript-estree" + "@typescript-eslint/visitor-keys": "link:../visitor-keys" esbuild: ~0.21.0 eslint: "*" esquery: "*" @@ -19717,9 +20029,9 @@ __metadata: resolution: "typescript-eslint@workspace:packages/typescript-eslint" dependencies: "@jest/types": 29.6.3 - "@typescript-eslint/eslint-plugin": 7.12.0 - "@typescript-eslint/parser": 7.12.0 - "@typescript-eslint/utils": 7.12.0 + "@typescript-eslint/eslint-plugin": "link:../eslint-plugin" + "@typescript-eslint/parser": "link:../parser" + "@typescript-eslint/utils": "link:../utils" downlevel-dts: "*" jest: 29.7.0 prettier: ^3.2.5 @@ -20429,14 +20741,14 @@ __metadata: "@types/mdast": ^4.0.3 "@types/react": "*" "@types/unist": ^3.0.2 - "@typescript-eslint/eslint-plugin": 7.12.0 - "@typescript-eslint/parser": 7.12.0 - "@typescript-eslint/rule-schema-to-typescript-types": 7.12.0 - "@typescript-eslint/scope-manager": 7.12.0 - "@typescript-eslint/types": 7.12.0 - "@typescript-eslint/typescript-estree": 7.12.0 - "@typescript-eslint/utils": 7.12.0 - "@typescript-eslint/website-eslint": 7.12.0 + "@typescript-eslint/eslint-plugin": "link:../eslint-plugin" + "@typescript-eslint/parser": "link:../parser" + "@typescript-eslint/rule-schema-to-typescript-types": "link:../rule-schema-to-typescript-types" + "@typescript-eslint/scope-manager": "link:../scope-manager" + "@typescript-eslint/types": "link:../types" + "@typescript-eslint/typescript-estree": "link:../typescript-estree" + "@typescript-eslint/utils": "link:../utils" + "@typescript-eslint/website-eslint": "link:../website-eslint" "@uiw/react-shields": 2.0.1 clsx: ^2.1.0 copy-webpack-plugin: ^12.0.0 From 04699170c16a9e1c8fe7c3acb1f991dcd9847e53 Mon Sep 17 00:00:00 2001 From: Christopher Aubut Date: Wed, 12 Jun 2024 11:13:45 -0600 Subject: [PATCH 17/36] chore: save --- packages/eslint-plugin-internal/package.json | 8 ++++---- packages/eslint-plugin/package.json | 12 ++++++------ packages/parser/package.json | 8 ++++---- packages/repo-tools/package.json | 10 +++++----- .../rule-schema-to-typescript-types/package.json | 4 ++-- packages/rule-tester/package.json | 6 +++--- packages/scope-manager/package.json | 6 +++--- packages/type-utils/package.json | 6 +++--- packages/typescript-eslint/package.json | 6 +++--- packages/typescript-estree/package.json | 4 ++-- packages/utils/package.json | 6 +++--- packages/visitor-keys/package.json | 2 +- packages/website-eslint/package.json | 10 +++++----- packages/website/package.json | 16 ++++++++-------- 14 files changed, 52 insertions(+), 52 deletions(-) diff --git a/packages/eslint-plugin-internal/package.json b/packages/eslint-plugin-internal/package.json index b93a0534c3bd..2745f488f422 100644 --- a/packages/eslint-plugin-internal/package.json +++ b/packages/eslint-plugin-internal/package.json @@ -15,10 +15,10 @@ }, "dependencies": { "@prettier/sync": "^0.5.1", - "@typescript-eslint/rule-tester": "link:../rule-tester", - "@typescript-eslint/scope-manager": "link:../scope-manager", - "@typescript-eslint/type-utils": "link:../type-utils", - "@typescript-eslint/utils": "link:../utils", + "@typescript-eslint/rule-tester": "7.12.0", + "@typescript-eslint/scope-manager": "7.12.0", + "@typescript-eslint/type-utils": "7.12.0", + "@typescript-eslint/utils": "7.12.0", "prettier": "^3.2.5" }, "devDependencies": { diff --git a/packages/eslint-plugin/package.json b/packages/eslint-plugin/package.json index 7bb6ecdad41a..2bdb3b4f9507 100644 --- a/packages/eslint-plugin/package.json +++ b/packages/eslint-plugin/package.json @@ -62,10 +62,10 @@ }, "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "link:../scope-manager", - "@typescript-eslint/type-utils": "link:../type-utils", - "@typescript-eslint/utils": "link:../utils", - "@typescript-eslint/visitor-keys": "link:../visitor-keys", + "@typescript-eslint/scope-manager": "7.12.0", + "@typescript-eslint/type-utils": "7.12.0", + "@typescript-eslint/utils": "7.12.0", + "@typescript-eslint/visitor-keys": "7.12.0", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", @@ -76,8 +76,8 @@ "@types/marked": "^5.0.2", "@types/mdast": "^4.0.3", "@types/natural-compare": "*", - "@typescript-eslint/rule-schema-to-typescript-types": "link:../rule-schema-to-typescript-types", - "@typescript-eslint/rule-tester": "link:../rule-tester", + "@typescript-eslint/rule-schema-to-typescript-types": "7.12.0", + "@typescript-eslint/rule-tester": "7.12.0", "ajv": "^6.12.6", "cross-env": "^7.0.3", "cross-fetch": "*", diff --git a/packages/parser/package.json b/packages/parser/package.json index 2eaba273ba86..de80d3fa7bd7 100644 --- a/packages/parser/package.json +++ b/packages/parser/package.json @@ -52,10 +52,10 @@ "eslint": "^8.57.0 || ^9.0.0" }, "dependencies": { - "@typescript-eslint/scope-manager": "link:../scope-manager", - "@typescript-eslint/types": "link:../types", - "@typescript-eslint/typescript-estree": "link:../typescript-estree", - "@typescript-eslint/visitor-keys": "link:../visitor-keys", + "@typescript-eslint/scope-manager": "7.12.0", + "@typescript-eslint/types": "7.12.0", + "@typescript-eslint/typescript-estree": "7.12.0", + "@typescript-eslint/visitor-keys": "7.12.0", "debug": "^4.3.4" }, "devDependencies": { diff --git a/packages/repo-tools/package.json b/packages/repo-tools/package.json index 6ba28e36fe7a..d1155a5dc1bc 100644 --- a/packages/repo-tools/package.json +++ b/packages/repo-tools/package.json @@ -18,11 +18,11 @@ "devDependencies": { "@jest/types": "29.6.3", "@nx/devkit": "*", - "@typescript-eslint/eslint-plugin": "link:../eslint-plugin", - "@typescript-eslint/scope-manager": "link:../scope-manager", - "@typescript-eslint/types": "link:../types", - "@typescript-eslint/typescript-estree": "link:../typescript-estree", - "@typescript-eslint/utils": "link:../utils", + "@typescript-eslint/eslint-plugin": "7.12.0", + "@typescript-eslint/scope-manager": "7.12.0", + "@typescript-eslint/types": "7.12.0", + "@typescript-eslint/typescript-estree": "7.12.0", + "@typescript-eslint/utils": "7.12.0", "cross-fetch": "*", "execa": "*", "prettier": "^3.2.5", diff --git a/packages/rule-schema-to-typescript-types/package.json b/packages/rule-schema-to-typescript-types/package.json index db1085e0e7b0..f5412a4e726b 100644 --- a/packages/rule-schema-to-typescript-types/package.json +++ b/packages/rule-schema-to-typescript-types/package.json @@ -34,8 +34,8 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@typescript-eslint/type-utils": "link:../type-utils", - "@typescript-eslint/utils": "link:../utils", + "@typescript-eslint/type-utils": "7.12.0", + "@typescript-eslint/utils": "7.12.0", "natural-compare": "^1.4.0", "prettier": "^3.2.5" }, diff --git a/packages/rule-tester/package.json b/packages/rule-tester/package.json index 624b60c24264..ab800d15d583 100644 --- a/packages/rule-tester/package.json +++ b/packages/rule-tester/package.json @@ -48,8 +48,8 @@ }, "//": "NOTE - AJV is out-of-date, but it's intentionally synced with ESLint - https://github.com/eslint/eslint/blob/ad9dd6a933fd098a0d99c6a9aa059850535c23ee/package.json#L70", "dependencies": { - "@typescript-eslint/typescript-estree": "link:../typescript-estree", - "@typescript-eslint/utils": "link:../utils", + "@typescript-eslint/typescript-estree": "7.12.0", + "@typescript-eslint/utils": "7.12.0", "ajv": "^6.12.6", "json-stable-stringify-without-jsonify": "^1.0.1", "lodash.merge": "4.6.2", @@ -63,7 +63,7 @@ "@jest/types": "29.6.3", "@types/json-stable-stringify-without-jsonify": "^1.0.2", "@types/lodash.merge": "4.6.9", - "@typescript-eslint/parser": "link:../parser", + "@typescript-eslint/parser": "7.12.0", "chai": "^4.4.1", "eslint-visitor-keys": "^4.0.0", "espree": "^10.0.1", diff --git a/packages/scope-manager/package.json b/packages/scope-manager/package.json index 351336d9002f..1e451d9e3c8c 100644 --- a/packages/scope-manager/package.json +++ b/packages/scope-manager/package.json @@ -46,13 +46,13 @@ "typecheck": "npx nx typecheck" }, "dependencies": { - "@typescript-eslint/types": "link:../types", - "@typescript-eslint/visitor-keys": "link:../visitor-keys" + "@typescript-eslint/types": "7.12.0", + "@typescript-eslint/visitor-keys": "7.12.0" }, "devDependencies": { "@jest/types": "29.6.3", "@types/glob": "*", - "@typescript-eslint/typescript-estree": "link:../typescript-estree", + "@typescript-eslint/typescript-estree": "7.12.0", "glob": "*", "jest-specific-snapshot": "*", "make-dir": "*", diff --git a/packages/type-utils/package.json b/packages/type-utils/package.json index 6f3afe40fa81..0f3548dd0f0c 100644 --- a/packages/type-utils/package.json +++ b/packages/type-utils/package.json @@ -46,14 +46,14 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@typescript-eslint/typescript-estree": "link:../typescript-estree", - "@typescript-eslint/utils": "link:../utils", + "@typescript-eslint/typescript-estree": "7.12.0", + "@typescript-eslint/utils": "7.12.0", "debug": "^4.3.4", "ts-api-utils": "^1.3.0" }, "devDependencies": { "@jest/types": "29.6.3", - "@typescript-eslint/parser": "link:../parser", + "@typescript-eslint/parser": "7.12.0", "ajv": "^6.12.6", "downlevel-dts": "*", "jest": "29.7.0", diff --git a/packages/typescript-eslint/package.json b/packages/typescript-eslint/package.json index 00baeb270ecb..abce66748cb1 100644 --- a/packages/typescript-eslint/package.json +++ b/packages/typescript-eslint/package.json @@ -52,9 +52,9 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@typescript-eslint/eslint-plugin": "link:../eslint-plugin", - "@typescript-eslint/parser": "link:../parser", - "@typescript-eslint/utils": "link:../utils" + "@typescript-eslint/eslint-plugin": "7.12.0", + "@typescript-eslint/parser": "7.12.0", + "@typescript-eslint/utils": "7.12.0" }, "devDependencies": { "@jest/types": "29.6.3", diff --git a/packages/typescript-estree/package.json b/packages/typescript-estree/package.json index 0340a5411c7b..2107c1830a10 100644 --- a/packages/typescript-estree/package.json +++ b/packages/typescript-estree/package.json @@ -54,8 +54,8 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@typescript-eslint/types": "link:../types", - "@typescript-eslint/visitor-keys": "link:../visitor-keys", + "@typescript-eslint/types": "7.12.0", + "@typescript-eslint/visitor-keys": "7.12.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", diff --git a/packages/utils/package.json b/packages/utils/package.json index 9bec711b045a..a0792efdc04f 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -68,9 +68,9 @@ }, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "link:../scope-manager", - "@typescript-eslint/types": "link:../types", - "@typescript-eslint/typescript-estree": "link:../typescript-estree" + "@typescript-eslint/scope-manager": "7.12.0", + "@typescript-eslint/types": "7.12.0", + "@typescript-eslint/typescript-estree": "7.12.0" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0" diff --git a/packages/visitor-keys/package.json b/packages/visitor-keys/package.json index f880a88947de..c5227fa7e936 100644 --- a/packages/visitor-keys/package.json +++ b/packages/visitor-keys/package.json @@ -47,7 +47,7 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@typescript-eslint/types": "link:../types", + "@typescript-eslint/types": "7.12.0", "eslint-visitor-keys": "^3.4.3" }, "devDependencies": { diff --git a/packages/website-eslint/package.json b/packages/website-eslint/package.json index 87cd761784bd..3482370835be 100644 --- a/packages/website-eslint/package.json +++ b/packages/website-eslint/package.json @@ -24,11 +24,11 @@ }, "devDependencies": { "@eslint/js": "*", - "@typescript-eslint/eslint-plugin": "link:../eslint-plugin", - "@typescript-eslint/parser": "link:../parser", - "@typescript-eslint/scope-manager": "link:../scope-manager", - "@typescript-eslint/typescript-estree": "link:../typescript-estree", - "@typescript-eslint/visitor-keys": "link:../visitor-keys", + "@typescript-eslint/eslint-plugin": "7.12.0", + "@typescript-eslint/parser": "7.12.0", + "@typescript-eslint/scope-manager": "7.12.0", + "@typescript-eslint/typescript-estree": "7.12.0", + "@typescript-eslint/visitor-keys": "7.12.0", "esbuild": "~0.21.0", "eslint": "*", "esquery": "*", diff --git a/packages/website/package.json b/packages/website/package.json index 413a8825b78d..a5c649efedf4 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -23,8 +23,8 @@ "@docusaurus/preset-classic": "^3.2.1", "@docusaurus/remark-plugin-npm2yarn": "^3.2.1", "@docusaurus/theme-common": "^3.2.1", - "@typescript-eslint/parser": "link:../parser", - "@typescript-eslint/website-eslint": "link:../website-eslint", + "@typescript-eslint/parser": "7.12.0", + "@typescript-eslint/website-eslint": "7.12.0", "@uiw/react-shields": "2.0.1", "clsx": "^2.1.0", "eslint": "*", @@ -47,12 +47,12 @@ "@types/mdast": "^4.0.3", "@types/react": "*", "@types/unist": "^3.0.2", - "@typescript-eslint/eslint-plugin": "link:../eslint-plugin", - "@typescript-eslint/rule-schema-to-typescript-types": "link:../rule-schema-to-typescript-types", - "@typescript-eslint/scope-manager": "link:../scope-manager", - "@typescript-eslint/types": "link:../types", - "@typescript-eslint/typescript-estree": "link:../typescript-estree", - "@typescript-eslint/utils": "link:../utils", + "@typescript-eslint/eslint-plugin": "7.12.0", + "@typescript-eslint/rule-schema-to-typescript-types": "7.12.0", + "@typescript-eslint/scope-manager": "7.12.0", + "@typescript-eslint/types": "7.12.0", + "@typescript-eslint/typescript-estree": "7.12.0", + "@typescript-eslint/utils": "7.12.0", "copy-webpack-plugin": "^12.0.0", "cross-fetch": "*", "history": "^4.9.0", From 67ed18d0cde5ce18638579c58d031792d4ce3f8a Mon Sep 17 00:00:00 2001 From: Christopher Aubut Date: Wed, 12 Jun 2024 11:17:26 -0600 Subject: [PATCH 18/36] chore: pin internal deps to won repo --- packages/eslint-plugin-internal/package.json | 8 ++++---- packages/eslint-plugin/package.json | 12 ++++++------ packages/parser/package.json | 8 ++++---- packages/repo-tools/package.json | 10 +++++----- .../rule-schema-to-typescript-types/package.json | 4 ++-- packages/rule-tester/package.json | 6 +++--- packages/scope-manager/package.json | 6 +++--- packages/type-utils/package.json | 6 +++--- packages/typescript-eslint/package.json | 6 +++--- packages/typescript-estree/package.json | 4 ++-- packages/utils/package.json | 6 +++--- packages/visitor-keys/package.json | 2 +- packages/website-eslint/package.json | 10 +++++----- packages/website/package.json | 16 ++++++++-------- 14 files changed, 52 insertions(+), 52 deletions(-) diff --git a/packages/eslint-plugin-internal/package.json b/packages/eslint-plugin-internal/package.json index 5f36d0d94e90..0a1d531f58d0 100644 --- a/packages/eslint-plugin-internal/package.json +++ b/packages/eslint-plugin-internal/package.json @@ -15,10 +15,10 @@ }, "dependencies": { "@prettier/sync": "^0.5.1", - "@typescript-eslint/rule-tester": "7.13.0", - "@typescript-eslint/scope-manager": "7.13.0", - "@typescript-eslint/type-utils": "7.13.0", - "@typescript-eslint/utils": "7.13.0", + "@typescript-eslint/rule-tester": "workspace:^", + "@typescript-eslint/scope-manager": "workspace:^", + "@typescript-eslint/type-utils": "workspace:^", + "@typescript-eslint/utils": "workspace:^", "prettier": "^3.2.5" }, "devDependencies": { diff --git a/packages/eslint-plugin/package.json b/packages/eslint-plugin/package.json index d07588dac0cc..21d808f694ac 100644 --- a/packages/eslint-plugin/package.json +++ b/packages/eslint-plugin/package.json @@ -60,10 +60,10 @@ }, "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "7.13.0", - "@typescript-eslint/type-utils": "7.13.0", - "@typescript-eslint/utils": "7.13.0", - "@typescript-eslint/visitor-keys": "7.13.0", + "@typescript-eslint/scope-manager": "workspace:^", + "@typescript-eslint/type-utils": "workspace:^", + "@typescript-eslint/utils": "workspace:^", + "@typescript-eslint/visitor-keys": "workspace:^", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", @@ -74,8 +74,8 @@ "@types/marked": "^5.0.2", "@types/mdast": "^4.0.3", "@types/natural-compare": "*", - "@typescript-eslint/rule-schema-to-typescript-types": "7.13.0", - "@typescript-eslint/rule-tester": "7.13.0", + "@typescript-eslint/rule-schema-to-typescript-types": "workspace:^", + "@typescript-eslint/rule-tester": "workspace:^", "ajv": "^6.12.6", "cross-env": "^7.0.3", "cross-fetch": "*", diff --git a/packages/parser/package.json b/packages/parser/package.json index 34027dc27900..5539e38a6550 100644 --- a/packages/parser/package.json +++ b/packages/parser/package.json @@ -52,10 +52,10 @@ "eslint": "^8.57.0 || ^9.0.0" }, "dependencies": { - "@typescript-eslint/scope-manager": "7.13.0", - "@typescript-eslint/types": "7.13.0", - "@typescript-eslint/typescript-estree": "7.13.0", - "@typescript-eslint/visitor-keys": "7.13.0", + "@typescript-eslint/scope-manager": "workspace:^", + "@typescript-eslint/types": "workspace:^", + "@typescript-eslint/typescript-estree": "workspace:^", + "@typescript-eslint/visitor-keys": "workspace:^", "debug": "^4.3.4" }, "devDependencies": { diff --git a/packages/repo-tools/package.json b/packages/repo-tools/package.json index 8d43f4357e02..5bef41b41b95 100644 --- a/packages/repo-tools/package.json +++ b/packages/repo-tools/package.json @@ -18,11 +18,11 @@ "devDependencies": { "@jest/types": "29.6.3", "@nx/devkit": "*", - "@typescript-eslint/eslint-plugin": "7.13.0", - "@typescript-eslint/scope-manager": "7.13.0", - "@typescript-eslint/types": "7.13.0", - "@typescript-eslint/typescript-estree": "7.13.0", - "@typescript-eslint/utils": "7.13.0", + "@typescript-eslint/eslint-plugin": "workspace:^", + "@typescript-eslint/scope-manager": "workspace:^", + "@typescript-eslint/types": "workspace:^", + "@typescript-eslint/typescript-estree": "workspace:^", + "@typescript-eslint/utils": "workspace:^", "cross-fetch": "*", "execa": "*", "prettier": "^3.2.5", diff --git a/packages/rule-schema-to-typescript-types/package.json b/packages/rule-schema-to-typescript-types/package.json index fdbd3b55c171..73e4b612e983 100644 --- a/packages/rule-schema-to-typescript-types/package.json +++ b/packages/rule-schema-to-typescript-types/package.json @@ -34,8 +34,8 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@typescript-eslint/type-utils": "7.13.0", - "@typescript-eslint/utils": "7.13.0", + "@typescript-eslint/type-utils": "workspace:^", + "@typescript-eslint/utils": "workspace:^", "natural-compare": "^1.4.0", "prettier": "^3.2.5" }, diff --git a/packages/rule-tester/package.json b/packages/rule-tester/package.json index f483195de27a..39b2acc26b9e 100644 --- a/packages/rule-tester/package.json +++ b/packages/rule-tester/package.json @@ -48,8 +48,8 @@ }, "//": "NOTE - AJV is out-of-date, but it's intentionally synced with ESLint - https://github.com/eslint/eslint/blob/ad9dd6a933fd098a0d99c6a9aa059850535c23ee/package.json#L70", "dependencies": { - "@typescript-eslint/typescript-estree": "7.13.0", - "@typescript-eslint/utils": "7.13.0", + "@typescript-eslint/typescript-estree": "workspace:^", + "@typescript-eslint/utils": "workspace:^", "ajv": "^6.12.6", "json-stable-stringify-without-jsonify": "^1.0.1", "lodash.merge": "4.6.2", @@ -63,7 +63,7 @@ "@jest/types": "29.6.3", "@types/json-stable-stringify-without-jsonify": "^1.0.2", "@types/lodash.merge": "4.6.9", - "@typescript-eslint/parser": "7.13.0", + "@typescript-eslint/parser": "workspace:^", "chai": "^4.4.1", "eslint-visitor-keys": "^4.0.0", "espree": "^10.0.1", diff --git a/packages/scope-manager/package.json b/packages/scope-manager/package.json index f2718c3593ff..cef501003c5c 100644 --- a/packages/scope-manager/package.json +++ b/packages/scope-manager/package.json @@ -46,13 +46,13 @@ "typecheck": "npx nx typecheck" }, "dependencies": { - "@typescript-eslint/types": "7.13.0", - "@typescript-eslint/visitor-keys": "7.13.0" + "@typescript-eslint/types": "workspace:^", + "@typescript-eslint/visitor-keys": "workspace:^" }, "devDependencies": { "@jest/types": "29.6.3", "@types/glob": "*", - "@typescript-eslint/typescript-estree": "7.13.0", + "@typescript-eslint/typescript-estree": "workspace:^", "glob": "*", "jest-specific-snapshot": "*", "make-dir": "*", diff --git a/packages/type-utils/package.json b/packages/type-utils/package.json index 41151638c0a5..3ecb0ddfd523 100644 --- a/packages/type-utils/package.json +++ b/packages/type-utils/package.json @@ -46,14 +46,14 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@typescript-eslint/typescript-estree": "7.13.0", - "@typescript-eslint/utils": "7.13.0", + "@typescript-eslint/typescript-estree": "workspace:^", + "@typescript-eslint/utils": "workspace:^", "debug": "^4.3.4", "ts-api-utils": "^1.3.0" }, "devDependencies": { "@jest/types": "29.6.3", - "@typescript-eslint/parser": "7.13.0", + "@typescript-eslint/parser": "workspace:^", "ajv": "^6.12.6", "downlevel-dts": "*", "jest": "29.7.0", diff --git a/packages/typescript-eslint/package.json b/packages/typescript-eslint/package.json index 6978e80e68f0..bfa3477d86e8 100644 --- a/packages/typescript-eslint/package.json +++ b/packages/typescript-eslint/package.json @@ -52,9 +52,9 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@typescript-eslint/eslint-plugin": "7.13.0", - "@typescript-eslint/parser": "7.13.0", - "@typescript-eslint/utils": "7.13.0" + "@typescript-eslint/eslint-plugin": "workspace:^", + "@typescript-eslint/parser": "workspace:^", + "@typescript-eslint/utils": "workspace:^" }, "devDependencies": { "@jest/types": "29.6.3", diff --git a/packages/typescript-estree/package.json b/packages/typescript-estree/package.json index 848a75f47d4d..58b76f1a4aa1 100644 --- a/packages/typescript-estree/package.json +++ b/packages/typescript-estree/package.json @@ -54,8 +54,8 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@typescript-eslint/types": "7.13.0", - "@typescript-eslint/visitor-keys": "7.13.0", + "@typescript-eslint/types": "workspace:^", + "@typescript-eslint/visitor-keys": "workspace:^", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", diff --git a/packages/utils/package.json b/packages/utils/package.json index bb3aac6345f5..5cbe02eae46e 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -68,9 +68,9 @@ }, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "7.13.0", - "@typescript-eslint/types": "7.13.0", - "@typescript-eslint/typescript-estree": "7.13.0" + "@typescript-eslint/scope-manager": "workspace:^", + "@typescript-eslint/types": "workspace:^", + "@typescript-eslint/typescript-estree": "workspace:^" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0" diff --git a/packages/visitor-keys/package.json b/packages/visitor-keys/package.json index 5d57dc1ca674..4cc070e31f2e 100644 --- a/packages/visitor-keys/package.json +++ b/packages/visitor-keys/package.json @@ -47,7 +47,7 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@typescript-eslint/types": "7.13.0", + "@typescript-eslint/types": "workspace:^", "eslint-visitor-keys": "^3.4.3" }, "devDependencies": { diff --git a/packages/website-eslint/package.json b/packages/website-eslint/package.json index 2ff0c84e9fdb..48723eb16c7e 100644 --- a/packages/website-eslint/package.json +++ b/packages/website-eslint/package.json @@ -24,11 +24,11 @@ }, "devDependencies": { "@eslint/js": "*", - "@typescript-eslint/eslint-plugin": "7.13.0", - "@typescript-eslint/parser": "7.13.0", - "@typescript-eslint/scope-manager": "7.13.0", - "@typescript-eslint/typescript-estree": "7.13.0", - "@typescript-eslint/visitor-keys": "7.13.0", + "@typescript-eslint/eslint-plugin": "workspace:^", + "@typescript-eslint/parser": "workspace:^", + "@typescript-eslint/scope-manager": "workspace:^", + "@typescript-eslint/typescript-estree": "workspace:^", + "@typescript-eslint/visitor-keys": "workspace:^", "esbuild": "~0.21.0", "eslint": "*", "esquery": "*", diff --git a/packages/website/package.json b/packages/website/package.json index 71167c790ada..1555c734be74 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -23,8 +23,8 @@ "@docusaurus/preset-classic": "^3.2.1", "@docusaurus/remark-plugin-npm2yarn": "^3.2.1", "@docusaurus/theme-common": "^3.2.1", - "@typescript-eslint/parser": "7.13.0", - "@typescript-eslint/website-eslint": "7.13.0", + "@typescript-eslint/parser": "workspace:^", + "@typescript-eslint/website-eslint": "workspace:^", "@uiw/react-shields": "2.0.1", "clsx": "^2.1.0", "eslint": "*", @@ -47,12 +47,12 @@ "@types/mdast": "^4.0.3", "@types/react": "*", "@types/unist": "^3.0.2", - "@typescript-eslint/eslint-plugin": "7.13.0", - "@typescript-eslint/rule-schema-to-typescript-types": "7.13.0", - "@typescript-eslint/scope-manager": "7.13.0", - "@typescript-eslint/types": "7.13.0", - "@typescript-eslint/typescript-estree": "7.13.0", - "@typescript-eslint/utils": "7.13.0", + "@typescript-eslint/eslint-plugin": "workspace:^", + "@typescript-eslint/rule-schema-to-typescript-types": "workspace:^", + "@typescript-eslint/scope-manager": "workspace:^", + "@typescript-eslint/types": "workspace:^", + "@typescript-eslint/typescript-estree": "workspace:^", + "@typescript-eslint/utils": "workspace:^", "copy-webpack-plugin": "^12.0.0", "cross-fetch": "*", "history": "^4.9.0", From cd19ebdc35094922b657ca31550d863c4ddf5aad Mon Sep 17 00:00:00 2001 From: Christopher Aubut Date: Wed, 12 Jun 2024 11:53:17 -0600 Subject: [PATCH 19/36] chore: adds dist folder to install from github --- .gitignore | 2 + packages/types/src/parser-options.ts | 5 + .../typescript-estree/dist/ast-converter.d.ts | 9 + .../dist/ast-converter.d.ts.map | 1 + .../typescript-estree/dist/ast-converter.js | 62 + .../dist/ast-converter.js.map | 1 + .../typescript-estree/dist/clear-caches.d.ts | 10 + .../dist/clear-caches.d.ts.map | 1 + .../typescript-estree/dist/clear-caches.js | 26 + .../dist/clear-caches.js.map | 1 + .../dist/convert-comments.d.ts | 11 + .../dist/convert-comments.d.ts.map | 1 + .../dist/convert-comments.js | 63 + .../dist/convert-comments.js.map | 1 + packages/typescript-estree/dist/convert.d.ts | 137 + .../typescript-estree/dist/convert.d.ts.map | 1 + packages/typescript-estree/dist/convert.js | 2609 +++++++++++++++++ .../typescript-estree/dist/convert.js.map | 1 + .../WatchCompilerHostOfConfigFile.d.ts | 13 + .../WatchCompilerHostOfConfigFile.d.ts.map | 1 + .../WatchCompilerHostOfConfigFile.js | 6 + .../WatchCompilerHostOfConfigFile.js.map | 1 + .../create-program/createIsolatedProgram.d.ts | 8 + .../createIsolatedProgram.d.ts.map | 1 + .../create-program/createIsolatedProgram.js | 88 + .../createIsolatedProgram.js.map | 1 + .../create-program/createProjectProgram.d.ts | 10 + .../createProjectProgram.d.ts.map | 1 + .../create-program/createProjectProgram.js | 100 + .../createProjectProgram.js.map | 1 + .../create-program/createProjectService.d.ts | 13 + .../createProjectService.d.ts.map | 1 + .../create-program/createProjectService.js | 123 + .../createProjectService.js.map | 1 + .../dist/create-program/createSourceFile.d.ts | 7 + .../create-program/createSourceFile.d.ts.map | 1 + .../dist/create-program/createSourceFile.js | 53 + .../create-program/createSourceFile.js.map | 1 + .../dist/create-program/describeFilePath.d.ts | 2 + .../create-program/describeFilePath.d.ts.map | 1 + .../dist/create-program/describeFilePath.js | 32 + .../create-program/describeFilePath.js.map | 1 + .../create-program/getParsedConfigFile.d.ts | 10 + .../getParsedConfigFile.d.ts.map | 1 + .../create-program/getParsedConfigFile.js | 72 + .../create-program/getParsedConfigFile.js.map | 1 + .../dist/create-program/getScriptKind.d.ts | 5 + .../create-program/getScriptKind.d.ts.map | 1 + .../dist/create-program/getScriptKind.js | 72 + .../dist/create-program/getScriptKind.js.map | 1 + .../getWatchProgramsForProjects.d.ts | 15 + .../getWatchProgramsForProjects.d.ts.map | 1 + .../getWatchProgramsForProjects.js | 372 +++ .../getWatchProgramsForProjects.js.map | 1 + .../dist/create-program/shared.d.ts | 32 + .../dist/create-program/shared.d.ts.map | 1 + .../dist/create-program/shared.js | 124 + .../dist/create-program/shared.js.map | 1 + .../create-program/useProvidedPrograms.d.ts | 16 + .../useProvidedPrograms.d.ts.map | 1 + .../create-program/useProvidedPrograms.js | 70 + .../create-program/useProvidedPrograms.js.map | 1 + .../validateDefaultProjectForFilesGlob.d.ts | 4 + ...alidateDefaultProjectForFilesGlob.d.ts.map | 1 + .../validateDefaultProjectForFilesGlob.js | 24 + .../validateDefaultProjectForFilesGlob.js.map | 1 + .../dist/createParserServices.d.ts | 5 + .../dist/createParserServices.d.ts.map | 1 + .../dist/createParserServices.js | 29 + .../dist/createParserServices.js.map | 1 + .../typescript-estree/dist/getModifiers.d.ts | 4 + .../dist/getModifiers.d.ts.map | 1 + .../typescript-estree/dist/getModifiers.js | 66 + .../dist/getModifiers.js.map | 1 + packages/typescript-estree/dist/index.d.ts | 14 + .../typescript-estree/dist/index.d.ts.map | 1 + packages/typescript-estree/dist/index.js | 40 + packages/typescript-estree/dist/index.js.map | 1 + .../dist/jsx/xhtml-entities.d.ts | 2 + .../dist/jsx/xhtml-entities.d.ts.map | 1 + .../dist/jsx/xhtml-entities.js | 259 ++ .../dist/jsx/xhtml-entities.js.map | 1 + .../typescript-estree/dist/node-utils.d.ts | 249 ++ .../dist/node-utils.d.ts.map | 1 + packages/typescript-estree/dist/node-utils.js | 789 +++++ .../typescript-estree/dist/node-utils.js.map | 1 + .../dist/parseSettings/ExpiringCache.d.ts | 17 + .../dist/parseSettings/ExpiringCache.d.ts.map | 1 + .../dist/parseSettings/ExpiringCache.js | 47 + .../dist/parseSettings/ExpiringCache.js.map | 1 + .../parseSettings/createParseSettings.d.ts | 7 + .../createParseSettings.d.ts.map | 1 + .../dist/parseSettings/createParseSettings.js | 194 ++ .../parseSettings/createParseSettings.js.map | 1 + .../parseSettings/getProjectConfigFiles.d.ts | 13 + .../getProjectConfigFiles.d.ts.map | 1 + .../parseSettings/getProjectConfigFiles.js | 74 + .../getProjectConfigFiles.js.map | 1 + .../dist/parseSettings/index.d.ts | 120 + .../dist/parseSettings/index.d.ts.map | 1 + .../dist/parseSettings/index.js | 3 + .../dist/parseSettings/index.js.map | 1 + .../dist/parseSettings/inferSingleRun.d.ts | 15 + .../parseSettings/inferSingleRun.d.ts.map | 1 + .../dist/parseSettings/inferSingleRun.js | 60 + .../dist/parseSettings/inferSingleRun.js.map | 1 + .../parseSettings/resolveProjectList.d.ts | 19 + .../parseSettings/resolveProjectList.d.ts.map | 1 + .../dist/parseSettings/resolveProjectList.js | 103 + .../parseSettings/resolveProjectList.js.map | 1 + .../parseSettings/warnAboutTSVersion.d.ts | 3 + .../parseSettings/warnAboutTSVersion.d.ts.map | 1 + .../dist/parseSettings/warnAboutTSVersion.js | 69 + .../parseSettings/warnAboutTSVersion.js.map | 1 + .../dist/parser-options.d.ts | 199 ++ .../dist/parser-options.d.ts.map | 1 + .../typescript-estree/dist/parser-options.js | 3 + .../dist/parser-options.js.map | 1 + packages/typescript-estree/dist/parser.d.ts | 19 + .../typescript-estree/dist/parser.d.ts.map | 1 + packages/typescript-estree/dist/parser.js | 183 ++ packages/typescript-estree/dist/parser.js.map | 1 + .../dist/semantic-or-syntactic-errors.d.ts | 13 + .../semantic-or-syntactic-errors.d.ts.map | 1 + .../dist/semantic-or-syntactic-errors.js | 96 + .../dist/semantic-or-syntactic-errors.js.map | 1 + .../dist/simple-traverse.d.ts | 12 + .../dist/simple-traverse.d.ts.map | 1 + .../typescript-estree/dist/simple-traverse.js | 60 + .../dist/simple-traverse.js.map | 1 + .../typescript-estree/dist/source-files.d.ts | 4 + .../dist/source-files.d.ts.map | 1 + .../typescript-estree/dist/source-files.js | 41 + .../dist/source-files.js.map | 1 + .../ts-estree/estree-to-ts-node-types.d.ts | 179 ++ .../estree-to-ts-node-types.d.ts.map | 1 + .../dist/ts-estree/estree-to-ts-node-types.js | 3 + .../ts-estree/estree-to-ts-node-types.js.map | 1 + .../dist/ts-estree/index.d.ts | 4 + .../dist/ts-estree/index.d.ts.map | 1 + .../typescript-estree/dist/ts-estree/index.js | 25 + .../dist/ts-estree/index.js.map | 1 + .../dist/ts-estree/ts-nodes.d.ts | 18 + .../dist/ts-estree/ts-nodes.d.ts.map | 1 + .../dist/ts-estree/ts-nodes.js | 3 + .../dist/ts-estree/ts-nodes.js.map | 1 + .../dist/use-at-your-own-risk.d.ts | 7 + .../dist/use-at-your-own-risk.d.ts.map | 1 + .../dist/use-at-your-own-risk.js | 28 + .../dist/use-at-your-own-risk.js.map | 1 + .../dist/useProgramFromProjectService.d.ts | 5 + .../useProgramFromProjectService.d.ts.map | 1 + .../dist/useProgramFromProjectService.js | 72 + .../dist/useProgramFromProjectService.js.map | 1 + .../typescript-estree/dist/version-check.d.ts | 3 + .../dist/version-check.d.ts.map | 1 + .../typescript-estree/dist/version-check.js | 49 + .../dist/version-check.js.map | 1 + .../dist/withoutProjectParserOptions.d.ts | 11 + .../dist/withoutProjectParserOptions.d.ts.map | 1 + .../dist/withoutProjectParserOptions.js | 18 + .../dist/withoutProjectParserOptions.js.map | 1 + yarn.lock | 238 +- 163 files changed, 7660 insertions(+), 119 deletions(-) create mode 100644 packages/typescript-estree/dist/ast-converter.d.ts create mode 100644 packages/typescript-estree/dist/ast-converter.d.ts.map create mode 100644 packages/typescript-estree/dist/ast-converter.js create mode 100644 packages/typescript-estree/dist/ast-converter.js.map create mode 100644 packages/typescript-estree/dist/clear-caches.d.ts create mode 100644 packages/typescript-estree/dist/clear-caches.d.ts.map create mode 100644 packages/typescript-estree/dist/clear-caches.js create mode 100644 packages/typescript-estree/dist/clear-caches.js.map create mode 100644 packages/typescript-estree/dist/convert-comments.d.ts create mode 100644 packages/typescript-estree/dist/convert-comments.d.ts.map create mode 100644 packages/typescript-estree/dist/convert-comments.js create mode 100644 packages/typescript-estree/dist/convert-comments.js.map create mode 100644 packages/typescript-estree/dist/convert.d.ts create mode 100644 packages/typescript-estree/dist/convert.d.ts.map create mode 100644 packages/typescript-estree/dist/convert.js create mode 100644 packages/typescript-estree/dist/convert.js.map create mode 100644 packages/typescript-estree/dist/create-program/WatchCompilerHostOfConfigFile.d.ts create mode 100644 packages/typescript-estree/dist/create-program/WatchCompilerHostOfConfigFile.d.ts.map create mode 100644 packages/typescript-estree/dist/create-program/WatchCompilerHostOfConfigFile.js create mode 100644 packages/typescript-estree/dist/create-program/WatchCompilerHostOfConfigFile.js.map create mode 100644 packages/typescript-estree/dist/create-program/createIsolatedProgram.d.ts create mode 100644 packages/typescript-estree/dist/create-program/createIsolatedProgram.d.ts.map create mode 100644 packages/typescript-estree/dist/create-program/createIsolatedProgram.js create mode 100644 packages/typescript-estree/dist/create-program/createIsolatedProgram.js.map create mode 100644 packages/typescript-estree/dist/create-program/createProjectProgram.d.ts create mode 100644 packages/typescript-estree/dist/create-program/createProjectProgram.d.ts.map create mode 100644 packages/typescript-estree/dist/create-program/createProjectProgram.js create mode 100644 packages/typescript-estree/dist/create-program/createProjectProgram.js.map create mode 100644 packages/typescript-estree/dist/create-program/createProjectService.d.ts create mode 100644 packages/typescript-estree/dist/create-program/createProjectService.d.ts.map create mode 100644 packages/typescript-estree/dist/create-program/createProjectService.js create mode 100644 packages/typescript-estree/dist/create-program/createProjectService.js.map create mode 100644 packages/typescript-estree/dist/create-program/createSourceFile.d.ts create mode 100644 packages/typescript-estree/dist/create-program/createSourceFile.d.ts.map create mode 100644 packages/typescript-estree/dist/create-program/createSourceFile.js create mode 100644 packages/typescript-estree/dist/create-program/createSourceFile.js.map create mode 100644 packages/typescript-estree/dist/create-program/describeFilePath.d.ts create mode 100644 packages/typescript-estree/dist/create-program/describeFilePath.d.ts.map create mode 100644 packages/typescript-estree/dist/create-program/describeFilePath.js create mode 100644 packages/typescript-estree/dist/create-program/describeFilePath.js.map create mode 100644 packages/typescript-estree/dist/create-program/getParsedConfigFile.d.ts create mode 100644 packages/typescript-estree/dist/create-program/getParsedConfigFile.d.ts.map create mode 100644 packages/typescript-estree/dist/create-program/getParsedConfigFile.js create mode 100644 packages/typescript-estree/dist/create-program/getParsedConfigFile.js.map create mode 100644 packages/typescript-estree/dist/create-program/getScriptKind.d.ts create mode 100644 packages/typescript-estree/dist/create-program/getScriptKind.d.ts.map create mode 100644 packages/typescript-estree/dist/create-program/getScriptKind.js create mode 100644 packages/typescript-estree/dist/create-program/getScriptKind.js.map create mode 100644 packages/typescript-estree/dist/create-program/getWatchProgramsForProjects.d.ts create mode 100644 packages/typescript-estree/dist/create-program/getWatchProgramsForProjects.d.ts.map create mode 100644 packages/typescript-estree/dist/create-program/getWatchProgramsForProjects.js create mode 100644 packages/typescript-estree/dist/create-program/getWatchProgramsForProjects.js.map create mode 100644 packages/typescript-estree/dist/create-program/shared.d.ts create mode 100644 packages/typescript-estree/dist/create-program/shared.d.ts.map create mode 100644 packages/typescript-estree/dist/create-program/shared.js create mode 100644 packages/typescript-estree/dist/create-program/shared.js.map create mode 100644 packages/typescript-estree/dist/create-program/useProvidedPrograms.d.ts create mode 100644 packages/typescript-estree/dist/create-program/useProvidedPrograms.d.ts.map create mode 100644 packages/typescript-estree/dist/create-program/useProvidedPrograms.js create mode 100644 packages/typescript-estree/dist/create-program/useProvidedPrograms.js.map create mode 100644 packages/typescript-estree/dist/create-program/validateDefaultProjectForFilesGlob.d.ts create mode 100644 packages/typescript-estree/dist/create-program/validateDefaultProjectForFilesGlob.d.ts.map create mode 100644 packages/typescript-estree/dist/create-program/validateDefaultProjectForFilesGlob.js create mode 100644 packages/typescript-estree/dist/create-program/validateDefaultProjectForFilesGlob.js.map create mode 100644 packages/typescript-estree/dist/createParserServices.d.ts create mode 100644 packages/typescript-estree/dist/createParserServices.d.ts.map create mode 100644 packages/typescript-estree/dist/createParserServices.js create mode 100644 packages/typescript-estree/dist/createParserServices.js.map create mode 100644 packages/typescript-estree/dist/getModifiers.d.ts create mode 100644 packages/typescript-estree/dist/getModifiers.d.ts.map create mode 100644 packages/typescript-estree/dist/getModifiers.js create mode 100644 packages/typescript-estree/dist/getModifiers.js.map create mode 100644 packages/typescript-estree/dist/index.d.ts create mode 100644 packages/typescript-estree/dist/index.d.ts.map create mode 100644 packages/typescript-estree/dist/index.js create mode 100644 packages/typescript-estree/dist/index.js.map create mode 100644 packages/typescript-estree/dist/jsx/xhtml-entities.d.ts create mode 100644 packages/typescript-estree/dist/jsx/xhtml-entities.d.ts.map create mode 100644 packages/typescript-estree/dist/jsx/xhtml-entities.js create mode 100644 packages/typescript-estree/dist/jsx/xhtml-entities.js.map create mode 100644 packages/typescript-estree/dist/node-utils.d.ts create mode 100644 packages/typescript-estree/dist/node-utils.d.ts.map create mode 100644 packages/typescript-estree/dist/node-utils.js create mode 100644 packages/typescript-estree/dist/node-utils.js.map create mode 100644 packages/typescript-estree/dist/parseSettings/ExpiringCache.d.ts create mode 100644 packages/typescript-estree/dist/parseSettings/ExpiringCache.d.ts.map create mode 100644 packages/typescript-estree/dist/parseSettings/ExpiringCache.js create mode 100644 packages/typescript-estree/dist/parseSettings/ExpiringCache.js.map create mode 100644 packages/typescript-estree/dist/parseSettings/createParseSettings.d.ts create mode 100644 packages/typescript-estree/dist/parseSettings/createParseSettings.d.ts.map create mode 100644 packages/typescript-estree/dist/parseSettings/createParseSettings.js create mode 100644 packages/typescript-estree/dist/parseSettings/createParseSettings.js.map create mode 100644 packages/typescript-estree/dist/parseSettings/getProjectConfigFiles.d.ts create mode 100644 packages/typescript-estree/dist/parseSettings/getProjectConfigFiles.d.ts.map create mode 100644 packages/typescript-estree/dist/parseSettings/getProjectConfigFiles.js create mode 100644 packages/typescript-estree/dist/parseSettings/getProjectConfigFiles.js.map create mode 100644 packages/typescript-estree/dist/parseSettings/index.d.ts create mode 100644 packages/typescript-estree/dist/parseSettings/index.d.ts.map create mode 100644 packages/typescript-estree/dist/parseSettings/index.js create mode 100644 packages/typescript-estree/dist/parseSettings/index.js.map create mode 100644 packages/typescript-estree/dist/parseSettings/inferSingleRun.d.ts create mode 100644 packages/typescript-estree/dist/parseSettings/inferSingleRun.d.ts.map create mode 100644 packages/typescript-estree/dist/parseSettings/inferSingleRun.js create mode 100644 packages/typescript-estree/dist/parseSettings/inferSingleRun.js.map create mode 100644 packages/typescript-estree/dist/parseSettings/resolveProjectList.d.ts create mode 100644 packages/typescript-estree/dist/parseSettings/resolveProjectList.d.ts.map create mode 100644 packages/typescript-estree/dist/parseSettings/resolveProjectList.js create mode 100644 packages/typescript-estree/dist/parseSettings/resolveProjectList.js.map create mode 100644 packages/typescript-estree/dist/parseSettings/warnAboutTSVersion.d.ts create mode 100644 packages/typescript-estree/dist/parseSettings/warnAboutTSVersion.d.ts.map create mode 100644 packages/typescript-estree/dist/parseSettings/warnAboutTSVersion.js create mode 100644 packages/typescript-estree/dist/parseSettings/warnAboutTSVersion.js.map create mode 100644 packages/typescript-estree/dist/parser-options.d.ts create mode 100644 packages/typescript-estree/dist/parser-options.d.ts.map create mode 100644 packages/typescript-estree/dist/parser-options.js create mode 100644 packages/typescript-estree/dist/parser-options.js.map create mode 100644 packages/typescript-estree/dist/parser.d.ts create mode 100644 packages/typescript-estree/dist/parser.d.ts.map create mode 100644 packages/typescript-estree/dist/parser.js create mode 100644 packages/typescript-estree/dist/parser.js.map create mode 100644 packages/typescript-estree/dist/semantic-or-syntactic-errors.d.ts create mode 100644 packages/typescript-estree/dist/semantic-or-syntactic-errors.d.ts.map create mode 100644 packages/typescript-estree/dist/semantic-or-syntactic-errors.js create mode 100644 packages/typescript-estree/dist/semantic-or-syntactic-errors.js.map create mode 100644 packages/typescript-estree/dist/simple-traverse.d.ts create mode 100644 packages/typescript-estree/dist/simple-traverse.d.ts.map create mode 100644 packages/typescript-estree/dist/simple-traverse.js create mode 100644 packages/typescript-estree/dist/simple-traverse.js.map create mode 100644 packages/typescript-estree/dist/source-files.d.ts create mode 100644 packages/typescript-estree/dist/source-files.d.ts.map create mode 100644 packages/typescript-estree/dist/source-files.js create mode 100644 packages/typescript-estree/dist/source-files.js.map create mode 100644 packages/typescript-estree/dist/ts-estree/estree-to-ts-node-types.d.ts create mode 100644 packages/typescript-estree/dist/ts-estree/estree-to-ts-node-types.d.ts.map create mode 100644 packages/typescript-estree/dist/ts-estree/estree-to-ts-node-types.js create mode 100644 packages/typescript-estree/dist/ts-estree/estree-to-ts-node-types.js.map create mode 100644 packages/typescript-estree/dist/ts-estree/index.d.ts create mode 100644 packages/typescript-estree/dist/ts-estree/index.d.ts.map create mode 100644 packages/typescript-estree/dist/ts-estree/index.js create mode 100644 packages/typescript-estree/dist/ts-estree/index.js.map create mode 100644 packages/typescript-estree/dist/ts-estree/ts-nodes.d.ts create mode 100644 packages/typescript-estree/dist/ts-estree/ts-nodes.d.ts.map create mode 100644 packages/typescript-estree/dist/ts-estree/ts-nodes.js create mode 100644 packages/typescript-estree/dist/ts-estree/ts-nodes.js.map create mode 100644 packages/typescript-estree/dist/use-at-your-own-risk.d.ts create mode 100644 packages/typescript-estree/dist/use-at-your-own-risk.d.ts.map create mode 100644 packages/typescript-estree/dist/use-at-your-own-risk.js create mode 100644 packages/typescript-estree/dist/use-at-your-own-risk.js.map create mode 100644 packages/typescript-estree/dist/useProgramFromProjectService.d.ts create mode 100644 packages/typescript-estree/dist/useProgramFromProjectService.d.ts.map create mode 100644 packages/typescript-estree/dist/useProgramFromProjectService.js create mode 100644 packages/typescript-estree/dist/useProgramFromProjectService.js.map create mode 100644 packages/typescript-estree/dist/version-check.d.ts create mode 100644 packages/typescript-estree/dist/version-check.d.ts.map create mode 100644 packages/typescript-estree/dist/version-check.js create mode 100644 packages/typescript-estree/dist/version-check.js.map create mode 100644 packages/typescript-estree/dist/withoutProjectParserOptions.d.ts create mode 100644 packages/typescript-estree/dist/withoutProjectParserOptions.d.ts.map create mode 100644 packages/typescript-estree/dist/withoutProjectParserOptions.js create mode 100644 packages/typescript-estree/dist/withoutProjectParserOptions.js.map diff --git a/.gitignore b/.gitignore index 5d2aa7bffa74..00f7e83a347f 100644 --- a/.gitignore +++ b/.gitignore @@ -98,3 +98,5 @@ packages/**/.yarn .nx/cache .nx/workspace-data + +!packages/typescript-estree/dist diff --git a/packages/types/src/parser-options.ts b/packages/types/src/parser-options.ts index 59eb090a4752..8a30b9ec3521 100644 --- a/packages/types/src/parser-options.ts +++ b/packages/types/src/parser-options.ts @@ -51,6 +51,11 @@ interface ProjectServiceOptions { */ defaultProject?: string; + /** + * Maximum number of files to keep open with the project service. + */ + maximumOpenFiles?: number; + /** * The maximum number of files {@link allowDefaultProject} may match. * Each file match slows down linting, so if you do need to use this, please diff --git a/packages/typescript-estree/dist/ast-converter.d.ts b/packages/typescript-estree/dist/ast-converter.d.ts new file mode 100644 index 000000000000..3c812c655b30 --- /dev/null +++ b/packages/typescript-estree/dist/ast-converter.d.ts @@ -0,0 +1,9 @@ +import type { SourceFile } from 'typescript'; +import type { ASTMaps } from './convert'; +import type { ParseSettings } from './parseSettings'; +import type { TSESTree } from './ts-estree'; +export declare function astConverter(ast: SourceFile, parseSettings: ParseSettings, shouldPreserveNodeMaps: boolean): { + estree: TSESTree.Program; + astMaps: ASTMaps; +}; +//# sourceMappingURL=ast-converter.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/ast-converter.d.ts.map b/packages/typescript-estree/dist/ast-converter.d.ts.map new file mode 100644 index 000000000000..94b20cd8a501 --- /dev/null +++ b/packages/typescript-estree/dist/ast-converter.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ast-converter.d.ts","sourceRoot":"","sources":["../src/ast-converter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,wBAAgB,YAAY,CAC1B,GAAG,EAAE,UAAU,EACf,aAAa,EAAE,aAAa,EAC5B,sBAAsB,EAAE,OAAO,GAC9B;IAAE,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CA4DhD"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/ast-converter.js b/packages/typescript-estree/dist/ast-converter.js new file mode 100644 index 000000000000..42b325f3a302 --- /dev/null +++ b/packages/typescript-estree/dist/ast-converter.js @@ -0,0 +1,62 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.astConverter = void 0; +const convert_1 = require("./convert"); +const convert_comments_1 = require("./convert-comments"); +const node_utils_1 = require("./node-utils"); +const simple_traverse_1 = require("./simple-traverse"); +function astConverter(ast, parseSettings, shouldPreserveNodeMaps) { + /** + * The TypeScript compiler produced fundamental parse errors when parsing the + * source. + */ + const { parseDiagnostics } = ast; + if (parseDiagnostics.length) { + throw (0, convert_1.convertError)(parseDiagnostics[0]); + } + /** + * Recursively convert the TypeScript AST into an ESTree-compatible AST + */ + const instance = new convert_1.Converter(ast, { + allowInvalidAST: parseSettings.allowInvalidAST, + errorOnUnknownASTType: parseSettings.errorOnUnknownASTType, + shouldPreserveNodeMaps, + suppressDeprecatedPropertyWarnings: parseSettings.suppressDeprecatedPropertyWarnings, + }); + const estree = instance.convertProgram(); + /** + * Optionally remove range and loc if specified + */ + if (!parseSettings.range || !parseSettings.loc) { + (0, simple_traverse_1.simpleTraverse)(estree, { + enter: node => { + if (!parseSettings.range) { + // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- TS 4.0 made this an error because the types aren't optional + // @ts-expect-error + delete node.range; + } + if (!parseSettings.loc) { + // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- TS 4.0 made this an error because the types aren't optional + // @ts-expect-error + delete node.loc; + } + }, + }); + } + /** + * Optionally convert and include all tokens in the AST + */ + if (parseSettings.tokens) { + estree.tokens = (0, node_utils_1.convertTokens)(ast); + } + /** + * Optionally convert and include all comments in the AST + */ + if (parseSettings.comment) { + estree.comments = (0, convert_comments_1.convertComments)(ast, parseSettings.codeFullText); + } + const astMaps = instance.getASTMaps(); + return { estree, astMaps }; +} +exports.astConverter = astConverter; +//# sourceMappingURL=ast-converter.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/ast-converter.js.map b/packages/typescript-estree/dist/ast-converter.js.map new file mode 100644 index 000000000000..5f9e74e588a4 --- /dev/null +++ b/packages/typescript-estree/dist/ast-converter.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ast-converter.js","sourceRoot":"","sources":["../src/ast-converter.ts"],"names":[],"mappings":";;;AAGA,uCAAoD;AACpD,yDAAqD;AACrD,6CAA6C;AAE7C,uDAAmD;AAGnD,SAAgB,YAAY,CAC1B,GAAe,EACf,aAA4B,EAC5B,sBAA+B;IAE/B;;;OAGG;IACH,MAAM,EAAE,gBAAgB,EAAE,GAAG,GAAG,CAAC;IACjC,IAAI,gBAAgB,CAAC,MAAM,EAAE,CAAC;QAC5B,MAAM,IAAA,sBAAY,EAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,MAAM,QAAQ,GAAG,IAAI,mBAAS,CAAC,GAAG,EAAE;QAClC,eAAe,EAAE,aAAa,CAAC,eAAe;QAC9C,qBAAqB,EAAE,aAAa,CAAC,qBAAqB;QAC1D,sBAAsB;QACtB,kCAAkC,EAChC,aAAa,CAAC,kCAAkC;KACnD,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,QAAQ,CAAC,cAAc,EAAE,CAAC;IAEzC;;OAEG;IACH,IAAI,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;QAC/C,IAAA,gCAAc,EAAC,MAAM,EAAE;YACrB,KAAK,EAAE,IAAI,CAAC,EAAE;gBACZ,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;oBACzB,4HAA4H;oBAC5H,mBAAmB;oBACnB,OAAO,IAAI,CAAC,KAAK,CAAC;gBACpB,CAAC;gBACD,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;oBACvB,4HAA4H;oBAC5H,mBAAmB;oBACnB,OAAO,IAAI,CAAC,GAAG,CAAC;gBAClB,CAAC;YACH,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;QACzB,MAAM,CAAC,MAAM,GAAG,IAAA,0BAAa,EAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;QAC1B,MAAM,CAAC,QAAQ,GAAG,IAAA,kCAAe,EAAC,GAAG,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAC;IAEtC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAC7B,CAAC;AAhED,oCAgEC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/clear-caches.d.ts b/packages/typescript-estree/dist/clear-caches.d.ts new file mode 100644 index 000000000000..184570245898 --- /dev/null +++ b/packages/typescript-estree/dist/clear-caches.d.ts @@ -0,0 +1,10 @@ +/** + * Clears all of the internal caches. + * Generally you shouldn't need or want to use this. + * Examples of intended uses: + * - In tests to reset parser state to keep tests isolated. + * - In custom lint tooling that iteratively lints one project at a time to prevent OOMs. + */ +export declare function clearCaches(): void; +export declare const clearProgramCache: typeof clearCaches; +//# sourceMappingURL=clear-caches.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/clear-caches.d.ts.map b/packages/typescript-estree/dist/clear-caches.d.ts.map new file mode 100644 index 000000000000..eeec191b4cce --- /dev/null +++ b/packages/typescript-estree/dist/clear-caches.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"clear-caches.d.ts","sourceRoot":"","sources":["../src/clear-caches.ts"],"names":[],"mappings":"AAWA;;;;;;GAMG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAOlC;AAGD,eAAO,MAAM,iBAAiB,oBAAc,CAAC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/clear-caches.js b/packages/typescript-estree/dist/clear-caches.js new file mode 100644 index 000000000000..bf305e768234 --- /dev/null +++ b/packages/typescript-estree/dist/clear-caches.js @@ -0,0 +1,26 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.clearProgramCache = exports.clearCaches = void 0; +const getWatchProgramsForProjects_1 = require("./create-program/getWatchProgramsForProjects"); +const parser_1 = require("./parser"); +const createParseSettings_1 = require("./parseSettings/createParseSettings"); +const resolveProjectList_1 = require("./parseSettings/resolveProjectList"); +/** + * Clears all of the internal caches. + * Generally you shouldn't need or want to use this. + * Examples of intended uses: + * - In tests to reset parser state to keep tests isolated. + * - In custom lint tooling that iteratively lints one project at a time to prevent OOMs. + */ +function clearCaches() { + (0, parser_1.clearDefaultProjectMatchedFiles)(); + (0, parser_1.clearProgramCache)(); + (0, getWatchProgramsForProjects_1.clearWatchCaches)(); + (0, createParseSettings_1.clearTSConfigMatchCache)(); + (0, createParseSettings_1.clearTSServerProjectService)(); + (0, resolveProjectList_1.clearGlobCache)(); +} +exports.clearCaches = clearCaches; +// TODO - delete this in next major +exports.clearProgramCache = clearCaches; +//# sourceMappingURL=clear-caches.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/clear-caches.js.map b/packages/typescript-estree/dist/clear-caches.js.map new file mode 100644 index 000000000000..44ce272807cd --- /dev/null +++ b/packages/typescript-estree/dist/clear-caches.js.map @@ -0,0 +1 @@ +{"version":3,"file":"clear-caches.js","sourceRoot":"","sources":["../src/clear-caches.ts"],"names":[],"mappings":";;;AAAA,8FAAgF;AAChF,qCAGkB;AAClB,6EAG6C;AAC7C,2EAAoE;AAEpE;;;;;;GAMG;AACH,SAAgB,WAAW;IACzB,IAAA,wCAA+B,GAAE,CAAC;IAClC,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;AAPD,kCAOC;AAED,mCAAmC;AACtB,QAAA,iBAAiB,GAAG,WAAW,CAAC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/convert-comments.d.ts b/packages/typescript-estree/dist/convert-comments.d.ts new file mode 100644 index 000000000000..bdf936910a72 --- /dev/null +++ b/packages/typescript-estree/dist/convert-comments.d.ts @@ -0,0 +1,11 @@ +import * as ts from 'typescript'; +import type { TSESTree } from './ts-estree'; +/** + * Convert all comments for the given AST. + * @param ast the AST object + * @param code the TypeScript code + * @returns the converted ESTreeComment + * @private + */ +export declare function convertComments(ast: ts.SourceFile, code: string): TSESTree.Comment[]; +//# sourceMappingURL=convert-comments.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/convert-comments.d.ts.map b/packages/typescript-estree/dist/convert-comments.d.ts.map new file mode 100644 index 000000000000..68878b68b7d0 --- /dev/null +++ b/packages/typescript-estree/dist/convert-comments.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"convert-comments.d.ts","sourceRoot":"","sources":["../src/convert-comments.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAGjC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAG5C;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,EAAE,CAAC,UAAU,EAClB,IAAI,EAAE,MAAM,GACX,QAAQ,CAAC,OAAO,EAAE,CAgCpB"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/convert-comments.js b/packages/typescript-estree/dist/convert-comments.js new file mode 100644 index 000000000000..17e425a003a2 --- /dev/null +++ b/packages/typescript-estree/dist/convert-comments.js @@ -0,0 +1,63 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.convertComments = void 0; +const tsutils = __importStar(require("ts-api-utils")); +const ts = __importStar(require("typescript")); +const node_utils_1 = require("./node-utils"); +const ts_estree_1 = require("./ts-estree"); +/** + * Convert all comments for the given AST. + * @param ast the AST object + * @param code the TypeScript code + * @returns the converted ESTreeComment + * @private + */ +function convertComments(ast, code) { + const comments = []; + tsutils.forEachComment(ast, (_, comment) => { + const type = comment.kind === ts.SyntaxKind.SingleLineCommentTrivia + ? ts_estree_1.AST_TOKEN_TYPES.Line + : ts_estree_1.AST_TOKEN_TYPES.Block; + const range = [comment.pos, comment.end]; + const loc = (0, node_utils_1.getLocFor)(range, ast); + // both comments start with 2 characters - /* or // + const textStart = range[0] + 2; + const textEnd = comment.kind === ts.SyntaxKind.SingleLineCommentTrivia + ? // single line comments end at the end + range[1] - textStart + : // multiline comments end 2 characters early + range[1] - textStart - 2; + comments.push({ + type, + value: code.slice(textStart, textStart + textEnd), + range, + loc, + }); + }, ast); + return comments; +} +exports.convertComments = convertComments; +//# sourceMappingURL=convert-comments.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/convert-comments.js.map b/packages/typescript-estree/dist/convert-comments.js.map new file mode 100644 index 000000000000..d62c2d5d8733 --- /dev/null +++ b/packages/typescript-estree/dist/convert-comments.js.map @@ -0,0 +1 @@ +{"version":3,"file":"convert-comments.js","sourceRoot":"","sources":["../src/convert-comments.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sDAAwC;AACxC,+CAAiC;AAEjC,6CAAyC;AAEzC,2CAA8C;AAE9C;;;;;;GAMG;AACH,SAAgB,eAAe,CAC7B,GAAkB,EAClB,IAAY;IAEZ,MAAM,QAAQ,GAAuB,EAAE,CAAC;IAExC,OAAO,CAAC,cAAc,CACpB,GAAG,EACH,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE;QACb,MAAM,IAAI,GACR,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,uBAAuB;YACpD,CAAC,CAAC,2BAAe,CAAC,IAAI;YACtB,CAAC,CAAC,2BAAe,CAAC,KAAK,CAAC;QAC5B,MAAM,KAAK,GAAmB,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QACzD,MAAM,GAAG,GAAG,IAAA,sBAAS,EAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAElC,mDAAmD;QACnD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,OAAO,GACX,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,uBAAuB;YACpD,CAAC,CAAC,sCAAsC;gBACtC,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS;YACtB,CAAC,CAAC,4CAA4C;gBAC5C,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC;QAC/B,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI;YACJ,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC;YACjD,KAAK;YACL,GAAG;SACJ,CAAC,CAAC;IACL,CAAC,EACD,GAAG,CACJ,CAAC;IAEF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAnCD,0CAmCC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/convert.d.ts b/packages/typescript-estree/dist/convert.d.ts new file mode 100644 index 000000000000..f4cfdf34ac9f --- /dev/null +++ b/packages/typescript-estree/dist/convert.d.ts @@ -0,0 +1,137 @@ +import * as ts from 'typescript'; +import type { TSError } from './node-utils'; +import type { ParserWeakMap, ParserWeakMapESTreeToTSNode } from './parser-options'; +import type { SemanticOrSyntacticError } from './semantic-or-syntactic-errors'; +import type { TSESTree, TSNode } from './ts-estree'; +export interface ConverterOptions { + allowInvalidAST?: boolean; + errorOnUnknownASTType?: boolean; + shouldPreserveNodeMaps?: boolean; + suppressDeprecatedPropertyWarnings?: boolean; +} +/** + * Extends and formats a given error object + * @param error the error object + * @returns converted error object + */ +export declare function convertError(error: SemanticOrSyntacticError | ts.DiagnosticWithLocation): TSError; +export interface ASTMaps { + esTreeNodeToTSNodeMap: ParserWeakMapESTreeToTSNode; + tsNodeToESTreeNodeMap: ParserWeakMap; +} +export declare class Converter { + #private; + private readonly ast; + private readonly options; + private readonly esTreeNodeToTSNodeMap; + private readonly tsNodeToESTreeNodeMap; + private allowPattern; + /** + * Converts a TypeScript node into an ESTree node + * @param ast the full TypeScript AST + * @param options additional options for the conversion + * @returns the converted ESTreeNode + */ + constructor(ast: ts.SourceFile, options?: ConverterOptions); + getASTMaps(): ASTMaps; + convertProgram(): TSESTree.Program; + /** + * Converts a TypeScript node into an ESTree node. + * @param node the child ts.Node + * @param parent parentNode + * @param allowPattern flag to determine if patterns are allowed + * @returns the converted ESTree node + */ + private converter; + /** + * Fixes the exports of the given ts.Node + * @returns the ESTreeNode with fixed exports + */ + private fixExports; + /** + * Register specific TypeScript node into map with first ESTree node provided + */ + private registerTSNodeInNodeMap; + /** + * Converts a TypeScript node into an ESTree node. + * @param child the child ts.Node + * @param parent parentNode + * @returns the converted ESTree node + */ + private convertPattern; + /** + * Converts a TypeScript node into an ESTree node. + * @param child the child ts.Node + * @param parent parentNode + * @returns the converted ESTree node + */ + private convertChild; + private createNode; + private convertBindingNameWithTypeAnnotation; + /** + * Converts a child into a type annotation. This creates an intermediary + * TypeAnnotation node to match what Flow does. + * @param child The TypeScript AST node to convert. + * @param parent parentNode + * @returns The type annotation node. + */ + private convertTypeAnnotation; + /** + * Coverts body Nodes and add a directive field to StringLiterals + * @param nodes of ts.Node + * @param parent parentNode + * @returns Array of body statements + */ + private convertBodyExpressions; + /** + * Converts a ts.Node's typeArguments to TSTypeParameterInstantiation node + * @param typeArguments ts.NodeArray typeArguments + * @param node parent used to create this node + * @returns TypeParameterInstantiation node + */ + private convertTypeArgumentsToTypeParameterInstantiation; + /** + * Converts a ts.Node's typeParameters to TSTypeParameterDeclaration node + * @param typeParameters ts.Node typeParameters + * @returns TypeParameterDeclaration node + */ + private convertTSTypeParametersToTypeParametersDeclaration; + /** + * Converts an array of ts.Node parameters into an array of ESTreeNode params + * @param parameters An array of ts.Node params to be converted + * @returns an array of converted ESTreeNode params + */ + private convertParameters; + private convertChainExpression; + /** + * For nodes that are copied directly from the TypeScript AST into + * ESTree mostly as-is. The only difference is the addition of a type + * property instead of a kind property. Recursively copies all children. + */ + private deeplyCopy; + private convertJSXIdentifier; + private convertJSXNamespaceOrIdentifier; + /** + * Converts a TypeScript JSX node.tagName into an ESTree node.name + * @param node the tagName object from a JSX ts.Node + * @returns the converted ESTree name object + */ + private convertJSXTagName; + private convertMethodSignature; + private convertImportAttributes; + /** + * Uses the provided range location to adjust the location data of the given Node + * @param result The node that will have its location data mutated + * @param childRange The child node range used to expand location + */ + private fixParentLocation; + private assertModuleSpecifier; + /** + * Converts a TypeScript node into an ESTree node. + * The core of the conversion logic: + * Identify and convert each relevant TypeScript SyntaxKind + * @returns the converted ESTree node + */ + private convertNode; +} +//# sourceMappingURL=convert.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/convert.d.ts.map b/packages/typescript-estree/dist/convert.d.ts.map new file mode 100644 index 000000000000..3a22a2a2e1f8 --- /dev/null +++ b/packages/typescript-estree/dist/convert.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../src/convert.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAGjC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AA6B5C,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;AAKtE,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;AAED,qBAAa,SAAS;;IACpB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAgB;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;IAC3C,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAiB;IACvD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAiB;IAEvD,OAAO,CAAC,YAAY,CAAS;IAE7B;;;;;OAKG;gBACS,GAAG,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,gBAAgB;IAK1D,UAAU,IAAI,OAAO;IAOrB,cAAc,IAAI,QAAQ,CAAC,OAAO;IAIlC;;;;;;OAMG;IACH,OAAO,CAAC,SAAS;IA8BjB;;;OAGG;IACH,OAAO,CAAC,UAAU;IAiFlB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAW/B;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAItB;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,UAAU;IAelB,OAAO,CAAC,oCAAoC;IAe5C;;;;;;OAMG;IACH,OAAO,CAAC,qBAAqB;IAsB7B;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB;IAiC9B;;;;;OAKG;IACH,OAAO,CAAC,gDAAgD;IAexD;;;;OAIG;IACH,OAAO,CAAC,kDAAkD;IAmB1D;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,sBAAsB;IA4C9B;;;;OAIG;IACH,OAAO,CAAC,UAAU;IA0FlB,OAAO,CAAC,oBAAoB;IAW5B,OAAO,CAAC,+BAA+B;IAiDvC;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IA8BzB,OAAO,CAAC,sBAAsB;IAoC9B,OAAO,CAAC,uBAAuB;IAQ/B;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAczB,OAAO,CAAC,qBAAqB;IAsB7B;;;;;OAKG;IACH,OAAO,CAAC,WAAW;CA2vFpB"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/convert.js b/packages/typescript-estree/dist/convert.js new file mode 100644 index 000000000000..ffefc6bc5fb2 --- /dev/null +++ b/packages/typescript-estree/dist/convert.js @@ -0,0 +1,2609 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Converter = exports.convertError = void 0; +// There's lots of funny stuff due to the typing of ts.Node +/* eslint-disable @typescript-eslint/no-non-null-assertion, @typescript-eslint/no-unnecessary-condition, @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-member-access */ +const ts = __importStar(require("typescript")); +const getModifiers_1 = require("./getModifiers"); +const node_utils_1 = require("./node-utils"); +const ts_estree_1 = require("./ts-estree"); +const SyntaxKind = ts.SyntaxKind; +/** + * Extends and formats a given error object + * @param error the error object + * @returns converted error object + */ +function convertError(error) { + return (0, node_utils_1.createError)(('message' in error && error.message) || error.messageText, error.file, error.start); +} +exports.convertError = convertError; +class Converter { + ast; + options; + esTreeNodeToTSNodeMap = new WeakMap(); + tsNodeToESTreeNodeMap = new WeakMap(); + allowPattern = false; + /** + * Converts a TypeScript node into an ESTree node + * @param ast the full TypeScript AST + * @param options additional options for the conversion + * @returns the converted ESTreeNode + */ + constructor(ast, options) { + this.ast = ast; + this.options = { ...options }; + } + getASTMaps() { + return { + esTreeNodeToTSNodeMap: this.esTreeNodeToTSNodeMap, + tsNodeToESTreeNodeMap: this.tsNodeToESTreeNodeMap, + }; + } + convertProgram() { + return this.converter(this.ast); + } + /** + * Converts a TypeScript node into an ESTree node. + * @param node the child ts.Node + * @param parent parentNode + * @param allowPattern flag to determine if patterns are allowed + * @returns the converted ESTree node + */ + converter(node, parent, allowPattern) { + /** + * Exit early for null and undefined + */ + if (!node) { + return null; + } + this.#checkModifiers(node); + const pattern = this.allowPattern; + if (allowPattern !== undefined) { + this.allowPattern = allowPattern; + } + const result = this.convertNode(node, (parent ?? node.parent)); + this.registerTSNodeInNodeMap(node, result); + this.allowPattern = pattern; + return result; + } + /** + * Fixes the exports of the given ts.Node + * @returns the ESTreeNode with fixed exports + */ + fixExports(node, result) { + const isNamespaceNode = ts.isModuleDeclaration(node) && + Boolean(node.flags & ts.NodeFlags.Namespace); + const modifiers = isNamespaceNode + ? (0, node_utils_1.getNamespaceModifiers)(node) + : (0, getModifiers_1.getModifiers)(node); + if (modifiers?.[0].kind === SyntaxKind.ExportKeyword) { + /** + * Make sure that original node is registered instead of export + */ + this.registerTSNodeInNodeMap(node, result); + const exportKeyword = modifiers[0]; + const nextModifier = modifiers[1]; + const declarationIsDefault = nextModifier?.kind === SyntaxKind.DefaultKeyword; + const varToken = declarationIsDefault + ? (0, node_utils_1.findNextToken)(nextModifier, this.ast, this.ast) + : (0, node_utils_1.findNextToken)(exportKeyword, this.ast, this.ast); + result.range[0] = varToken.getStart(this.ast); + result.loc = (0, node_utils_1.getLocFor)(result.range, this.ast); + if (declarationIsDefault) { + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.ExportDefaultDeclaration, + declaration: result, + range: [exportKeyword.getStart(this.ast), result.range[1]], + exportKind: 'value', + }); + } + const isType = result.type === ts_estree_1.AST_NODE_TYPES.TSInterfaceDeclaration || + result.type === ts_estree_1.AST_NODE_TYPES.TSTypeAliasDeclaration; + const isDeclare = 'declare' in result && result.declare; + return this.createNode(node, + // @ts-expect-error - TODO, narrow the types here + this.#withDeprecatedAliasGetter({ + type: ts_estree_1.AST_NODE_TYPES.ExportNamedDeclaration, + declaration: result, + specifiers: [], + source: null, + exportKind: isType || isDeclare ? 'type' : 'value', + range: [exportKeyword.getStart(this.ast), result.range[1]], + attributes: [], + }, 'assertions', 'attributes', true)); + } + return result; + } + /** + * Register specific TypeScript node into map with first ESTree node provided + */ + registerTSNodeInNodeMap(node, result) { + if (result && this.options.shouldPreserveNodeMaps) { + if (!this.tsNodeToESTreeNodeMap.has(node)) { + this.tsNodeToESTreeNodeMap.set(node, result); + } + } + } + /** + * Converts a TypeScript node into an ESTree node. + * @param child the child ts.Node + * @param parent parentNode + * @returns the converted ESTree node + */ + convertPattern(child, parent) { + return this.converter(child, parent, true); + } + /** + * Converts a TypeScript node into an ESTree node. + * @param child the child ts.Node + * @param parent parentNode + * @returns the converted ESTree node + */ + convertChild(child, parent) { + return this.converter(child, parent, false); + } + createNode( + // The 'parent' property will be added later if specified + node, data) { + const result = data; + result.range ??= (0, node_utils_1.getRange)(node, this.ast); + result.loc ??= (0, node_utils_1.getLocFor)(result.range, this.ast); + if (result && this.options.shouldPreserveNodeMaps) { + this.esTreeNodeToTSNodeMap.set(result, node); + } + return result; + } + convertBindingNameWithTypeAnnotation(name, tsType, parent) { + const id = this.convertPattern(name); + if (tsType) { + id.typeAnnotation = this.convertTypeAnnotation(tsType, parent); + this.fixParentLocation(id, id.typeAnnotation.range); + } + return id; + } + /** + * Converts a child into a type annotation. This creates an intermediary + * TypeAnnotation node to match what Flow does. + * @param child The TypeScript AST node to convert. + * @param parent parentNode + * @returns The type annotation node. + */ + convertTypeAnnotation(child, parent) { + // in FunctionType and ConstructorType typeAnnotation has 2 characters `=>` and in other places is just colon + const offset = parent?.kind === SyntaxKind.FunctionType || + parent?.kind === SyntaxKind.ConstructorType + ? 2 + : 1; + const annotationStartCol = child.getFullStart() - offset; + const range = [annotationStartCol, child.end]; + const loc = (0, node_utils_1.getLocFor)(range, this.ast); + return { + type: ts_estree_1.AST_NODE_TYPES.TSTypeAnnotation, + loc, + range, + typeAnnotation: this.convertChild(child), + }; + } + /** + * Coverts body Nodes and add a directive field to StringLiterals + * @param nodes of ts.Node + * @param parent parentNode + * @returns Array of body statements + */ + convertBodyExpressions(nodes, parent) { + let allowDirectives = (0, node_utils_1.canContainDirective)(parent); + return (nodes + .map(statement => { + const child = this.convertChild(statement); + if (allowDirectives) { + if (child?.expression && + ts.isExpressionStatement(statement) && + ts.isStringLiteral(statement.expression)) { + const raw = child.expression.raw; + child.directive = raw.slice(1, -1); + return child; // child can be null, but it's filtered below + } + allowDirectives = false; + } + return child; // child can be null, but it's filtered below + }) + // filter out unknown nodes for now + .filter(statement => statement)); + } + /** + * Converts a ts.Node's typeArguments to TSTypeParameterInstantiation node + * @param typeArguments ts.NodeArray typeArguments + * @param node parent used to create this node + * @returns TypeParameterInstantiation node + */ + convertTypeArgumentsToTypeParameterInstantiation(typeArguments, node) { + const greaterThanToken = (0, node_utils_1.findNextToken)(typeArguments, this.ast, this.ast); + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.TSTypeParameterInstantiation, + range: [typeArguments.pos - 1, greaterThanToken.end], + params: typeArguments.map(typeArgument => this.convertChild(typeArgument)), + }); + } + /** + * Converts a ts.Node's typeParameters to TSTypeParameterDeclaration node + * @param typeParameters ts.Node typeParameters + * @returns TypeParameterDeclaration node + */ + convertTSTypeParametersToTypeParametersDeclaration(typeParameters) { + const greaterThanToken = (0, node_utils_1.findNextToken)(typeParameters, this.ast, this.ast); + const range = [ + typeParameters.pos - 1, + greaterThanToken.end, + ]; + return { + type: ts_estree_1.AST_NODE_TYPES.TSTypeParameterDeclaration, + range, + loc: (0, node_utils_1.getLocFor)(range, this.ast), + params: typeParameters.map(typeParameter => this.convertChild(typeParameter)), + }; + } + /** + * Converts an array of ts.Node parameters into an array of ESTreeNode params + * @param parameters An array of ts.Node params to be converted + * @returns an array of converted ESTreeNode params + */ + convertParameters(parameters) { + if (!parameters?.length) { + return []; + } + return parameters.map(param => { + const convertedParam = this.convertChild(param); + convertedParam.decorators = + (0, getModifiers_1.getDecorators)(param)?.map(el => this.convertChild(el)) ?? []; + return convertedParam; + }); + } + convertChainExpression(node, tsNode) { + const { child, isOptional } = (() => { + if (node.type === ts_estree_1.AST_NODE_TYPES.MemberExpression) { + return { child: node.object, isOptional: node.optional }; + } + if (node.type === ts_estree_1.AST_NODE_TYPES.CallExpression) { + return { child: node.callee, isOptional: node.optional }; + } + return { child: node.expression, isOptional: false }; + })(); + const isChildUnwrappable = (0, node_utils_1.isChildUnwrappableOptionalChain)(tsNode, child); + if (!isChildUnwrappable && !isOptional) { + return node; + } + if (isChildUnwrappable && (0, node_utils_1.isChainExpression)(child)) { + // unwrap the chain expression child + const newChild = child.expression; + if (node.type === ts_estree_1.AST_NODE_TYPES.MemberExpression) { + node.object = newChild; + } + else if (node.type === ts_estree_1.AST_NODE_TYPES.CallExpression) { + node.callee = newChild; + } + else { + node.expression = newChild; + } + } + return this.createNode(tsNode, { + type: ts_estree_1.AST_NODE_TYPES.ChainExpression, + expression: node, + }); + } + /** + * For nodes that are copied directly from the TypeScript AST into + * ESTree mostly as-is. The only difference is the addition of a type + * property instead of a kind property. Recursively copies all children. + */ + deeplyCopy(node) { + if (node.kind === ts.SyntaxKind.JSDocFunctionType) { + this.#throwError(node, 'JSDoc types can only be used inside documentation comments.'); + } + const customType = `TS${SyntaxKind[node.kind]}`; + /** + * If the "errorOnUnknownASTType" option is set to true, throw an error, + * otherwise fallback to just including the unknown type as-is. + */ + if (this.options.errorOnUnknownASTType && !ts_estree_1.AST_NODE_TYPES[customType]) { + throw new Error(`Unknown AST_NODE_TYPE: "${customType}"`); + } + const result = this.createNode(node, { + type: customType, + }); + if ('type' in node) { + result.typeAnnotation = + node.type && 'kind' in node.type && ts.isTypeNode(node.type) + ? this.convertTypeAnnotation(node.type, node) + : null; + } + if ('typeArguments' in node) { + result.typeArguments = + node.typeArguments && 'pos' in node.typeArguments + ? this.convertTypeArgumentsToTypeParameterInstantiation(node.typeArguments, node) + : null; + } + if ('typeParameters' in node) { + result.typeParameters = + node.typeParameters && 'pos' in node.typeParameters + ? this.convertTSTypeParametersToTypeParametersDeclaration(node.typeParameters) + : null; + } + const decorators = (0, getModifiers_1.getDecorators)(node); + if (decorators?.length) { + result.decorators = decorators.map(el => this.convertChild(el)); + } + // keys we never want to clone from the base typescript node as they + // introduce garbage into our AST + const KEYS_TO_NOT_COPY = new Set([ + '_children', + 'decorators', + 'end', + 'flags', + 'illegalDecorators', + 'heritageClauses', + 'locals', + 'localSymbol', + 'jsDoc', + 'kind', + 'modifierFlagsCache', + 'modifiers', + 'nextContainer', + 'parent', + 'pos', + 'symbol', + 'transformFlags', + 'type', + 'typeArguments', + 'typeParameters', + ]); + Object.entries(node) + .filter(([key]) => !KEYS_TO_NOT_COPY.has(key)) + .forEach(([key, value]) => { + if (Array.isArray(value)) { + result[key] = value.map(el => this.convertChild(el)); + } + else if (value && typeof value === 'object' && value.kind) { + // need to check node[key].kind to ensure we don't try to convert a symbol + result[key] = this.convertChild(value); + } + else { + result[key] = value; + } + }); + return result; + } + convertJSXIdentifier(node) { + const result = this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.JSXIdentifier, + name: node.getText(), + }); + this.registerTSNodeInNodeMap(node, result); + return result; + } + convertJSXNamespaceOrIdentifier(node) { + // TypeScript@5.1 added in ts.JsxNamespacedName directly + // We prefer using that if it's relevant for this node type + if (node.kind === ts.SyntaxKind.JsxNamespacedName) { + const result = this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.JSXNamespacedName, + namespace: this.createNode(node.namespace, { + type: ts_estree_1.AST_NODE_TYPES.JSXIdentifier, + name: node.namespace.text, + }), + name: this.createNode(node.name, { + type: ts_estree_1.AST_NODE_TYPES.JSXIdentifier, + name: node.name.text, + }), + }); + this.registerTSNodeInNodeMap(node, result); + return result; + } + // TypeScript@<5.1 has to manually parse the JSX attributes + const text = node.getText(); + const colonIndex = text.indexOf(':'); + // this is intentional we can ignore conversion if `:` is in first character + if (colonIndex > 0) { + const range = (0, node_utils_1.getRange)(node, this.ast); + // @ts-expect-error -- TypeScript@<5.1 doesn't have ts.JsxNamespacedName + const result = this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.JSXNamespacedName, + namespace: this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.JSXIdentifier, + name: text.slice(0, colonIndex), + range: [range[0], range[0] + colonIndex], + }), + name: this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.JSXIdentifier, + name: text.slice(colonIndex + 1), + range: [range[0] + colonIndex + 1, range[1]], + }), + range, + }); + this.registerTSNodeInNodeMap(node, result); + return result; + } + return this.convertJSXIdentifier(node); + } + /** + * Converts a TypeScript JSX node.tagName into an ESTree node.name + * @param node the tagName object from a JSX ts.Node + * @returns the converted ESTree name object + */ + convertJSXTagName(node, parent) { + let result; + switch (node.kind) { + case SyntaxKind.PropertyAccessExpression: + if (node.name.kind === SyntaxKind.PrivateIdentifier) { + // This is one of the few times where TS explicitly errors, and doesn't even gracefully handle the syntax. + // So we shouldn't ever get into this state to begin with. + this.#throwError(node.name, 'Non-private identifier expected.'); + } + result = this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.JSXMemberExpression, + object: this.convertJSXTagName(node.expression, parent), + property: this.convertJSXIdentifier(node.name), + }); + break; + case SyntaxKind.ThisKeyword: + case SyntaxKind.Identifier: + default: + return this.convertJSXNamespaceOrIdentifier(node); + } + this.registerTSNodeInNodeMap(node, result); + return result; + } + convertMethodSignature(node) { + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.TSMethodSignature, + accessibility: (0, node_utils_1.getTSNodeAccessibility)(node), + computed: (0, node_utils_1.isComputedProperty)(node.name), + key: this.convertChild(node.name), + kind: (() => { + switch (node.kind) { + case SyntaxKind.GetAccessor: + return 'get'; + case SyntaxKind.SetAccessor: + return 'set'; + case SyntaxKind.MethodSignature: + return 'method'; + } + })(), + optional: (0, node_utils_1.isOptional)(node), + params: this.convertParameters(node.parameters), + returnType: node.type && this.convertTypeAnnotation(node.type, node), + readonly: (0, node_utils_1.hasModifier)(SyntaxKind.ReadonlyKeyword, node), + static: (0, node_utils_1.hasModifier)(SyntaxKind.StaticKeyword, node), + typeParameters: node.typeParameters && + this.convertTSTypeParametersToTypeParametersDeclaration(node.typeParameters), + }); + } + convertImportAttributes(node) { + return node === undefined + ? [] + : node.elements.map(element => this.convertChild(element)); + } + /** + * Uses the provided range location to adjust the location data of the given Node + * @param result The node that will have its location data mutated + * @param childRange The child node range used to expand location + */ + fixParentLocation(result, childRange) { + if (childRange[0] < result.range[0]) { + result.range[0] = childRange[0]; + result.loc.start = (0, node_utils_1.getLineAndCharacterFor)(result.range[0], this.ast); + } + if (childRange[1] > result.range[1]) { + result.range[1] = childRange[1]; + result.loc.end = (0, node_utils_1.getLineAndCharacterFor)(result.range[1], this.ast); + } + } + assertModuleSpecifier(node, allowNull) { + if (!allowNull && node.moduleSpecifier == null) { + this.#throwUnlessAllowInvalidAST(node, 'Module specifier must be a string literal.'); + } + if (node.moduleSpecifier && + node.moduleSpecifier?.kind !== SyntaxKind.StringLiteral) { + this.#throwUnlessAllowInvalidAST(node.moduleSpecifier, 'Module specifier must be a string literal.'); + } + } + /** + * Converts a TypeScript node into an ESTree node. + * The core of the conversion logic: + * Identify and convert each relevant TypeScript SyntaxKind + * @returns the converted ESTree node + */ + convertNode(node, parent) { + switch (node.kind) { + case SyntaxKind.SourceFile: { + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.Program, + body: this.convertBodyExpressions(node.statements, node), + comments: undefined, + range: [node.getStart(this.ast), node.endOfFileToken.end], + sourceType: node.externalModuleIndicator ? 'module' : 'script', + tokens: undefined, + }); + } + case SyntaxKind.Block: { + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.BlockStatement, + body: this.convertBodyExpressions(node.statements, node), + }); + } + case SyntaxKind.Identifier: { + if ((0, node_utils_1.isThisInTypeQuery)(node)) { + // special case for `typeof this.foo` - TS emits an Identifier for `this` + // but we want to treat it as a ThisExpression for consistency + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.ThisExpression, + }); + } + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.Identifier, + decorators: [], + name: node.text, + optional: false, + typeAnnotation: undefined, + }); + } + case SyntaxKind.PrivateIdentifier: { + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.PrivateIdentifier, + // typescript includes the `#` in the text + name: node.text.slice(1), + }); + } + case SyntaxKind.WithStatement: + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.WithStatement, + object: this.convertChild(node.expression), + body: this.convertChild(node.statement), + }); + // Control Flow + case SyntaxKind.ReturnStatement: + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.ReturnStatement, + argument: this.convertChild(node.expression), + }); + case SyntaxKind.LabeledStatement: + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.LabeledStatement, + label: this.convertChild(node.label), + body: this.convertChild(node.statement), + }); + case SyntaxKind.ContinueStatement: + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.ContinueStatement, + label: this.convertChild(node.label), + }); + case SyntaxKind.BreakStatement: + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.BreakStatement, + label: this.convertChild(node.label), + }); + // Choice + case SyntaxKind.IfStatement: + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.IfStatement, + test: this.convertChild(node.expression), + consequent: this.convertChild(node.thenStatement), + alternate: this.convertChild(node.elseStatement), + }); + case SyntaxKind.SwitchStatement: + if (node.caseBlock.clauses.filter(switchCase => switchCase.kind === SyntaxKind.DefaultClause).length > 1) { + this.#throwError(node, "A 'default' clause cannot appear more than once in a 'switch' statement."); + } + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.SwitchStatement, + discriminant: this.convertChild(node.expression), + cases: node.caseBlock.clauses.map(el => this.convertChild(el)), + }); + case SyntaxKind.CaseClause: + case SyntaxKind.DefaultClause: + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.SwitchCase, + // expression is present in case only + test: node.kind === SyntaxKind.CaseClause + ? this.convertChild(node.expression) + : null, + consequent: node.statements.map(el => this.convertChild(el)), + }); + // Exceptions + case SyntaxKind.ThrowStatement: + if (node.expression.end === node.expression.pos) { + this.#throwUnlessAllowInvalidAST(node, 'A throw statement must throw an expression.'); + } + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.ThrowStatement, + argument: this.convertChild(node.expression), + }); + case SyntaxKind.TryStatement: + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.TryStatement, + block: this.convertChild(node.tryBlock), + handler: this.convertChild(node.catchClause), + finalizer: this.convertChild(node.finallyBlock), + }); + case SyntaxKind.CatchClause: + if (node.variableDeclaration?.initializer) { + this.#throwError(node.variableDeclaration.initializer, 'Catch clause variable cannot have an initializer.'); + } + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.CatchClause, + param: node.variableDeclaration + ? this.convertBindingNameWithTypeAnnotation(node.variableDeclaration.name, node.variableDeclaration.type) + : null, + body: this.convertChild(node.block), + }); + // Loops + case SyntaxKind.WhileStatement: + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.WhileStatement, + test: this.convertChild(node.expression), + body: this.convertChild(node.statement), + }); + /** + * Unlike other parsers, TypeScript calls a "DoWhileStatement" + * a "DoStatement" + */ + case SyntaxKind.DoStatement: + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.DoWhileStatement, + test: this.convertChild(node.expression), + body: this.convertChild(node.statement), + }); + case SyntaxKind.ForStatement: + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.ForStatement, + init: this.convertChild(node.initializer), + test: this.convertChild(node.condition), + update: this.convertChild(node.incrementor), + body: this.convertChild(node.statement), + }); + case SyntaxKind.ForInStatement: + this.#checkForStatementDeclaration(node.initializer); + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.ForInStatement, + left: this.convertPattern(node.initializer), + right: this.convertChild(node.expression), + body: this.convertChild(node.statement), + }); + case SyntaxKind.ForOfStatement: + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.ForOfStatement, + left: this.convertPattern(node.initializer), + right: this.convertChild(node.expression), + body: this.convertChild(node.statement), + await: Boolean(node.awaitModifier && + node.awaitModifier.kind === SyntaxKind.AwaitKeyword), + }); + // Declarations + case SyntaxKind.FunctionDeclaration: { + const isDeclare = (0, node_utils_1.hasModifier)(SyntaxKind.DeclareKeyword, node); + const isAsync = (0, node_utils_1.hasModifier)(SyntaxKind.AsyncKeyword, node); + const isGenerator = !!node.asteriskToken; + if (isDeclare) { + if (node.body) { + this.#throwError(node, 'An implementation cannot be declared in ambient contexts.'); + } + else if (isAsync) { + this.#throwError(node, "'async' modifier cannot be used in an ambient context."); + } + else if (isGenerator) { + this.#throwError(node, 'Generators are not allowed in an ambient context.'); + } + } + else { + if (!node.body && isGenerator) { + this.#throwError(node, 'A function signature cannot be declared as a generator.'); + } + } + const result = this.createNode(node, { + // declare implies no body due to the invariant above + type: !node.body + ? ts_estree_1.AST_NODE_TYPES.TSDeclareFunction + : ts_estree_1.AST_NODE_TYPES.FunctionDeclaration, + async: isAsync, + body: this.convertChild(node.body) || undefined, + declare: isDeclare, + expression: false, + generator: isGenerator, + id: this.convertChild(node.name), + params: this.convertParameters(node.parameters), + returnType: node.type && this.convertTypeAnnotation(node.type, node), + typeParameters: node.typeParameters && + this.convertTSTypeParametersToTypeParametersDeclaration(node.typeParameters), + }); + return this.fixExports(node, result); + } + case SyntaxKind.VariableDeclaration: { + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.VariableDeclarator, + definite: !!node.exclamationToken, + id: this.convertBindingNameWithTypeAnnotation(node.name, node.type, node), + init: this.convertChild(node.initializer), + }); + } + case SyntaxKind.VariableStatement: { + const result = this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.VariableDeclaration, + declarations: node.declarationList.declarations.map(el => this.convertChild(el)), + declare: (0, node_utils_1.hasModifier)(SyntaxKind.DeclareKeyword, node), + kind: (0, node_utils_1.getDeclarationKind)(node.declarationList), + }); + if (!result.declarations.length) { + this.#throwUnlessAllowInvalidAST(node, 'A variable declaration list must have at least one variable declarator.'); + } + if (result.kind === 'using' || result.kind === 'await using') { + node.declarationList.declarations.forEach((declaration, i) => { + if (result.declarations[i].init == null) { + this.#throwError(declaration, `'${result.kind}' declarations must be initialized.`); + } + if (result.declarations[i].id.type !== ts_estree_1.AST_NODE_TYPES.Identifier) { + this.#throwError(declaration.name, `'${result.kind}' declarations may not have binding patterns.`); + } + }); + } + /** + * Semantically, decorators are not allowed on variable declarations, + * Pre 4.8 TS would include them in the AST, so we did as well. + * However as of 4.8 TS no longer includes it (as it is, well, invalid). + * + * So for consistency across versions, we no longer include it either. + */ + return this.fixExports(node, result); + } + // mostly for for-of, for-in + case SyntaxKind.VariableDeclarationList: { + const result = this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.VariableDeclaration, + declarations: node.declarations.map(el => this.convertChild(el)), + declare: false, + kind: (0, node_utils_1.getDeclarationKind)(node), + }); + if (result.kind === 'using' || result.kind === 'await using') { + node.declarations.forEach((declaration, i) => { + if (result.declarations[i].init != null) { + this.#throwError(declaration, `'${result.kind}' declarations may not be initialized in for statement.`); + } + if (result.declarations[i].id.type !== ts_estree_1.AST_NODE_TYPES.Identifier) { + this.#throwError(declaration.name, `'${result.kind}' declarations may not have binding patterns.`); + } + }); + } + return result; + } + // Expressions + case SyntaxKind.ExpressionStatement: + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.ExpressionStatement, + directive: undefined, + expression: this.convertChild(node.expression), + }); + case SyntaxKind.ThisKeyword: + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.ThisExpression, + }); + case SyntaxKind.ArrayLiteralExpression: { + // TypeScript uses ArrayLiteralExpression in destructuring assignment, too + if (this.allowPattern) { + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.ArrayPattern, + decorators: [], + elements: node.elements.map(el => this.convertPattern(el)), + optional: false, + typeAnnotation: undefined, + }); + } + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.ArrayExpression, + elements: node.elements.map(el => this.convertChild(el)), + }); + } + case SyntaxKind.ObjectLiteralExpression: { + // TypeScript uses ObjectLiteralExpression in destructuring assignment, too + if (this.allowPattern) { + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.ObjectPattern, + decorators: [], + optional: false, + properties: node.properties.map(el => this.convertPattern(el)), + typeAnnotation: undefined, + }); + } + const properties = []; + for (const property of node.properties) { + if ((property.kind === SyntaxKind.GetAccessor || + property.kind === SyntaxKind.SetAccessor || + property.kind === SyntaxKind.MethodDeclaration) && + !property.body) { + this.#throwUnlessAllowInvalidAST(property.end - 1, "'{' expected."); + } + properties.push(this.convertChild(property)); + } + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.ObjectExpression, + properties, + }); + } + case SyntaxKind.PropertyAssignment: { + // eslint-disable-next-line deprecation/deprecation + const { questionToken, exclamationToken } = node; + if (questionToken) { + this.#throwError(questionToken, 'A property assignment cannot have a question token.'); + } + if (exclamationToken) { + this.#throwError(exclamationToken, 'A property assignment cannot have an exclamation token.'); + } + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.Property, + key: this.convertChild(node.name), + value: this.converter(node.initializer, node, this.allowPattern), + computed: (0, node_utils_1.isComputedProperty)(node.name), + method: false, + optional: false, + shorthand: false, + kind: 'init', + }); + } + case SyntaxKind.ShorthandPropertyAssignment: { + // eslint-disable-next-line deprecation/deprecation + const { modifiers, questionToken, exclamationToken } = node; + if (modifiers) { + this.#throwError(modifiers[0], 'A shorthand property assignment cannot have modifiers.'); + } + if (questionToken) { + this.#throwError(questionToken, 'A shorthand property assignment cannot have a question token.'); + } + if (exclamationToken) { + this.#throwError(exclamationToken, 'A shorthand property assignment cannot have an exclamation token.'); + } + if (node.objectAssignmentInitializer) { + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.Property, + key: this.convertChild(node.name), + value: this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.AssignmentPattern, + decorators: [], + left: this.convertPattern(node.name), + optional: false, + right: this.convertChild(node.objectAssignmentInitializer), + typeAnnotation: undefined, + }), + computed: false, + method: false, + optional: false, + shorthand: true, + kind: 'init', + }); + } + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.Property, + computed: false, + key: this.convertChild(node.name), + kind: 'init', + method: false, + optional: false, + shorthand: true, + value: this.convertChild(node.name), + }); + } + case SyntaxKind.ComputedPropertyName: + return this.convertChild(node.expression); + case SyntaxKind.PropertyDeclaration: { + const isAbstract = (0, node_utils_1.hasModifier)(SyntaxKind.AbstractKeyword, node); + if (isAbstract && node.initializer) { + this.#throwError(node.initializer, `Abstract property cannot have an initializer.`); + } + const isAccessor = (0, node_utils_1.hasModifier)(SyntaxKind.AccessorKeyword, node); + const type = (() => { + if (isAccessor) { + if (isAbstract) { + return ts_estree_1.AST_NODE_TYPES.TSAbstractAccessorProperty; + } + return ts_estree_1.AST_NODE_TYPES.AccessorProperty; + } + if (isAbstract) { + return ts_estree_1.AST_NODE_TYPES.TSAbstractPropertyDefinition; + } + return ts_estree_1.AST_NODE_TYPES.PropertyDefinition; + })(); + const key = this.convertChild(node.name); + return this.createNode(node, { + type, + key, + accessibility: (0, node_utils_1.getTSNodeAccessibility)(node), + value: isAbstract ? null : this.convertChild(node.initializer), + computed: (0, node_utils_1.isComputedProperty)(node.name), + static: (0, node_utils_1.hasModifier)(SyntaxKind.StaticKeyword, node), + readonly: (0, node_utils_1.hasModifier)(SyntaxKind.ReadonlyKeyword, node), + decorators: (0, getModifiers_1.getDecorators)(node)?.map(el => this.convertChild(el)) ?? [], + declare: (0, node_utils_1.hasModifier)(SyntaxKind.DeclareKeyword, node), + override: (0, node_utils_1.hasModifier)(SyntaxKind.OverrideKeyword, node), + typeAnnotation: node.type && this.convertTypeAnnotation(node.type, node), + optional: (key.type === ts_estree_1.AST_NODE_TYPES.Literal || + node.name.kind === SyntaxKind.Identifier || + node.name.kind === SyntaxKind.ComputedPropertyName || + node.name.kind === SyntaxKind.PrivateIdentifier) && + !!node.questionToken, + definite: !!node.exclamationToken, + }); + } + case SyntaxKind.GetAccessor: + case SyntaxKind.SetAccessor: { + if (node.parent.kind === SyntaxKind.InterfaceDeclaration || + node.parent.kind === SyntaxKind.TypeLiteral) { + return this.convertMethodSignature(node); + } + } + // otherwise, it is a non-type accessor - intentional fallthrough + case SyntaxKind.MethodDeclaration: { + const method = this.createNode(node, { + type: !node.body + ? ts_estree_1.AST_NODE_TYPES.TSEmptyBodyFunctionExpression + : ts_estree_1.AST_NODE_TYPES.FunctionExpression, + id: null, + generator: !!node.asteriskToken, + expression: false, // ESTreeNode as ESTreeNode here + async: (0, node_utils_1.hasModifier)(SyntaxKind.AsyncKeyword, node), + body: this.convertChild(node.body), + declare: false, + range: [node.parameters.pos - 1, node.end], + params: [], + returnType: node.type && this.convertTypeAnnotation(node.type, node), + typeParameters: node.typeParameters && + this.convertTSTypeParametersToTypeParametersDeclaration(node.typeParameters), + }); + if (method.typeParameters) { + this.fixParentLocation(method, method.typeParameters.range); + } + let result; + if (parent.kind === SyntaxKind.ObjectLiteralExpression) { + method.params = node.parameters.map(el => this.convertChild(el)); + result = this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.Property, + key: this.convertChild(node.name), + value: method, + computed: (0, node_utils_1.isComputedProperty)(node.name), + optional: !!node.questionToken, + method: node.kind === SyntaxKind.MethodDeclaration, + shorthand: false, + kind: 'init', + }); + } + else { + // class + /** + * Unlike in object literal methods, class method params can have decorators + */ + method.params = this.convertParameters(node.parameters); + /** + * TypeScript class methods can be defined as "abstract" + */ + const methodDefinitionType = (0, node_utils_1.hasModifier)(SyntaxKind.AbstractKeyword, node) + ? ts_estree_1.AST_NODE_TYPES.TSAbstractMethodDefinition + : ts_estree_1.AST_NODE_TYPES.MethodDefinition; + result = this.createNode(node, { + type: methodDefinitionType, + accessibility: (0, node_utils_1.getTSNodeAccessibility)(node), + computed: (0, node_utils_1.isComputedProperty)(node.name), + decorators: (0, getModifiers_1.getDecorators)(node)?.map(el => this.convertChild(el)) ?? [], + key: this.convertChild(node.name), + kind: 'method', + optional: !!node.questionToken, + override: (0, node_utils_1.hasModifier)(SyntaxKind.OverrideKeyword, node), + static: (0, node_utils_1.hasModifier)(SyntaxKind.StaticKeyword, node), + value: method, + }); + } + if (node.kind === SyntaxKind.GetAccessor) { + result.kind = 'get'; + } + else if (node.kind === SyntaxKind.SetAccessor) { + result.kind = 'set'; + } + else if (!result.static && + node.name.kind === SyntaxKind.StringLiteral && + node.name.text === 'constructor' && + result.type !== ts_estree_1.AST_NODE_TYPES.Property) { + result.kind = 'constructor'; + } + return result; + } + // TypeScript uses this even for static methods named "constructor" + case SyntaxKind.Constructor: { + const lastModifier = (0, node_utils_1.getLastModifier)(node); + const constructorToken = (lastModifier && (0, node_utils_1.findNextToken)(lastModifier, node, this.ast)) ?? + node.getFirstToken(); + const constructor = this.createNode(node, { + type: !node.body + ? ts_estree_1.AST_NODE_TYPES.TSEmptyBodyFunctionExpression + : ts_estree_1.AST_NODE_TYPES.FunctionExpression, + async: false, + body: this.convertChild(node.body), + declare: false, + expression: false, // is not present in ESTreeNode + generator: false, + id: null, + params: this.convertParameters(node.parameters), + range: [node.parameters.pos - 1, node.end], + returnType: node.type && this.convertTypeAnnotation(node.type, node), + typeParameters: node.typeParameters && + this.convertTSTypeParametersToTypeParametersDeclaration(node.typeParameters), + }); + if (constructor.typeParameters) { + this.fixParentLocation(constructor, constructor.typeParameters.range); + } + const constructorKey = this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.Identifier, + decorators: [], + name: 'constructor', + optional: false, + range: [constructorToken.getStart(this.ast), constructorToken.end], + typeAnnotation: undefined, + }); + const isStatic = (0, node_utils_1.hasModifier)(SyntaxKind.StaticKeyword, node); + return this.createNode(node, { + type: (0, node_utils_1.hasModifier)(SyntaxKind.AbstractKeyword, node) + ? ts_estree_1.AST_NODE_TYPES.TSAbstractMethodDefinition + : ts_estree_1.AST_NODE_TYPES.MethodDefinition, + accessibility: (0, node_utils_1.getTSNodeAccessibility)(node), + computed: false, + decorators: [], + optional: false, + key: constructorKey, + kind: isStatic ? 'method' : 'constructor', + override: false, + static: isStatic, + value: constructor, + }); + } + case SyntaxKind.FunctionExpression: { + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.FunctionExpression, + async: (0, node_utils_1.hasModifier)(SyntaxKind.AsyncKeyword, node), + body: this.convertChild(node.body), + declare: false, + expression: false, + generator: !!node.asteriskToken, + id: this.convertChild(node.name), + params: this.convertParameters(node.parameters), + returnType: node.type && this.convertTypeAnnotation(node.type, node), + typeParameters: node.typeParameters && + this.convertTSTypeParametersToTypeParametersDeclaration(node.typeParameters), + }); + } + case SyntaxKind.SuperKeyword: + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.Super, + }); + case SyntaxKind.ArrayBindingPattern: + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.ArrayPattern, + decorators: [], + elements: node.elements.map(el => this.convertPattern(el)), + optional: false, + typeAnnotation: undefined, + }); + // occurs with missing array elements like [,] + case SyntaxKind.OmittedExpression: + return null; + case SyntaxKind.ObjectBindingPattern: + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.ObjectPattern, + decorators: [], + optional: false, + properties: node.elements.map(el => this.convertPattern(el)), + typeAnnotation: undefined, + }); + case SyntaxKind.BindingElement: { + if (parent.kind === SyntaxKind.ArrayBindingPattern) { + const arrayItem = this.convertChild(node.name, parent); + if (node.initializer) { + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.AssignmentPattern, + decorators: [], + left: arrayItem, + optional: false, + right: this.convertChild(node.initializer), + typeAnnotation: undefined, + }); + } + else if (node.dotDotDotToken) { + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.RestElement, + argument: arrayItem, + decorators: [], + optional: false, + typeAnnotation: undefined, + value: undefined, + }); + } + return arrayItem; + } + let result; + if (node.dotDotDotToken) { + result = this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.RestElement, + argument: this.convertChild(node.propertyName ?? node.name), + decorators: [], + optional: false, + typeAnnotation: undefined, + value: undefined, + }); + } + else { + result = this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.Property, + key: this.convertChild(node.propertyName ?? node.name), + value: this.convertChild(node.name), + computed: Boolean(node.propertyName && + node.propertyName.kind === SyntaxKind.ComputedPropertyName), + method: false, + optional: false, + shorthand: !node.propertyName, + kind: 'init', + }); + } + if (node.initializer) { + result.value = this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.AssignmentPattern, + decorators: [], + left: this.convertChild(node.name), + optional: false, + range: [node.name.getStart(this.ast), node.initializer.end], + right: this.convertChild(node.initializer), + typeAnnotation: undefined, + }); + } + return result; + } + case SyntaxKind.ArrowFunction: { + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.ArrowFunctionExpression, + generator: false, + id: null, + params: this.convertParameters(node.parameters), + body: this.convertChild(node.body), + async: (0, node_utils_1.hasModifier)(SyntaxKind.AsyncKeyword, node), + expression: node.body.kind !== SyntaxKind.Block, + returnType: node.type && this.convertTypeAnnotation(node.type, node), + typeParameters: node.typeParameters && + this.convertTSTypeParametersToTypeParametersDeclaration(node.typeParameters), + }); + } + case SyntaxKind.YieldExpression: + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.YieldExpression, + delegate: !!node.asteriskToken, + argument: this.convertChild(node.expression), + }); + case SyntaxKind.AwaitExpression: + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.AwaitExpression, + argument: this.convertChild(node.expression), + }); + // Template Literals + case SyntaxKind.NoSubstitutionTemplateLiteral: + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.TemplateLiteral, + quasis: [ + this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.TemplateElement, + value: { + raw: this.ast.text.slice(node.getStart(this.ast) + 1, node.end - 1), + cooked: node.text, + }, + tail: true, + }), + ], + expressions: [], + }); + case SyntaxKind.TemplateExpression: { + const result = this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.TemplateLiteral, + quasis: [this.convertChild(node.head)], + expressions: [], + }); + node.templateSpans.forEach(templateSpan => { + result.expressions.push(this.convertChild(templateSpan.expression)); + result.quasis.push(this.convertChild(templateSpan.literal)); + }); + return result; + } + case SyntaxKind.TaggedTemplateExpression: + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.TaggedTemplateExpression, + typeArguments: node.typeArguments && + this.convertTypeArgumentsToTypeParameterInstantiation(node.typeArguments, node), + tag: this.convertChild(node.tag), + quasi: this.convertChild(node.template), + }); + case SyntaxKind.TemplateHead: + case SyntaxKind.TemplateMiddle: + case SyntaxKind.TemplateTail: { + const tail = node.kind === SyntaxKind.TemplateTail; + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.TemplateElement, + value: { + raw: this.ast.text.slice(node.getStart(this.ast) + 1, node.end - (tail ? 1 : 2)), + cooked: node.text, + }, + tail, + }); + } + // Patterns + case SyntaxKind.SpreadAssignment: + case SyntaxKind.SpreadElement: { + if (this.allowPattern) { + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.RestElement, + argument: this.convertPattern(node.expression), + decorators: [], + optional: false, + typeAnnotation: undefined, + value: undefined, + }); + } + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.SpreadElement, + argument: this.convertChild(node.expression), + }); + } + case SyntaxKind.Parameter: { + let parameter; + let result; + if (node.dotDotDotToken) { + parameter = result = this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.RestElement, + argument: this.convertChild(node.name), + decorators: [], + optional: false, + typeAnnotation: undefined, + value: undefined, + }); + } + else if (node.initializer) { + parameter = this.convertChild(node.name); + result = this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.AssignmentPattern, + decorators: [], + left: parameter, + optional: false, + right: this.convertChild(node.initializer), + typeAnnotation: undefined, + }); + const modifiers = (0, getModifiers_1.getModifiers)(node); + if (modifiers) { + // AssignmentPattern should not contain modifiers in range + result.range[0] = parameter.range[0]; + result.loc = (0, node_utils_1.getLocFor)(result.range, this.ast); + } + } + else { + parameter = result = this.convertChild(node.name, parent); + } + if (node.type) { + parameter.typeAnnotation = this.convertTypeAnnotation(node.type, node); + this.fixParentLocation(parameter, parameter.typeAnnotation.range); + } + if (node.questionToken) { + if (node.questionToken.end > parameter.range[1]) { + parameter.range[1] = node.questionToken.end; + parameter.loc.end = (0, node_utils_1.getLineAndCharacterFor)(parameter.range[1], this.ast); + } + parameter.optional = true; + } + const modifiers = (0, getModifiers_1.getModifiers)(node); + if (modifiers) { + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.TSParameterProperty, + accessibility: (0, node_utils_1.getTSNodeAccessibility)(node), + decorators: [], + override: (0, node_utils_1.hasModifier)(SyntaxKind.OverrideKeyword, node), + parameter: result, + readonly: (0, node_utils_1.hasModifier)(SyntaxKind.ReadonlyKeyword, node), + static: (0, node_utils_1.hasModifier)(SyntaxKind.StaticKeyword, node), + }); + } + return result; + } + // Classes + case SyntaxKind.ClassDeclaration: + if (!node.name && + (!(0, node_utils_1.hasModifier)(ts.SyntaxKind.ExportKeyword, node) || + !(0, node_utils_1.hasModifier)(ts.SyntaxKind.DefaultKeyword, node))) { + this.#throwUnlessAllowInvalidAST(node, "A class declaration without the 'default' modifier must have a name."); + } + /* intentional fallthrough */ + case SyntaxKind.ClassExpression: { + const heritageClauses = node.heritageClauses ?? []; + const classNodeType = node.kind === SyntaxKind.ClassDeclaration + ? ts_estree_1.AST_NODE_TYPES.ClassDeclaration + : ts_estree_1.AST_NODE_TYPES.ClassExpression; + let extendsClause; + let implementsClause; + for (const heritageClause of heritageClauses) { + const { token, types } = heritageClause; + if (types.length === 0) { + this.#throwUnlessAllowInvalidAST(heritageClause, `'${ts.tokenToString(token)}' list cannot be empty.`); + } + if (token === SyntaxKind.ExtendsKeyword) { + if (extendsClause) { + this.#throwUnlessAllowInvalidAST(heritageClause, "'extends' clause already seen."); + } + if (implementsClause) { + this.#throwUnlessAllowInvalidAST(heritageClause, "'extends' clause must precede 'implements' clause."); + } + if (types.length > 1) { + this.#throwUnlessAllowInvalidAST(types[1], 'Classes can only extend a single class.'); + } + extendsClause ??= heritageClause; + } + else if (token === SyntaxKind.ImplementsKeyword) { + if (implementsClause) { + this.#throwUnlessAllowInvalidAST(heritageClause, "'implements' clause already seen."); + } + implementsClause ??= heritageClause; + } + } + const result = this.createNode(node, { + type: classNodeType, + abstract: (0, node_utils_1.hasModifier)(SyntaxKind.AbstractKeyword, node), + body: this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.ClassBody, + body: node.members + .filter(node_utils_1.isESTreeClassMember) + .map(el => this.convertChild(el)), + range: [node.members.pos - 1, node.end], + }), + declare: (0, node_utils_1.hasModifier)(SyntaxKind.DeclareKeyword, node), + decorators: (0, getModifiers_1.getDecorators)(node)?.map(el => this.convertChild(el)) ?? [], + id: this.convertChild(node.name), + implements: implementsClause?.types.map(el => this.convertChild(el)) ?? [], + superClass: extendsClause?.types[0] + ? this.convertChild(extendsClause.types[0].expression) + : null, + superTypeArguments: undefined, + typeParameters: node.typeParameters && + this.convertTSTypeParametersToTypeParametersDeclaration(node.typeParameters), + }); + if (extendsClause?.types[0]?.typeArguments) { + result.superTypeArguments = + this.convertTypeArgumentsToTypeParameterInstantiation(extendsClause.types[0].typeArguments, extendsClause.types[0]); + } + return this.fixExports(node, result); + } + // Modules + case SyntaxKind.ModuleBlock: + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.TSModuleBlock, + body: this.convertBodyExpressions(node.statements, node), + }); + case SyntaxKind.ImportDeclaration: { + this.assertModuleSpecifier(node, false); + const result = this.createNode(node, this.#withDeprecatedAliasGetter({ + type: ts_estree_1.AST_NODE_TYPES.ImportDeclaration, + source: this.convertChild(node.moduleSpecifier), + specifiers: [], + importKind: 'value', + attributes: this.convertImportAttributes( + // eslint-disable-next-line deprecation/deprecation -- TS <5.3 + node.attributes ?? node.assertClause), + }, 'assertions', 'attributes', true)); + if (node.importClause) { + if (node.importClause.isTypeOnly) { + result.importKind = 'type'; + } + if (node.importClause.name) { + result.specifiers.push(this.convertChild(node.importClause)); + } + if (node.importClause.namedBindings) { + switch (node.importClause.namedBindings.kind) { + case SyntaxKind.NamespaceImport: + result.specifiers.push(this.convertChild(node.importClause.namedBindings)); + break; + case SyntaxKind.NamedImports: + result.specifiers = result.specifiers.concat(node.importClause.namedBindings.elements.map(el => this.convertChild(el))); + break; + } + } + } + return result; + } + case SyntaxKind.NamespaceImport: + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.ImportNamespaceSpecifier, + local: this.convertChild(node.name), + }); + case SyntaxKind.ImportSpecifier: + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.ImportSpecifier, + local: this.convertChild(node.name), + imported: this.convertChild(node.propertyName ?? node.name), + importKind: node.isTypeOnly ? 'type' : 'value', + }); + case SyntaxKind.ImportClause: { + const local = this.convertChild(node.name); + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.ImportDefaultSpecifier, + local, + range: local.range, + }); + } + case SyntaxKind.ExportDeclaration: { + if (node.exportClause?.kind === SyntaxKind.NamedExports) { + this.assertModuleSpecifier(node, true); + return this.createNode(node, this.#withDeprecatedAliasGetter({ + type: ts_estree_1.AST_NODE_TYPES.ExportNamedDeclaration, + source: this.convertChild(node.moduleSpecifier), + specifiers: node.exportClause.elements.map(el => this.convertChild(el)), + exportKind: node.isTypeOnly ? 'type' : 'value', + declaration: null, + attributes: this.convertImportAttributes( + // eslint-disable-next-line deprecation/deprecation -- TS <5.3 + node.attributes ?? node.assertClause), + }, 'assertions', 'attributes', true)); + } + this.assertModuleSpecifier(node, false); + return this.createNode(node, this.#withDeprecatedAliasGetter({ + type: ts_estree_1.AST_NODE_TYPES.ExportAllDeclaration, + source: this.convertChild(node.moduleSpecifier), + exportKind: node.isTypeOnly ? 'type' : 'value', + exported: node.exportClause?.kind === SyntaxKind.NamespaceExport + ? this.convertChild(node.exportClause.name) + : null, + attributes: this.convertImportAttributes( + // eslint-disable-next-line deprecation/deprecation -- TS <5.3 + node.attributes ?? node.assertClause), + }, 'assertions', 'attributes', true)); + } + case SyntaxKind.ExportSpecifier: + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.ExportSpecifier, + local: this.convertChild(node.propertyName ?? node.name), + exported: this.convertChild(node.name), + exportKind: node.isTypeOnly ? 'type' : 'value', + }); + case SyntaxKind.ExportAssignment: + if (node.isExportEquals) { + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.TSExportAssignment, + expression: this.convertChild(node.expression), + }); + } + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.ExportDefaultDeclaration, + declaration: this.convertChild(node.expression), + exportKind: 'value', + }); + // Unary Operations + case SyntaxKind.PrefixUnaryExpression: + case SyntaxKind.PostfixUnaryExpression: { + const operator = (0, node_utils_1.getTextForTokenKind)(node.operator); + /** + * ESTree uses UpdateExpression for ++/-- + */ + if (operator === '++' || operator === '--') { + if (!(0, node_utils_1.isValidAssignmentTarget)(node.operand)) { + this.#throwUnlessAllowInvalidAST(node.operand, 'Invalid left-hand side expression in unary operation'); + } + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.UpdateExpression, + operator, + prefix: node.kind === SyntaxKind.PrefixUnaryExpression, + argument: this.convertChild(node.operand), + }); + } + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.UnaryExpression, + operator, + prefix: node.kind === SyntaxKind.PrefixUnaryExpression, + argument: this.convertChild(node.operand), + }); + } + case SyntaxKind.DeleteExpression: + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.UnaryExpression, + operator: 'delete', + prefix: true, + argument: this.convertChild(node.expression), + }); + case SyntaxKind.VoidExpression: + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.UnaryExpression, + operator: 'void', + prefix: true, + argument: this.convertChild(node.expression), + }); + case SyntaxKind.TypeOfExpression: + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.UnaryExpression, + operator: 'typeof', + prefix: true, + argument: this.convertChild(node.expression), + }); + case SyntaxKind.TypeOperator: + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.TSTypeOperator, + operator: (0, node_utils_1.getTextForTokenKind)(node.operator), + typeAnnotation: this.convertChild(node.type), + }); + // Binary Operations + case SyntaxKind.BinaryExpression: { + // TypeScript uses BinaryExpression for sequences as well + if ((0, node_utils_1.isComma)(node.operatorToken)) { + const result = this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.SequenceExpression, + expressions: [], + }); + const left = this.convertChild(node.left); + if (left.type === ts_estree_1.AST_NODE_TYPES.SequenceExpression && + node.left.kind !== SyntaxKind.ParenthesizedExpression) { + result.expressions = result.expressions.concat(left.expressions); + } + else { + result.expressions.push(left); + } + result.expressions.push(this.convertChild(node.right)); + return result; + } + const expressionType = (0, node_utils_1.getBinaryExpressionType)(node.operatorToken); + if (this.allowPattern && + expressionType.type === ts_estree_1.AST_NODE_TYPES.AssignmentExpression) { + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.AssignmentPattern, + decorators: [], + left: this.convertPattern(node.left, node), + optional: false, + right: this.convertChild(node.right), + typeAnnotation: undefined, + }); + } + return this.createNode(node, { + ...expressionType, + left: this.converter(node.left, node, expressionType.type === ts_estree_1.AST_NODE_TYPES.AssignmentExpression), + right: this.convertChild(node.right), + }); + } + case SyntaxKind.PropertyAccessExpression: { + const object = this.convertChild(node.expression); + const property = this.convertChild(node.name); + const computed = false; + const result = this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.MemberExpression, + object, + property, + computed, + optional: node.questionDotToken !== undefined, + }); + return this.convertChainExpression(result, node); + } + case SyntaxKind.ElementAccessExpression: { + const object = this.convertChild(node.expression); + const property = this.convertChild(node.argumentExpression); + const computed = true; + const result = this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.MemberExpression, + object, + property, + computed, + optional: node.questionDotToken !== undefined, + }); + return this.convertChainExpression(result, node); + } + case SyntaxKind.CallExpression: { + if (node.expression.kind === SyntaxKind.ImportKeyword) { + if (node.arguments.length !== 1 && node.arguments.length !== 2) { + this.#throwUnlessAllowInvalidAST(node.arguments[2] ?? node, 'Dynamic import requires exactly one or two arguments.'); + } + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.ImportExpression, + source: this.convertChild(node.arguments[0]), + attributes: node.arguments[1] + ? this.convertChild(node.arguments[1]) + : null, + }); + } + const callee = this.convertChild(node.expression); + const args = node.arguments.map(el => this.convertChild(el)); + const typeArguments = node.typeArguments && + this.convertTypeArgumentsToTypeParameterInstantiation(node.typeArguments, node); + const result = this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.CallExpression, + callee, + arguments: args, + optional: node.questionDotToken !== undefined, + typeArguments, + }); + return this.convertChainExpression(result, node); + } + case SyntaxKind.NewExpression: { + const typeArguments = node.typeArguments && + this.convertTypeArgumentsToTypeParameterInstantiation(node.typeArguments, node); + // NOTE - NewExpression cannot have an optional chain in it + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.NewExpression, + arguments: node.arguments + ? node.arguments.map(el => this.convertChild(el)) + : [], + callee: this.convertChild(node.expression), + typeArguments, + }); + } + case SyntaxKind.ConditionalExpression: + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.ConditionalExpression, + test: this.convertChild(node.condition), + consequent: this.convertChild(node.whenTrue), + alternate: this.convertChild(node.whenFalse), + }); + case SyntaxKind.MetaProperty: { + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.MetaProperty, + meta: this.createNode( + // TODO: do we really want to convert it to Token? + node.getFirstToken(), { + type: ts_estree_1.AST_NODE_TYPES.Identifier, + decorators: [], + name: (0, node_utils_1.getTextForTokenKind)(node.keywordToken), + optional: false, + typeAnnotation: undefined, + }), + property: this.convertChild(node.name), + }); + } + case SyntaxKind.Decorator: { + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.Decorator, + expression: this.convertChild(node.expression), + }); + } + // Literals + case SyntaxKind.StringLiteral: { + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.Literal, + value: parent.kind === SyntaxKind.JsxAttribute + ? (0, node_utils_1.unescapeStringLiteralText)(node.text) + : node.text, + raw: node.getText(), + }); + } + case SyntaxKind.NumericLiteral: { + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.Literal, + value: Number(node.text), + raw: node.getText(), + }); + } + case SyntaxKind.BigIntLiteral: { + const range = (0, node_utils_1.getRange)(node, this.ast); + const rawValue = this.ast.text.slice(range[0], range[1]); + const bigint = rawValue + // remove suffix `n` + .slice(0, -1) + // `BigInt` doesn't accept numeric separator + // and `bigint` property should not include numeric separator + .replace(/_/g, ''); + const value = typeof BigInt !== 'undefined' ? BigInt(bigint) : null; + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.Literal, + raw: rawValue, + value: value, + bigint: value == null ? bigint : String(value), + range, + }); + } + case SyntaxKind.RegularExpressionLiteral: { + const pattern = node.text.slice(1, node.text.lastIndexOf('/')); + const flags = node.text.slice(node.text.lastIndexOf('/') + 1); + let regex = null; + try { + regex = new RegExp(pattern, flags); + } + catch { + // Intentionally blank, so regex stays null + } + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.Literal, + value: regex, + raw: node.text, + regex: { + pattern, + flags, + }, + }); + } + case SyntaxKind.TrueKeyword: + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.Literal, + value: true, + raw: 'true', + }); + case SyntaxKind.FalseKeyword: + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.Literal, + value: false, + raw: 'false', + }); + case SyntaxKind.NullKeyword: { + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.Literal, + value: null, + raw: 'null', + }); + } + case SyntaxKind.EmptyStatement: + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.EmptyStatement, + }); + case SyntaxKind.DebuggerStatement: + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.DebuggerStatement, + }); + // JSX + case SyntaxKind.JsxElement: + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.JSXElement, + openingElement: this.convertChild(node.openingElement), + closingElement: this.convertChild(node.closingElement), + children: node.children.map(el => this.convertChild(el)), + }); + case SyntaxKind.JsxFragment: + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.JSXFragment, + openingFragment: this.convertChild(node.openingFragment), + closingFragment: this.convertChild(node.closingFragment), + children: node.children.map(el => this.convertChild(el)), + }); + case SyntaxKind.JsxSelfClosingElement: { + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.JSXElement, + /** + * Convert SyntaxKind.JsxSelfClosingElement to SyntaxKind.JsxOpeningElement, + * TypeScript does not seem to have the idea of openingElement when tag is self-closing + */ + openingElement: this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.JSXOpeningElement, + typeArguments: node.typeArguments + ? this.convertTypeArgumentsToTypeParameterInstantiation(node.typeArguments, node) + : undefined, + selfClosing: true, + name: this.convertJSXTagName(node.tagName, node), + attributes: node.attributes.properties.map(el => this.convertChild(el)), + range: (0, node_utils_1.getRange)(node, this.ast), + }), + closingElement: null, + children: [], + }); + } + case SyntaxKind.JsxOpeningElement: { + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.JSXOpeningElement, + typeArguments: node.typeArguments && + this.convertTypeArgumentsToTypeParameterInstantiation(node.typeArguments, node), + selfClosing: false, + name: this.convertJSXTagName(node.tagName, node), + attributes: node.attributes.properties.map(el => this.convertChild(el)), + }); + } + case SyntaxKind.JsxClosingElement: + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.JSXClosingElement, + name: this.convertJSXTagName(node.tagName, node), + }); + case SyntaxKind.JsxOpeningFragment: + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.JSXOpeningFragment, + }); + case SyntaxKind.JsxClosingFragment: + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.JSXClosingFragment, + }); + case SyntaxKind.JsxExpression: { + const expression = node.expression + ? this.convertChild(node.expression) + : this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.JSXEmptyExpression, + range: [node.getStart(this.ast) + 1, node.getEnd() - 1], + }); + if (node.dotDotDotToken) { + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.JSXSpreadChild, + expression, + }); + } + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.JSXExpressionContainer, + expression, + }); + } + case SyntaxKind.JsxAttribute: { + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.JSXAttribute, + name: this.convertJSXNamespaceOrIdentifier(node.name), + value: this.convertChild(node.initializer), + }); + } + case SyntaxKind.JsxText: { + const start = node.getFullStart(); + const end = node.getEnd(); + const text = this.ast.text.slice(start, end); + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.JSXText, + value: (0, node_utils_1.unescapeStringLiteralText)(text), + raw: text, + range: [start, end], + }); + } + case SyntaxKind.JsxSpreadAttribute: + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.JSXSpreadAttribute, + argument: this.convertChild(node.expression), + }); + case SyntaxKind.QualifiedName: { + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.TSQualifiedName, + left: this.convertChild(node.left), + right: this.convertChild(node.right), + }); + } + // TypeScript specific + case SyntaxKind.TypeReference: + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.TSTypeReference, + typeName: this.convertChild(node.typeName), + typeArguments: node.typeArguments && + this.convertTypeArgumentsToTypeParameterInstantiation(node.typeArguments, node), + }); + case SyntaxKind.TypeParameter: { + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.TSTypeParameter, + name: this.convertChild(node.name), + constraint: node.constraint && this.convertChild(node.constraint), + default: node.default ? this.convertChild(node.default) : undefined, + in: (0, node_utils_1.hasModifier)(SyntaxKind.InKeyword, node), + out: (0, node_utils_1.hasModifier)(SyntaxKind.OutKeyword, node), + const: (0, node_utils_1.hasModifier)(SyntaxKind.ConstKeyword, node), + }); + } + case SyntaxKind.ThisType: + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.TSThisType, + }); + case SyntaxKind.AnyKeyword: + case SyntaxKind.BigIntKeyword: + case SyntaxKind.BooleanKeyword: + case SyntaxKind.NeverKeyword: + case SyntaxKind.NumberKeyword: + case SyntaxKind.ObjectKeyword: + case SyntaxKind.StringKeyword: + case SyntaxKind.SymbolKeyword: + case SyntaxKind.UnknownKeyword: + case SyntaxKind.VoidKeyword: + case SyntaxKind.UndefinedKeyword: + case SyntaxKind.IntrinsicKeyword: { + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES[`TS${SyntaxKind[node.kind]}`], + }); + } + case SyntaxKind.NonNullExpression: { + const nnExpr = this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.TSNonNullExpression, + expression: this.convertChild(node.expression), + }); + return this.convertChainExpression(nnExpr, node); + } + case SyntaxKind.TypeLiteral: { + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.TSTypeLiteral, + members: node.members.map(el => this.convertChild(el)), + }); + } + case SyntaxKind.ArrayType: { + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.TSArrayType, + elementType: this.convertChild(node.elementType), + }); + } + case SyntaxKind.IndexedAccessType: { + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.TSIndexedAccessType, + objectType: this.convertChild(node.objectType), + indexType: this.convertChild(node.indexType), + }); + } + case SyntaxKind.ConditionalType: { + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.TSConditionalType, + checkType: this.convertChild(node.checkType), + extendsType: this.convertChild(node.extendsType), + trueType: this.convertChild(node.trueType), + falseType: this.convertChild(node.falseType), + }); + } + case SyntaxKind.TypeQuery: + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.TSTypeQuery, + exprName: this.convertChild(node.exprName), + typeArguments: node.typeArguments && + this.convertTypeArgumentsToTypeParameterInstantiation(node.typeArguments, node), + }); + case SyntaxKind.MappedType: { + if (node.members && node.members.length > 0) { + this.#throwUnlessAllowInvalidAST(node.members[0], 'A mapped type may not declare properties or methods.'); + } + return this.createNode(node, this.#withDeprecatedGetter({ + type: ts_estree_1.AST_NODE_TYPES.TSMappedType, + constraint: this.convertChild(node.typeParameter.constraint), + key: this.convertChild(node.typeParameter.name), + nameType: this.convertChild(node.nameType) ?? null, + optional: node.questionToken && + (node.questionToken.kind === SyntaxKind.QuestionToken || + (0, node_utils_1.getTextForTokenKind)(node.questionToken.kind)), + readonly: node.readonlyToken && + (node.readonlyToken.kind === SyntaxKind.ReadonlyKeyword || + (0, node_utils_1.getTextForTokenKind)(node.readonlyToken.kind)), + typeAnnotation: node.type && this.convertChild(node.type), + }, 'typeParameter', "'constraint' and 'key'", this.convertChild(node.typeParameter))); + } + case SyntaxKind.ParenthesizedExpression: + return this.convertChild(node.expression, parent); + case SyntaxKind.TypeAliasDeclaration: { + const result = this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.TSTypeAliasDeclaration, + declare: (0, node_utils_1.hasModifier)(SyntaxKind.DeclareKeyword, node), + id: this.convertChild(node.name), + typeAnnotation: this.convertChild(node.type), + typeParameters: node.typeParameters && + this.convertTSTypeParametersToTypeParametersDeclaration(node.typeParameters), + }); + return this.fixExports(node, result); + } + case SyntaxKind.MethodSignature: { + return this.convertMethodSignature(node); + } + case SyntaxKind.PropertySignature: { + // eslint-disable-next-line deprecation/deprecation + const { initializer } = node; + if (initializer) { + this.#throwError(initializer, 'A property signature cannot have an initializer.'); + } + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.TSPropertySignature, + accessibility: (0, node_utils_1.getTSNodeAccessibility)(node), + computed: (0, node_utils_1.isComputedProperty)(node.name), + key: this.convertChild(node.name), + optional: (0, node_utils_1.isOptional)(node), + readonly: (0, node_utils_1.hasModifier)(SyntaxKind.ReadonlyKeyword, node), + static: (0, node_utils_1.hasModifier)(SyntaxKind.StaticKeyword, node), + typeAnnotation: node.type && this.convertTypeAnnotation(node.type, node), + }); + } + case SyntaxKind.IndexSignature: { + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.TSIndexSignature, + accessibility: (0, node_utils_1.getTSNodeAccessibility)(node), + parameters: node.parameters.map(el => this.convertChild(el)), + readonly: (0, node_utils_1.hasModifier)(SyntaxKind.ReadonlyKeyword, node), + static: (0, node_utils_1.hasModifier)(SyntaxKind.StaticKeyword, node), + typeAnnotation: node.type && this.convertTypeAnnotation(node.type, node), + }); + } + case SyntaxKind.ConstructorType: { + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.TSConstructorType, + abstract: (0, node_utils_1.hasModifier)(SyntaxKind.AbstractKeyword, node), + params: this.convertParameters(node.parameters), + returnType: node.type && this.convertTypeAnnotation(node.type, node), + typeParameters: node.typeParameters && + this.convertTSTypeParametersToTypeParametersDeclaration(node.typeParameters), + }); + } + case SyntaxKind.FunctionType: { + // eslint-disable-next-line deprecation/deprecation + const { modifiers } = node; + if (modifiers) { + this.#throwError(modifiers[0], 'A function type cannot have modifiers.'); + } + } + // intentional fallthrough + case SyntaxKind.ConstructSignature: + case SyntaxKind.CallSignature: { + const type = node.kind === SyntaxKind.ConstructSignature + ? ts_estree_1.AST_NODE_TYPES.TSConstructSignatureDeclaration + : node.kind === SyntaxKind.CallSignature + ? ts_estree_1.AST_NODE_TYPES.TSCallSignatureDeclaration + : ts_estree_1.AST_NODE_TYPES.TSFunctionType; + return this.createNode(node, { + type, + params: this.convertParameters(node.parameters), + returnType: node.type && this.convertTypeAnnotation(node.type, node), + typeParameters: node.typeParameters && + this.convertTSTypeParametersToTypeParametersDeclaration(node.typeParameters), + }); + } + case SyntaxKind.ExpressionWithTypeArguments: { + const parentKind = parent.kind; + const type = parentKind === SyntaxKind.InterfaceDeclaration + ? ts_estree_1.AST_NODE_TYPES.TSInterfaceHeritage + : parentKind === SyntaxKind.HeritageClause + ? ts_estree_1.AST_NODE_TYPES.TSClassImplements + : ts_estree_1.AST_NODE_TYPES.TSInstantiationExpression; + return this.createNode(node, { + type, + expression: this.convertChild(node.expression), + typeArguments: node.typeArguments && + this.convertTypeArgumentsToTypeParameterInstantiation(node.typeArguments, node), + }); + } + case SyntaxKind.InterfaceDeclaration: { + const interfaceHeritageClauses = node.heritageClauses ?? []; + const interfaceExtends = []; + for (const heritageClause of interfaceHeritageClauses) { + if (heritageClause.token !== SyntaxKind.ExtendsKeyword) { + this.#throwError(heritageClause, heritageClause.token === SyntaxKind.ImplementsKeyword + ? "Interface declaration cannot have 'implements' clause." + : 'Unexpected token.'); + } + for (const heritageType of heritageClause.types) { + interfaceExtends.push(this.convertChild(heritageType, node)); + } + } + const result = this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.TSInterfaceDeclaration, + body: this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.TSInterfaceBody, + body: node.members.map(member => this.convertChild(member)), + range: [node.members.pos - 1, node.end], + }), + declare: (0, node_utils_1.hasModifier)(SyntaxKind.DeclareKeyword, node), + extends: interfaceExtends, + id: this.convertChild(node.name), + typeParameters: node.typeParameters && + this.convertTSTypeParametersToTypeParametersDeclaration(node.typeParameters), + }); + return this.fixExports(node, result); + } + case SyntaxKind.TypePredicate: { + const result = this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.TSTypePredicate, + asserts: node.assertsModifier !== undefined, + parameterName: this.convertChild(node.parameterName), + typeAnnotation: null, + }); + /** + * Specific fix for type-guard location data + */ + if (node.type) { + result.typeAnnotation = this.convertTypeAnnotation(node.type, node); + result.typeAnnotation.loc = result.typeAnnotation.typeAnnotation.loc; + result.typeAnnotation.range = + result.typeAnnotation.typeAnnotation.range; + } + return result; + } + case SyntaxKind.ImportType: { + const range = (0, node_utils_1.getRange)(node, this.ast); + if (node.isTypeOf) { + const token = (0, node_utils_1.findNextToken)(node.getFirstToken(), node, this.ast); + range[0] = token.getStart(this.ast); + } + const result = this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.TSImportType, + argument: this.convertChild(node.argument), + qualifier: this.convertChild(node.qualifier), + typeArguments: node.typeArguments + ? this.convertTypeArgumentsToTypeParameterInstantiation(node.typeArguments, node) + : null, + range: range, + }); + if (node.isTypeOf) { + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.TSTypeQuery, + exprName: result, + typeArguments: undefined, + }); + } + return result; + } + case SyntaxKind.EnumDeclaration: { + const members = node.members.map(el => this.convertChild(el)); + const result = this.createNode(node, this.#withDeprecatedGetter({ + type: ts_estree_1.AST_NODE_TYPES.TSEnumDeclaration, + body: this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.TSEnumBody, + members, + range: [node.members.pos - 1, node.end], + }), + const: (0, node_utils_1.hasModifier)(SyntaxKind.ConstKeyword, node), + declare: (0, node_utils_1.hasModifier)(SyntaxKind.DeclareKeyword, node), + id: this.convertChild(node.name), + }, 'members', `'body.members'`, node.members.map(el => this.convertChild(el)))); + return this.fixExports(node, result); + } + case SyntaxKind.EnumMember: { + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.TSEnumMember, + computed: node.name.kind === ts.SyntaxKind.ComputedPropertyName, + id: this.convertChild(node.name), + initializer: node.initializer && this.convertChild(node.initializer), + }); + } + case SyntaxKind.ModuleDeclaration: { + let isDeclare = (0, node_utils_1.hasModifier)(SyntaxKind.DeclareKeyword, node); + const result = this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.TSModuleDeclaration, + ...(() => { + // the constraints checked by this function are syntactically enforced by TS + // the checks mostly exist for type's sake + if (node.flags & ts.NodeFlags.GlobalAugmentation) { + const id = this.convertChild(node.name); + const body = this.convertChild(node.body); + if (body == null || + body.type === ts_estree_1.AST_NODE_TYPES.TSModuleDeclaration) { + this.#throwUnlessAllowInvalidAST(node.body ?? node, 'Expected a valid module body'); + } + if (id.type !== ts_estree_1.AST_NODE_TYPES.Identifier) { + this.#throwUnlessAllowInvalidAST(node.name, 'global module augmentation must have an Identifier id'); + } + return { + kind: 'global', + body: body, + declare: false, + global: false, + id, + }; + } + if (!(node.flags & ts.NodeFlags.Namespace)) { + const body = this.convertChild(node.body); + return { + kind: 'module', + ...(body != null ? { body } : {}), + declare: false, + global: false, + id: this.convertChild(node.name), + }; + } + // Nested module declarations are stored in TypeScript as nested tree nodes. + // We "unravel" them here by making our own nested TSQualifiedName, + // with the innermost node's body as the actual node body. + if (node.body == null) { + this.#throwUnlessAllowInvalidAST(node, 'Expected a module body'); + } + if (node.name.kind !== ts.SyntaxKind.Identifier) { + this.#throwUnlessAllowInvalidAST(node.name, '`namespace`s must have an Identifier id'); + } + let name = this.createNode(node.name, { + decorators: [], + name: node.name.text, + optional: false, + range: [node.name.getStart(this.ast), node.name.getEnd()], + type: ts_estree_1.AST_NODE_TYPES.Identifier, + typeAnnotation: undefined, + }); + while (node.body && + ts.isModuleDeclaration(node.body) && + node.body.name) { + node = node.body; + isDeclare ||= (0, node_utils_1.hasModifier)(SyntaxKind.DeclareKeyword, node); + const nextName = node.name; + const right = this.createNode(nextName, { + decorators: [], + name: nextName.text, + optional: false, + range: [nextName.getStart(this.ast), nextName.getEnd()], + type: ts_estree_1.AST_NODE_TYPES.Identifier, + typeAnnotation: undefined, + }); + name = this.createNode(nextName, { + left: name, + right: right, + range: [name.range[0], right.range[1]], + type: ts_estree_1.AST_NODE_TYPES.TSQualifiedName, + }); + } + return { + kind: 'namespace', + body: this.convertChild(node.body), + declare: false, + global: false, + id: name, + }; + })(), + }); + result.declare = isDeclare; + if (node.flags & ts.NodeFlags.GlobalAugmentation) { + result.global = true; + } + return this.fixExports(node, result); + } + // TypeScript specific types + case SyntaxKind.ParenthesizedType: { + return this.convertChild(node.type); + } + case SyntaxKind.UnionType: { + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.TSUnionType, + types: node.types.map(el => this.convertChild(el)), + }); + } + case SyntaxKind.IntersectionType: { + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.TSIntersectionType, + types: node.types.map(el => this.convertChild(el)), + }); + } + case SyntaxKind.AsExpression: { + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.TSAsExpression, + expression: this.convertChild(node.expression), + typeAnnotation: this.convertChild(node.type), + }); + } + case SyntaxKind.InferType: { + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.TSInferType, + typeParameter: this.convertChild(node.typeParameter), + }); + } + case SyntaxKind.LiteralType: { + if (node.literal.kind === SyntaxKind.NullKeyword) { + // 4.0 started nesting null types inside a LiteralType node + // but our AST is designed around the old way of null being a keyword + return this.createNode(node.literal, { + type: ts_estree_1.AST_NODE_TYPES.TSNullKeyword, + }); + } + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.TSLiteralType, + literal: this.convertChild(node.literal), + }); + } + case SyntaxKind.TypeAssertionExpression: { + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.TSTypeAssertion, + typeAnnotation: this.convertChild(node.type), + expression: this.convertChild(node.expression), + }); + } + case SyntaxKind.ImportEqualsDeclaration: { + return this.fixExports(node, this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.TSImportEqualsDeclaration, + id: this.convertChild(node.name), + importKind: node.isTypeOnly ? 'type' : 'value', + moduleReference: this.convertChild(node.moduleReference), + })); + } + case SyntaxKind.ExternalModuleReference: { + if (node.expression.kind !== SyntaxKind.StringLiteral) { + this.#throwError(node.expression, 'String literal expected.'); + } + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.TSExternalModuleReference, + expression: this.convertChild(node.expression), + }); + } + case SyntaxKind.NamespaceExportDeclaration: { + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.TSNamespaceExportDeclaration, + id: this.convertChild(node.name), + }); + } + case SyntaxKind.AbstractKeyword: { + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.TSAbstractKeyword, + }); + } + // Tuple + case SyntaxKind.TupleType: { + const elementTypes = node.elements.map(el => this.convertChild(el)); + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.TSTupleType, + elementTypes, + }); + } + case SyntaxKind.NamedTupleMember: { + const member = this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.TSNamedTupleMember, + elementType: this.convertChild(node.type, node), + label: this.convertChild(node.name, node), + optional: node.questionToken != null, + }); + if (node.dotDotDotToken) { + // adjust the start to account for the "..." + member.range[0] = member.label.range[0]; + member.loc.start = member.label.loc.start; + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.TSRestType, + typeAnnotation: member, + }); + } + return member; + } + case SyntaxKind.OptionalType: { + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.TSOptionalType, + typeAnnotation: this.convertChild(node.type), + }); + } + case SyntaxKind.RestType: { + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.TSRestType, + typeAnnotation: this.convertChild(node.type), + }); + } + // Template Literal Types + case SyntaxKind.TemplateLiteralType: { + const result = this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.TSTemplateLiteralType, + quasis: [this.convertChild(node.head)], + types: [], + }); + node.templateSpans.forEach(templateSpan => { + result.types.push(this.convertChild(templateSpan.type)); + result.quasis.push(this.convertChild(templateSpan.literal)); + }); + return result; + } + case SyntaxKind.ClassStaticBlockDeclaration: { + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.StaticBlock, + body: this.convertBodyExpressions(node.body.statements, node), + }); + } + // eslint-disable-next-line deprecation/deprecation -- required for backwards-compatibility + case SyntaxKind.AssertEntry: + case SyntaxKind.ImportAttribute: { + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.ImportAttribute, + key: this.convertChild(node.name), + value: this.convertChild(node.value), + }); + } + case SyntaxKind.SatisfiesExpression: { + return this.createNode(node, { + type: ts_estree_1.AST_NODE_TYPES.TSSatisfiesExpression, + expression: this.convertChild(node.expression), + typeAnnotation: this.convertChild(node.type), + }); + } + default: + return this.deeplyCopy(node); + } + } + #checkModifiers(node) { + if (this.options.allowInvalidAST) { + return; + } + // typescript<5.0.0 + if ((0, node_utils_1.nodeHasIllegalDecorators)(node)) { + this.#throwError(node.illegalDecorators[0], 'Decorators are not valid here.'); + } + for (const decorator of (0, getModifiers_1.getDecorators)(node, + /* includeIllegalDecorators */ true) ?? []) { + // `checkGrammarModifiers` function in typescript + if (!(0, node_utils_1.nodeCanBeDecorated)(node)) { + if (ts.isMethodDeclaration(node) && !(0, node_utils_1.nodeIsPresent)(node.body)) { + this.#throwError(decorator, 'A decorator can only decorate a method implementation, not an overload.'); + } + else { + this.#throwError(decorator, 'Decorators are not valid here.'); + } + } + } + for (const modifier of (0, getModifiers_1.getModifiers)(node, + /* includeIllegalModifiers */ true) ?? []) { + if (modifier.kind !== SyntaxKind.ReadonlyKeyword) { + if (node.kind === SyntaxKind.PropertySignature || + node.kind === SyntaxKind.MethodSignature) { + this.#throwError(modifier, `'${ts.tokenToString(modifier.kind)}' modifier cannot appear on a type member`); + } + if (node.kind === SyntaxKind.IndexSignature && + (modifier.kind !== SyntaxKind.StaticKeyword || + !ts.isClassLike(node.parent))) { + this.#throwError(modifier, `'${ts.tokenToString(modifier.kind)}' modifier cannot appear on an index signature`); + } + } + if (modifier.kind !== SyntaxKind.InKeyword && + modifier.kind !== SyntaxKind.OutKeyword && + modifier.kind !== SyntaxKind.ConstKeyword && + node.kind === SyntaxKind.TypeParameter) { + this.#throwError(modifier, `'${ts.tokenToString(modifier.kind)}' modifier cannot appear on a type parameter`); + } + if ((modifier.kind === SyntaxKind.InKeyword || + modifier.kind === SyntaxKind.OutKeyword) && + (node.kind !== SyntaxKind.TypeParameter || + !(ts.isInterfaceDeclaration(node.parent) || + ts.isClassLike(node.parent) || + ts.isTypeAliasDeclaration(node.parent)))) { + this.#throwError(modifier, `'${ts.tokenToString(modifier.kind)}' modifier can only appear on a type parameter of a class, interface or type alias`); + } + if (modifier.kind === SyntaxKind.ReadonlyKeyword && + node.kind !== SyntaxKind.PropertyDeclaration && + node.kind !== SyntaxKind.PropertySignature && + node.kind !== SyntaxKind.IndexSignature && + node.kind !== SyntaxKind.Parameter) { + this.#throwError(modifier, "'readonly' modifier can only appear on a property declaration or index signature."); + } + if (modifier.kind === SyntaxKind.DeclareKeyword && + ts.isClassLike(node.parent) && + !ts.isPropertyDeclaration(node)) { + this.#throwError(modifier, `'${ts.tokenToString(modifier.kind)}' modifier cannot appear on class elements of this kind.`); + } + if (modifier.kind === SyntaxKind.DeclareKeyword && + ts.isVariableStatement(node)) { + const declarationKind = (0, node_utils_1.getDeclarationKind)(node.declarationList); + if (declarationKind === 'using' || declarationKind === 'await using') { + this.#throwError(modifier, `'declare' modifier cannot appear on a '${declarationKind}' declaration.`); + } + } + if (modifier.kind === SyntaxKind.AbstractKeyword && + node.kind !== SyntaxKind.ClassDeclaration && + node.kind !== SyntaxKind.ConstructorType && + node.kind !== SyntaxKind.MethodDeclaration && + node.kind !== SyntaxKind.PropertyDeclaration && + node.kind !== SyntaxKind.GetAccessor && + node.kind !== SyntaxKind.SetAccessor) { + this.#throwError(modifier, `'${ts.tokenToString(modifier.kind)}' modifier can only appear on a class, method, or property declaration.`); + } + if ((modifier.kind === SyntaxKind.StaticKeyword || + modifier.kind === SyntaxKind.PublicKeyword || + modifier.kind === SyntaxKind.ProtectedKeyword || + modifier.kind === SyntaxKind.PrivateKeyword) && + (node.parent.kind === SyntaxKind.ModuleBlock || + node.parent.kind === SyntaxKind.SourceFile)) { + this.#throwError(modifier, `'${ts.tokenToString(modifier.kind)}' modifier cannot appear on a module or namespace element.`); + } + if (modifier.kind === SyntaxKind.AccessorKeyword && + node.kind !== SyntaxKind.PropertyDeclaration) { + this.#throwError(modifier, "'accessor' modifier can only appear on a property declaration."); + } + // `checkGrammarAsyncModifier` function in `typescript` + if (modifier.kind === SyntaxKind.AsyncKeyword && + node.kind !== SyntaxKind.MethodDeclaration && + node.kind !== SyntaxKind.FunctionDeclaration && + node.kind !== SyntaxKind.FunctionExpression && + node.kind !== SyntaxKind.ArrowFunction) { + this.#throwError(modifier, "'async' modifier cannot be used here."); + } + // `checkGrammarModifiers` function in `typescript` + if (node.kind === SyntaxKind.Parameter && + (modifier.kind === SyntaxKind.StaticKeyword || + modifier.kind === SyntaxKind.ExportKeyword || + modifier.kind === SyntaxKind.DeclareKeyword || + modifier.kind === SyntaxKind.AsyncKeyword)) { + this.#throwError(modifier, `'${ts.tokenToString(modifier.kind)}' modifier cannot appear on a parameter.`); + } + // `checkGrammarModifiers` function in `typescript` + if (modifier.kind === SyntaxKind.PublicKeyword || + modifier.kind === SyntaxKind.ProtectedKeyword || + modifier.kind === SyntaxKind.PrivateKeyword) { + for (const anotherModifier of (0, getModifiers_1.getModifiers)(node) ?? []) { + if (anotherModifier !== modifier && + (anotherModifier.kind === SyntaxKind.PublicKeyword || + anotherModifier.kind === SyntaxKind.ProtectedKeyword || + anotherModifier.kind === SyntaxKind.PrivateKeyword)) { + this.#throwError(anotherModifier, `Accessibility modifier already seen.`); + } + } + } + // `checkParameter` function in `typescript` + if (node.kind === SyntaxKind.Parameter && + // In `typescript` package, it's `ts.hasSyntacticModifier(node, ts.ModifierFlags.ParameterPropertyModifier)` + // https://github.com/typescript-eslint/typescript-eslint/pull/6615#discussion_r1136489935 + (modifier.kind === SyntaxKind.PublicKeyword || + modifier.kind === SyntaxKind.PrivateKeyword || + modifier.kind === SyntaxKind.ProtectedKeyword || + modifier.kind === SyntaxKind.ReadonlyKeyword || + modifier.kind === SyntaxKind.OverrideKeyword)) { + const func = (0, node_utils_1.getContainingFunction)(node); + if (!(func.kind === SyntaxKind.Constructor && (0, node_utils_1.nodeIsPresent)(func.body))) { + this.#throwError(modifier, 'A parameter property is only allowed in a constructor implementation.'); + } + } + } + } + #throwUnlessAllowInvalidAST(node, message) { + if (!this.options.allowInvalidAST) { + this.#throwError(node, message); + } + } + /** + * Creates a getter for a property under aliasKey that returns the value under + * valueKey. If suppressDeprecatedPropertyWarnings is not enabled, the + * getter also console warns about the deprecation. + * + * @see https://github.com/typescript-eslint/typescript-eslint/issues/6469 + */ + #withDeprecatedAliasGetter(node, aliasKey, valueKey, suppressWarnings = false) { + let warned = suppressWarnings; + Object.defineProperty(node, aliasKey, { + configurable: true, + get: this.options.suppressDeprecatedPropertyWarnings + ? () => node[valueKey] + : () => { + if (!warned) { + process.emitWarning(`The '${aliasKey}' property is deprecated on ${node.type} nodes. Use '${valueKey}' instead. See https://typescript-eslint.io/linting/troubleshooting#the-key-property-is-deprecated-on-type-nodes-use-key-instead-warnings.`, 'DeprecationWarning'); + warned = true; + } + return node[valueKey]; + }, + set(value) { + Object.defineProperty(node, aliasKey, { + enumerable: true, + writable: true, + value, + }); + }, + }); + return node; + } + #withDeprecatedGetter(node, deprecatedKey, preferredKey, value) { + let warned = false; + Object.defineProperty(node, deprecatedKey, { + configurable: true, + get: this.options.suppressDeprecatedPropertyWarnings + ? () => value + : () => { + if (!warned) { + process.emitWarning(`The '${deprecatedKey}' property is deprecated on ${node.type} nodes. Use ${preferredKey} instead. See https://typescript-eslint.io/linting/troubleshooting#the-key-property-is-deprecated-on-type-nodes-use-key-instead-warnings.`, 'DeprecationWarning'); + warned = true; + } + return value; + }, + set(value) { + Object.defineProperty(node, deprecatedKey, { + enumerable: true, + writable: true, + value, + }); + }, + }); + return node; + } + #throwError(node, message) { + let start; + let end; + if (typeof node === 'number') { + start = end = node; + } + else { + start = node.getStart(this.ast); + end = node.getEnd(); + } + throw (0, node_utils_1.createError)(message, this.ast, start, end); + } + #checkForStatementDeclaration(initializer) { + if (ts.isVariableDeclarationList(initializer)) { + if ((initializer.flags & ts.NodeFlags.Using) !== 0) { + this.#throwError(initializer, "The left-hand side of a 'for...in' statement cannot be a 'using' declaration."); + } + } + } +} +exports.Converter = Converter; +//# sourceMappingURL=convert.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/convert.js.map b/packages/typescript-estree/dist/convert.js.map new file mode 100644 index 000000000000..20343fb6499b --- /dev/null +++ b/packages/typescript-estree/dist/convert.js.map @@ -0,0 +1 @@ +{"version":3,"file":"convert.js","sourceRoot":"","sources":["../src/convert.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/WatchCompilerHostOfConfigFile.d.ts b/packages/typescript-estree/dist/create-program/WatchCompilerHostOfConfigFile.d.ts new file mode 100644 index 000000000000..bc0e84ed2e2c --- /dev/null +++ b/packages/typescript-estree/dist/create-program/WatchCompilerHostOfConfigFile.d.ts @@ -0,0 +1,13 @@ +import type * as ts from 'typescript'; +interface DirectoryStructureHost { + readDirectory?(path: string, extensions?: readonly string[], exclude?: readonly string[], include?: readonly string[], depth?: number): string[]; +} +interface CachedDirectoryStructureHost extends DirectoryStructureHost { + readDirectory(path: string, extensions?: readonly string[], exclude?: readonly string[], include?: readonly string[], depth?: number): string[]; +} +interface WatchCompilerHostOfConfigFile extends ts.WatchCompilerHostOfConfigFile { + onCachedDirectoryStructureHostCreate(host: CachedDirectoryStructureHost): void; + extraFileExtensions?: readonly ts.FileExtensionInfo[]; +} +export { WatchCompilerHostOfConfigFile }; +//# sourceMappingURL=WatchCompilerHostOfConfigFile.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/WatchCompilerHostOfConfigFile.d.ts.map b/packages/typescript-estree/dist/create-program/WatchCompilerHostOfConfigFile.d.ts.map new file mode 100644 index 000000000000..9dc5bfee218b --- /dev/null +++ b/packages/typescript-estree/dist/create-program/WatchCompilerHostOfConfigFile.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"WatchCompilerHostOfConfigFile.d.ts","sourceRoot":"","sources":["../../src/create-program/WatchCompilerHostOfConfigFile.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAGtC,UAAU,sBAAsB;IAC9B,aAAa,CAAC,CACZ,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,EAC9B,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,EAC3B,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,EAC3B,KAAK,CAAC,EAAE,MAAM,GACb,MAAM,EAAE,CAAC;CACb;AAGD,UAAU,4BAA6B,SAAQ,sBAAsB;IACnE,aAAa,CACX,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,EAC9B,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,EAC3B,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,EAC3B,KAAK,CAAC,EAAE,MAAM,GACb,MAAM,EAAE,CAAC;CACb;AAGD,UAAU,6BAA6B,CAAC,CAAC,SAAS,EAAE,CAAC,cAAc,CACjE,SAAQ,EAAE,CAAC,6BAA6B,CAAC,CAAC,CAAC;IAC3C,oCAAoC,CAClC,IAAI,EAAE,4BAA4B,GACjC,IAAI,CAAC;IACR,mBAAmB,CAAC,EAAE,SAAS,EAAE,CAAC,iBAAiB,EAAE,CAAC;CACvD;AAED,OAAO,EAAE,6BAA6B,EAAE,CAAC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/WatchCompilerHostOfConfigFile.js b/packages/typescript-estree/dist/create-program/WatchCompilerHostOfConfigFile.js new file mode 100644 index 000000000000..dcb0712993cd --- /dev/null +++ b/packages/typescript-estree/dist/create-program/WatchCompilerHostOfConfigFile.js @@ -0,0 +1,6 @@ +"use strict"; +// These types are internal to TS. +// They have been trimmed down to only include the relevant bits +// We use some special internal TS apis to help us do our parsing flexibly +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=WatchCompilerHostOfConfigFile.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/WatchCompilerHostOfConfigFile.js.map b/packages/typescript-estree/dist/create-program/WatchCompilerHostOfConfigFile.js.map new file mode 100644 index 000000000000..757e885ccc53 --- /dev/null +++ b/packages/typescript-estree/dist/create-program/WatchCompilerHostOfConfigFile.js.map @@ -0,0 +1 @@ +{"version":3,"file":"WatchCompilerHostOfConfigFile.js","sourceRoot":"","sources":["../../src/create-program/WatchCompilerHostOfConfigFile.ts"],"names":[],"mappings":";AAAA,kCAAkC;AAClC,gEAAgE;AAChE,0EAA0E"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/createIsolatedProgram.d.ts b/packages/typescript-estree/dist/create-program/createIsolatedProgram.d.ts new file mode 100644 index 000000000000..b39194d9f954 --- /dev/null +++ b/packages/typescript-estree/dist/create-program/createIsolatedProgram.d.ts @@ -0,0 +1,8 @@ +import type { ParseSettings } from '../parseSettings'; +import type { ASTAndDefiniteProgram } from './shared'; +/** + * @returns Returns a new source file and program corresponding to the linted code + */ +declare function createIsolatedProgram(parseSettings: ParseSettings): ASTAndDefiniteProgram; +export { createIsolatedProgram }; +//# sourceMappingURL=createIsolatedProgram.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/createIsolatedProgram.d.ts.map b/packages/typescript-estree/dist/create-program/createIsolatedProgram.d.ts.map new file mode 100644 index 000000000000..bdbe6ed35fb6 --- /dev/null +++ b/packages/typescript-estree/dist/create-program/createIsolatedProgram.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"createIsolatedProgram.d.ts","sourceRoot":"","sources":["../../src/create-program/createIsolatedProgram.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAKtD;;GAEG;AACH,iBAAS,qBAAqB,CAC5B,aAAa,EAAE,aAAa,GAC3B,qBAAqB,CAoEvB;AAED,OAAO,EAAE,qBAAqB,EAAE,CAAC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/createIsolatedProgram.js b/packages/typescript-estree/dist/create-program/createIsolatedProgram.js new file mode 100644 index 000000000000..49877fbf7476 --- /dev/null +++ b/packages/typescript-estree/dist/create-program/createIsolatedProgram.js @@ -0,0 +1,88 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.createIsolatedProgram = void 0; +const debug_1 = __importDefault(require("debug")); +const ts = __importStar(require("typescript")); +const getScriptKind_1 = require("./getScriptKind"); +const shared_1 = require("./shared"); +const log = (0, debug_1.default)('typescript-eslint:typescript-estree:createIsolatedProgram'); +/** + * @returns Returns a new source file and program corresponding to the linted code + */ +function createIsolatedProgram(parseSettings) { + log('Getting isolated program in %s mode for: %s', parseSettings.jsx ? 'TSX' : 'TS', parseSettings.filePath); + const compilerHost = { + fileExists() { + return true; + }, + getCanonicalFileName() { + return parseSettings.filePath; + }, + getCurrentDirectory() { + return ''; + }, + getDirectories() { + return []; + }, + getDefaultLibFileName() { + return 'lib.d.ts'; + }, + // TODO: Support Windows CRLF + getNewLine() { + return '\n'; + }, + getSourceFile(filename) { + return ts.createSourceFile(filename, parseSettings.codeFullText, ts.ScriptTarget.Latest, + /* setParentNodes */ true, (0, getScriptKind_1.getScriptKind)(parseSettings.filePath, parseSettings.jsx)); + }, + readFile() { + return undefined; + }, + useCaseSensitiveFileNames() { + return true; + }, + writeFile() { + return null; + }, + }; + const program = ts.createProgram([parseSettings.filePath], { + jsDocParsingMode: parseSettings.jsDocParsingMode, + noResolve: true, + target: ts.ScriptTarget.Latest, + jsx: parseSettings.jsx ? ts.JsxEmit.Preserve : undefined, + ...(0, shared_1.createDefaultCompilerOptionsFromExtra)(parseSettings), + }, compilerHost); + const ast = program.getSourceFile(parseSettings.filePath); + if (!ast) { + throw new Error('Expected an ast to be returned for the single-file isolated program.'); + } + return { ast, program }; +} +exports.createIsolatedProgram = createIsolatedProgram; +//# sourceMappingURL=createIsolatedProgram.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/createIsolatedProgram.js.map b/packages/typescript-estree/dist/create-program/createIsolatedProgram.js.map new file mode 100644 index 000000000000..b72a48e557a2 --- /dev/null +++ b/packages/typescript-estree/dist/create-program/createIsolatedProgram.js.map @@ -0,0 +1 @@ +{"version":3,"file":"createIsolatedProgram.js","sourceRoot":"","sources":["../../src/create-program/createIsolatedProgram.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,+CAAiC;AAGjC,mDAAgD;AAEhD,qCAAiE;AAEjE,MAAM,GAAG,GAAG,IAAA,eAAK,EAAC,2DAA2D,CAAC,CAAC;AAE/E;;GAEG;AACH,SAAS,qBAAqB,CAC5B,aAA4B;IAE5B,GAAG,CACD,6CAA6C,EAC7C,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAChC,aAAa,CAAC,QAAQ,CACvB,CAAC;IAEF,MAAM,YAAY,GAAoB;QACpC,UAAU;YACR,OAAO,IAAI,CAAC;QACd,CAAC;QACD,oBAAoB;YAClB,OAAO,aAAa,CAAC,QAAQ,CAAC;QAChC,CAAC;QACD,mBAAmB;YACjB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,cAAc;YACZ,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,qBAAqB;YACnB,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,6BAA6B;QAC7B,UAAU;YACR,OAAO,IAAI,CAAC;QACd,CAAC;QACD,aAAa,CAAC,QAAgB;YAC5B,OAAO,EAAE,CAAC,gBAAgB,CACxB,QAAQ,EACR,aAAa,CAAC,YAAY,EAC1B,EAAE,CAAC,YAAY,CAAC,MAAM;YACtB,oBAAoB,CAAC,IAAI,EACzB,IAAA,6BAAa,EAAC,aAAa,CAAC,QAAQ,EAAE,aAAa,CAAC,GAAG,CAAC,CACzD,CAAC;QACJ,CAAC;QACD,QAAQ;YACN,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,yBAAyB;YACvB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,SAAS;YACP,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CAAC;IAEF,MAAM,OAAO,GAAG,EAAE,CAAC,aAAa,CAC9B,CAAC,aAAa,CAAC,QAAQ,CAAC,EACxB;QACE,gBAAgB,EAAE,aAAa,CAAC,gBAAgB;QAChD,SAAS,EAAE,IAAI;QACf,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM;QAC9B,GAAG,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;QACxD,GAAG,IAAA,8CAAqC,EAAC,aAAa,CAAC;KACxD,EACD,YAAY,CACb,CAAC;IAEF,MAAM,GAAG,GAAG,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC1D,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CACb,sEAAsE,CACvE,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;AAC1B,CAAC;AAEQ,sDAAqB"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/createProjectProgram.d.ts b/packages/typescript-estree/dist/create-program/createProjectProgram.d.ts new file mode 100644 index 000000000000..4b2df1b424a6 --- /dev/null +++ b/packages/typescript-estree/dist/create-program/createProjectProgram.d.ts @@ -0,0 +1,10 @@ +import * as ts from 'typescript'; +import type { ParseSettings } from '../parseSettings'; +import type { ASTAndDefiniteProgram } from './shared'; +/** + * @param parseSettings Internal settings for parsing the file + * @returns If found, the source file corresponding to the code and the containing program + */ +declare function createProjectProgram(parseSettings: ParseSettings, programsForProjects: readonly ts.Program[]): ASTAndDefiniteProgram; +export { createProjectProgram }; +//# sourceMappingURL=createProjectProgram.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/createProjectProgram.d.ts.map b/packages/typescript-estree/dist/create-program/createProjectProgram.d.ts.map new file mode 100644 index 000000000000..f46ad234bbd8 --- /dev/null +++ b/packages/typescript-estree/dist/create-program/createProjectProgram.d.ts.map @@ -0,0 +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,CA+EvB;AAED,OAAO,EAAE,oBAAoB,EAAE,CAAC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/createProjectProgram.js b/packages/typescript-estree/dist/create-program/createProjectProgram.js new file mode 100644 index 000000000000..21bcfdd6acf4 --- /dev/null +++ b/packages/typescript-estree/dist/create-program/createProjectProgram.js @@ -0,0 +1,100 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.createProjectProgram = void 0; +const debug_1 = __importDefault(require("debug")); +const path_1 = __importDefault(require("path")); +const ts = __importStar(require("typescript")); +const node_utils_1 = require("../node-utils"); +const describeFilePath_1 = require("./describeFilePath"); +const shared_1 = require("./shared"); +const log = (0, debug_1.default)('typescript-eslint:typescript-estree:createProjectProgram'); +const DEFAULT_EXTRA_FILE_EXTENSIONS = [ + ts.Extension.Ts, + ts.Extension.Tsx, + ts.Extension.Js, + ts.Extension.Jsx, + ts.Extension.Mjs, + ts.Extension.Mts, + ts.Extension.Cjs, + ts.Extension.Cts, +]; +/** + * @param parseSettings Internal settings for parsing the file + * @returns If found, the source file corresponding to the code and the containing program + */ +function createProjectProgram(parseSettings, programsForProjects) { + log('Creating project program for: %s', parseSettings.filePath); + const astAndProgram = (0, node_utils_1.firstDefined)(programsForProjects, currentProgram => (0, shared_1.getAstFromProgram)(currentProgram, parseSettings.filePath)); + // The file was matched within the tsconfig + if (astAndProgram) { + return astAndProgram; + } + const describeProjectFilePath = (projectFile) => (0, describeFilePath_1.describeFilePath)(projectFile, parseSettings.tsconfigRootDir); + const describedFilePath = (0, describeFilePath_1.describeFilePath)(parseSettings.filePath, parseSettings.tsconfigRootDir); + const relativeProjects = Array.from(parseSettings.projects.values()).map(describeProjectFilePath); + const describedPrograms = relativeProjects.length === 1 + ? relativeProjects[0] + : `\n${relativeProjects.map(project => `- ${project}`).join('\n')}`; + const errorLines = [ + `ESLint was configured to run on \`${describedFilePath}\` using \`parserOptions.project\`: ${describedPrograms}`, + ]; + let hasMatchedAnError = false; + const { extraFileExtensions } = parseSettings; + extraFileExtensions.forEach(extraExtension => { + if (!extraExtension.startsWith('.')) { + errorLines.push(`Found unexpected extension \`${extraExtension}\` specified with the \`parserOptions.extraFileExtensions\` option. Did you mean \`.${extraExtension}\`?`); + } + if (DEFAULT_EXTRA_FILE_EXTENSIONS.includes(extraExtension)) { + errorLines.push(`You unnecessarily included the extension \`${extraExtension}\` with the \`parserOptions.extraFileExtensions\` option. This extension is already handled by the parser by default.`); + } + }); + const fileExtension = path_1.default.extname(parseSettings.filePath); + if (!DEFAULT_EXTRA_FILE_EXTENSIONS.includes(fileExtension)) { + const nonStandardExt = `The extension for the file (\`${fileExtension}\`) is non-standard`; + if (extraFileExtensions.length > 0) { + if (!extraFileExtensions.includes(fileExtension)) { + errorLines.push(`${nonStandardExt}. It should be added to your existing \`parserOptions.extraFileExtensions\`.`); + hasMatchedAnError = true; + } + } + else { + errorLines.push(`${nonStandardExt}. You should add \`parserOptions.extraFileExtensions\` to your config.`); + hasMatchedAnError = true; + } + } + if (!hasMatchedAnError) { + const [describedInclusions, describedSpecifiers] = parseSettings.projects.size === 1 + ? ['that TSConfig does not', 'that TSConfig'] + : ['none of those TSConfigs', 'one of those TSConfigs']; + errorLines.push(`However, ${describedInclusions} include this file. Either:`, `- Change ESLint's list of included files to not include this file`, `- Change ${describedSpecifiers} to include this file`, `- Create a new TSConfig that includes this file and include it in your parserOptions.project`, `See the typescript-eslint docs for more info: https://typescript-eslint.io/linting/troubleshooting#i-get-errors-telling-me-eslint-was-configured-to-run--however-that-tsconfig-does-not--none-of-those-tsconfigs-include-this-file`); + } + throw new Error(errorLines.join('\n')); +} +exports.createProjectProgram = createProjectProgram; +//# sourceMappingURL=createProjectProgram.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/createProjectProgram.js.map b/packages/typescript-estree/dist/create-program/createProjectProgram.js.map new file mode 100644 index 000000000000..2b2dfca2f7da --- /dev/null +++ b/packages/typescript-estree/dist/create-program/createProjectProgram.js.map @@ -0,0 +1 @@ +{"version":3,"file":"createProjectProgram.js","sourceRoot":"","sources":["../../src/create-program/createProjectProgram.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/createProjectService.d.ts b/packages/typescript-estree/dist/create-program/createProjectService.d.ts new file mode 100644 index 000000000000..917129965875 --- /dev/null +++ b/packages/typescript-estree/dist/create-program/createProjectService.d.ts @@ -0,0 +1,13 @@ +import type * as ts from 'typescript/lib/tsserverlibrary'; +import type { ProjectServiceOptions } from '../parser-options'; +export type TypeScriptProjectService = ts.server.ProjectService; +export interface ProjectServiceSettings { + allowDefaultProject: string[] | undefined; + maximumDefaultProjectFileMatchCount: number; + service: TypeScriptProjectService; +} +export interface ProjectServiceParseSettings { + extraFileExtensions?: string[]; +} +export declare function createProjectService(optionsRaw: boolean | ProjectServiceOptions | undefined, jsDocParsingMode: ts.JSDocParsingMode | undefined, parseSettings?: ProjectServiceParseSettings): ProjectServiceSettings; +//# sourceMappingURL=createProjectService.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/createProjectService.d.ts.map b/packages/typescript-estree/dist/create-program/createProjectService.d.ts.map new file mode 100644 index 000000000000..775990bf0863 --- /dev/null +++ b/packages/typescript-estree/dist/create-program/createProjectService.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"createProjectService.d.ts","sourceRoot":"","sources":["../../src/create-program/createProjectService.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAE1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AA0B/D,MAAM,MAAM,wBAAwB,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC;AAEhE,MAAM,WAAW,sBAAsB;IACrC,mBAAmB,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC1C,mCAAmC,EAAE,MAAM,CAAC;IAC5C,OAAO,EAAE,wBAAwB,CAAC;CACnC;AAED,MAAM,WAAW,2BAA2B;IAC1C,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AAED,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,OAAO,GAAG,qBAAqB,GAAG,SAAS,EACvD,gBAAgB,EAAE,EAAE,CAAC,gBAAgB,GAAG,SAAS,EACjD,aAAa,CAAC,EAAE,2BAA2B,GAC1C,sBAAsB,CAoHxB"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/createProjectService.js b/packages/typescript-estree/dist/create-program/createProjectService.js new file mode 100644 index 000000000000..d4a69dbc9410 --- /dev/null +++ b/packages/typescript-estree/dist/create-program/createProjectService.js @@ -0,0 +1,123 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.createProjectService = void 0; +/* eslint-disable @typescript-eslint/no-empty-function -- for TypeScript APIs*/ +const node_path_1 = __importDefault(require("node:path")); +const debug_1 = __importDefault(require("debug")); +const getParsedConfigFile_1 = require("./getParsedConfigFile"); +const validateDefaultProjectForFilesGlob_1 = require("./validateDefaultProjectForFilesGlob"); +const DEFAULT_PROJECT_MATCHED_FILES_THRESHOLD = 8; +const log = (0, debug_1.default)('typescript-eslint:typescript-estree:createProjectService'); +const logTsserverErr = (0, debug_1.default)('typescript-eslint:typescript-estree:tsserver:err'); +const logTsserverInfo = (0, debug_1.default)('typescript-eslint:typescript-estree:tsserver:info'); +const logTsserverPerf = (0, debug_1.default)('typescript-eslint:typescript-estree:tsserver:perf'); +const logTsserverEvent = (0, debug_1.default)('typescript-eslint:typescript-estree:tsserver:event'); +const doNothing = () => { }; +const createStubFileWatcher = () => ({ + close: doNothing, +}); +function createProjectService(optionsRaw, jsDocParsingMode, parseSettings) { + const options = typeof optionsRaw === 'object' ? optionsRaw : {}; + (0, validateDefaultProjectForFilesGlob_1.validateDefaultProjectForFilesGlob)(options); + // We import this lazily to avoid its cost for users who don't use the service + // TODO: Once we drop support for TS<5.3 we can import from "typescript" directly + // eslint-disable-next-line @typescript-eslint/no-require-imports + const tsserver = require('typescript/lib/tsserverlibrary'); + // TODO: see getWatchProgramsForProjects + // We don't watch the disk, we just refer to these when ESLint calls us + // there's a whole separate update pass in maybeInvalidateProgram at the bottom of getWatchProgramsForProjects + // (this "goes nuclear on TypeScript") + const system = { + ...tsserver.sys, + clearImmediate, + clearTimeout, + setImmediate, + setTimeout, + watchDirectory: createStubFileWatcher, + watchFile: createStubFileWatcher, + }; + const logger = { + close: doNothing, + endGroup: doNothing, + getLogFileName: () => undefined, + // The debug library doesn't use levels without creating a namespace for each. + // Log levels are not passed to the writer so we wouldn't be able to forward + // to a respective namespace. Supporting would require an additional flag for + // granular control. Defaulting to all levels for now. + hasLevel: () => true, + info(s) { + this.msg(s, tsserver.server.Msg.Info); + }, + loggingEnabled: () => + // if none of the debug namespaces are enabled, then don't enable logging in tsserver + logTsserverInfo.enabled || + logTsserverErr.enabled || + logTsserverPerf.enabled, + msg: (s, type) => { + switch (type) { + case tsserver.server.Msg.Err: + logTsserverErr(s); + break; + case tsserver.server.Msg.Perf: + logTsserverPerf(s); + break; + default: + logTsserverInfo(s); + } + }, + perftrc(s) { + this.msg(s, tsserver.server.Msg.Perf); + }, + startGroup: doNothing, + }; + log('Creating Project Service'); + const service = new tsserver.server.ProjectService({ + host: system, + cancellationToken: { isCancellationRequested: () => false }, + useSingleInferredProject: false, + useInferredProjectPerProjectRoot: false, + logger, + eventHandler: (e) => { + logTsserverEvent(e); + }, + session: undefined, + jsDocParsingMode, + }); + if (parseSettings?.extraFileExtensions?.length) { + log('Enabling extra file extensions: %s', parseSettings.extraFileExtensions); + service.setHostConfiguration({ + extraFileExtensions: parseSettings.extraFileExtensions.map(extension => ({ + extension, + isMixedContent: false, + scriptKind: tsserver.ScriptKind.Deferred, + })), + }); + } + if (options.defaultProject) { + log('Enabling default project: %s', options.defaultProject); + try { + const configFile = (0, getParsedConfigFile_1.getParsedConfigFile)(options.defaultProject, node_path_1.default.dirname(options.defaultProject)); + service.setCompilerOptionsForInferredProjects( + // NOTE: The inferred projects API is not intended for source files when a tsconfig + // exists. There is no API that generates an InferredProjectCompilerOptions suggesting + // it is meant for hard coded options passed in. Hard casting as a work around. + // See https://github.com/microsoft/TypeScript/blob/27bcd4cb5a98bce46c9cdd749752703ead021a4b/src/server/protocol.ts#L1904 + // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-explicit-any + configFile.options); + } + catch (error) { + throw new Error(`Could not parse default project '${options.defaultProject}': ${error.message}`); + } + } + return { + allowDefaultProject: options.allowDefaultProject, + maximumDefaultProjectFileMatchCount: options.maximumDefaultProjectFileMatchCount_THIS_WILL_SLOW_DOWN_LINTING ?? + DEFAULT_PROJECT_MATCHED_FILES_THRESHOLD, + service, + }; +} +exports.createProjectService = createProjectService; +//# sourceMappingURL=createProjectService.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/createProjectService.js.map b/packages/typescript-estree/dist/create-program/createProjectService.js.map new file mode 100644 index 000000000000..299209367a9e --- /dev/null +++ b/packages/typescript-estree/dist/create-program/createProjectService.js.map @@ -0,0 +1 @@ +{"version":3,"file":"createProjectService.js","sourceRoot":"","sources":["../../src/create-program/createProjectService.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/createSourceFile.d.ts b/packages/typescript-estree/dist/create-program/createSourceFile.d.ts new file mode 100644 index 000000000000..c3d994d50cb6 --- /dev/null +++ b/packages/typescript-estree/dist/create-program/createSourceFile.d.ts @@ -0,0 +1,7 @@ +import * as ts from 'typescript'; +import type { ParseSettings } from '../parseSettings'; +import type { ASTAndNoProgram } from './shared'; +declare function createSourceFile(parseSettings: ParseSettings): ts.SourceFile; +declare function createNoProgram(parseSettings: ParseSettings): ASTAndNoProgram; +export { createSourceFile, createNoProgram }; +//# sourceMappingURL=createSourceFile.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/createSourceFile.d.ts.map b/packages/typescript-estree/dist/create-program/createSourceFile.d.ts.map new file mode 100644 index 000000000000..6eb4e387c213 --- /dev/null +++ b/packages/typescript-estree/dist/create-program/createSourceFile.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"createSourceFile.d.ts","sourceRoot":"","sources":["../../src/create-program/createSourceFile.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAIhD,iBAAS,gBAAgB,CAAC,aAAa,EAAE,aAAa,GAAG,EAAE,CAAC,UAAU,CAmBrE;AAED,iBAAS,eAAe,CAAC,aAAa,EAAE,aAAa,GAAG,eAAe,CAKtE;AAED,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,CAAC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/createSourceFile.js b/packages/typescript-estree/dist/create-program/createSourceFile.js new file mode 100644 index 000000000000..1d230abe667e --- /dev/null +++ b/packages/typescript-estree/dist/create-program/createSourceFile.js @@ -0,0 +1,53 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.createNoProgram = exports.createSourceFile = void 0; +const debug_1 = __importDefault(require("debug")); +const ts = __importStar(require("typescript")); +const source_files_1 = require("../source-files"); +const getScriptKind_1 = require("./getScriptKind"); +const log = (0, debug_1.default)('typescript-eslint:typescript-estree:createSourceFile'); +function createSourceFile(parseSettings) { + log('Getting AST without type information in %s mode for: %s', parseSettings.jsx ? 'TSX' : 'TS', parseSettings.filePath); + return (0, source_files_1.isSourceFile)(parseSettings.code) + ? parseSettings.code + : ts.createSourceFile(parseSettings.filePath, parseSettings.codeFullText, { + languageVersion: ts.ScriptTarget.Latest, + jsDocParsingMode: parseSettings.jsDocParsingMode, + }, + /* setParentNodes */ true, (0, getScriptKind_1.getScriptKind)(parseSettings.filePath, parseSettings.jsx)); +} +exports.createSourceFile = createSourceFile; +function createNoProgram(parseSettings) { + return { + ast: createSourceFile(parseSettings), + program: null, + }; +} +exports.createNoProgram = createNoProgram; +//# sourceMappingURL=createSourceFile.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/createSourceFile.js.map b/packages/typescript-estree/dist/create-program/createSourceFile.js.map new file mode 100644 index 000000000000..cf2961093eb2 --- /dev/null +++ b/packages/typescript-estree/dist/create-program/createSourceFile.js.map @@ -0,0 +1 @@ +{"version":3,"file":"createSourceFile.js","sourceRoot":"","sources":["../../src/create-program/createSourceFile.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,+CAAiC;AAGjC,kDAA+C;AAC/C,mDAAgD;AAGhD,MAAM,GAAG,GAAG,IAAA,eAAK,EAAC,sDAAsD,CAAC,CAAC;AAE1E,SAAS,gBAAgB,CAAC,aAA4B;IACpD,GAAG,CACD,yDAAyD,EACzD,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAChC,aAAa,CAAC,QAAQ,CACvB,CAAC;IAEF,OAAO,IAAA,2BAAY,EAAC,aAAa,CAAC,IAAI,CAAC;QACrC,CAAC,CAAC,aAAa,CAAC,IAAI;QACpB,CAAC,CAAC,EAAE,CAAC,gBAAgB,CACjB,aAAa,CAAC,QAAQ,EACtB,aAAa,CAAC,YAAY,EAC1B;YACE,eAAe,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM;YACvC,gBAAgB,EAAE,aAAa,CAAC,gBAAgB;SACjD;QACD,oBAAoB,CAAC,IAAI,EACzB,IAAA,6BAAa,EAAC,aAAa,CAAC,QAAQ,EAAE,aAAa,CAAC,GAAG,CAAC,CACzD,CAAC;AACR,CAAC;AASQ,4CAAgB;AAPzB,SAAS,eAAe,CAAC,aAA4B;IACnD,OAAO;QACL,GAAG,EAAE,gBAAgB,CAAC,aAAa,CAAC;QACpC,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC;AAE0B,0CAAe"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/describeFilePath.d.ts b/packages/typescript-estree/dist/create-program/describeFilePath.d.ts new file mode 100644 index 000000000000..d46f86aa750e --- /dev/null +++ b/packages/typescript-estree/dist/create-program/describeFilePath.d.ts @@ -0,0 +1,2 @@ +export declare function describeFilePath(filePath: string, tsconfigRootDir: string): string; +//# sourceMappingURL=describeFilePath.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/describeFilePath.d.ts.map b/packages/typescript-estree/dist/create-program/describeFilePath.d.ts.map new file mode 100644 index 000000000000..6d049bedbdb9 --- /dev/null +++ b/packages/typescript-estree/dist/create-program/describeFilePath.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"describeFilePath.d.ts","sourceRoot":"","sources":["../../src/create-program/describeFilePath.ts"],"names":[],"mappings":"AAEA,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,MAAM,GACtB,MAAM,CAyBR"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/describeFilePath.js b/packages/typescript-estree/dist/create-program/describeFilePath.js new file mode 100644 index 000000000000..ba35361527e7 --- /dev/null +++ b/packages/typescript-estree/dist/create-program/describeFilePath.js @@ -0,0 +1,32 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.describeFilePath = void 0; +const path_1 = __importDefault(require("path")); +function describeFilePath(filePath, tsconfigRootDir) { + // If the TSConfig root dir is a parent of the filePath, use + // `` as a prefix for the path. + const relative = path_1.default.relative(tsconfigRootDir, filePath); + if (relative && !relative.startsWith('..') && !path_1.default.isAbsolute(relative)) { + return `/${relative}`; + } + // Root-like Mac/Linux (~/*, ~*) or Windows (C:/*, /) paths that aren't + // relative to the TSConfig root dir should be fully described. + // This avoids strings like /../../../../repo/file.ts. + // https://github.com/typescript-eslint/typescript-eslint/issues/6289 + if (/^[(\w+:)\\/~]/.test(filePath)) { + return filePath; + } + // Similarly, if the relative path would contain a lot of ../.., then + // ignore it and print the file path directly. + if (/\.\.[/\\]\.\./.test(relative)) { + return filePath; + } + // Lastly, since we've eliminated all special cases, we know the cleanest + // path to print is probably the prefixed relative one. + return `/${relative}`; +} +exports.describeFilePath = describeFilePath; +//# sourceMappingURL=describeFilePath.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/describeFilePath.js.map b/packages/typescript-estree/dist/create-program/describeFilePath.js.map new file mode 100644 index 000000000000..3ae6ea12dbea --- /dev/null +++ b/packages/typescript-estree/dist/create-program/describeFilePath.js.map @@ -0,0 +1 @@ +{"version":3,"file":"describeFilePath.js","sourceRoot":"","sources":["../../src/create-program/describeFilePath.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAExB,SAAgB,gBAAgB,CAC9B,QAAgB,EAChB,eAAuB;IAEvB,4DAA4D;IAC5D,gDAAgD;IAChD,MAAM,QAAQ,GAAG,cAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;IAC1D,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,cAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzE,OAAO,qBAAqB,QAAQ,EAAE,CAAC;IACzC,CAAC;IAED,uEAAuE;IACvE,+DAA+D;IAC/D,uEAAuE;IACvE,qEAAqE;IACrE,IAAI,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,qEAAqE;IACrE,8CAA8C;IAC9C,IAAI,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,yEAAyE;IACzE,uDAAuD;IACvD,OAAO,qBAAqB,QAAQ,EAAE,CAAC;AACzC,CAAC;AA5BD,4CA4BC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/getParsedConfigFile.d.ts b/packages/typescript-estree/dist/create-program/getParsedConfigFile.d.ts new file mode 100644 index 000000000000..a58ad4b8223e --- /dev/null +++ b/packages/typescript-estree/dist/create-program/getParsedConfigFile.d.ts @@ -0,0 +1,10 @@ +import type * as ts from 'typescript/lib/tsserverlibrary'; +/** + * Utility offered by parser to help consumers parse a config file. + * + * @param configFile the path to the tsconfig.json file, relative to `projectDirectory` + * @param projectDirectory the project directory to use as the CWD, defaults to `process.cwd()` + */ +declare function getParsedConfigFile(configFile: string, projectDirectory?: string): ts.ParsedCommandLine; +export { getParsedConfigFile }; +//# sourceMappingURL=getParsedConfigFile.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/getParsedConfigFile.d.ts.map b/packages/typescript-estree/dist/create-program/getParsedConfigFile.d.ts.map new file mode 100644 index 000000000000..5f72ddbf24f1 --- /dev/null +++ b/packages/typescript-estree/dist/create-program/getParsedConfigFile.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"getParsedConfigFile.d.ts","sourceRoot":"","sources":["../../src/create-program/getParsedConfigFile.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAI1D;;;;;GAKG;AACH,iBAAS,mBAAmB,CAC1B,UAAU,EAAE,MAAM,EAClB,gBAAgB,CAAC,EAAE,MAAM,GACxB,EAAE,CAAC,iBAAiB,CA8CtB;AAED,OAAO,EAAE,mBAAmB,EAAE,CAAC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/getParsedConfigFile.js b/packages/typescript-estree/dist/create-program/getParsedConfigFile.js new file mode 100644 index 000000000000..fd0b27ac5afe --- /dev/null +++ b/packages/typescript-estree/dist/create-program/getParsedConfigFile.js @@ -0,0 +1,72 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getParsedConfigFile = void 0; +const fs = __importStar(require("fs")); +const path = __importStar(require("path")); +const shared_1 = require("./shared"); +/** + * Utility offered by parser to help consumers parse a config file. + * + * @param configFile the path to the tsconfig.json file, relative to `projectDirectory` + * @param projectDirectory the project directory to use as the CWD, defaults to `process.cwd()` + */ +function getParsedConfigFile(configFile, projectDirectory) { + // We import this lazily to avoid its cost for users who don't use the service + // TODO: Once we drop support for TS<5.3 we can import from "typescript" directly + // eslint-disable-next-line @typescript-eslint/no-require-imports + const tsserver = require('typescript/lib/tsserverlibrary'); + // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition + if (tsserver.sys === undefined) { + throw new Error('`createProgramFromConfigFile` is only supported in a Node-like environment.'); + } + const parsed = tsserver.getParsedCommandLineOfConfigFile(configFile, shared_1.CORE_COMPILER_OPTIONS, { + onUnRecoverableConfigFileDiagnostic: diag => { + throw new Error(formatDiagnostics([diag])); // ensures that `parsed` is defined. + }, + fileExists: fs.existsSync, + getCurrentDirectory: () => (projectDirectory && path.resolve(projectDirectory)) || process.cwd(), + readDirectory: tsserver.sys.readDirectory, + readFile: file => fs.readFileSync(file, 'utf-8'), + useCaseSensitiveFileNames: tsserver.sys.useCaseSensitiveFileNames, + }); + // parsed is not undefined, since we throw on failure. + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + const result = parsed; + if (result.errors.length) { + throw new Error(formatDiagnostics(result.errors)); + } + return result; + // scoped to parent function to use lazy typescript import + function formatDiagnostics(diagnostics) { + return tsserver.formatDiagnostics(diagnostics, { + getCanonicalFileName: f => f, + getCurrentDirectory: process.cwd, + getNewLine: () => '\n', + }); + } +} +exports.getParsedConfigFile = getParsedConfigFile; +//# sourceMappingURL=getParsedConfigFile.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/getParsedConfigFile.js.map b/packages/typescript-estree/dist/create-program/getParsedConfigFile.js.map new file mode 100644 index 000000000000..f6f26890b134 --- /dev/null +++ b/packages/typescript-estree/dist/create-program/getParsedConfigFile.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getParsedConfigFile.js","sourceRoot":"","sources":["../../src/create-program/getParsedConfigFile.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,2CAA6B;AAG7B,qCAAiD;AAEjD;;;;;GAKG;AACH,SAAS,mBAAmB,CAC1B,UAAkB,EAClB,gBAAyB;IAEzB,8EAA8E;IAC9E,iFAAiF;IACjF,iEAAiE;IACjE,MAAM,QAAQ,GAAG,OAAO,CAAC,gCAAgC,CAAc,CAAC;IAExE,uEAAuE;IACvE,IAAI,QAAQ,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CACb,6EAA6E,CAC9E,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,gCAAgC,CACtD,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,QAAQ,CAAC,GAAG,CAAC,aAAa;QACzC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC;QAChD,yBAAyB,EAAE,QAAQ,CAAC,GAAG,CAAC,yBAAyB;KAClE,CACF,CAAC;IAEF,sDAAsD;IACtD,oEAAoE;IACpE,MAAM,MAAM,GAAG,MAAO,CAAC;IACvB,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,OAAO,MAAM,CAAC;IAEd,0DAA0D;IAC1D,SAAS,iBAAiB,CAAC,WAA4B;QACrD,OAAO,QAAQ,CAAC,iBAAiB,CAAC,WAAW,EAAE;YAC7C,oBAAoB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5B,mBAAmB,EAAE,OAAO,CAAC,GAAG;YAChC,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI;SACvB,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAEQ,kDAAmB"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/getScriptKind.d.ts b/packages/typescript-estree/dist/create-program/getScriptKind.d.ts new file mode 100644 index 000000000000..6db505874195 --- /dev/null +++ b/packages/typescript-estree/dist/create-program/getScriptKind.d.ts @@ -0,0 +1,5 @@ +import * as ts from 'typescript'; +declare function getScriptKind(filePath: string, jsx: boolean): ts.ScriptKind; +declare function getLanguageVariant(scriptKind: ts.ScriptKind): ts.LanguageVariant; +export { getScriptKind, getLanguageVariant }; +//# sourceMappingURL=getScriptKind.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/getScriptKind.d.ts.map b/packages/typescript-estree/dist/create-program/getScriptKind.d.ts.map new file mode 100644 index 000000000000..a53274ef91b3 --- /dev/null +++ b/packages/typescript-estree/dist/create-program/getScriptKind.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"getScriptKind.d.ts","sourceRoot":"","sources":["../../src/create-program/getScriptKind.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,iBAAS,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,EAAE,CAAC,UAAU,CA8BpE;AAED,iBAAS,kBAAkB,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,eAAe,CAYzE;AAED,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,CAAC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/getScriptKind.js b/packages/typescript-estree/dist/create-program/getScriptKind.js new file mode 100644 index 000000000000..964439ba2b17 --- /dev/null +++ b/packages/typescript-estree/dist/create-program/getScriptKind.js @@ -0,0 +1,72 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getLanguageVariant = exports.getScriptKind = void 0; +const path_1 = __importDefault(require("path")); +const ts = __importStar(require("typescript")); +function getScriptKind(filePath, jsx) { + const extension = path_1.default.extname(filePath).toLowerCase(); + // note - we only respect the user's jsx setting for unknown extensions + // this is so that we always match TS's internal script kind logic, preventing + // weird errors due to a mismatch. + // https://github.com/microsoft/TypeScript/blob/da00ba67ed1182ad334f7c713b8254fba174aeba/src/compiler/utilities.ts#L6948-L6968 + switch (extension) { + case ts.Extension.Js: + case ts.Extension.Cjs: + case ts.Extension.Mjs: + return ts.ScriptKind.JS; + case ts.Extension.Jsx: + return ts.ScriptKind.JSX; + case ts.Extension.Ts: + case ts.Extension.Cts: + case ts.Extension.Mts: + return ts.ScriptKind.TS; + case ts.Extension.Tsx: + return ts.ScriptKind.TSX; + case ts.Extension.Json: + return ts.ScriptKind.JSON; + default: + // unknown extension, force typescript to ignore the file extension, and respect the user's setting + return jsx ? ts.ScriptKind.TSX : ts.ScriptKind.TS; + } +} +exports.getScriptKind = getScriptKind; +function getLanguageVariant(scriptKind) { + // https://github.com/microsoft/TypeScript/blob/d6e483b8dabd8fd37c00954c3f2184bb7f1eb90c/src/compiler/utilities.ts#L6281-L6285 + switch (scriptKind) { + case ts.ScriptKind.TSX: + case ts.ScriptKind.JSX: + case ts.ScriptKind.JS: + case ts.ScriptKind.JSON: + return ts.LanguageVariant.JSX; + default: + return ts.LanguageVariant.Standard; + } +} +exports.getLanguageVariant = getLanguageVariant; +//# sourceMappingURL=getScriptKind.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/getScriptKind.js.map b/packages/typescript-estree/dist/create-program/getScriptKind.js.map new file mode 100644 index 000000000000..5e3897e3ca5e --- /dev/null +++ b/packages/typescript-estree/dist/create-program/getScriptKind.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getScriptKind.js","sourceRoot":"","sources":["../../src/create-program/getScriptKind.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAwB;AACxB,+CAAiC;AAEjC,SAAS,aAAa,CAAC,QAAgB,EAAE,GAAY;IACnD,MAAM,SAAS,GAAG,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAkB,CAAC;IACvE,uEAAuE;IACvE,8EAA8E;IAC9E,kCAAkC;IAClC,8HAA8H;IAC9H,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;QACrB,KAAK,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC;QACtB,KAAK,EAAE,CAAC,SAAS,CAAC,GAAG;YACnB,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;QAE1B,KAAK,EAAE,CAAC,SAAS,CAAC,GAAG;YACnB,OAAO,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;QAE3B,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;QACrB,KAAK,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC;QACtB,KAAK,EAAE,CAAC,SAAS,CAAC,GAAG;YACnB,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;QAE1B,KAAK,EAAE,CAAC,SAAS,CAAC,GAAG;YACnB,OAAO,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;QAE3B,KAAK,EAAE,CAAC,SAAS,CAAC,IAAI;YACpB,OAAO,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;QAE5B;YACE,mGAAmG;YACnG,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;IACtD,CAAC;AACH,CAAC;AAgBQ,sCAAa;AAdtB,SAAS,kBAAkB,CAAC,UAAyB;IACnD,8HAA8H;IAC9H,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;QACvB,KAAK,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;QACvB,KAAK,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;QACtB,KAAK,EAAE,CAAC,UAAU,CAAC,IAAI;YACrB,OAAO,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC;QAEhC;YACE,OAAO,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC;IACvC,CAAC;AACH,CAAC;AAEuB,gDAAkB"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/getWatchProgramsForProjects.d.ts b/packages/typescript-estree/dist/create-program/getWatchProgramsForProjects.d.ts new file mode 100644 index 000000000000..621d9bd645f5 --- /dev/null +++ b/packages/typescript-estree/dist/create-program/getWatchProgramsForProjects.d.ts @@ -0,0 +1,15 @@ +import * as ts from 'typescript'; +import type { ParseSettings } from '../parseSettings'; +/** + * Clear all of the parser caches. + * This should only be used in testing to ensure the parser is clean between tests. + */ +declare function clearWatchCaches(): void; +/** + * Calculate project environments using options provided by consumer and paths from config + * @param parseSettings Internal settings for parsing the file + * @returns The programs corresponding to the supplied tsconfig paths + */ +declare function getWatchProgramsForProjects(parseSettings: ParseSettings): ts.Program[]; +export { clearWatchCaches, getWatchProgramsForProjects }; +//# sourceMappingURL=getWatchProgramsForProjects.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/getWatchProgramsForProjects.d.ts.map b/packages/typescript-estree/dist/create-program/getWatchProgramsForProjects.d.ts.map new file mode 100644 index 000000000000..90961e84e8e3 --- /dev/null +++ b/packages/typescript-estree/dist/create-program/getWatchProgramsForProjects.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"getWatchProgramsForProjects.d.ts","sourceRoot":"","sources":["../../src/create-program/getWatchProgramsForProjects.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AA8CtD;;;GAGG;AACH,iBAAS,gBAAgB,IAAI,IAAI,CAOhC;AA4DD;;;;GAIG;AACH,iBAAS,2BAA2B,CAClC,aAAa,EAAE,aAAa,GAC3B,EAAE,CAAC,OAAO,EAAE,CA8Gd;AA6PD,OAAO,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,CAAC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/getWatchProgramsForProjects.js b/packages/typescript-estree/dist/create-program/getWatchProgramsForProjects.js new file mode 100644 index 000000000000..80b59b9df14a --- /dev/null +++ b/packages/typescript-estree/dist/create-program/getWatchProgramsForProjects.js @@ -0,0 +1,372 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getWatchProgramsForProjects = exports.clearWatchCaches = void 0; +const debug_1 = __importDefault(require("debug")); +const fs_1 = __importDefault(require("fs")); +const ts = __importStar(require("typescript")); +const source_files_1 = require("../source-files"); +const shared_1 = require("./shared"); +const log = (0, debug_1.default)('typescript-eslint:typescript-estree:createWatchProgram'); +/** + * Maps tsconfig paths to their corresponding file contents and resulting watches + */ +const knownWatchProgramMap = new Map(); +/** + * Maps file/folder paths to their set of corresponding watch callbacks + * There may be more than one per file/folder if a file/folder is shared between projects + */ +const fileWatchCallbackTrackingMap = new Map(); +const folderWatchCallbackTrackingMap = new Map(); +/** + * Stores the list of known files for each program + */ +const programFileListCache = new Map(); +/** + * Caches the last modified time of the tsconfig files + */ +const tsconfigLastModifiedTimestampCache = new Map(); +const parsedFilesSeenHash = new Map(); +/** + * Clear all of the parser caches. + * This should only be used in testing to ensure the parser is clean between tests. + */ +function clearWatchCaches() { + knownWatchProgramMap.clear(); + fileWatchCallbackTrackingMap.clear(); + folderWatchCallbackTrackingMap.clear(); + parsedFilesSeenHash.clear(); + programFileListCache.clear(); + tsconfigLastModifiedTimestampCache.clear(); +} +exports.clearWatchCaches = clearWatchCaches; +function saveWatchCallback(trackingMap) { + return (fileName, callback) => { + const normalizedFileName = (0, shared_1.getCanonicalFileName)(fileName); + const watchers = (() => { + let watchers = trackingMap.get(normalizedFileName); + if (!watchers) { + watchers = new Set(); + trackingMap.set(normalizedFileName, watchers); + } + return watchers; + })(); + watchers.add(callback); + return { + close: () => { + watchers.delete(callback); + }, + }; + }; +} +/** + * Holds information about the file currently being linted + */ +const currentLintOperationState = { + code: '', + filePath: '', +}; +/** + * Appropriately report issues found when reading a config file + * @param diagnostic The diagnostic raised when creating a program + */ +function diagnosticReporter(diagnostic) { + throw new Error(ts.flattenDiagnosticMessageText(diagnostic.messageText, ts.sys.newLine)); +} +function updateCachedFileList(tsconfigPath, program) { + const fileList = new Set(program.getRootFileNames().map(f => (0, shared_1.getCanonicalFileName)(f))); + programFileListCache.set(tsconfigPath, fileList); + return fileList; +} +/** + * Calculate project environments using options provided by consumer and paths from config + * @param parseSettings Internal settings for parsing the file + * @returns The programs corresponding to the supplied tsconfig paths + */ +function getWatchProgramsForProjects(parseSettings) { + const filePath = (0, shared_1.getCanonicalFileName)(parseSettings.filePath); + const results = []; + // preserve reference to code and file being linted + currentLintOperationState.code = parseSettings.code; + currentLintOperationState.filePath = filePath; + // Update file version if necessary + const fileWatchCallbacks = fileWatchCallbackTrackingMap.get(filePath); + const codeHash = (0, shared_1.createHash)((0, source_files_1.getCodeText)(parseSettings.code)); + if (parsedFilesSeenHash.get(filePath) !== codeHash && + fileWatchCallbacks && + fileWatchCallbacks.size > 0) { + fileWatchCallbacks.forEach(cb => cb(filePath, ts.FileWatcherEventKind.Changed)); + } + const currentProjectsFromSettings = new Map(parseSettings.projects); + /* + * before we go into the process of attempting to find and update every program + * see if we know of a program that contains this file + */ + for (const [tsconfigPath, existingWatch] of knownWatchProgramMap.entries()) { + if (!currentProjectsFromSettings.has(tsconfigPath)) { + // the current parser run doesn't specify this tsconfig in parserOptions.project + // so we don't want to consider it for caching purposes. + // + // if we did consider it we might return a program for a project + // that wasn't specified in the current parser run (which is obv bad!). + continue; + } + let fileList = programFileListCache.get(tsconfigPath); + let updatedProgram = null; + if (!fileList) { + updatedProgram = existingWatch.getProgram().getProgram(); + fileList = updateCachedFileList(tsconfigPath, updatedProgram); + } + if (fileList.has(filePath)) { + log('Found existing program for file. %s', filePath); + updatedProgram ??= existingWatch.getProgram().getProgram(); + // sets parent pointers in source files + updatedProgram.getTypeChecker(); + return [updatedProgram]; + } + } + log('File did not belong to any existing programs, moving to create/update. %s', filePath); + /* + * We don't know of a program that contains the file, this means that either: + * - the required program hasn't been created yet, or + * - the file is new/renamed, and the program hasn't been updated. + */ + for (const tsconfigPath of parseSettings.projects) { + const existingWatch = knownWatchProgramMap.get(tsconfigPath[0]); + if (existingWatch) { + const updatedProgram = maybeInvalidateProgram(existingWatch, filePath, tsconfigPath[0]); + if (!updatedProgram) { + continue; + } + // sets parent pointers in source files + updatedProgram.getTypeChecker(); + // cache and check the file list + const fileList = updateCachedFileList(tsconfigPath[0], updatedProgram); + if (fileList.has(filePath)) { + log('Found updated program for file. %s', filePath); + // we can return early because we know this program contains the file + return [updatedProgram]; + } + results.push(updatedProgram); + continue; + } + const programWatch = createWatchProgram(tsconfigPath[1], parseSettings); + knownWatchProgramMap.set(tsconfigPath[0], programWatch); + const program = programWatch.getProgram().getProgram(); + // sets parent pointers in source files + program.getTypeChecker(); + // cache and check the file list + const fileList = updateCachedFileList(tsconfigPath[0], program); + if (fileList.has(filePath)) { + log('Found program for file. %s', filePath); + // we can return early because we know this program contains the file + return [program]; + } + results.push(program); + } + return results; +} +exports.getWatchProgramsForProjects = getWatchProgramsForProjects; +function createWatchProgram(tsconfigPath, parseSettings) { + log('Creating watch program for %s.', tsconfigPath); + // create compiler host + const watchCompilerHost = ts.createWatchCompilerHost(tsconfigPath, (0, shared_1.createDefaultCompilerOptionsFromExtra)(parseSettings), ts.sys, ts.createAbstractBuilder, diagnosticReporter, + // TODO: file issue on TypeScript to suggest making optional? + // eslint-disable-next-line @typescript-eslint/no-empty-function + /*reportWatchStatus*/ () => { }); + watchCompilerHost.jsDocParsingMode = parseSettings.jsDocParsingMode; + // ensure readFile reads the code being linted instead of the copy on disk + const oldReadFile = watchCompilerHost.readFile; + watchCompilerHost.readFile = (filePathIn, encoding) => { + const filePath = (0, shared_1.getCanonicalFileName)(filePathIn); + const fileContent = filePath === currentLintOperationState.filePath + ? (0, source_files_1.getCodeText)(currentLintOperationState.code) + : oldReadFile(filePath, encoding); + if (fileContent !== undefined) { + parsedFilesSeenHash.set(filePath, (0, shared_1.createHash)(fileContent)); + } + return fileContent; + }; + // ensure process reports error on failure instead of exiting process immediately + watchCompilerHost.onUnRecoverableConfigFileDiagnostic = diagnosticReporter; + // ensure process doesn't emit programs + watchCompilerHost.afterProgramCreate = (program) => { + // report error if there are any errors in the config file + const configFileDiagnostics = program + .getConfigFileParsingDiagnostics() + .filter(diag => diag.category === ts.DiagnosticCategory.Error && diag.code !== 18003); + if (configFileDiagnostics.length > 0) { + diagnosticReporter(configFileDiagnostics[0]); + } + }; + /* + * From the CLI, the file watchers won't matter, as the files will be parsed once and then forgotten. + * When running from an IDE, these watchers will let us tell typescript about changes. + * + * ESLint IDE plugins will send us unfinished file content as the user types (before it's saved to disk). + * We use the file watchers to tell typescript about this latest file content. + * + * When files are created (or renamed), we won't know about them because we have no filesystem watchers attached. + * We use the folder watchers to tell typescript it needs to go and find new files in the project folders. + */ + watchCompilerHost.watchFile = saveWatchCallback(fileWatchCallbackTrackingMap); + watchCompilerHost.watchDirectory = saveWatchCallback(folderWatchCallbackTrackingMap); + // allow files with custom extensions to be included in program (uses internal ts api) + const oldOnDirectoryStructureHostCreate = watchCompilerHost.onCachedDirectoryStructureHostCreate; + watchCompilerHost.onCachedDirectoryStructureHostCreate = (host) => { + const oldReadDirectory = host.readDirectory; + host.readDirectory = (path, extensions, exclude, include, depth) => oldReadDirectory(path, !extensions + ? undefined + : extensions.concat(parseSettings.extraFileExtensions), exclude, include, depth); + oldOnDirectoryStructureHostCreate(host); + }; + // This works only on 3.9 + watchCompilerHost.extraFileExtensions = parseSettings.extraFileExtensions.map(extension => ({ + extension, + isMixedContent: true, + scriptKind: ts.ScriptKind.Deferred, + })); + watchCompilerHost.trace = log; + // Since we don't want to asynchronously update program we want to disable timeout methods + // So any changes in the program will be delayed and updated when getProgram is called on watch + watchCompilerHost.setTimeout = undefined; + watchCompilerHost.clearTimeout = undefined; + return ts.createWatchProgram(watchCompilerHost); +} +function hasTSConfigChanged(tsconfigPath) { + const stat = fs_1.default.statSync(tsconfigPath); + const lastModifiedAt = stat.mtimeMs; + const cachedLastModifiedAt = tsconfigLastModifiedTimestampCache.get(tsconfigPath); + tsconfigLastModifiedTimestampCache.set(tsconfigPath, lastModifiedAt); + if (cachedLastModifiedAt === undefined) { + return false; + } + return Math.abs(cachedLastModifiedAt - lastModifiedAt) > Number.EPSILON; +} +function maybeInvalidateProgram(existingWatch, filePath, tsconfigPath) { + /* + * By calling watchProgram.getProgram(), it will trigger a resync of the program based on + * whatever new file content we've given it from our input. + */ + let updatedProgram = existingWatch.getProgram().getProgram(); + // In case this change causes problems in larger real world codebases + // Provide an escape hatch so people don't _have_ to revert to an older version + if (process.env.TSESTREE_NO_INVALIDATION === 'true') { + return updatedProgram; + } + if (hasTSConfigChanged(tsconfigPath)) { + /* + * If the stat of the tsconfig has changed, that could mean the include/exclude/files lists has changed + * We need to make sure typescript knows this so it can update appropriately + */ + log('tsconfig has changed - triggering program update. %s', tsconfigPath); + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + fileWatchCallbackTrackingMap + .get(tsconfigPath) + .forEach(cb => cb(tsconfigPath, ts.FileWatcherEventKind.Changed)); + // tsconfig change means that the file list more than likely changed, so clear the cache + programFileListCache.delete(tsconfigPath); + } + let sourceFile = updatedProgram.getSourceFile(filePath); + if (sourceFile) { + return updatedProgram; + } + /* + * Missing source file means our program's folder structure might be out of date. + * So we need to tell typescript it needs to update the correct folder. + */ + log('File was not found in program - triggering folder update. %s', filePath); + // Find the correct directory callback by climbing the folder tree + const currentDir = (0, shared_1.canonicalDirname)(filePath); + let current = null; + let next = currentDir; + let hasCallback = false; + while (current !== next) { + current = next; + const folderWatchCallbacks = folderWatchCallbackTrackingMap.get(current); + if (folderWatchCallbacks) { + for (const cb of folderWatchCallbacks) { + if (currentDir !== current) { + cb(currentDir, ts.FileWatcherEventKind.Changed); + } + cb(current, ts.FileWatcherEventKind.Changed); + } + hasCallback = true; + } + next = (0, shared_1.canonicalDirname)(current); + } + if (!hasCallback) { + /* + * No callback means the paths don't matchup - so no point returning any program + * this will signal to the caller to skip this program + */ + log('No callback found for file, not part of this program. %s', filePath); + return null; + } + // directory update means that the file list more than likely changed, so clear the cache + programFileListCache.delete(tsconfigPath); + // force the immediate resync + updatedProgram = existingWatch.getProgram().getProgram(); + sourceFile = updatedProgram.getSourceFile(filePath); + if (sourceFile) { + return updatedProgram; + } + /* + * At this point we're in one of two states: + * - The file isn't supposed to be in this program due to exclusions + * - The file is new, and was renamed from an old, included filename + * + * For the latter case, we need to tell typescript that the old filename is now deleted + */ + log('File was still not found in program after directory update - checking file deletions. %s', filePath); + const rootFilenames = updatedProgram.getRootFileNames(); + // use find because we only need to "delete" one file to cause typescript to do a full resync + const deletedFile = rootFilenames.find(file => !fs_1.default.existsSync(file)); + if (!deletedFile) { + // There are no deleted files, so it must be the former case of the file not belonging to this program + return null; + } + const fileWatchCallbacks = fileWatchCallbackTrackingMap.get((0, shared_1.getCanonicalFileName)(deletedFile)); + if (!fileWatchCallbacks) { + // shouldn't happen, but just in case + log('Could not find watch callbacks for root file. %s', deletedFile); + return updatedProgram; + } + log('Marking file as deleted. %s', deletedFile); + fileWatchCallbacks.forEach(cb => cb(deletedFile, ts.FileWatcherEventKind.Deleted)); + // deleted files means that the file list _has_ changed, so clear the cache + programFileListCache.delete(tsconfigPath); + updatedProgram = existingWatch.getProgram().getProgram(); + sourceFile = updatedProgram.getSourceFile(filePath); + if (sourceFile) { + return updatedProgram; + } + log('File was still not found in program after deletion check, assuming it is not part of this program. %s', filePath); + return null; +} +//# sourceMappingURL=getWatchProgramsForProjects.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/getWatchProgramsForProjects.js.map b/packages/typescript-estree/dist/create-program/getWatchProgramsForProjects.js.map new file mode 100644 index 000000000000..1439f34a555c --- /dev/null +++ b/packages/typescript-estree/dist/create-program/getWatchProgramsForProjects.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getWatchProgramsForProjects.js","sourceRoot":"","sources":["../../src/create-program/getWatchProgramsForProjects.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/shared.d.ts b/packages/typescript-estree/dist/create-program/shared.d.ts new file mode 100644 index 000000000000..d49a59a27399 --- /dev/null +++ b/packages/typescript-estree/dist/create-program/shared.d.ts @@ -0,0 +1,32 @@ +import type { Program } from 'typescript'; +import * as ts from 'typescript'; +import type { ParseSettings } from '../parseSettings'; +interface ASTAndNoProgram { + ast: ts.SourceFile; + program: null; +} +interface ASTAndDefiniteProgram { + ast: ts.SourceFile; + program: ts.Program; +} +type ASTAndProgram = ASTAndDefiniteProgram | ASTAndNoProgram; +/** + * Compiler options required to avoid critical functionality issues + */ +declare const CORE_COMPILER_OPTIONS: ts.CompilerOptions; +declare function createDefaultCompilerOptionsFromExtra(parseSettings: ParseSettings): ts.CompilerOptions; +type CanonicalPath = string & { + __brand: unknown; +}; +declare function getCanonicalFileName(filePath: string): CanonicalPath; +declare function ensureAbsolutePath(p: string, tsconfigRootDir: string): string; +declare function canonicalDirname(p: CanonicalPath): CanonicalPath; +declare function getAstFromProgram(currentProgram: Program, filePath: string): ASTAndDefiniteProgram | undefined; +/** + * Hash content for compare content. + * @param content hashed contend + * @returns hashed result + */ +declare function createHash(content: string): string; +export { ASTAndDefiniteProgram, ASTAndNoProgram, ASTAndProgram, CORE_COMPILER_OPTIONS, canonicalDirname, CanonicalPath, createDefaultCompilerOptionsFromExtra, createHash, ensureAbsolutePath, getCanonicalFileName, getAstFromProgram, }; +//# sourceMappingURL=shared.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/shared.d.ts.map b/packages/typescript-estree/dist/create-program/shared.d.ts.map new file mode 100644 index 000000000000..aed1fd9ed3c3 --- /dev/null +++ b/packages/typescript-estree/dist/create-program/shared.d.ts.map @@ -0,0 +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;AAUnD,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,CAO3C;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"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/shared.js b/packages/typescript-estree/dist/create-program/shared.js new file mode 100644 index 000000000000..c42d52c9e232 --- /dev/null +++ b/packages/typescript-estree/dist/create-program/shared.js @@ -0,0 +1,124 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getAstFromProgram = exports.getCanonicalFileName = exports.ensureAbsolutePath = exports.createHash = exports.createDefaultCompilerOptionsFromExtra = exports.canonicalDirname = exports.CORE_COMPILER_OPTIONS = void 0; +const path_1 = __importDefault(require("path")); +const ts = __importStar(require("typescript")); +/** + * Compiler options required to avoid critical functionality issues + */ +const CORE_COMPILER_OPTIONS = { + noEmit: true, // required to avoid parse from causing emit to occur + /** + * Flags required to make no-unused-vars work + */ + noUnusedLocals: true, + noUnusedParameters: true, +}; +exports.CORE_COMPILER_OPTIONS = CORE_COMPILER_OPTIONS; +/** + * Default compiler options for program generation + */ +const DEFAULT_COMPILER_OPTIONS = { + ...CORE_COMPILER_OPTIONS, + allowNonTsExtensions: true, + allowJs: true, + checkJs: true, +}; +function createDefaultCompilerOptionsFromExtra(parseSettings) { + if (parseSettings.debugLevel.has('typescript')) { + return { + ...DEFAULT_COMPILER_OPTIONS, + extendedDiagnostics: true, + }; + } + return DEFAULT_COMPILER_OPTIONS; +} +exports.createDefaultCompilerOptionsFromExtra = createDefaultCompilerOptionsFromExtra; +// typescript doesn't provide a ts.sys implementation for browser environments +const useCaseSensitiveFileNames = +// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition +ts.sys !== undefined ? ts.sys.useCaseSensitiveFileNames : true; +const correctPathCasing = useCaseSensitiveFileNames + ? (filePath) => filePath + : (filePath) => filePath.toLowerCase(); +function getCanonicalFileName(filePath) { + let normalized = path_1.default.normalize(filePath); + if (normalized.endsWith(path_1.default.sep)) { + normalized = normalized.slice(0, -1); + } + return correctPathCasing(normalized); +} +exports.getCanonicalFileName = getCanonicalFileName; +function ensureAbsolutePath(p, tsconfigRootDir) { + return path_1.default.isAbsolute(p) + ? p + : path_1.default.join(tsconfigRootDir || process.cwd(), p); +} +exports.ensureAbsolutePath = ensureAbsolutePath; +function canonicalDirname(p) { + return path_1.default.dirname(p); +} +exports.canonicalDirname = canonicalDirname; +const DEFINITION_EXTENSIONS = [ + ts.Extension.Dts, + ts.Extension.Dcts, + ts.Extension.Dmts, +]; +function getExtension(fileName) { + if (!fileName) { + return null; + } + return (DEFINITION_EXTENSIONS.find(definitionExt => fileName.endsWith(definitionExt)) ?? path_1.default.extname(fileName)); +} +function getAstFromProgram(currentProgram, filePath) { + const ast = currentProgram.getSourceFile(filePath); + // working around https://github.com/typescript-eslint/typescript-eslint/issues/1573 + const expectedExt = getExtension(filePath); + const returnedExt = getExtension(ast?.fileName); + if (expectedExt !== returnedExt) { + return undefined; + } + return ast && { ast, program: currentProgram }; +} +exports.getAstFromProgram = getAstFromProgram; +/** + * Hash content for compare content. + * @param content hashed contend + * @returns hashed result + */ +function createHash(content) { + // No ts.sys in browser environments. + // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition + if (ts.sys?.createHash) { + return ts.sys.createHash(content); + } + return content; +} +exports.createHash = createHash; +//# sourceMappingURL=shared.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/shared.js.map b/packages/typescript-estree/dist/create-program/shared.js.map new file mode 100644 index 000000000000..e2ab971c5a10 --- /dev/null +++ b/packages/typescript-estree/dist/create-program/shared.js.map @@ -0,0 +1 @@ +{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/create-program/shared.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/useProvidedPrograms.d.ts b/packages/typescript-estree/dist/create-program/useProvidedPrograms.d.ts new file mode 100644 index 000000000000..61161389c5f8 --- /dev/null +++ b/packages/typescript-estree/dist/create-program/useProvidedPrograms.d.ts @@ -0,0 +1,16 @@ +import * as ts from 'typescript'; +import type { ASTAndDefiniteProgram } from './shared'; +export interface ProvidedProgramsSettings { + filePath: string; + tsconfigRootDir: string; +} +declare function useProvidedPrograms(programInstances: Iterable, { filePath, tsconfigRootDir }: ProvidedProgramsSettings): ASTAndDefiniteProgram | undefined; +/** + * Utility offered by parser to help consumers construct their own program instance. + * + * @param configFile the path to the tsconfig.json file, relative to `projectDirectory` + * @param projectDirectory the project directory to use as the CWD, defaults to `process.cwd()` + */ +declare function createProgramFromConfigFile(configFile: string, projectDirectory?: string): ts.Program; +export { useProvidedPrograms, createProgramFromConfigFile }; +//# sourceMappingURL=useProvidedPrograms.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/useProvidedPrograms.d.ts.map b/packages/typescript-estree/dist/create-program/useProvidedPrograms.d.ts.map new file mode 100644 index 000000000000..7a7d39be5da3 --- /dev/null +++ b/packages/typescript-estree/dist/create-program/useProvidedPrograms.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"useProvidedPrograms.d.ts","sourceRoot":"","sources":["../../src/create-program/useProvidedPrograms.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAGjC,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,CAIZ;AAED,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,CAAC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/useProvidedPrograms.js b/packages/typescript-estree/dist/create-program/useProvidedPrograms.js new file mode 100644 index 000000000000..6dbb6b766943 --- /dev/null +++ b/packages/typescript-estree/dist/create-program/useProvidedPrograms.js @@ -0,0 +1,70 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.createProgramFromConfigFile = exports.useProvidedPrograms = void 0; +const debug_1 = __importDefault(require("debug")); +const path = __importStar(require("path")); +const ts = __importStar(require("typescript")); +const getParsedConfigFile_1 = require("./getParsedConfigFile"); +const shared_1 = require("./shared"); +const log = (0, debug_1.default)('typescript-eslint:typescript-estree:useProvidedProgram'); +function useProvidedPrograms(programInstances, { filePath, tsconfigRootDir }) { + log('Retrieving ast for %s from provided program instance(s)', filePath); + let astAndProgram; + for (const programInstance of programInstances) { + astAndProgram = (0, shared_1.getAstFromProgram)(programInstance, filePath); + // Stop at the first applicable program instance + if (astAndProgram) { + break; + } + } + if (!astAndProgram) { + const relativeFilePath = path.relative(tsconfigRootDir || process.cwd(), filePath); + const errorLines = [ + '"parserOptions.programs" has been provided for @typescript-eslint/parser.', + `The file was not found in any of the provided program instance(s): ${relativeFilePath}`, + ]; + throw new Error(errorLines.join('\n')); + } + astAndProgram.program.getTypeChecker(); // ensure parent pointers are set in source files + return astAndProgram; +} +exports.useProvidedPrograms = useProvidedPrograms; +/** + * Utility offered by parser to help consumers construct their own program instance. + * + * @param configFile the path to the tsconfig.json file, relative to `projectDirectory` + * @param projectDirectory the project directory to use as the CWD, defaults to `process.cwd()` + */ +function createProgramFromConfigFile(configFile, projectDirectory) { + const parsed = (0, getParsedConfigFile_1.getParsedConfigFile)(configFile, projectDirectory); + const host = ts.createCompilerHost(parsed.options, true); + return ts.createProgram(parsed.fileNames, parsed.options, host); +} +exports.createProgramFromConfigFile = createProgramFromConfigFile; +//# sourceMappingURL=useProvidedPrograms.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/useProvidedPrograms.js.map b/packages/typescript-estree/dist/create-program/useProvidedPrograms.js.map new file mode 100644 index 000000000000..9a6b06419dd2 --- /dev/null +++ b/packages/typescript-estree/dist/create-program/useProvidedPrograms.js.map @@ -0,0 +1 @@ +{"version":3,"file":"useProvidedPrograms.js","sourceRoot":"","sources":["../../src/create-program/useProvidedPrograms.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,2CAA6B;AAC7B,+CAAiC;AAEjC,+DAA4D;AAE5D,qCAA6C;AAE7C,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,CAAC;QAC/C,aAAa,GAAG,IAAA,0BAAiB,EAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;QAC7D,gDAAgD;QAChD,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM;QACR,CAAC;IACH,CAAC;IAED,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,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;IACzC,CAAC;IAED,aAAa,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,iDAAiD;IAEzF,OAAO,aAAa,CAAC;AACvB,CAAC;AAiBQ,kDAAmB;AAf5B;;;;;GAKG;AACH,SAAS,2BAA2B,CAClC,UAAkB,EAClB,gBAAyB;IAEzB,MAAM,MAAM,GAAG,IAAA,yCAAmB,EAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;IACjE,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;AAE6B,kEAA2B"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/validateDefaultProjectForFilesGlob.d.ts b/packages/typescript-estree/dist/create-program/validateDefaultProjectForFilesGlob.d.ts new file mode 100644 index 000000000000..94d6fee32692 --- /dev/null +++ b/packages/typescript-estree/dist/create-program/validateDefaultProjectForFilesGlob.d.ts @@ -0,0 +1,4 @@ +import type { ProjectServiceOptions } from '../parser-options'; +export declare const DEFAULT_PROJECT_FILES_ERROR_EXPLANATION = "\n\nHaving many files run with the default project is known to cause performance issues and slow down linting.\n\nSee https://typescript-eslint.io/troubleshooting/#allowdefaultproject-glob-too-wide\n"; +export declare function validateDefaultProjectForFilesGlob(options: ProjectServiceOptions): void; +//# sourceMappingURL=validateDefaultProjectForFilesGlob.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/validateDefaultProjectForFilesGlob.d.ts.map b/packages/typescript-estree/dist/create-program/validateDefaultProjectForFilesGlob.d.ts.map new file mode 100644 index 000000000000..c4993ce85b3c --- /dev/null +++ b/packages/typescript-estree/dist/create-program/validateDefaultProjectForFilesGlob.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"validateDefaultProjectForFilesGlob.d.ts","sourceRoot":"","sources":["../../src/create-program/validateDefaultProjectForFilesGlob.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE/D,eAAO,MAAM,uCAAuC,4MAKnD,CAAC;AAEF,wBAAgB,kCAAkC,CAChD,OAAO,EAAE,qBAAqB,GAC7B,IAAI,CAiBN"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/validateDefaultProjectForFilesGlob.js b/packages/typescript-estree/dist/create-program/validateDefaultProjectForFilesGlob.js new file mode 100644 index 000000000000..5155633f55c4 --- /dev/null +++ b/packages/typescript-estree/dist/create-program/validateDefaultProjectForFilesGlob.js @@ -0,0 +1,24 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.validateDefaultProjectForFilesGlob = exports.DEFAULT_PROJECT_FILES_ERROR_EXPLANATION = void 0; +exports.DEFAULT_PROJECT_FILES_ERROR_EXPLANATION = ` + +Having many files run with the default project is known to cause performance issues and slow down linting. + +See https://typescript-eslint.io/troubleshooting/#allowdefaultproject-glob-too-wide +`; +function validateDefaultProjectForFilesGlob(options) { + if (!options.allowDefaultProject?.length) { + return; + } + for (const glob of options.allowDefaultProject) { + if (glob === '*') { + throw new Error(`allowDefaultProject contains the overly wide '*'.${exports.DEFAULT_PROJECT_FILES_ERROR_EXPLANATION}`); + } + if (glob.includes('**')) { + throw new Error(`allowDefaultProject glob '${glob}' contains a disallowed '**'.${exports.DEFAULT_PROJECT_FILES_ERROR_EXPLANATION}`); + } + } +} +exports.validateDefaultProjectForFilesGlob = validateDefaultProjectForFilesGlob; +//# sourceMappingURL=validateDefaultProjectForFilesGlob.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/validateDefaultProjectForFilesGlob.js.map b/packages/typescript-estree/dist/create-program/validateDefaultProjectForFilesGlob.js.map new file mode 100644 index 000000000000..188aea4ad226 --- /dev/null +++ b/packages/typescript-estree/dist/create-program/validateDefaultProjectForFilesGlob.js.map @@ -0,0 +1 @@ +{"version":3,"file":"validateDefaultProjectForFilesGlob.js","sourceRoot":"","sources":["../../src/create-program/validateDefaultProjectForFilesGlob.ts"],"names":[],"mappings":";;;AAEa,QAAA,uCAAuC,GAAG;;;;;CAKtD,CAAC;AAEF,SAAgB,kCAAkC,CAChD,OAA8B;IAE9B,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,MAAM,EAAE,CAAC;QACzC,OAAO;IACT,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;QAC/C,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CACb,oDAAoD,+CAAuC,EAAE,CAC9F,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CACb,6BAA6B,IAAI,gCAAgC,+CAAuC,EAAE,CAC3G,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAnBD,gFAmBC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/createParserServices.d.ts b/packages/typescript-estree/dist/createParserServices.d.ts new file mode 100644 index 000000000000..28b98fe8339e --- /dev/null +++ b/packages/typescript-estree/dist/createParserServices.d.ts @@ -0,0 +1,5 @@ +import type * as ts from 'typescript'; +import type { ASTMaps } from './convert'; +import type { ParserServices } from './parser-options'; +export declare function createParserServices(astMaps: ASTMaps, program: ts.Program | null): ParserServices; +//# sourceMappingURL=createParserServices.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/createParserServices.d.ts.map b/packages/typescript-estree/dist/createParserServices.d.ts.map new file mode 100644 index 000000000000..69157f26140f --- /dev/null +++ b/packages/typescript-estree/dist/createParserServices.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"createParserServices.d.ts","sourceRoot":"","sources":["../src/createParserServices.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,EAAE,CAAC,OAAO,GAAG,IAAI,GACzB,cAAc,CA2BhB"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/createParserServices.js b/packages/typescript-estree/dist/createParserServices.js new file mode 100644 index 000000000000..eefc9f54b995 --- /dev/null +++ b/packages/typescript-estree/dist/createParserServices.js @@ -0,0 +1,29 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.createParserServices = void 0; +function createParserServices(astMaps, program) { + if (!program) { + return { + program, + emitDecoratorMetadata: undefined, + experimentalDecorators: undefined, + // we always return the node maps because + // (a) they don't require type info and + // (b) they can be useful when using some of TS's internal non-type-aware AST utils + ...astMaps, + }; + } + const checker = program.getTypeChecker(); + const compilerOptions = program.getCompilerOptions(); + return { + program, + // not set in the config is the same as off + emitDecoratorMetadata: compilerOptions.emitDecoratorMetadata ?? false, + experimentalDecorators: compilerOptions.experimentalDecorators ?? false, + ...astMaps, + getSymbolAtLocation: node => checker.getSymbolAtLocation(astMaps.esTreeNodeToTSNodeMap.get(node)), + getTypeAtLocation: node => checker.getTypeAtLocation(astMaps.esTreeNodeToTSNodeMap.get(node)), + }; +} +exports.createParserServices = createParserServices; +//# sourceMappingURL=createParserServices.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/createParserServices.js.map b/packages/typescript-estree/dist/createParserServices.js.map new file mode 100644 index 000000000000..accc38ac1091 --- /dev/null +++ b/packages/typescript-estree/dist/createParserServices.js.map @@ -0,0 +1 @@ +{"version":3,"file":"createParserServices.js","sourceRoot":"","sources":["../src/createParserServices.ts"],"names":[],"mappings":";;;AAKA,SAAgB,oBAAoB,CAClC,OAAgB,EAChB,OAA0B;IAE1B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;YACL,OAAO;YACP,qBAAqB,EAAE,SAAS;YAChC,sBAAsB,EAAE,SAAS;YACjC,yCAAyC;YACzC,uCAAuC;YACvC,mFAAmF;YACnF,GAAG,OAAO;SACX,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IACzC,MAAM,eAAe,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAErD,OAAO;QACL,OAAO;QACP,2CAA2C;QAC3C,qBAAqB,EAAE,eAAe,CAAC,qBAAqB,IAAI,KAAK;QACrE,sBAAsB,EAAE,eAAe,CAAC,sBAAsB,IAAI,KAAK;QACvE,GAAG,OAAO;QACV,mBAAmB,EAAE,IAAI,CAAC,EAAE,CAC1B,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtE,iBAAiB,EAAE,IAAI,CAAC,EAAE,CACxB,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;KACrE,CAAC;AACJ,CAAC;AA9BD,oDA8BC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/getModifiers.d.ts b/packages/typescript-estree/dist/getModifiers.d.ts new file mode 100644 index 000000000000..c312b154bc9b --- /dev/null +++ b/packages/typescript-estree/dist/getModifiers.d.ts @@ -0,0 +1,4 @@ +import * as ts from 'typescript'; +export declare function getModifiers(node: ts.Node | null | undefined, includeIllegalModifiers?: boolean): ts.Modifier[] | undefined; +export declare function getDecorators(node: ts.Node | null | undefined, includeIllegalDecorators?: boolean): ts.Decorator[] | undefined; +//# sourceMappingURL=getModifiers.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/getModifiers.d.ts.map b/packages/typescript-estree/dist/getModifiers.d.ts.map new file mode 100644 index 000000000000..a67408e6533f --- /dev/null +++ b/packages/typescript-estree/dist/getModifiers.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"getModifiers.d.ts","sourceRoot":"","sources":["../src/getModifiers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAMjC,wBAAgB,YAAY,CAC1B,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,IAAI,GAAG,SAAS,EAChC,uBAAuB,UAAQ,GAC9B,EAAE,CAAC,QAAQ,EAAE,GAAG,SAAS,CAsB3B;AAED,wBAAgB,aAAa,CAC3B,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,IAAI,GAAG,SAAS,EAChC,wBAAwB,UAAQ,GAC/B,EAAE,CAAC,SAAS,EAAE,GAAG,SAAS,CAoB5B"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/getModifiers.js b/packages/typescript-estree/dist/getModifiers.js new file mode 100644 index 000000000000..fc6c760bf049 --- /dev/null +++ b/packages/typescript-estree/dist/getModifiers.js @@ -0,0 +1,66 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getDecorators = exports.getModifiers = void 0; +const ts = __importStar(require("typescript")); +const version_check_1 = require("./version-check"); +const isAtLeast48 = version_check_1.typescriptVersionIsAtLeast['4.8']; +function getModifiers(node, includeIllegalModifiers = false) { + if (node == null) { + return undefined; + } + if (isAtLeast48) { + // eslint-disable-next-line deprecation/deprecation -- this is safe as it's guarded + if (includeIllegalModifiers || ts.canHaveModifiers(node)) { + // eslint-disable-next-line deprecation/deprecation -- this is safe as it's guarded + const modifiers = ts.getModifiers(node); + return modifiers ? Array.from(modifiers) : undefined; + } + return undefined; + } + return ( + // @ts-expect-error intentional fallback for older TS versions + node.modifiers?.filter((m) => !ts.isDecorator(m))); +} +exports.getModifiers = getModifiers; +function getDecorators(node, includeIllegalDecorators = false) { + if (node == null) { + return undefined; + } + if (isAtLeast48) { + // eslint-disable-next-line deprecation/deprecation -- this is safe as it's guarded + if (includeIllegalDecorators || ts.canHaveDecorators(node)) { + // eslint-disable-next-line deprecation/deprecation -- this is safe as it's guarded + const decorators = ts.getDecorators(node); + return decorators ? Array.from(decorators) : undefined; + } + return undefined; + } + return ( + // @ts-expect-error intentional fallback for older TS versions + node.decorators?.filter(ts.isDecorator)); +} +exports.getDecorators = getDecorators; +//# sourceMappingURL=getModifiers.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/getModifiers.js.map b/packages/typescript-estree/dist/getModifiers.js.map new file mode 100644 index 000000000000..4416c26b7b39 --- /dev/null +++ b/packages/typescript-estree/dist/getModifiers.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getModifiers.js","sourceRoot":"","sources":["../src/getModifiers.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAiC;AAEjC,mDAA6D;AAE7D,MAAM,WAAW,GAAG,0CAA0B,CAAC,KAAK,CAAC,CAAC;AAEtD,SAAgB,YAAY,CAC1B,IAAgC,EAChC,uBAAuB,GAAG,KAAK;IAE/B,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACjB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QAChB,mFAAmF;QACnF,IAAI,uBAAuB,IAAI,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;YACzD,mFAAmF;YACnF,MAAM,SAAS,GAAG,EAAE,CAAC,YAAY,CAAC,IAAuB,CAAC,CAAC;YAC3D,OAAO,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACvD,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;IACL,8DAA8D;IAC7D,IAAI,CAAC,SAAuC,EAAE,MAAM,CACnD,CAAC,CAAC,EAAoB,EAAE,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAC5C,CACF,CAAC;AACJ,CAAC;AAzBD,oCAyBC;AAED,SAAgB,aAAa,CAC3B,IAAgC,EAChC,wBAAwB,GAAG,KAAK;IAEhC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACjB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QAChB,mFAAmF;QACnF,IAAI,wBAAwB,IAAI,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3D,mFAAmF;YACnF,MAAM,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,IAAwB,CAAC,CAAC;YAC9D,OAAO,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACzD,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;IACL,8DAA8D;IAC7D,IAAI,CAAC,UAAoC,EAAE,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,CACnE,CAAC;AACJ,CAAC;AAvBD,sCAuBC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/index.d.ts b/packages/typescript-estree/dist/index.d.ts new file mode 100644 index 000000000000..7905430b9c43 --- /dev/null +++ b/packages/typescript-estree/dist/index.d.ts @@ -0,0 +1,14 @@ +export { AST, parse, parseAndGenerateServices, ParseAndGenerateServicesResult, } from './parser'; +export { ParserServices, ParserServicesWithTypeInformation, ParserServicesWithoutTypeInformation, TSESTreeOptions, } from './parser-options'; +export { simpleTraverse } from './simple-traverse'; +export * from './ts-estree'; +export { createProgramFromConfigFile as createProgram } from './create-program/useProvidedPrograms'; +export * from './create-program/getScriptKind'; +export { getCanonicalFileName } from './create-program/shared'; +export { typescriptVersionIsAtLeast } from './version-check'; +export * from './getModifiers'; +export { TSError } from './node-utils'; +export * from './clear-caches'; +export { withoutProjectParserOptions } from './withoutProjectParserOptions'; +export declare const version: string; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/index.d.ts.map b/packages/typescript-estree/dist/index.d.ts.map new file mode 100644 index 000000000000..83e163d07fc5 --- /dev/null +++ b/packages/typescript-estree/dist/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,GAAG,EACH,KAAK,EACL,wBAAwB,EACxB,8BAA8B,GAC/B,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,cAAc,EACd,iCAAiC,EACjC,oCAAoC,EACpC,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,2BAA2B,IAAI,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACpG,cAAc,gCAAgC,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC7D,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAI5E,eAAO,MAAM,OAAO,EAAE,MAA2C,CAAC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/index.js b/packages/typescript-estree/dist/index.js new file mode 100644 index 000000000000..ea04bf9d4673 --- /dev/null +++ b/packages/typescript-estree/dist/index.js @@ -0,0 +1,40 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.version = exports.withoutProjectParserOptions = exports.TSError = exports.typescriptVersionIsAtLeast = exports.getCanonicalFileName = exports.createProgram = exports.simpleTraverse = exports.parseAndGenerateServices = exports.parse = void 0; +var parser_1 = require("./parser"); +Object.defineProperty(exports, "parse", { enumerable: true, get: function () { return parser_1.parse; } }); +Object.defineProperty(exports, "parseAndGenerateServices", { enumerable: true, get: function () { return parser_1.parseAndGenerateServices; } }); +var simple_traverse_1 = require("./simple-traverse"); +Object.defineProperty(exports, "simpleTraverse", { enumerable: true, get: function () { return simple_traverse_1.simpleTraverse; } }); +__exportStar(require("./ts-estree"), exports); +var useProvidedPrograms_1 = require("./create-program/useProvidedPrograms"); +Object.defineProperty(exports, "createProgram", { enumerable: true, get: function () { return useProvidedPrograms_1.createProgramFromConfigFile; } }); +__exportStar(require("./create-program/getScriptKind"), exports); +var shared_1 = require("./create-program/shared"); +Object.defineProperty(exports, "getCanonicalFileName", { enumerable: true, get: function () { return shared_1.getCanonicalFileName; } }); +var version_check_1 = require("./version-check"); +Object.defineProperty(exports, "typescriptVersionIsAtLeast", { enumerable: true, get: function () { return version_check_1.typescriptVersionIsAtLeast; } }); +__exportStar(require("./getModifiers"), exports); +var node_utils_1 = require("./node-utils"); +Object.defineProperty(exports, "TSError", { enumerable: true, get: function () { return node_utils_1.TSError; } }); +__exportStar(require("./clear-caches"), exports); +var withoutProjectParserOptions_1 = require("./withoutProjectParserOptions"); +Object.defineProperty(exports, "withoutProjectParserOptions", { enumerable: true, get: function () { return withoutProjectParserOptions_1.withoutProjectParserOptions; } }); +// note - cannot migrate this to an import statement because it will make TSC copy the package.json to the dist folder +// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access +exports.version = require('../package.json').version; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/index.js.map b/packages/typescript-estree/dist/index.js.map new file mode 100644 index 000000000000..640167174c2e --- /dev/null +++ b/packages/typescript-estree/dist/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,mCAKkB;AAHhB,+FAAA,KAAK,OAAA;AACL,kHAAA,wBAAwB,OAAA;AAS1B,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AACvB,8CAA4B;AAC5B,4EAAoG;AAA3F,oHAAA,2BAA2B,OAAiB;AACrD,iEAA+C;AAC/C,kDAA+D;AAAtD,8GAAA,oBAAoB,OAAA;AAC7B,iDAA6D;AAApD,2HAAA,0BAA0B,OAAA;AACnC,iDAA+B;AAC/B,2CAAuC;AAA9B,qGAAA,OAAO,OAAA;AAChB,iDAA+B;AAC/B,6EAA4E;AAAnE,0IAAA,2BAA2B,OAAA;AAEpC,sHAAsH;AACtH,+GAA+G;AAClG,QAAA,OAAO,GAAW,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/jsx/xhtml-entities.d.ts b/packages/typescript-estree/dist/jsx/xhtml-entities.d.ts new file mode 100644 index 000000000000..7953cc6fee71 --- /dev/null +++ b/packages/typescript-estree/dist/jsx/xhtml-entities.d.ts @@ -0,0 +1,2 @@ +export declare const xhtmlEntities: Record; +//# sourceMappingURL=xhtml-entities.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/jsx/xhtml-entities.d.ts.map b/packages/typescript-estree/dist/jsx/xhtml-entities.d.ts.map new file mode 100644 index 000000000000..ce45e83d3da8 --- /dev/null +++ b/packages/typescript-estree/dist/jsx/xhtml-entities.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"xhtml-entities.d.ts","sourceRoot":"","sources":["../../src/jsx/xhtml-entities.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA8PhD,CAAC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/jsx/xhtml-entities.js b/packages/typescript-estree/dist/jsx/xhtml-entities.js new file mode 100644 index 000000000000..bf58e96574be --- /dev/null +++ b/packages/typescript-estree/dist/jsx/xhtml-entities.js @@ -0,0 +1,259 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.xhtmlEntities = void 0; +exports.xhtmlEntities = { + quot: '\u0022', + amp: '&', + apos: '\u0027', + lt: '<', + gt: '>', + nbsp: '\u00A0', + iexcl: '\u00A1', + cent: '\u00A2', + pound: '\u00A3', + curren: '\u00A4', + yen: '\u00A5', + brvbar: '\u00A6', + sect: '\u00A7', + uml: '\u00A8', + copy: '\u00A9', + ordf: '\u00AA', + laquo: '\u00AB', + not: '\u00AC', + shy: '\u00AD', + reg: '\u00AE', + macr: '\u00AF', + deg: '\u00B0', + plusmn: '\u00B1', + sup2: '\u00B2', + sup3: '\u00B3', + acute: '\u00B4', + micro: '\u00B5', + para: '\u00B6', + middot: '\u00B7', + cedil: '\u00B8', + sup1: '\u00B9', + ordm: '\u00BA', + raquo: '\u00BB', + frac14: '\u00BC', + frac12: '\u00BD', + frac34: '\u00BE', + iquest: '\u00BF', + Agrave: '\u00C0', + Aacute: '\u00C1', + Acirc: '\u00C2', + Atilde: '\u00C3', + Auml: '\u00C4', + Aring: '\u00C5', + AElig: '\u00C6', + Ccedil: '\u00C7', + Egrave: '\u00C8', + Eacute: '\u00C9', + Ecirc: '\u00CA', + Euml: '\u00CB', + Igrave: '\u00CC', + Iacute: '\u00CD', + Icirc: '\u00CE', + Iuml: '\u00CF', + ETH: '\u00D0', + Ntilde: '\u00D1', + Ograve: '\u00D2', + Oacute: '\u00D3', + Ocirc: '\u00D4', + Otilde: '\u00D5', + Ouml: '\u00D6', + times: '\u00D7', + Oslash: '\u00D8', + Ugrave: '\u00D9', + Uacute: '\u00DA', + Ucirc: '\u00DB', + Uuml: '\u00DC', + Yacute: '\u00DD', + THORN: '\u00DE', + szlig: '\u00DF', + agrave: '\u00E0', + aacute: '\u00E1', + acirc: '\u00E2', + atilde: '\u00E3', + auml: '\u00E4', + aring: '\u00E5', + aelig: '\u00E6', + ccedil: '\u00E7', + egrave: '\u00E8', + eacute: '\u00E9', + ecirc: '\u00EA', + euml: '\u00EB', + igrave: '\u00EC', + iacute: '\u00ED', + icirc: '\u00EE', + iuml: '\u00EF', + eth: '\u00F0', + ntilde: '\u00F1', + ograve: '\u00F2', + oacute: '\u00F3', + ocirc: '\u00F4', + otilde: '\u00F5', + ouml: '\u00F6', + divide: '\u00F7', + oslash: '\u00F8', + ugrave: '\u00F9', + uacute: '\u00FA', + ucirc: '\u00FB', + uuml: '\u00FC', + yacute: '\u00FD', + thorn: '\u00FE', + yuml: '\u00FF', + OElig: '\u0152', + oelig: '\u0153', + Scaron: '\u0160', + scaron: '\u0161', + Yuml: '\u0178', + fnof: '\u0192', + circ: '\u02C6', + tilde: '\u02DC', + Alpha: '\u0391', + Beta: '\u0392', + Gamma: '\u0393', + Delta: '\u0394', + Epsilon: '\u0395', + Zeta: '\u0396', + Eta: '\u0397', + Theta: '\u0398', + Iota: '\u0399', + Kappa: '\u039A', + Lambda: '\u039B', + Mu: '\u039C', + Nu: '\u039D', + Xi: '\u039E', + Omicron: '\u039F', + Pi: '\u03A0', + Rho: '\u03A1', + Sigma: '\u03A3', + Tau: '\u03A4', + Upsilon: '\u03A5', + Phi: '\u03A6', + Chi: '\u03A7', + Psi: '\u03A8', + Omega: '\u03A9', + alpha: '\u03B1', + beta: '\u03B2', + gamma: '\u03B3', + delta: '\u03B4', + epsilon: '\u03B5', + zeta: '\u03B6', + eta: '\u03B7', + theta: '\u03B8', + iota: '\u03B9', + kappa: '\u03BA', + lambda: '\u03BB', + mu: '\u03BC', + nu: '\u03BD', + xi: '\u03BE', + omicron: '\u03BF', + pi: '\u03C0', + rho: '\u03C1', + sigmaf: '\u03C2', + sigma: '\u03C3', + tau: '\u03C4', + upsilon: '\u03C5', + phi: '\u03C6', + chi: '\u03C7', + psi: '\u03C8', + omega: '\u03C9', + thetasym: '\u03D1', + upsih: '\u03D2', + piv: '\u03D6', + ensp: '\u2002', + emsp: '\u2003', + thinsp: '\u2009', + zwnj: '\u200C', + zwj: '\u200D', + lrm: '\u200E', + rlm: '\u200F', + ndash: '\u2013', + mdash: '\u2014', + lsquo: '\u2018', + rsquo: '\u2019', + sbquo: '\u201A', + ldquo: '\u201C', + rdquo: '\u201D', + bdquo: '\u201E', + dagger: '\u2020', + Dagger: '\u2021', + bull: '\u2022', + hellip: '\u2026', + permil: '\u2030', + prime: '\u2032', + Prime: '\u2033', + lsaquo: '\u2039', + rsaquo: '\u203A', + oline: '\u203E', + frasl: '\u2044', + euro: '\u20AC', + image: '\u2111', + weierp: '\u2118', + real: '\u211C', + trade: '\u2122', + alefsym: '\u2135', + larr: '\u2190', + uarr: '\u2191', + rarr: '\u2192', + darr: '\u2193', + harr: '\u2194', + crarr: '\u21B5', + lArr: '\u21D0', + uArr: '\u21D1', + rArr: '\u21D2', + dArr: '\u21D3', + hArr: '\u21D4', + forall: '\u2200', + part: '\u2202', + exist: '\u2203', + empty: '\u2205', + nabla: '\u2207', + isin: '\u2208', + notin: '\u2209', + ni: '\u220B', + prod: '\u220F', + sum: '\u2211', + minus: '\u2212', + lowast: '\u2217', + radic: '\u221A', + prop: '\u221D', + infin: '\u221E', + ang: '\u2220', + and: '\u2227', + or: '\u2228', + cap: '\u2229', + cup: '\u222A', + int: '\u222B', + there4: '\u2234', + sim: '\u223C', + cong: '\u2245', + asymp: '\u2248', + ne: '\u2260', + equiv: '\u2261', + le: '\u2264', + ge: '\u2265', + sub: '\u2282', + sup: '\u2283', + nsub: '\u2284', + sube: '\u2286', + supe: '\u2287', + oplus: '\u2295', + otimes: '\u2297', + perp: '\u22A5', + sdot: '\u22C5', + lceil: '\u2308', + rceil: '\u2309', + lfloor: '\u230A', + rfloor: '\u230B', + lang: '\u2329', + rang: '\u232A', + loz: '\u25CA', + spades: '\u2660', + clubs: '\u2663', + hearts: '\u2665', + diams: '\u2666', +}; +//# sourceMappingURL=xhtml-entities.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/jsx/xhtml-entities.js.map b/packages/typescript-estree/dist/jsx/xhtml-entities.js.map new file mode 100644 index 000000000000..30c14ec78b23 --- /dev/null +++ b/packages/typescript-estree/dist/jsx/xhtml-entities.js.map @@ -0,0 +1 @@ +{"version":3,"file":"xhtml-entities.js","sourceRoot":"","sources":["../../src/jsx/xhtml-entities.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/node-utils.d.ts b/packages/typescript-estree/dist/node-utils.d.ts new file mode 100644 index 000000000000..d6b12545d3d9 --- /dev/null +++ b/packages/typescript-estree/dist/node-utils.d.ts @@ -0,0 +1,249 @@ +import * as ts from 'typescript'; +import type { TSESTree, TSNode } from './ts-estree'; +import { AST_NODE_TYPES, AST_TOKEN_TYPES } from './ts-estree'; +declare const SyntaxKind: typeof ts.SyntaxKind; +type LogicalOperatorKind = ts.SyntaxKind.AmpersandAmpersandToken | ts.SyntaxKind.BarBarToken | ts.SyntaxKind.QuestionQuestionToken; +interface TokenToText extends TSESTree.PunctuatorTokenToText, TSESTree.BinaryOperatorToText { + [SyntaxKind.ImportKeyword]: 'import'; + [SyntaxKind.NewKeyword]: 'new'; + [SyntaxKind.KeyOfKeyword]: 'keyof'; + [SyntaxKind.ReadonlyKeyword]: 'readonly'; + [SyntaxKind.UniqueKeyword]: 'unique'; +} +type AssignmentOperatorKind = keyof TSESTree.AssignmentOperatorToText; +type BinaryOperatorKind = keyof TSESTree.BinaryOperatorToText; +type DeclarationKind = TSESTree.VariableDeclaration['kind']; +/** + * Returns true if the given ts.Token is a logical operator + * @param operator the operator token + * @returns is a logical operator + */ +export declare function isLogicalOperator(operator: ts.BinaryOperatorToken): operator is ts.Token; +export declare function isESTreeBinaryOperator(operator: ts.BinaryOperatorToken): operator is ts.Token; +type TokenForTokenKind = T extends keyof TokenToText ? TokenToText[T] : string | undefined; +/** + * Returns the string form of the given TSToken SyntaxKind + * @param kind the token's SyntaxKind + * @returns the token applicable token as a string + */ +export declare function getTextForTokenKind(kind: T): TokenForTokenKind; +/** + * Returns true if the given ts.Node is a valid ESTree class member + * @param node TypeScript AST node + * @returns is valid ESTree class member + */ +export declare function isESTreeClassMember(node: ts.Node): boolean; +/** + * Checks if a ts.Node has a modifier + * @param modifierKind TypeScript SyntaxKind modifier + * @param node TypeScript AST node + * @returns has the modifier specified + */ +export declare function hasModifier(modifierKind: ts.KeywordSyntaxKind, node: ts.Node): boolean; +/** + * Get last last modifier in ast + * @param node TypeScript AST node + * @returns returns last modifier if present or null + */ +export declare function getLastModifier(node: ts.Node): ts.Modifier | null; +/** + * Returns true if the given ts.Token is a comma + * @param token the TypeScript token + * @returns is comma + */ +export declare function isComma(token: ts.Node): token is ts.Token; +/** + * Returns true if the given ts.Node is a comment + * @param node the TypeScript node + * @returns is comment + */ +export declare function isComment(node: ts.Node): boolean; +/** + * Returns the binary expression type of the given ts.Token + * @param operator the operator token + * @returns the binary expression type + */ +export declare function getBinaryExpressionType(operator: ts.BinaryOperatorToken): { + type: AST_NODE_TYPES.AssignmentExpression; + operator: TokenForTokenKind; +} | { + type: AST_NODE_TYPES.BinaryExpression; + operator: TokenForTokenKind; +} | { + type: AST_NODE_TYPES.LogicalExpression; + operator: TokenForTokenKind; +}; +/** + * Returns line and column data for the given positions, + * @param pos position to check + * @param ast the AST object + * @returns line and column + */ +export declare function getLineAndCharacterFor(pos: number, ast: ts.SourceFile): TSESTree.Position; +/** + * Returns line and column data for the given start and end positions, + * for the given AST + * @param range start end data + * @param ast the AST object + * @returns the loc data + */ +export declare function getLocFor(range: TSESTree.Range, ast: ts.SourceFile): TSESTree.SourceLocation; +/** + * Check whatever node can contain directive + * @returns returns true if node can contain directive + */ +export declare function canContainDirective(node: ts.Block | ts.ClassStaticBlockDeclaration | ts.ModuleBlock | ts.SourceFile): boolean; +/** + * Returns range for the given ts.Node + * @param node the ts.Node or ts.Token + * @param ast the AST object + * @returns the range data + */ +export declare function getRange(node: Pick, ast: ts.SourceFile): [number, number]; +/** + * Returns true if a given ts.Node is a JSX token + * @param node ts.Node to be checked + * @returns is a JSX token + */ +export declare function isJSXToken(node: ts.Node): boolean; +/** + * Returns the declaration kind of the given ts.Node + * @param node TypeScript AST node + * @returns declaration kind + */ +export declare function getDeclarationKind(node: ts.VariableDeclarationList): DeclarationKind; +/** + * Gets a ts.Node's accessibility level + * @param node The ts.Node + * @returns accessibility "public", "protected", "private", or null + */ +export declare function getTSNodeAccessibility(node: ts.Node): 'private' | 'protected' | 'public' | undefined; +/** + * Finds the next token based on the previous one and its parent + * Had to copy this from TS instead of using TS's version because theirs doesn't pass the ast to getChildren + * @param previousToken The previous TSToken + * @param parent The parent TSNode + * @param ast The TS AST + * @returns the next TSToken + */ +export declare function findNextToken(previousToken: ts.TextRange, parent: ts.Node, ast: ts.SourceFile): ts.Node | undefined; +/** + * Find the first matching ancestor based on the given predicate function. + * @param node The current ts.Node + * @param predicate The predicate function to apply to each checked ancestor + * @returns a matching parent ts.Node + */ +export declare function findFirstMatchingAncestor(node: ts.Node, predicate: (node: ts.Node) => boolean): ts.Node | undefined; +/** + * Returns true if a given ts.Node has a JSX token within its hierarchy + * @param node ts.Node to be checked + * @returns has JSX ancestor + */ +export declare function hasJSXAncestor(node: ts.Node): boolean; +/** + * Unescape the text content of string literals, e.g. & -> & + * @param text The escaped string literal text. + * @returns The unescaped string literal text. + */ +export declare function unescapeStringLiteralText(text: string): string; +/** + * Returns true if a given ts.Node is a computed property + * @param node ts.Node to be checked + * @returns is Computed Property + */ +export declare function isComputedProperty(node: ts.Node): node is ts.ComputedPropertyName; +/** + * Returns true if a given ts.Node is optional (has QuestionToken) + * @param node ts.Node to be checked + * @returns is Optional + */ +export declare function isOptional(node: { + questionToken?: ts.QuestionToken; +}): boolean; +/** + * Returns true if the node is an optional chain node + */ +export declare function isChainExpression(node: TSESTree.Node): node is TSESTree.ChainExpression; +/** + * Returns true of the child of property access expression is an optional chain + */ +export declare function isChildUnwrappableOptionalChain(node: ts.CallExpression | ts.ElementAccessExpression | ts.NonNullExpression | ts.PropertyAccessExpression, child: TSESTree.Node): boolean; +/** + * Returns the type of a given ts.Token + * @param token the ts.Token + * @returns the token type + */ +export declare function getTokenType(token: ts.Identifier | ts.Token): Exclude; +/** + * Extends and formats a given ts.Token, for a given AST + * @param token the ts.Token + * @param ast the AST object + * @returns the converted Token + */ +export declare function convertToken(token: ts.Token, ast: ts.SourceFile): TSESTree.Token; +/** + * Converts all tokens for the given AST + * @param ast the AST object + * @returns the converted Tokens + */ +export declare function convertTokens(ast: ts.SourceFile): TSESTree.Token[]; +export declare class TSError extends Error { + readonly fileName: string; + readonly location: { + start: { + line: number; + column: number; + offset: number; + }; + end: { + line: number; + column: number; + offset: number; + }; + }; + constructor(message: string, fileName: string, location: { + start: { + line: number; + column: number; + offset: number; + }; + end: { + line: number; + column: number; + offset: number; + }; + }); + get index(): number; + get lineNumber(): number; + get column(): number; +} +/** + * @param message the error message + * @param ast the AST object + * @param startIndex the index at which the error starts + * @param endIndex the index at which the error ends + * @returns converted error object + */ +export declare function createError(message: string, ast: ts.SourceFile, startIndex: number, endIndex?: number): TSError; +export declare function nodeHasIllegalDecorators(node: ts.Node): node is ts.Node & { + illegalDecorators: ts.Node[]; +}; +/** + * @param n the TSNode + * @param ast the TS AST + */ +export declare function nodeHasTokens(n: ts.Node, ast: ts.SourceFile): boolean; +/** + * Like `forEach`, but suitable for use with numbers and strings (which may be falsy). + */ +export declare function firstDefined(array: readonly T[] | undefined, callback: (element: T, index: number) => U | undefined): U | undefined; +export declare function identifierIsThisKeyword(id: ts.Identifier): boolean; +export declare function isThisIdentifier(node: ts.Node | undefined): node is ts.Identifier; +export declare function isThisInTypeQuery(node: ts.Node): boolean; +export declare function nodeIsPresent(node: ts.Node | undefined): node is ts.Node; +export declare function getContainingFunction(node: ts.Node): ts.SignatureDeclaration | undefined; +export declare function nodeCanBeDecorated(node: TSNode): boolean; +export declare function isValidAssignmentTarget(node: ts.Node): boolean; +export declare function getNamespaceModifiers(node: ts.ModuleDeclaration): ts.Modifier[] | undefined; +export {}; +//# sourceMappingURL=node-utils.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/node-utils.d.ts.map b/packages/typescript-estree/dist/node-utils.d.ts.map new file mode 100644 index 000000000000..938d7fc6bb7a --- /dev/null +++ b/packages/typescript-estree/dist/node-utils.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"node-utils.d.ts","sourceRoot":"","sources":["../src/node-utils.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/node-utils.js b/packages/typescript-estree/dist/node-utils.js new file mode 100644 index 000000000000..0830c400c309 --- /dev/null +++ b/packages/typescript-estree/dist/node-utils.js @@ -0,0 +1,789 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getNamespaceModifiers = exports.isValidAssignmentTarget = exports.nodeCanBeDecorated = exports.getContainingFunction = exports.nodeIsPresent = exports.isThisInTypeQuery = exports.isThisIdentifier = exports.identifierIsThisKeyword = exports.firstDefined = exports.nodeHasTokens = exports.nodeHasIllegalDecorators = exports.createError = exports.TSError = exports.convertTokens = exports.convertToken = exports.getTokenType = exports.isChildUnwrappableOptionalChain = exports.isChainExpression = exports.isOptional = exports.isComputedProperty = exports.unescapeStringLiteralText = exports.hasJSXAncestor = exports.findFirstMatchingAncestor = exports.findNextToken = exports.getTSNodeAccessibility = exports.getDeclarationKind = exports.isJSXToken = exports.getRange = exports.canContainDirective = exports.getLocFor = exports.getLineAndCharacterFor = exports.getBinaryExpressionType = exports.isComment = exports.isComma = exports.getLastModifier = exports.hasModifier = exports.isESTreeClassMember = exports.getTextForTokenKind = exports.isESTreeBinaryOperator = exports.isLogicalOperator = void 0; +const ts = __importStar(require("typescript")); +const getModifiers_1 = require("./getModifiers"); +const xhtml_entities_1 = require("./jsx/xhtml-entities"); +const ts_estree_1 = require("./ts-estree"); +const version_check_1 = require("./version-check"); +const isAtLeast50 = version_check_1.typescriptVersionIsAtLeast['5.0']; +const SyntaxKind = ts.SyntaxKind; +const LOGICAL_OPERATORS = new Set([ + SyntaxKind.BarBarToken, + SyntaxKind.AmpersandAmpersandToken, + SyntaxKind.QuestionQuestionToken, +]); +const ASSIGNMENT_OPERATORS = new Set([ + ts.SyntaxKind.EqualsToken, + ts.SyntaxKind.PlusEqualsToken, + ts.SyntaxKind.MinusEqualsToken, + ts.SyntaxKind.AsteriskEqualsToken, + ts.SyntaxKind.AsteriskAsteriskEqualsToken, + ts.SyntaxKind.SlashEqualsToken, + ts.SyntaxKind.PercentEqualsToken, + ts.SyntaxKind.LessThanLessThanEqualsToken, + ts.SyntaxKind.GreaterThanGreaterThanEqualsToken, + ts.SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken, + ts.SyntaxKind.AmpersandEqualsToken, + ts.SyntaxKind.BarEqualsToken, + ts.SyntaxKind.BarBarEqualsToken, + ts.SyntaxKind.AmpersandAmpersandEqualsToken, + ts.SyntaxKind.QuestionQuestionEqualsToken, + ts.SyntaxKind.CaretEqualsToken, +]); +const BINARY_OPERATORS = new Set([ + SyntaxKind.InstanceOfKeyword, + SyntaxKind.InKeyword, + SyntaxKind.AsteriskAsteriskToken, + SyntaxKind.AsteriskToken, + SyntaxKind.SlashToken, + SyntaxKind.PercentToken, + SyntaxKind.PlusToken, + SyntaxKind.MinusToken, + SyntaxKind.AmpersandToken, + SyntaxKind.BarToken, + SyntaxKind.CaretToken, + SyntaxKind.LessThanLessThanToken, + SyntaxKind.GreaterThanGreaterThanToken, + SyntaxKind.GreaterThanGreaterThanGreaterThanToken, + SyntaxKind.AmpersandAmpersandToken, + SyntaxKind.BarBarToken, + SyntaxKind.LessThanToken, + SyntaxKind.LessThanEqualsToken, + SyntaxKind.GreaterThanToken, + SyntaxKind.GreaterThanEqualsToken, + SyntaxKind.EqualsEqualsToken, + SyntaxKind.EqualsEqualsEqualsToken, + SyntaxKind.ExclamationEqualsEqualsToken, + SyntaxKind.ExclamationEqualsToken, +]); +/** + * Returns true if the given ts.Token is the assignment operator + * @param operator the operator token + */ +function isAssignmentOperator(operator) { + return ASSIGNMENT_OPERATORS.has(operator.kind); +} +/** + * Returns true if the given ts.Token is a logical operator + * @param operator the operator token + * @returns is a logical operator + */ +function isLogicalOperator(operator) { + return LOGICAL_OPERATORS.has(operator.kind); +} +exports.isLogicalOperator = isLogicalOperator; +function isESTreeBinaryOperator(operator) { + return BINARY_OPERATORS.has(operator.kind); +} +exports.isESTreeBinaryOperator = isESTreeBinaryOperator; +/** + * Returns the string form of the given TSToken SyntaxKind + * @param kind the token's SyntaxKind + * @returns the token applicable token as a string + */ +function getTextForTokenKind(kind) { + return ts.tokenToString(kind); +} +exports.getTextForTokenKind = getTextForTokenKind; +/** + * Returns true if the given ts.Node is a valid ESTree class member + * @param node TypeScript AST node + * @returns is valid ESTree class member + */ +function isESTreeClassMember(node) { + return node.kind !== SyntaxKind.SemicolonClassElement; +} +exports.isESTreeClassMember = isESTreeClassMember; +/** + * Checks if a ts.Node has a modifier + * @param modifierKind TypeScript SyntaxKind modifier + * @param node TypeScript AST node + * @returns has the modifier specified + */ +function hasModifier(modifierKind, node) { + const modifiers = (0, getModifiers_1.getModifiers)(node); + return modifiers?.some(modifier => modifier.kind === modifierKind) === true; +} +exports.hasModifier = hasModifier; +/** + * Get last last modifier in ast + * @param node TypeScript AST node + * @returns returns last modifier if present or null + */ +function getLastModifier(node) { + const modifiers = (0, getModifiers_1.getModifiers)(node); + if (modifiers == null) { + return null; + } + return modifiers[modifiers.length - 1] ?? null; +} +exports.getLastModifier = getLastModifier; +/** + * Returns true if the given ts.Token is a comma + * @param token the TypeScript token + * @returns is comma + */ +function isComma(token) { + return token.kind === SyntaxKind.CommaToken; +} +exports.isComma = isComma; +/** + * Returns true if the given ts.Node is a comment + * @param node the TypeScript node + * @returns is comment + */ +function isComment(node) { + return (node.kind === SyntaxKind.SingleLineCommentTrivia || + node.kind === SyntaxKind.MultiLineCommentTrivia); +} +exports.isComment = isComment; +/** + * Returns true if the given ts.Node is a JSDoc comment + * @param node the TypeScript node + */ +function isJSDocComment(node) { + // eslint-disable-next-line deprecation/deprecation -- SyntaxKind.JSDoc was only added in TS4.7 so we can't use it yet + return node.kind === SyntaxKind.JSDocComment; +} +/** + * Returns the binary expression type of the given ts.Token + * @param operator the operator token + * @returns the binary expression type + */ +function getBinaryExpressionType(operator) { + if (isAssignmentOperator(operator)) { + return { + type: ts_estree_1.AST_NODE_TYPES.AssignmentExpression, + operator: getTextForTokenKind(operator.kind), + }; + } + else if (isLogicalOperator(operator)) { + return { + type: ts_estree_1.AST_NODE_TYPES.LogicalExpression, + operator: getTextForTokenKind(operator.kind), + }; + } + else if (isESTreeBinaryOperator(operator)) { + return { + type: ts_estree_1.AST_NODE_TYPES.BinaryExpression, + operator: getTextForTokenKind(operator.kind), + }; + } + throw new Error(`Unexpected binary operator ${ts.tokenToString(operator.kind)}`); +} +exports.getBinaryExpressionType = getBinaryExpressionType; +/** + * Returns line and column data for the given positions, + * @param pos position to check + * @param ast the AST object + * @returns line and column + */ +function getLineAndCharacterFor(pos, ast) { + const loc = ast.getLineAndCharacterOfPosition(pos); + return { + line: loc.line + 1, + column: loc.character, + }; +} +exports.getLineAndCharacterFor = getLineAndCharacterFor; +/** + * Returns line and column data for the given start and end positions, + * for the given AST + * @param range start end data + * @param ast the AST object + * @returns the loc data + */ +function getLocFor(range, ast) { + const [start, end] = range.map(pos => getLineAndCharacterFor(pos, ast)); + return { start, end }; +} +exports.getLocFor = getLocFor; +/** + * Check whatever node can contain directive + * @returns returns true if node can contain directive + */ +function canContainDirective(node) { + if (node.kind === ts.SyntaxKind.Block) { + switch (node.parent.kind) { + case ts.SyntaxKind.Constructor: + case ts.SyntaxKind.GetAccessor: + case ts.SyntaxKind.SetAccessor: + case ts.SyntaxKind.ArrowFunction: + case ts.SyntaxKind.FunctionExpression: + case ts.SyntaxKind.FunctionDeclaration: + case ts.SyntaxKind.MethodDeclaration: + return true; + default: + return false; + } + } + return true; +} +exports.canContainDirective = canContainDirective; +/** + * Returns range for the given ts.Node + * @param node the ts.Node or ts.Token + * @param ast the AST object + * @returns the range data + */ +function getRange(node, ast) { + return [node.getStart(ast), node.getEnd()]; +} +exports.getRange = getRange; +/** + * Returns true if a given ts.Node is a token + * @param node the ts.Node + * @returns is a token + */ +function isToken(node) { + return (node.kind >= SyntaxKind.FirstToken && node.kind <= SyntaxKind.LastToken); +} +/** + * Returns true if a given ts.Node is a JSX token + * @param node ts.Node to be checked + * @returns is a JSX token + */ +function isJSXToken(node) { + return (node.kind >= SyntaxKind.JsxElement && node.kind <= SyntaxKind.JsxAttribute); +} +exports.isJSXToken = isJSXToken; +/** + * Returns the declaration kind of the given ts.Node + * @param node TypeScript AST node + * @returns declaration kind + */ +function getDeclarationKind(node) { + if (node.flags & ts.NodeFlags.Let) { + return 'let'; + } + // eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison + if ((node.flags & ts.NodeFlags.AwaitUsing) === ts.NodeFlags.AwaitUsing) { + return 'await using'; + } + if (node.flags & ts.NodeFlags.Const) { + return 'const'; + } + if (node.flags & ts.NodeFlags.Using) { + return 'using'; + } + return 'var'; +} +exports.getDeclarationKind = getDeclarationKind; +/** + * Gets a ts.Node's accessibility level + * @param node The ts.Node + * @returns accessibility "public", "protected", "private", or null + */ +function getTSNodeAccessibility(node) { + const modifiers = (0, getModifiers_1.getModifiers)(node); + if (modifiers == null) { + return undefined; + } + for (const modifier of modifiers) { + switch (modifier.kind) { + case SyntaxKind.PublicKeyword: + return 'public'; + case SyntaxKind.ProtectedKeyword: + return 'protected'; + case SyntaxKind.PrivateKeyword: + return 'private'; + default: + break; + } + } + return undefined; +} +exports.getTSNodeAccessibility = getTSNodeAccessibility; +/** + * Finds the next token based on the previous one and its parent + * Had to copy this from TS instead of using TS's version because theirs doesn't pass the ast to getChildren + * @param previousToken The previous TSToken + * @param parent The parent TSNode + * @param ast The TS AST + * @returns the next TSToken + */ +function findNextToken(previousToken, parent, ast) { + return find(parent); + function find(n) { + if (ts.isToken(n) && n.pos === previousToken.end) { + // this is token that starts at the end of previous token - return it + return n; + } + return firstDefined(n.getChildren(ast), (child) => { + const shouldDiveInChildNode = + // previous token is enclosed somewhere in the child + (child.pos <= previousToken.pos && child.end > previousToken.end) || + // previous token ends exactly at the beginning of child + child.pos === previousToken.end; + return shouldDiveInChildNode && nodeHasTokens(child, ast) + ? find(child) + : undefined; + }); + } +} +exports.findNextToken = findNextToken; +/** + * Find the first matching ancestor based on the given predicate function. + * @param node The current ts.Node + * @param predicate The predicate function to apply to each checked ancestor + * @returns a matching parent ts.Node + */ +function findFirstMatchingAncestor(node, predicate) { + let current = node; + while (current) { + if (predicate(current)) { + return current; + } + current = current.parent; + } + return undefined; +} +exports.findFirstMatchingAncestor = findFirstMatchingAncestor; +/** + * Returns true if a given ts.Node has a JSX token within its hierarchy + * @param node ts.Node to be checked + * @returns has JSX ancestor + */ +function hasJSXAncestor(node) { + return !!findFirstMatchingAncestor(node, isJSXToken); +} +exports.hasJSXAncestor = hasJSXAncestor; +/** + * Unescape the text content of string literals, e.g. & -> & + * @param text The escaped string literal text. + * @returns The unescaped string literal text. + */ +function unescapeStringLiteralText(text) { + return text.replace(/&(?:#\d+|#x[\da-fA-F]+|[0-9a-zA-Z]+);/g, entity => { + const item = entity.slice(1, -1); + if (item[0] === '#') { + const codePoint = item[1] === 'x' + ? parseInt(item.slice(2), 16) + : parseInt(item.slice(1), 10); + return codePoint > 0x10ffff // RangeError: Invalid code point + ? entity + : String.fromCodePoint(codePoint); + } + return xhtml_entities_1.xhtmlEntities[item] || entity; + }); +} +exports.unescapeStringLiteralText = unescapeStringLiteralText; +/** + * Returns true if a given ts.Node is a computed property + * @param node ts.Node to be checked + * @returns is Computed Property + */ +function isComputedProperty(node) { + return node.kind === SyntaxKind.ComputedPropertyName; +} +exports.isComputedProperty = isComputedProperty; +/** + * Returns true if a given ts.Node is optional (has QuestionToken) + * @param node ts.Node to be checked + * @returns is Optional + */ +function isOptional(node) { + return !!node.questionToken; +} +exports.isOptional = isOptional; +/** + * Returns true if the node is an optional chain node + */ +function isChainExpression(node) { + return node.type === ts_estree_1.AST_NODE_TYPES.ChainExpression; +} +exports.isChainExpression = isChainExpression; +/** + * Returns true of the child of property access expression is an optional chain + */ +function isChildUnwrappableOptionalChain(node, child) { + return (isChainExpression(child) && + // (x?.y).z is semantically different, and as such .z is no longer optional + node.expression.kind !== ts.SyntaxKind.ParenthesizedExpression); +} +exports.isChildUnwrappableOptionalChain = isChildUnwrappableOptionalChain; +/** + * Returns the type of a given ts.Token + * @param token the ts.Token + * @returns the token type + */ +function getTokenType(token) { + let keywordKind; + if (isAtLeast50 && token.kind === SyntaxKind.Identifier) { + keywordKind = ts.identifierToKeywordKind(token); + } + else if ('originalKeywordKind' in token) { + // eslint-disable-next-line deprecation/deprecation -- intentional fallback for older TS versions + keywordKind = token.originalKeywordKind; + } + if (keywordKind) { + if (keywordKind === SyntaxKind.NullKeyword) { + return ts_estree_1.AST_TOKEN_TYPES.Null; + } + else if (keywordKind >= SyntaxKind.FirstFutureReservedWord && + keywordKind <= SyntaxKind.LastKeyword) { + return ts_estree_1.AST_TOKEN_TYPES.Identifier; + } + return ts_estree_1.AST_TOKEN_TYPES.Keyword; + } + if (token.kind >= SyntaxKind.FirstKeyword && + token.kind <= SyntaxKind.LastFutureReservedWord) { + if (token.kind === SyntaxKind.FalseKeyword || + token.kind === SyntaxKind.TrueKeyword) { + return ts_estree_1.AST_TOKEN_TYPES.Boolean; + } + return ts_estree_1.AST_TOKEN_TYPES.Keyword; + } + if (token.kind >= SyntaxKind.FirstPunctuation && + token.kind <= SyntaxKind.LastPunctuation) { + return ts_estree_1.AST_TOKEN_TYPES.Punctuator; + } + if (token.kind >= SyntaxKind.NoSubstitutionTemplateLiteral && + token.kind <= SyntaxKind.TemplateTail) { + return ts_estree_1.AST_TOKEN_TYPES.Template; + } + switch (token.kind) { + case SyntaxKind.NumericLiteral: + return ts_estree_1.AST_TOKEN_TYPES.Numeric; + case SyntaxKind.JsxText: + return ts_estree_1.AST_TOKEN_TYPES.JSXText; + case SyntaxKind.StringLiteral: + // A TypeScript-StringLiteral token with a TypeScript-JsxAttribute or TypeScript-JsxElement parent, + // must actually be an ESTree-JSXText token + if (token.parent.kind === SyntaxKind.JsxAttribute || + token.parent.kind === SyntaxKind.JsxElement) { + return ts_estree_1.AST_TOKEN_TYPES.JSXText; + } + return ts_estree_1.AST_TOKEN_TYPES.String; + case SyntaxKind.RegularExpressionLiteral: + return ts_estree_1.AST_TOKEN_TYPES.RegularExpression; + case SyntaxKind.Identifier: + case SyntaxKind.ConstructorKeyword: + case SyntaxKind.GetKeyword: + case SyntaxKind.SetKeyword: + // intentional fallthrough + default: + } + // Some JSX tokens have to be determined based on their parent + if (token.kind === SyntaxKind.Identifier) { + if (isJSXToken(token.parent)) { + return ts_estree_1.AST_TOKEN_TYPES.JSXIdentifier; + } + if (token.parent.kind === SyntaxKind.PropertyAccessExpression && + hasJSXAncestor(token)) { + return ts_estree_1.AST_TOKEN_TYPES.JSXIdentifier; + } + } + return ts_estree_1.AST_TOKEN_TYPES.Identifier; +} +exports.getTokenType = getTokenType; +/** + * Extends and formats a given ts.Token, for a given AST + * @param token the ts.Token + * @param ast the AST object + * @returns the converted Token + */ +function convertToken(token, ast) { + const start = token.kind === SyntaxKind.JsxText + ? token.getFullStart() + : token.getStart(ast); + const end = token.getEnd(); + const value = ast.text.slice(start, end); + const tokenType = getTokenType(token); + const range = [start, end]; + const loc = getLocFor(range, ast); + if (tokenType === ts_estree_1.AST_TOKEN_TYPES.RegularExpression) { + return { + type: tokenType, + value, + range, + loc, + regex: { + pattern: value.slice(1, value.lastIndexOf('/')), + flags: value.slice(value.lastIndexOf('/') + 1), + }, + }; + } + // @ts-expect-error TS is complaining about `value` not being the correct + // type but it is + return { + type: tokenType, + value, + range, + loc, + }; +} +exports.convertToken = convertToken; +/** + * Converts all tokens for the given AST + * @param ast the AST object + * @returns the converted Tokens + */ +function convertTokens(ast) { + const result = []; + /** + * @param node the ts.Node + */ + function walk(node) { + // TypeScript generates tokens for types in JSDoc blocks. Comment tokens + // and their children should not be walked or added to the resulting tokens list. + if (isComment(node) || isJSDocComment(node)) { + return; + } + if (isToken(node) && node.kind !== SyntaxKind.EndOfFileToken) { + result.push(convertToken(node, ast)); + } + else { + node.getChildren(ast).forEach(walk); + } + } + walk(ast); + return result; +} +exports.convertTokens = convertTokens; +class TSError extends Error { + fileName; + location; + constructor(message, fileName, location) { + super(message); + this.fileName = fileName; + this.location = location; + Object.defineProperty(this, 'name', { + value: new.target.name, + enumerable: false, + configurable: true, + }); + } + // For old version of ESLint https://github.com/typescript-eslint/typescript-eslint/pull/6556#discussion_r1123237311 + get index() { + return this.location.start.offset; + } + // https://github.com/eslint/eslint/blob/b09a512107249a4eb19ef5a37b0bd672266eafdb/lib/linter/linter.js#L853 + get lineNumber() { + return this.location.start.line; + } + // https://github.com/eslint/eslint/blob/b09a512107249a4eb19ef5a37b0bd672266eafdb/lib/linter/linter.js#L854 + get column() { + return this.location.start.column; + } +} +exports.TSError = TSError; +/** + * @param message the error message + * @param ast the AST object + * @param startIndex the index at which the error starts + * @param endIndex the index at which the error ends + * @returns converted error object + */ +function createError(message, ast, startIndex, endIndex = startIndex) { + const [start, end] = [startIndex, endIndex].map(offset => { + const { line, character: column } = ast.getLineAndCharacterOfPosition(offset); + return { line: line + 1, column, offset }; + }); + return new TSError(message, ast.fileName, { start, end }); +} +exports.createError = createError; +function nodeHasIllegalDecorators(node) { + return !!('illegalDecorators' in node && + node.illegalDecorators?.length); +} +exports.nodeHasIllegalDecorators = nodeHasIllegalDecorators; +/** + * @param n the TSNode + * @param ast the TS AST + */ +function nodeHasTokens(n, ast) { + // If we have a token or node that has a non-zero width, it must have tokens. + // Note: getWidth() does not take trivia into account. + return n.kind === SyntaxKind.EndOfFileToken + ? !!n.jsDoc + : n.getWidth(ast) !== 0; +} +exports.nodeHasTokens = nodeHasTokens; +/** + * Like `forEach`, but suitable for use with numbers and strings (which may be falsy). + */ +function firstDefined(array, callback) { + if (array === undefined) { + return undefined; + } + for (let i = 0; i < array.length; i++) { + const result = callback(array[i], i); + if (result !== undefined) { + return result; + } + } + return undefined; +} +exports.firstDefined = firstDefined; +function identifierIsThisKeyword(id) { + return ( + // eslint-disable-next-line deprecation/deprecation -- intentional for older TS versions + (isAtLeast50 ? ts.identifierToKeywordKind(id) : id.originalKeywordKind) === + SyntaxKind.ThisKeyword); +} +exports.identifierIsThisKeyword = identifierIsThisKeyword; +function isThisIdentifier(node) { + return (!!node && + node.kind === SyntaxKind.Identifier && + identifierIsThisKeyword(node)); +} +exports.isThisIdentifier = isThisIdentifier; +function isThisInTypeQuery(node) { + if (!isThisIdentifier(node)) { + return false; + } + while (ts.isQualifiedName(node.parent) && node.parent.left === node) { + node = node.parent; + } + return node.parent.kind === SyntaxKind.TypeQuery; +} +exports.isThisInTypeQuery = isThisInTypeQuery; +// `ts.nodeIsMissing` +function nodeIsMissing(node) { + if (node === undefined) { + return true; + } + return (node.pos === node.end && + node.pos >= 0 && + node.kind !== SyntaxKind.EndOfFileToken); +} +// `ts.nodeIsPresent` +function nodeIsPresent(node) { + return !nodeIsMissing(node); +} +exports.nodeIsPresent = nodeIsPresent; +// `ts.getContainingFunction` +function getContainingFunction(node) { + return ts.findAncestor(node.parent, ts.isFunctionLike); +} +exports.getContainingFunction = getContainingFunction; +// `ts.hasAbstractModifier` +function hasAbstractModifier(node) { + return hasModifier(SyntaxKind.AbstractKeyword, node); +} +// `ts.getThisParameter` +function getThisParameter(signature) { + if (signature.parameters.length && !ts.isJSDocSignature(signature)) { + const thisParameter = signature.parameters[0]; + if (parameterIsThisKeyword(thisParameter)) { + return thisParameter; + } + } + return null; +} +// `ts.parameterIsThisKeyword` +function parameterIsThisKeyword(parameter) { + return isThisIdentifier(parameter.name); +} +// Rewrite version of `ts.nodeCanBeDecorated` +// Returns `true` for both `useLegacyDecorators: true` and `useLegacyDecorators: false` +function nodeCanBeDecorated(node) { + switch (node.kind) { + case SyntaxKind.ClassDeclaration: + return true; + case SyntaxKind.ClassExpression: + // `ts.nodeCanBeDecorated` returns `false` if `useLegacyDecorators: true` + return true; + case SyntaxKind.PropertyDeclaration: { + const { parent } = node; + // `ts.nodeCanBeDecorated` uses this if `useLegacyDecorators: true` + if (ts.isClassDeclaration(parent)) { + return true; + } + // `ts.nodeCanBeDecorated` uses this if `useLegacyDecorators: false` + if (ts.isClassLike(parent) && !hasAbstractModifier(node)) { + return true; + } + return false; + } + case SyntaxKind.GetAccessor: + case SyntaxKind.SetAccessor: + case SyntaxKind.MethodDeclaration: { + const { parent } = node; + // In `ts.nodeCanBeDecorated` + // when `useLegacyDecorators: true` uses `ts.isClassDeclaration` + // when `useLegacyDecorators: true` uses `ts.isClassLike` + return (Boolean(node.body) && + (ts.isClassDeclaration(parent) || ts.isClassLike(parent))); + } + case SyntaxKind.Parameter: { + // `ts.nodeCanBeDecorated` returns `false` if `useLegacyDecorators: false` + const { parent } = node; + const grandparent = parent.parent; + return (Boolean(parent) && + 'body' in parent && + Boolean(parent.body) && + (parent.kind === SyntaxKind.Constructor || + parent.kind === SyntaxKind.MethodDeclaration || + parent.kind === SyntaxKind.SetAccessor) && + getThisParameter(parent) !== node && + Boolean(grandparent) && + grandparent.kind === SyntaxKind.ClassDeclaration); + } + } + return false; +} +exports.nodeCanBeDecorated = nodeCanBeDecorated; +function isValidAssignmentTarget(node) { + switch (node.kind) { + case SyntaxKind.Identifier: + return true; + case SyntaxKind.PropertyAccessExpression: + case SyntaxKind.ElementAccessExpression: + if (node.flags & ts.NodeFlags.OptionalChain) { + return false; + } + return true; + case SyntaxKind.ParenthesizedExpression: + case SyntaxKind.TypeAssertionExpression: + case SyntaxKind.AsExpression: + case SyntaxKind.SatisfiesExpression: + case SyntaxKind.NonNullExpression: + return isValidAssignmentTarget(node.expression); + default: + return false; + } +} +exports.isValidAssignmentTarget = isValidAssignmentTarget; +function getNamespaceModifiers(node) { + // For following nested namespaces, use modifiers given to the topmost namespace + // export declare namespace foo.bar.baz {} + let modifiers = (0, getModifiers_1.getModifiers)(node); + let moduleDeclaration = node; + while ((!modifiers || modifiers.length === 0) && + ts.isModuleDeclaration(moduleDeclaration.parent)) { + const parentModifiers = (0, getModifiers_1.getModifiers)(moduleDeclaration.parent); + if (parentModifiers?.length) { + modifiers = parentModifiers; + } + moduleDeclaration = moduleDeclaration.parent; + } + return modifiers; +} +exports.getNamespaceModifiers = getNamespaceModifiers; +//# sourceMappingURL=node-utils.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/node-utils.js.map b/packages/typescript-estree/dist/node-utils.js.map new file mode 100644 index 000000000000..9b6fa85172d5 --- /dev/null +++ b/packages/typescript-estree/dist/node-utils.js.map @@ -0,0 +1 @@ +{"version":3,"file":"node-utils.js","sourceRoot":"","sources":["../src/node-utils.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/ExpiringCache.d.ts b/packages/typescript-estree/dist/parseSettings/ExpiringCache.d.ts new file mode 100644 index 000000000000..20993107d72a --- /dev/null +++ b/packages/typescript-estree/dist/parseSettings/ExpiringCache.d.ts @@ -0,0 +1,17 @@ +import type { CacheDurationSeconds } from '@typescript-eslint/types'; +export declare const DEFAULT_TSCONFIG_CACHE_DURATION_SECONDS = 30; +export interface CacheLike { + get(key: Key): Value | undefined; + set(key: Key, value: Value): this; +} +/** + * A map with key-level expiration. + */ +export declare class ExpiringCache implements CacheLike { + #private; + constructor(cacheDurationSeconds: CacheDurationSeconds); + set(key: Key, value: Value): this; + get(key: Key): Value | undefined; + clear(): void; +} +//# sourceMappingURL=ExpiringCache.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/ExpiringCache.d.ts.map b/packages/typescript-estree/dist/parseSettings/ExpiringCache.d.ts.map new file mode 100644 index 000000000000..ddbd63c4c4b5 --- /dev/null +++ b/packages/typescript-estree/dist/parseSettings/ExpiringCache.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ExpiringCache.d.ts","sourceRoot":"","sources":["../../src/parseSettings/ExpiringCache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAErE,eAAO,MAAM,uCAAuC,KAAK,CAAC;AAG1D,MAAM,WAAW,SAAS,CAAC,GAAG,EAAE,KAAK;IACnC,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,KAAK,GAAG,SAAS,CAAC;IACjC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACnC;AAED;;GAEG;AACH,qBAAa,aAAa,CAAC,GAAG,EAAE,KAAK,CAAE,YAAW,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC;;gBAWzD,oBAAoB,EAAE,oBAAoB;IAItD,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;IAYjC,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,KAAK,GAAG,SAAS;IAmBhC,KAAK,IAAI,IAAI;CAGd"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/ExpiringCache.js b/packages/typescript-estree/dist/parseSettings/ExpiringCache.js new file mode 100644 index 000000000000..4e8e0d9e3200 --- /dev/null +++ b/packages/typescript-estree/dist/parseSettings/ExpiringCache.js @@ -0,0 +1,47 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ExpiringCache = exports.DEFAULT_TSCONFIG_CACHE_DURATION_SECONDS = void 0; +exports.DEFAULT_TSCONFIG_CACHE_DURATION_SECONDS = 30; +const ZERO_HR_TIME = [0, 0]; +/** + * A map with key-level expiration. + */ +class ExpiringCache { + #cacheDurationSeconds; + #map = new Map(); + constructor(cacheDurationSeconds) { + this.#cacheDurationSeconds = cacheDurationSeconds; + } + set(key, value) { + this.#map.set(key, { + value, + lastSeen: this.#cacheDurationSeconds === 'Infinity' + ? // no need to waste time calculating the hrtime in infinity mode as there's no expiry + ZERO_HR_TIME + : process.hrtime(), + }); + return this; + } + get(key) { + const entry = this.#map.get(key); + if (entry?.value != null) { + if (this.#cacheDurationSeconds === 'Infinity') { + return entry.value; + } + const ageSeconds = process.hrtime(entry.lastSeen)[0]; + if (ageSeconds < this.#cacheDurationSeconds) { + // cache hit woo! + return entry.value; + } + // key has expired - clean it up to free up memory + this.#map.delete(key); + } + // no hit :'( + return undefined; + } + clear() { + this.#map.clear(); + } +} +exports.ExpiringCache = ExpiringCache; +//# sourceMappingURL=ExpiringCache.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/ExpiringCache.js.map b/packages/typescript-estree/dist/parseSettings/ExpiringCache.js.map new file mode 100644 index 000000000000..e363cd05b715 --- /dev/null +++ b/packages/typescript-estree/dist/parseSettings/ExpiringCache.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ExpiringCache.js","sourceRoot":"","sources":["../../src/parseSettings/ExpiringCache.ts"],"names":[],"mappings":";;;AAEa,QAAA,uCAAuC,GAAG,EAAE,CAAC;AAC1D,MAAM,YAAY,GAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAO9C;;GAEG;AACH,MAAa,aAAa;IACf,qBAAqB,CAAuB;IAE5C,IAAI,GAAG,IAAI,GAAG,EAMpB,CAAC;IAEJ,YAAY,oBAA0C;QACpD,IAAI,CAAC,qBAAqB,GAAG,oBAAoB,CAAC;IACpD,CAAC;IAED,GAAG,CAAC,GAAQ,EAAE,KAAY;QACxB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE;YACjB,KAAK;YACL,QAAQ,EACN,IAAI,CAAC,qBAAqB,KAAK,UAAU;gBACvC,CAAC,CAAC,qFAAqF;oBACrF,YAAY;gBACd,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE;SACvB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,GAAG,CAAC,GAAQ;QACV,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,KAAK,EAAE,KAAK,IAAI,IAAI,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,qBAAqB,KAAK,UAAU,EAAE,CAAC;gBAC9C,OAAO,KAAK,CAAC,KAAK,CAAC;YACrB,CAAC;YAED,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACrD,IAAI,UAAU,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC5C,iBAAiB;gBACjB,OAAO,KAAK,CAAC,KAAK,CAAC;YACrB,CAAC;YACD,kDAAkD;YAClD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;QACD,aAAa;QACb,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC;CACF;AAjDD,sCAiDC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/createParseSettings.d.ts b/packages/typescript-estree/dist/parseSettings/createParseSettings.d.ts new file mode 100644 index 000000000000..855b5c9bb324 --- /dev/null +++ b/packages/typescript-estree/dist/parseSettings/createParseSettings.d.ts @@ -0,0 +1,7 @@ +import * as ts from 'typescript'; +import type { TSESTreeOptions } from '../parser-options'; +import type { MutableParseSettings } from './index'; +export declare function createParseSettings(code: ts.SourceFile | string, tsestreeOptions?: Partial): MutableParseSettings; +export declare function clearTSConfigMatchCache(): void; +export declare function clearTSServerProjectService(): void; +//# sourceMappingURL=createParseSettings.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/createParseSettings.d.ts.map b/packages/typescript-estree/dist/parseSettings/createParseSettings.d.ts.map new file mode 100644 index 000000000000..78ad8eb1c643 --- /dev/null +++ b/packages/typescript-estree/dist/parseSettings/createParseSettings.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"createParseSettings.d.ts","sourceRoot":"","sources":["../../src/parseSettings/createParseSettings.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAKjC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAOzD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAwBpD,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,EAAE,CAAC,UAAU,GAAG,MAAM,EAC5B,eAAe,GAAE,OAAO,CAAC,eAAe,CAAM,GAC7C,oBAAoB,CAgJtB;AAED,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C;AAED,wBAAgB,2BAA2B,IAAI,IAAI,CAElD"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/createParseSettings.js b/packages/typescript-estree/dist/parseSettings/createParseSettings.js new file mode 100644 index 000000000000..c3b268af0c28 --- /dev/null +++ b/packages/typescript-estree/dist/parseSettings/createParseSettings.js @@ -0,0 +1,194 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.clearTSServerProjectService = exports.clearTSConfigMatchCache = exports.createParseSettings = void 0; +const debug_1 = __importDefault(require("debug")); +const ts = __importStar(require("typescript")); +const createProjectService_1 = require("../create-program/createProjectService"); +const shared_1 = require("../create-program/shared"); +const source_files_1 = require("../source-files"); +const ExpiringCache_1 = require("./ExpiringCache"); +const getProjectConfigFiles_1 = require("./getProjectConfigFiles"); +const inferSingleRun_1 = require("./inferSingleRun"); +const resolveProjectList_1 = require("./resolveProjectList"); +const warnAboutTSVersion_1 = require("./warnAboutTSVersion"); +const log = (0, debug_1.default)('typescript-eslint:typescript-estree:parser:parseSettings:createParseSettings'); +let TSCONFIG_MATCH_CACHE; +let TSSERVER_PROJECT_SERVICE = null; +// NOTE - we intentionally use "unnecessary" `?.` here because in TS<5.3 this enum doesn't exist +// This object exists so we can centralize these for tracking and so we don't proliferate these across the file +// https://github.com/microsoft/TypeScript/issues/56579 +/* eslint-disable @typescript-eslint/no-unnecessary-condition */ +const JSDocParsingMode = { + ParseAll: ts.JSDocParsingMode?.ParseAll, + ParseNone: ts.JSDocParsingMode?.ParseNone, + ParseForTypeErrors: ts.JSDocParsingMode?.ParseForTypeErrors, + ParseForTypeInfo: ts.JSDocParsingMode?.ParseForTypeInfo, +}; +/* eslint-enable @typescript-eslint/no-unnecessary-condition */ +function createParseSettings(code, tsestreeOptions = {}) { + const codeFullText = enforceCodeString(code); + const singleRun = (0, inferSingleRun_1.inferSingleRun)(tsestreeOptions); + const tsconfigRootDir = typeof tsestreeOptions.tsconfigRootDir === 'string' + ? tsestreeOptions.tsconfigRootDir + : process.cwd(); + const passedLoggerFn = typeof tsestreeOptions.loggerFn === 'function'; + const jsDocParsingMode = (() => { + switch (tsestreeOptions.jsDocParsingMode) { + case 'all': + return JSDocParsingMode.ParseAll; + case 'none': + return JSDocParsingMode.ParseNone; + case 'type-info': + return JSDocParsingMode.ParseForTypeInfo; + default: + return JSDocParsingMode.ParseAll; + } + })(); + const extraFileExtensions = Array.isArray(tsestreeOptions.extraFileExtensions) && + tsestreeOptions.extraFileExtensions.every(ext => typeof ext === 'string') + ? tsestreeOptions.extraFileExtensions + : []; + const parseSettings = { + allowInvalidAST: tsestreeOptions.allowInvalidAST === true, + code, + codeFullText, + comment: tsestreeOptions.comment === true, + comments: [], + debugLevel: tsestreeOptions.debugLevel === true + ? new Set(['typescript-eslint']) + : Array.isArray(tsestreeOptions.debugLevel) + ? new Set(tsestreeOptions.debugLevel) + : new Set(), + errorOnTypeScriptSyntacticAndSemanticIssues: false, + errorOnUnknownASTType: tsestreeOptions.errorOnUnknownASTType === true, + extraFileExtensions, + filePath: (0, shared_1.ensureAbsolutePath)(typeof tsestreeOptions.filePath === 'string' && + tsestreeOptions.filePath !== '' + ? tsestreeOptions.filePath + : getFileName(tsestreeOptions.jsx), tsconfigRootDir), + jsDocParsingMode, + jsx: tsestreeOptions.jsx === true, + loc: tsestreeOptions.loc === true, + log: typeof tsestreeOptions.loggerFn === 'function' + ? tsestreeOptions.loggerFn + : tsestreeOptions.loggerFn === false + ? () => { } // eslint-disable-line @typescript-eslint/no-empty-function + : console.log, // eslint-disable-line no-console + preserveNodeMaps: tsestreeOptions.preserveNodeMaps !== false, + programs: Array.isArray(tsestreeOptions.programs) + ? tsestreeOptions.programs + : null, + projects: new Map(), + projectService: tsestreeOptions.projectService || + (tsestreeOptions.project && + tsestreeOptions.projectService !== false && + process.env.TYPESCRIPT_ESLINT_PROJECT_SERVICE === 'true') + ? (TSSERVER_PROJECT_SERVICE ??= (0, createProjectService_1.createProjectService)(tsestreeOptions.projectService, jsDocParsingMode, { extraFileExtensions })) + : undefined, + range: tsestreeOptions.range === true, + singleRun, + suppressDeprecatedPropertyWarnings: tsestreeOptions.suppressDeprecatedPropertyWarnings ?? + process.env.NODE_ENV !== 'test', + tokens: tsestreeOptions.tokens === true ? [] : null, + tsconfigMatchCache: (TSCONFIG_MATCH_CACHE ??= new ExpiringCache_1.ExpiringCache(singleRun + ? 'Infinity' + : tsestreeOptions.cacheLifetime?.glob ?? + ExpiringCache_1.DEFAULT_TSCONFIG_CACHE_DURATION_SECONDS)), + tsconfigRootDir, + }; + // debug doesn't support multiple `enable` calls, so have to do it all at once + if (parseSettings.debugLevel.size > 0) { + const namespaces = []; + if (parseSettings.debugLevel.has('typescript-eslint')) { + namespaces.push('typescript-eslint:*'); + } + if (parseSettings.debugLevel.has('eslint') || + // make sure we don't turn off the eslint debug if it was enabled via --debug + debug_1.default.enabled('eslint:*,-eslint:code-path')) { + // https://github.com/eslint/eslint/blob/9dfc8501fb1956c90dc11e6377b4cb38a6bea65d/bin/eslint.js#L25 + namespaces.push('eslint:*,-eslint:code-path'); + } + debug_1.default.enable(namespaces.join(',')); + } + if (Array.isArray(tsestreeOptions.programs)) { + if (!tsestreeOptions.programs.length) { + throw new Error(`You have set parserOptions.programs to an empty array. This will cause all files to not be found in existing programs. Either provide one or more existing TypeScript Program instances in the array, or remove the parserOptions.programs setting.`); + } + log('parserOptions.programs was provided, so parserOptions.project will be ignored.'); + } + // Providing a program or project service overrides project resolution + if (!parseSettings.programs && !parseSettings.projectService) { + parseSettings.projects = (0, resolveProjectList_1.resolveProjectList)({ + cacheLifetime: tsestreeOptions.cacheLifetime, + project: (0, getProjectConfigFiles_1.getProjectConfigFiles)(parseSettings, tsestreeOptions.project), + projectFolderIgnoreList: tsestreeOptions.projectFolderIgnoreList, + singleRun: parseSettings.singleRun, + tsconfigRootDir: tsconfigRootDir, + }); + } + // No type-aware linting which means that cross-file (or even same-file) JSDoc is useless + // So in this specific case we default to 'none' if no value was provided + if (tsestreeOptions.jsDocParsingMode == null && + parseSettings.projects.size === 0 && + parseSettings.programs == null && + parseSettings.projectService == null) { + parseSettings.jsDocParsingMode = JSDocParsingMode.ParseNone; + } + (0, warnAboutTSVersion_1.warnAboutTSVersion)(parseSettings, passedLoggerFn); + return parseSettings; +} +exports.createParseSettings = createParseSettings; +function clearTSConfigMatchCache() { + TSCONFIG_MATCH_CACHE?.clear(); +} +exports.clearTSConfigMatchCache = clearTSConfigMatchCache; +function clearTSServerProjectService() { + TSSERVER_PROJECT_SERVICE = null; +} +exports.clearTSServerProjectService = clearTSServerProjectService; +/** + * Ensures source code is a string. + */ +function enforceCodeString(code) { + return (0, source_files_1.isSourceFile)(code) + ? code.getFullText(code) + : typeof code === 'string' + ? code + : String(code); +} +/** + * Compute the filename based on the parser options. + * + * Even if jsx option is set in typescript compiler, filename still has to + * contain .tsx file extension. + */ +function getFileName(jsx) { + return jsx ? 'estree.tsx' : 'estree.ts'; +} +//# sourceMappingURL=createParseSettings.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/createParseSettings.js.map b/packages/typescript-estree/dist/parseSettings/createParseSettings.js.map new file mode 100644 index 000000000000..ec90576e5d10 --- /dev/null +++ b/packages/typescript-estree/dist/parseSettings/createParseSettings.js.map @@ -0,0 +1 @@ +{"version":3,"file":"createParseSettings.js","sourceRoot":"","sources":["../../src/parseSettings/createParseSettings.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/getProjectConfigFiles.d.ts b/packages/typescript-estree/dist/parseSettings/getProjectConfigFiles.d.ts new file mode 100644 index 000000000000..76103cf88653 --- /dev/null +++ b/packages/typescript-estree/dist/parseSettings/getProjectConfigFiles.d.ts @@ -0,0 +1,13 @@ +import type { TSESTreeOptions } from '../parser-options'; +import type { ParseSettings } from './index'; +/** + * Checks for a matching TSConfig to a file including its parent directories, + * permanently caching results under each directory it checks. + * + * @remarks + * We don't (yet!) have a way to attach file watchers on disk, but still need to + * cache file checks for rapid subsequent calls to fs.existsSync. See discussion + * in https://github.com/typescript-eslint/typescript-eslint/issues/101. + */ +export declare function getProjectConfigFiles(parseSettings: Pick, project: TSESTreeOptions['project']): string[] | null; +//# sourceMappingURL=getProjectConfigFiles.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/getProjectConfigFiles.d.ts.map b/packages/typescript-estree/dist/parseSettings/getProjectConfigFiles.d.ts.map new file mode 100644 index 000000000000..bf99e5dd4f98 --- /dev/null +++ b/packages/typescript-estree/dist/parseSettings/getProjectConfigFiles.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"getProjectConfigFiles.d.ts","sourceRoot":"","sources":["../../src/parseSettings/getProjectConfigFiles.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAI7C;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,aAAa,EAAE,IAAI,CACjB,aAAa,EACb,UAAU,GAAG,oBAAoB,GAAG,iBAAiB,CACtD,EACD,OAAO,EAAE,eAAe,CAAC,SAAS,CAAC,GAClC,MAAM,EAAE,GAAG,IAAI,CAuCjB"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/getProjectConfigFiles.js b/packages/typescript-estree/dist/parseSettings/getProjectConfigFiles.js new file mode 100644 index 000000000000..47b99e146304 --- /dev/null +++ b/packages/typescript-estree/dist/parseSettings/getProjectConfigFiles.js @@ -0,0 +1,74 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getProjectConfigFiles = void 0; +const debug_1 = __importDefault(require("debug")); +const fs = __importStar(require("fs")); +const path = __importStar(require("path")); +const log = (0, debug_1.default)('typescript-eslint:typescript-estree:getProjectConfigFiles'); +/** + * Checks for a matching TSConfig to a file including its parent directories, + * permanently caching results under each directory it checks. + * + * @remarks + * We don't (yet!) have a way to attach file watchers on disk, but still need to + * cache file checks for rapid subsequent calls to fs.existsSync. See discussion + * in https://github.com/typescript-eslint/typescript-eslint/issues/101. + */ +function getProjectConfigFiles(parseSettings, project) { + if (project !== true) { + if (project == null || project === false) { + return null; + } + if (Array.isArray(project)) { + return project; + } + return [project]; + } + log('Looking for tsconfig.json at or above file: %s', parseSettings.filePath); + let directory = path.dirname(parseSettings.filePath); + const checkedDirectories = [directory]; + do { + log('Checking tsconfig.json path: %s', directory); + const tsconfigPath = path.join(directory, 'tsconfig.json'); + const cached = parseSettings.tsconfigMatchCache.get(directory) ?? + (fs.existsSync(tsconfigPath) && tsconfigPath); + if (cached) { + for (const directory of checkedDirectories) { + parseSettings.tsconfigMatchCache.set(directory, cached); + } + return [cached]; + } + directory = path.dirname(directory); + checkedDirectories.push(directory); + } while (directory.length > 1 && + directory.length >= parseSettings.tsconfigRootDir.length); + throw new Error(`project was set to \`true\` but couldn't find any tsconfig.json relative to '${parseSettings.filePath}' within '${parseSettings.tsconfigRootDir}'.`); +} +exports.getProjectConfigFiles = getProjectConfigFiles; +//# sourceMappingURL=getProjectConfigFiles.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/getProjectConfigFiles.js.map b/packages/typescript-estree/dist/parseSettings/getProjectConfigFiles.js.map new file mode 100644 index 000000000000..70fafb28eea9 --- /dev/null +++ b/packages/typescript-estree/dist/parseSettings/getProjectConfigFiles.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getProjectConfigFiles.js","sourceRoot":"","sources":["../../src/parseSettings/getProjectConfigFiles.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,uCAAyB;AACzB,2CAA6B;AAK7B,MAAM,GAAG,GAAG,IAAA,eAAK,EAAC,2DAA2D,CAAC,CAAC;AAE/E;;;;;;;;GAQG;AACH,SAAgB,qBAAqB,CACnC,aAGC,EACD,OAAmC;IAEnC,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;YACzC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,OAAO,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;IAED,GAAG,CAAC,gDAAgD,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC9E,IAAI,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACrD,MAAM,kBAAkB,GAAG,CAAC,SAAS,CAAC,CAAC;IAEvC,GAAG,CAAC;QACF,GAAG,CAAC,iCAAiC,EAAE,SAAS,CAAC,CAAC;QAClD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;QAC3D,MAAM,MAAM,GACV,aAAa,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC;YAC/C,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC,CAAC;QAEhD,IAAI,MAAM,EAAE,CAAC;YACX,KAAK,MAAM,SAAS,IAAI,kBAAkB,EAAE,CAAC;gBAC3C,aAAa,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAC1D,CAAC;YACD,OAAO,CAAC,MAAM,CAAC,CAAC;QAClB,CAAC;QAED,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACpC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC,QACC,SAAS,CAAC,MAAM,GAAG,CAAC;QACpB,SAAS,CAAC,MAAM,IAAI,aAAa,CAAC,eAAe,CAAC,MAAM,EACxD;IAEF,MAAM,IAAI,KAAK,CACb,gFAAgF,aAAa,CAAC,QAAQ,aAAa,aAAa,CAAC,eAAe,IAAI,CACrJ,CAAC;AACJ,CAAC;AA7CD,sDA6CC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/index.d.ts b/packages/typescript-estree/dist/parseSettings/index.d.ts new file mode 100644 index 000000000000..3ea1fdfb8542 --- /dev/null +++ b/packages/typescript-estree/dist/parseSettings/index.d.ts @@ -0,0 +1,120 @@ +import type * as ts from 'typescript'; +import type { ProjectServiceSettings } from '../create-program/createProjectService'; +import type { CanonicalPath } from '../create-program/shared'; +import type { TSESTree } from '../ts-estree'; +import type { CacheLike } from './ExpiringCache'; +type DebugModule = 'eslint' | 'typescript-eslint' | 'typescript'; +declare module 'typescript' { + enum JSDocParsingMode { + } +} +declare module 'typescript/lib/tsserverlibrary' { + enum JSDocParsingMode { + } +} +/** + * Internal settings used by the parser to run on a file. + */ +export interface MutableParseSettings { + /** + * Prevents the parser from throwing an error if it receives an invalid AST from TypeScript. + */ + allowInvalidAST: boolean; + /** + * Code of the file being parsed, or raw source file containing it. + */ + code: ts.SourceFile | string; + /** + * Full text of the file being parsed. + */ + codeFullText: string; + /** + * Whether the `comment` parse option is enabled. + */ + comment: boolean; + /** + * If the `comment` parse option is enabled, retrieved comments. + */ + comments: TSESTree.Comment[]; + /** + * Which debug areas should be logged. + */ + debugLevel: Set; + /** + * Whether to error if TypeScript reports a semantic or syntactic error diagnostic. + */ + errorOnTypeScriptSyntacticAndSemanticIssues: boolean; + /** + * Whether to error if an unknown AST node type is encountered. + */ + errorOnUnknownASTType: boolean; + /** + * Any non-standard file extensions which will be parsed. + */ + extraFileExtensions: string[]; + /** + * Path of the file being parsed. + */ + filePath: string; + /** + * JSDoc parsing style to pass through to TypeScript + */ + jsDocParsingMode: ts.JSDocParsingMode; + /** + * Whether parsing of JSX is enabled. + * + * @remarks The applicable file extension is still required. + */ + jsx: boolean; + /** + * Whether to add `loc` information to each node. + */ + loc: boolean; + /** + * Log function, if not `console.log`. + */ + log: (message: string) => void; + /** + * Whether two-way AST node maps are preserved during the AST conversion process. + */ + preserveNodeMaps?: boolean; + /** + * One or more instances of TypeScript Program objects to be used for type information. + */ + programs: Iterable | null; + /** + * Normalized paths to provided project paths. + */ + projects: ReadonlyMap; + /** + * TypeScript server to power program creation. + */ + projectService: ProjectServiceSettings | undefined; + /** + * Whether to add the `range` property to AST nodes. + */ + range: boolean; + /** + * Whether this is part of a single run, rather than a long-running process. + */ + singleRun: boolean; + /** + * Whether deprecated AST properties should skip calling console.warn on accesses. + */ + suppressDeprecatedPropertyWarnings: boolean; + /** + * If the `tokens` parse option is enabled, retrieved tokens. + */ + tokens: TSESTree.Token[] | null; + /** + * Caches searches for TSConfigs from project directories. + */ + tsconfigMatchCache: CacheLike; + /** + * The absolute path to the root directory for all provided `project`s. + */ + tsconfigRootDir: string; +} +export type ParseSettings = Readonly; +export {}; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/index.d.ts.map b/packages/typescript-estree/dist/parseSettings/index.d.ts.map new file mode 100644 index 000000000000..96518bf50902 --- /dev/null +++ b/packages/typescript-estree/dist/parseSettings/index.d.ts.map @@ -0,0 +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,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AACrF,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;AAGjE,OAAO,QAAQ,YAAY,CAAC;IAE1B,KAAK,gBAAgB;KAAG;CACzB;AAED,OAAO,QAAQ,gCAAgC,CAAC;IAE9C,KAAK,gBAAgB;KAAG;CACzB;AAED;;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;;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,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAE9B;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,gBAAgB,EAAE,EAAE,CAAC,gBAAgB,CAAC;IAEtC;;;;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,WAAW,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IAE7C;;OAEG;IACH,cAAc,EAAE,sBAAsB,GAAG,SAAS,CAAC;IAEnD;;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"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/index.js b/packages/typescript-estree/dist/parseSettings/index.js new file mode 100644 index 000000000000..aa219d8f2aa4 --- /dev/null +++ b/packages/typescript-estree/dist/parseSettings/index.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/index.js.map b/packages/typescript-estree/dist/parseSettings/index.js.map new file mode 100644 index 000000000000..66056421d147 --- /dev/null +++ b/packages/typescript-estree/dist/parseSettings/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/parseSettings/index.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/inferSingleRun.d.ts b/packages/typescript-estree/dist/parseSettings/inferSingleRun.d.ts new file mode 100644 index 000000000000..1b28697f5ef9 --- /dev/null +++ b/packages/typescript-estree/dist/parseSettings/inferSingleRun.d.ts @@ -0,0 +1,15 @@ +import type { TSESTreeOptions } from '../parser-options'; +/** + * ESLint (and therefore typescript-eslint) is used in both "single run"/one-time contexts, + * such as an ESLint CLI invocation, and long-running sessions (such as continuous feedback + * on a file in an IDE). + * + * When typescript-eslint handles TypeScript Program management behind the scenes, this distinction + * is important because there is significant overhead to managing the so called Watch Programs + * needed for the long-running use-case. We therefore use the following logic to figure out which + * of these contexts applies to the current execution. + * + * @returns Whether this is part of a single run, rather than a long-running process. + */ +export declare function inferSingleRun(options: TSESTreeOptions | undefined): boolean; +//# sourceMappingURL=inferSingleRun.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/inferSingleRun.d.ts.map b/packages/typescript-estree/dist/parseSettings/inferSingleRun.d.ts.map new file mode 100644 index 000000000000..d95b606c9604 --- /dev/null +++ b/packages/typescript-estree/dist/parseSettings/inferSingleRun.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"inferSingleRun.d.ts","sourceRoot":"","sources":["../../src/parseSettings/inferSingleRun.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,eAAe,GAAG,SAAS,GAAG,OAAO,CA6C5E"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/inferSingleRun.js b/packages/typescript-estree/dist/parseSettings/inferSingleRun.js new file mode 100644 index 000000000000..ad4283b54836 --- /dev/null +++ b/packages/typescript-estree/dist/parseSettings/inferSingleRun.js @@ -0,0 +1,60 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.inferSingleRun = void 0; +const path_1 = __importDefault(require("path")); +/** + * ESLint (and therefore typescript-eslint) is used in both "single run"/one-time contexts, + * such as an ESLint CLI invocation, and long-running sessions (such as continuous feedback + * on a file in an IDE). + * + * When typescript-eslint handles TypeScript Program management behind the scenes, this distinction + * is important because there is significant overhead to managing the so called Watch Programs + * needed for the long-running use-case. We therefore use the following logic to figure out which + * of these contexts applies to the current execution. + * + * @returns Whether this is part of a single run, rather than a long-running process. + */ +function inferSingleRun(options) { + if ( + // single-run implies type-aware linting - no projects means we can't be in single-run mode + options?.project == null || + // programs passed via options means the user should be managing the programs, so we shouldn't + // be creating our own single-run programs accidentally + options.programs != null) { + return false; + } + // Allow users to explicitly inform us of their intent to perform a single run (or not) with TSESTREE_SINGLE_RUN + if (process.env.TSESTREE_SINGLE_RUN === 'false') { + return false; + } + if (process.env.TSESTREE_SINGLE_RUN === 'true') { + return true; + } + // Ideally, we'd like to try to auto-detect CI or CLI usage that lets us infer a single CLI run. + if (!options.disallowAutomaticSingleRunInference) { + const possibleEslintBinPaths = [ + 'node_modules/.bin/eslint', // npm or yarn repo + 'node_modules/eslint/bin/eslint.js', // pnpm repo + ]; + if ( + // Default to single runs for CI processes. CI=true is set by most CI providers by default. + process.env.CI === 'true' || + // This will be true for invocations such as `npx eslint ...` and `./node_modules/.bin/eslint ...` + possibleEslintBinPaths.some(binPath => process.argv[1].endsWith(path_1.default.normalize(binPath)))) { + return true; + } + } + /** + * We default to assuming that this run could be part of a long-running session (e.g. in an IDE) + * and watch programs will therefore be required. + * + * Unless we can reliably infer otherwise, we default to assuming that this run could be part + * of a long-running session (e.g. in an IDE) and watch programs will therefore be required + */ + return false; +} +exports.inferSingleRun = inferSingleRun; +//# sourceMappingURL=inferSingleRun.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/inferSingleRun.js.map b/packages/typescript-estree/dist/parseSettings/inferSingleRun.js.map new file mode 100644 index 000000000000..67256994554e --- /dev/null +++ b/packages/typescript-estree/dist/parseSettings/inferSingleRun.js.map @@ -0,0 +1 @@ +{"version":3,"file":"inferSingleRun.js","sourceRoot":"","sources":["../../src/parseSettings/inferSingleRun.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAIxB;;;;;;;;;;;GAWG;AACH,SAAgB,cAAc,CAAC,OAAoC;IACjE;IACE,2FAA2F;IAC3F,OAAO,EAAE,OAAO,IAAI,IAAI;QACxB,8FAA8F;QAC9F,uDAAuD;QACvD,OAAO,CAAC,QAAQ,IAAI,IAAI,EACxB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,gHAAgH;IAChH,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,OAAO,EAAE,CAAC;QAChD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,MAAM,EAAE,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gGAAgG;IAChG,IAAI,CAAC,OAAO,CAAC,mCAAmC,EAAE,CAAC;QACjD,MAAM,sBAAsB,GAAG;YAC7B,0BAA0B,EAAE,mBAAmB;YAC/C,mCAAmC,EAAE,YAAY;SAClD,CAAC;QACF;QACE,2FAA2F;QAC3F,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,MAAM;YACzB,kGAAkG;YAClG,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAClD,EACD,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,OAAO,KAAK,CAAC;AACf,CAAC;AA7CD,wCA6CC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/resolveProjectList.d.ts b/packages/typescript-estree/dist/parseSettings/resolveProjectList.d.ts new file mode 100644 index 000000000000..4067aec9d21b --- /dev/null +++ b/packages/typescript-estree/dist/parseSettings/resolveProjectList.d.ts @@ -0,0 +1,19 @@ +import type { CanonicalPath } from '../create-program/shared'; +import type { TSESTreeOptions } from '../parser-options'; +export declare function clearGlobCache(): void; +/** + * Normalizes, sanitizes, resolves and filters the provided project paths + */ +export declare function resolveProjectList(options: Readonly<{ + cacheLifetime?: TSESTreeOptions['cacheLifetime']; + project: string[] | null; + projectFolderIgnoreList: TSESTreeOptions['projectFolderIgnoreList']; + singleRun: boolean; + tsconfigRootDir: string; +}>): ReadonlyMap; +/** + * Exported for testing purposes only + * @internal + */ +export declare function clearGlobResolutionCache(): void; +//# sourceMappingURL=resolveProjectList.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/resolveProjectList.d.ts.map b/packages/typescript-estree/dist/parseSettings/resolveProjectList.d.ts.map new file mode 100644 index 000000000000..ff072e0b5faa --- /dev/null +++ b/packages/typescript-estree/dist/parseSettings/resolveProjectList.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"resolveProjectList.d.ts","sourceRoot":"","sources":["../../src/parseSettings/resolveProjectList.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAM9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAezD,wBAAgB,cAAc,IAAI,IAAI,CAErC;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,QAAQ,CAAC;IAChB,aAAa,CAAC,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;IACjD,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACzB,uBAAuB,EAAE,eAAe,CAAC,yBAAyB,CAAC,CAAC;IACpE,SAAS,EAAE,OAAO,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC,GACD,WAAW,CAAC,aAAa,EAAE,MAAM,CAAC,CAgFpC;AAuBD;;;GAGG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CAG/C"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/resolveProjectList.js b/packages/typescript-estree/dist/parseSettings/resolveProjectList.js new file mode 100644 index 000000000000..9b1c8e6824db --- /dev/null +++ b/packages/typescript-estree/dist/parseSettings/resolveProjectList.js @@ -0,0 +1,103 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.clearGlobResolutionCache = exports.resolveProjectList = exports.clearGlobCache = void 0; +const debug_1 = __importDefault(require("debug")); +const globby_1 = require("globby"); +const is_glob_1 = __importDefault(require("is-glob")); +const shared_1 = require("../create-program/shared"); +const ExpiringCache_1 = require("./ExpiringCache"); +const log = (0, debug_1.default)('typescript-eslint:typescript-estree:parser:parseSettings:resolveProjectList'); +let RESOLUTION_CACHE = null; +function clearGlobCache() { + RESOLUTION_CACHE?.clear(); +} +exports.clearGlobCache = clearGlobCache; +/** + * Normalizes, sanitizes, resolves and filters the provided project paths + */ +function resolveProjectList(options) { + const sanitizedProjects = []; + // Normalize and sanitize the project paths + if (options.project != null) { + for (const project of options.project) { + if (typeof project === 'string') { + sanitizedProjects.push(project); + } + } + } + if (sanitizedProjects.length === 0) { + return new Map(); + } + const projectFolderIgnoreList = (options.projectFolderIgnoreList ?? ['**/node_modules/**']) + .reduce((acc, folder) => { + if (typeof folder === 'string') { + acc.push(folder); + } + return acc; + }, []) + // prefix with a ! for not match glob + .map(folder => (folder.startsWith('!') ? folder : `!${folder}`)); + const cacheKey = getHash({ + project: sanitizedProjects, + projectFolderIgnoreList, + tsconfigRootDir: options.tsconfigRootDir, + }); + if (RESOLUTION_CACHE == null) { + // note - we initialize the global cache based on the first config we encounter. + // this does mean that you can't have multiple lifetimes set per folder + // I doubt that anyone will really bother reconfiguring this, let alone + // try to do complicated setups, so we'll deal with this later if ever. + RESOLUTION_CACHE = new ExpiringCache_1.ExpiringCache(options.singleRun + ? 'Infinity' + : options.cacheLifetime?.glob ?? + ExpiringCache_1.DEFAULT_TSCONFIG_CACHE_DURATION_SECONDS); + } + else { + const cached = RESOLUTION_CACHE.get(cacheKey); + if (cached) { + return cached; + } + } + // Transform glob patterns into paths + const nonGlobProjects = sanitizedProjects.filter(project => !(0, is_glob_1.default)(project)); + const globProjects = sanitizedProjects.filter(project => (0, is_glob_1.default)(project)); + const uniqueCanonicalProjectPaths = new Map(nonGlobProjects + .concat(globProjects.length === 0 + ? [] + : (0, globby_1.sync)([...globProjects, ...projectFolderIgnoreList], { + cwd: options.tsconfigRootDir, + dot: true, + })) + .map(project => [ + (0, shared_1.getCanonicalFileName)((0, shared_1.ensureAbsolutePath)(project, options.tsconfigRootDir)), + (0, shared_1.ensureAbsolutePath)(project, options.tsconfigRootDir), + ])); + log('parserOptions.project (excluding ignored) matched projects: %s', uniqueCanonicalProjectPaths); + RESOLUTION_CACHE.set(cacheKey, uniqueCanonicalProjectPaths); + return uniqueCanonicalProjectPaths; +} +exports.resolveProjectList = resolveProjectList; +function getHash({ project, projectFolderIgnoreList, tsconfigRootDir, }) { + // create a stable representation of the config + const hashObject = { + tsconfigRootDir, + // the project order does matter and can impact the resolved globs + project, + // the ignore order won't doesn't ever matter + projectFolderIgnoreList: [...projectFolderIgnoreList].sort(), + }; + return (0, shared_1.createHash)(JSON.stringify(hashObject)); +} +/** + * Exported for testing purposes only + * @internal + */ +function clearGlobResolutionCache() { + RESOLUTION_CACHE?.clear(); + RESOLUTION_CACHE = null; +} +exports.clearGlobResolutionCache = clearGlobResolutionCache; +//# sourceMappingURL=resolveProjectList.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/resolveProjectList.js.map b/packages/typescript-estree/dist/parseSettings/resolveProjectList.js.map new file mode 100644 index 000000000000..5fedec4e3ff5 --- /dev/null +++ b/packages/typescript-estree/dist/parseSettings/resolveProjectList.js.map @@ -0,0 +1 @@ +{"version":3,"file":"resolveProjectList.js","sourceRoot":"","sources":["../../src/parseSettings/resolveProjectList.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/warnAboutTSVersion.d.ts b/packages/typescript-estree/dist/parseSettings/warnAboutTSVersion.d.ts new file mode 100644 index 000000000000..9f4dbc460a32 --- /dev/null +++ b/packages/typescript-estree/dist/parseSettings/warnAboutTSVersion.d.ts @@ -0,0 +1,3 @@ +import type { ParseSettings } from './index'; +export declare function warnAboutTSVersion(parseSettings: ParseSettings, passedLoggerFn: boolean): void; +//# sourceMappingURL=warnAboutTSVersion.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/warnAboutTSVersion.d.ts.map b/packages/typescript-estree/dist/parseSettings/warnAboutTSVersion.d.ts.map new file mode 100644 index 000000000000..1a8c6c6819fe --- /dev/null +++ b/packages/typescript-estree/dist/parseSettings/warnAboutTSVersion.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"warnAboutTSVersion.d.ts","sourceRoot":"","sources":["../../src/parseSettings/warnAboutTSVersion.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAsB7C,wBAAgB,kBAAkB,CAChC,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,OAAO,GACtB,IAAI,CA0BN"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/warnAboutTSVersion.js b/packages/typescript-estree/dist/parseSettings/warnAboutTSVersion.js new file mode 100644 index 000000000000..dd7d76a29ea2 --- /dev/null +++ b/packages/typescript-estree/dist/parseSettings/warnAboutTSVersion.js @@ -0,0 +1,69 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.warnAboutTSVersion = void 0; +const semver_1 = __importDefault(require("semver")); +const ts = __importStar(require("typescript")); +/** + * This needs to be kept in sync with package.json in the typescript-eslint monorepo + */ +const SUPPORTED_TYPESCRIPT_VERSIONS = '>=4.7.4 <5.5.0'; +/* + * The semver package will ignore prerelease ranges, and we don't want to explicitly document every one + * List them all separately here, so we can automatically create the full string + */ +const SUPPORTED_PRERELEASE_RANGES = []; +const ACTIVE_TYPESCRIPT_VERSION = ts.version; +const isRunningSupportedTypeScriptVersion = semver_1.default.satisfies(ACTIVE_TYPESCRIPT_VERSION, [SUPPORTED_TYPESCRIPT_VERSIONS] + .concat(SUPPORTED_PRERELEASE_RANGES) + .join(' || ')); +let warnedAboutTSVersion = false; +function warnAboutTSVersion(parseSettings, passedLoggerFn) { + if (isRunningSupportedTypeScriptVersion || warnedAboutTSVersion) { + return; + } + if (passedLoggerFn || + // See https://github.com/typescript-eslint/typescript-eslint/issues/7896 + // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition + (typeof process === 'undefined' ? false : process.stdout?.isTTY)) { + const border = '============='; + const versionWarning = [ + border, + 'WARNING: You are currently running a version of TypeScript which is not officially supported by @typescript-eslint/typescript-estree.', + 'You may find that it works just fine, or you may not.', + `SUPPORTED TYPESCRIPT VERSIONS: ${SUPPORTED_TYPESCRIPT_VERSIONS}`, + `YOUR TYPESCRIPT VERSION: ${ACTIVE_TYPESCRIPT_VERSION}`, + 'Please only submit bug reports when using the officially supported version.', + border, + ].join('\n\n'); + parseSettings.log(versionWarning); + } + warnedAboutTSVersion = true; +} +exports.warnAboutTSVersion = warnAboutTSVersion; +//# sourceMappingURL=warnAboutTSVersion.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/warnAboutTSVersion.js.map b/packages/typescript-estree/dist/parseSettings/warnAboutTSVersion.js.map new file mode 100644 index 000000000000..687850f993a8 --- /dev/null +++ b/packages/typescript-estree/dist/parseSettings/warnAboutTSVersion.js.map @@ -0,0 +1 @@ +{"version":3,"file":"warnAboutTSVersion.js","sourceRoot":"","sources":["../../src/parseSettings/warnAboutTSVersion.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAA4B;AAC5B,+CAAiC;AAIjC;;GAEG;AACH,MAAM,6BAA6B,GAAG,gBAAgB,CAAC;AAEvD;;;GAGG;AACH,MAAM,2BAA2B,GAAa,EAAE,CAAC;AACjD,MAAM,yBAAyB,GAAG,EAAE,CAAC,OAAO,CAAC;AAC7C,MAAM,mCAAmC,GAAG,gBAAM,CAAC,SAAS,CAC1D,yBAAyB,EACzB,CAAC,6BAA6B,CAAC;KAC5B,MAAM,CAAC,2BAA2B,CAAC;KACnC,IAAI,CAAC,MAAM,CAAC,CAChB,CAAC;AAEF,IAAI,oBAAoB,GAAG,KAAK,CAAC;AAEjC,SAAgB,kBAAkB,CAChC,aAA4B,EAC5B,cAAuB;IAEvB,IAAI,mCAAmC,IAAI,oBAAoB,EAAE,CAAC;QAChE,OAAO;IACT,CAAC;IAED,IACE,cAAc;QACd,yEAAyE;QACzE,uEAAuE;QACvE,CAAC,OAAO,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,EAChE,CAAC;QACD,MAAM,MAAM,GAAG,eAAe,CAAC;QAC/B,MAAM,cAAc,GAAG;YACrB,MAAM;YACN,uIAAuI;YACvI,uDAAuD;YACvD,kCAAkC,6BAA6B,EAAE;YACjE,4BAA4B,yBAAyB,EAAE;YACvD,6EAA6E;YAC7E,MAAM;SACP,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEf,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACpC,CAAC;IAED,oBAAoB,GAAG,IAAI,CAAC;AAC9B,CAAC;AA7BD,gDA6BC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/parser-options.d.ts b/packages/typescript-estree/dist/parser-options.d.ts new file mode 100644 index 000000000000..e54d6b4fa3a8 --- /dev/null +++ b/packages/typescript-estree/dist/parser-options.d.ts @@ -0,0 +1,199 @@ +import type { CacheDurationSeconds, DebugLevel, JSDocParsingMode, ProjectServiceOptions } from '@typescript-eslint/types'; +import type * as ts from 'typescript'; +import type { TSESTree, TSESTreeToTSNode, TSNode, TSToken } from './ts-estree'; +export { ProjectServiceOptions } from '@typescript-eslint/types'; +interface ParseOptions { + /** + * Prevents the parser from throwing an error if it receives an invalid AST from TypeScript. + * This case only usually occurs when attempting to lint invalid code. + */ + allowInvalidAST?: boolean; + /** + * create a top-level comments array containing all comments + */ + comment?: boolean; + /** + * An array of modules to turn explicit debugging on for. + * - 'typescript-eslint' is the same as setting the env var `DEBUG=typescript-eslint:*` + * - 'eslint' is the same as setting the env var `DEBUG=eslint:*` + * - 'typescript' is the same as setting `extendedDiagnostics: true` in your tsconfig compilerOptions + * + * For convenience, also supports a boolean: + * - true === ['typescript-eslint'] + * - false === [] + */ + debugLevel?: DebugLevel; + /** + * Cause the parser to error if it encounters an unknown AST node type (useful for testing). + * This case only usually occurs when TypeScript releases new features. + */ + errorOnUnknownASTType?: boolean; + /** + * Absolute (or relative to `cwd`) path to the file being parsed. + */ + filePath?: string; + /** + * If you are using TypeScript version >=5.3 then this option can be used as a performance optimization. + * + * The valid values for this rule are: + * - `'all'` - parse all JSDoc comments, always. + * - `'none'` - parse no JSDoc comments, ever. + * - `'type-info'` - parse just JSDoc comments that are required to provide correct type-info. TS will always parse JSDoc in non-TS files, but never in TS files. + * + * If you do not rely on JSDoc tags from the TypeScript AST, then you can safely set this to `'none'` to improve performance. + */ + jsDocParsingMode?: JSDocParsingMode; + /** + * Enable parsing of JSX. + * For more details, see https://www.typescriptlang.org/docs/handbook/jsx.html + * + * NOTE: this setting does not effect known file types (.js, .cjs, .mjs, .jsx, .ts, .mts, .cts, .tsx, .json) because the + * TypeScript compiler has its own internal handling for known file extensions. + * + * For the exact behavior, see https://github.com/typescript-eslint/typescript-eslint/tree/main/packages/parser#parseroptionsecmafeaturesjsx + */ + jsx?: boolean; + /** + * Controls whether the `loc` information to each node. + * The `loc` property is an object which contains the exact line/column the node starts/ends on. + * This is similar to the `range` property, except it is line/column relative. + */ + loc?: boolean; + loggerFn?: false | ((message: string) => void); + /** + * Controls whether the `range` property is included on AST nodes. + * The `range` property is a [number, number] which indicates the start/end index of the node in the file contents. + * This is similar to the `loc` property, except this is the absolute index. + */ + range?: boolean; + /** + * Set to true to create a top-level array containing all tokens from the file. + */ + tokens?: boolean; + /** + * Whether deprecated AST properties should skip calling console.warn on accesses. + */ + suppressDeprecatedPropertyWarnings?: boolean; +} +interface ParseAndGenerateServicesOptions extends ParseOptions { + /** + * Granular control of the expiry lifetime of our internal caches. + * You can specify the number of seconds as an integer number, or the string + * 'Infinity' if you never want the cache to expire. + * + * By default cache entries will be evicted after 30 seconds, or will persist + * indefinitely if `disallowAutomaticSingleRunInference = false` AND the parser + * infers that it is a single run. + */ + cacheLifetime?: { + /** + * Glob resolution for `parserOptions.project` values. + */ + glob?: CacheDurationSeconds; + }; + /** + * ESLint (and therefore typescript-eslint) is used in both "single run"/one-time contexts, + * such as an ESLint CLI invocation, and long-running sessions (such as continuous feedback + * on a file in an IDE). + * + * When typescript-eslint handles TypeScript Program management behind the scenes, this distinction + * is important because there is significant overhead to managing the so called Watch Programs + * needed for the long-running use-case. + * + * By default, we will use common heuristics to infer whether ESLint is being + * used as part of a single run. This option disables those heuristics, and + * therefore the performance optimizations gained by them. + * + * In other words, typescript-eslint is faster by default, and this option + * disables an automatic performance optimization. + * + * This setting's default value can be specified by setting a `TSESTREE_SINGLE_RUN` + * environment variable to `"false"` or `"true"`. + * Otherwise, the default value is `false`. + */ + disallowAutomaticSingleRunInference?: boolean; + /** + * Causes the parser to error if the TypeScript compiler returns any unexpected syntax/semantic errors. + */ + errorOnTypeScriptSyntacticAndSemanticIssues?: boolean; + /** + * When `project` is provided, this controls the non-standard file extensions which will be parsed. + * It accepts an array of file extensions, each preceded by a `.`. + */ + extraFileExtensions?: string[]; + /** + * Absolute (or relative to `tsconfigRootDir`) path to the file being parsed. + * When `project` is provided, this is required, as it is used to fetch the file from the TypeScript compiler's cache. + */ + filePath?: string; + /** + * Allows the user to control whether or not two-way AST node maps are preserved + * during the AST conversion process. + * + * By default: the AST node maps are NOT preserved, unless `project` has been specified, + * in which case the maps are made available on the returned `parserServices`. + * + * NOTE: If `preserveNodeMaps` is explicitly set by the user, it will be respected, + * regardless of whether or not `project` is in use. + */ + preserveNodeMaps?: boolean; + /** + * Absolute (or relative to `tsconfigRootDir`) paths to the tsconfig(s), + * or `true` to find the nearest tsconfig.json to the file. + * If this is provided, type information will be returned. + * + * If set to `false`, `null` or `undefined` type information will not be returned. + * + * Note that {@link projectService} is now preferred. + */ + project?: string[] | string | boolean | null; + /** + * If you provide a glob (or globs) to the project option, you can use this option to ignore certain folders from + * being matched by the globs. + * This accepts an array of globs to ignore. + * + * By default, this is set to ["**\/node_modules/**"] + */ + projectFolderIgnoreList?: string[]; + /** + * Whether to create a shared TypeScript project service to power program creation. + */ + projectService?: boolean | ProjectServiceOptions; + /** + * The absolute path to the root directory for all provided `project`s. + */ + tsconfigRootDir?: string; + /** + * An array of one or more instances of TypeScript Program objects to be used for type information. + * This overrides any program or programs that would have been computed from the `project` option. + * All linted files must be part of the provided program(s). + */ + programs?: ts.Program[] | null; +} +export type TSESTreeOptions = ParseAndGenerateServicesOptions; +export interface ParserWeakMap { + get(key: Key): Value; + has(key: unknown): boolean; +} +export interface ParserWeakMapESTreeToTSNode { + get(key: KeyBase): TSESTreeToTSNode; + has(key: unknown): boolean; +} +export interface ParserServicesBase { + emitDecoratorMetadata: boolean | undefined; + experimentalDecorators: boolean | undefined; +} +export interface ParserServicesNodeMaps { + esTreeNodeToTSNodeMap: ParserWeakMapESTreeToTSNode; + tsNodeToESTreeNodeMap: ParserWeakMap; +} +export interface ParserServicesWithTypeInformation extends ParserServicesNodeMaps, ParserServicesBase { + program: ts.Program; + getSymbolAtLocation: (node: TSESTree.Node) => ts.Symbol | undefined; + getTypeAtLocation: (node: TSESTree.Node) => ts.Type; +} +export interface ParserServicesWithoutTypeInformation extends ParserServicesNodeMaps, ParserServicesBase { + program: null; +} +export type ParserServices = ParserServicesWithoutTypeInformation | ParserServicesWithTypeInformation; +//# sourceMappingURL=parser-options.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/parser-options.d.ts.map b/packages/typescript-estree/dist/parser-options.d.ts.map new file mode 100644 index 000000000000..a419dc64d67e --- /dev/null +++ b/packages/typescript-estree/dist/parser-options.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"parser-options.d.ts","sourceRoot":"","sources":["../src/parser-options.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/parser-options.js b/packages/typescript-estree/dist/parser-options.js new file mode 100644 index 000000000000..66f40a290d71 --- /dev/null +++ b/packages/typescript-estree/dist/parser-options.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=parser-options.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/parser-options.js.map b/packages/typescript-estree/dist/parser-options.js.map new file mode 100644 index 000000000000..22b7b8ab93f6 --- /dev/null +++ b/packages/typescript-estree/dist/parser-options.js.map @@ -0,0 +1 @@ +{"version":3,"file":"parser-options.js","sourceRoot":"","sources":["../src/parser-options.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/packages/typescript-estree/dist/parser.d.ts b/packages/typescript-estree/dist/parser.d.ts new file mode 100644 index 000000000000..4c8f4250fe06 --- /dev/null +++ b/packages/typescript-estree/dist/parser.d.ts @@ -0,0 +1,19 @@ +import type * as ts from 'typescript'; +import type { ParserServices, TSESTreeOptions } from './parser-options'; +import type { TSESTree } from './ts-estree'; +declare function clearProgramCache(): void; +declare function clearDefaultProjectMatchedFiles(): void; +type AST = TSESTree.Program & (T['comment'] extends true ? { + comments: TSESTree.Comment[]; +} : {}) & (T['tokens'] extends true ? { + tokens: TSESTree.Token[]; +} : {}); +interface ParseAndGenerateServicesResult { + ast: AST; + services: ParserServices; +} +declare function parse(code: string, options?: T): AST; +declare function clearParseAndGenerateServicesCalls(): void; +declare function parseAndGenerateServices(code: ts.SourceFile | string, tsestreeOptions: T): ParseAndGenerateServicesResult; +export { AST, parse, parseAndGenerateServices, ParseAndGenerateServicesResult, clearDefaultProjectMatchedFiles, clearProgramCache, clearParseAndGenerateServicesCalls, }; +//# sourceMappingURL=parser.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/parser.d.ts.map b/packages/typescript-estree/dist/parser.d.ts.map new file mode 100644 index 000000000000..9dc8c21f46a8 --- /dev/null +++ b/packages/typescript-estree/dist/parser.d.ts.map @@ -0,0 +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,CAgHnC;AAED,OAAO,EACL,GAAG,EACH,KAAK,EACL,wBAAwB,EACxB,8BAA8B,EAC9B,+BAA+B,EAC/B,iBAAiB,EACjB,kCAAkC,GACnC,CAAC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/parser.js b/packages/typescript-estree/dist/parser.js new file mode 100644 index 000000000000..72e0e201c496 --- /dev/null +++ b/packages/typescript-estree/dist/parser.js @@ -0,0 +1,183 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.clearParseAndGenerateServicesCalls = exports.clearProgramCache = exports.clearDefaultProjectMatchedFiles = exports.parseAndGenerateServices = exports.parse = void 0; +const debug_1 = __importDefault(require("debug")); +const ast_converter_1 = require("./ast-converter"); +const convert_1 = require("./convert"); +const createIsolatedProgram_1 = require("./create-program/createIsolatedProgram"); +const createProjectProgram_1 = require("./create-program/createProjectProgram"); +const createSourceFile_1 = require("./create-program/createSourceFile"); +const getWatchProgramsForProjects_1 = require("./create-program/getWatchProgramsForProjects"); +const useProvidedPrograms_1 = require("./create-program/useProvidedPrograms"); +const createParserServices_1 = require("./createParserServices"); +const createParseSettings_1 = require("./parseSettings/createParseSettings"); +const semantic_or_syntactic_errors_1 = require("./semantic-or-syntactic-errors"); +const useProgramFromProjectService_1 = require("./useProgramFromProjectService"); +const log = (0, debug_1.default)('typescript-eslint:typescript-estree:parser'); +/** + * Cache existing programs for the single run use-case. + * + * clearProgramCache() is only intended to be used in testing to ensure the parser is clean between tests. + */ +const existingPrograms = new Map(); +function clearProgramCache() { + existingPrograms.clear(); +} +exports.clearProgramCache = clearProgramCache; +const defaultProjectMatchedFiles = new Set(); +function clearDefaultProjectMatchedFiles() { + defaultProjectMatchedFiles.clear(); +} +exports.clearDefaultProjectMatchedFiles = clearDefaultProjectMatchedFiles; +/** + * @param parseSettings Internal settings for parsing the file + * @param hasFullTypeInformation True if the program should be attempted to be calculated from provided tsconfig files + * @returns Returns a source file and program corresponding to the linted code + */ +function getProgramAndAST(parseSettings, hasFullTypeInformation) { + if (parseSettings.projectService) { + const fromProjectService = (0, useProgramFromProjectService_1.useProgramFromProjectService)(parseSettings.projectService, parseSettings, hasFullTypeInformation, defaultProjectMatchedFiles); + if (fromProjectService) { + return fromProjectService; + } + } + if (parseSettings.programs) { + const fromProvidedPrograms = (0, useProvidedPrograms_1.useProvidedPrograms)(parseSettings.programs, parseSettings); + if (fromProvidedPrograms) { + return fromProvidedPrograms; + } + } + // no need to waste time creating a program as the caller didn't want parser services + // so we can save time and just create a lonesome source file + if (!hasFullTypeInformation) { + return (0, createSourceFile_1.createNoProgram)(parseSettings); + } + return (0, createProjectProgram_1.createProjectProgram)(parseSettings, (0, getWatchProgramsForProjects_1.getWatchProgramsForProjects)(parseSettings)); +} +function parse(code, options) { + const { ast } = parseWithNodeMapsInternal(code, options, false); + return ast; +} +exports.parse = parse; +function parseWithNodeMapsInternal(code, options, shouldPreserveNodeMaps) { + /** + * Reset the parse configuration + */ + const parseSettings = (0, createParseSettings_1.createParseSettings)(code, options); + /** + * Ensure users do not attempt to use parse() when they need parseAndGenerateServices() + */ + if (options?.errorOnTypeScriptSyntacticAndSemanticIssues) { + throw new Error(`"errorOnTypeScriptSyntacticAndSemanticIssues" is only supported for parseAndGenerateServices()`); + } + /** + * Create a ts.SourceFile directly, no ts.Program is needed for a simple parse + */ + const ast = (0, createSourceFile_1.createSourceFile)(parseSettings); + /** + * Convert the TypeScript AST to an ESTree-compatible one + */ + const { estree, astMaps } = (0, ast_converter_1.astConverter)(ast, parseSettings, shouldPreserveNodeMaps); + return { + ast: estree, + esTreeNodeToTSNodeMap: astMaps.esTreeNodeToTSNodeMap, + tsNodeToESTreeNodeMap: astMaps.tsNodeToESTreeNodeMap, + }; +} +let parseAndGenerateServicesCalls = {}; +// Privately exported utility intended for use in typescript-eslint unit tests only +function clearParseAndGenerateServicesCalls() { + parseAndGenerateServicesCalls = {}; +} +exports.clearParseAndGenerateServicesCalls = clearParseAndGenerateServicesCalls; +function parseAndGenerateServices(code, tsestreeOptions) { + /** + * Reset the parse configuration + */ + const parseSettings = (0, createParseSettings_1.createParseSettings)(code, tsestreeOptions); + /** + * If this is a single run in which the user has not provided any existing programs but there + * are programs which need to be created from the provided "project" option, + * create an Iterable which will lazily create the programs as needed by the iteration logic + */ + if (parseSettings.singleRun && + !parseSettings.programs && + parseSettings.projects.size > 0) { + parseSettings.programs = { + *[Symbol.iterator]() { + for (const configFile of parseSettings.projects) { + const existingProgram = existingPrograms.get(configFile[0]); + if (existingProgram) { + yield existingProgram; + } + else { + log('Detected single-run/CLI usage, creating Program once ahead of time for project: %s', configFile); + const newProgram = (0, useProvidedPrograms_1.createProgramFromConfigFile)(configFile[1]); + existingPrograms.set(configFile[0], newProgram); + yield newProgram; + } + } + }, + }; + } + /** + * Generate a full ts.Program or offer provided instances in order to be able to provide parser services, such as type-checking + */ + const hasFullTypeInformation = parseSettings.programs != null || parseSettings.projects.size > 0; + if (typeof tsestreeOptions.errorOnTypeScriptSyntacticAndSemanticIssues === + 'boolean' && + tsestreeOptions.errorOnTypeScriptSyntacticAndSemanticIssues) { + parseSettings.errorOnTypeScriptSyntacticAndSemanticIssues = true; + } + if (parseSettings.errorOnTypeScriptSyntacticAndSemanticIssues && + !hasFullTypeInformation) { + throw new Error('Cannot calculate TypeScript semantic issues without a valid project.'); + } + /** + * If we are in singleRun mode but the parseAndGenerateServices() function has been called more than once for the current file, + * it must mean that we are in the middle of an ESLint automated fix cycle (in which parsing can be performed up to an additional + * 10 times in order to apply all possible fixes for the file). + * + * In this scenario we cannot rely upon the singleRun AOT compiled programs because the SourceFiles will not contain the source + * with the latest fixes applied. Therefore we fallback to creating the quickest possible isolated program from the updated source. + */ + if (parseSettings.singleRun && tsestreeOptions.filePath) { + parseAndGenerateServicesCalls[tsestreeOptions.filePath] = + (parseAndGenerateServicesCalls[tsestreeOptions.filePath] || 0) + 1; + } + const { ast, program } = parseSettings.singleRun && + tsestreeOptions.filePath && + parseAndGenerateServicesCalls[tsestreeOptions.filePath] > 1 + ? (0, createIsolatedProgram_1.createIsolatedProgram)(parseSettings) + : getProgramAndAST(parseSettings, hasFullTypeInformation); + /** + * Convert the TypeScript AST to an ESTree-compatible one, and optionally preserve + * mappings between converted and original AST nodes + */ + const shouldPreserveNodeMaps = typeof parseSettings.preserveNodeMaps === 'boolean' + ? parseSettings.preserveNodeMaps + : true; + const { estree, astMaps } = (0, ast_converter_1.astConverter)(ast, parseSettings, shouldPreserveNodeMaps); + /** + * Even if TypeScript parsed the source code ok, and we had no problems converting the AST, + * there may be other syntactic or semantic issues in the code that we can optionally report on. + */ + if (program && parseSettings.errorOnTypeScriptSyntacticAndSemanticIssues) { + const error = (0, semantic_or_syntactic_errors_1.getFirstSemanticOrSyntacticError)(program, ast); + if (error) { + throw (0, convert_1.convertError)(error); + } + } + /** + * Return the converted AST and additional parser services + */ + return { + ast: estree, + services: (0, createParserServices_1.createParserServices)(astMaps, program), + }; +} +exports.parseAndGenerateServices = parseAndGenerateServices; +//# sourceMappingURL=parser.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/parser.js.map b/packages/typescript-estree/dist/parser.js.map new file mode 100644 index 000000000000..8e9cdc734cc2 --- /dev/null +++ b/packages/typescript-estree/dist/parser.js.map @@ -0,0 +1 @@ +{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/semantic-or-syntactic-errors.d.ts b/packages/typescript-estree/dist/semantic-or-syntactic-errors.d.ts new file mode 100644 index 000000000000..bd35968c3b78 --- /dev/null +++ b/packages/typescript-estree/dist/semantic-or-syntactic-errors.d.ts @@ -0,0 +1,13 @@ +import type { Diagnostic, Program, SourceFile } from 'typescript'; +export interface SemanticOrSyntacticError extends Diagnostic { + message: string; +} +/** + * By default, diagnostics from the TypeScript compiler contain all errors - regardless of whether + * they are related to generic ECMAScript standards, or TypeScript-specific constructs. + * + * Therefore, we filter out all diagnostics, except for the ones we explicitly want to consider when + * the user opts in to throwing errors on semantic issues. + */ +export declare function getFirstSemanticOrSyntacticError(program: Program, ast: SourceFile): SemanticOrSyntacticError | undefined; +//# sourceMappingURL=semantic-or-syntactic-errors.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/semantic-or-syntactic-errors.d.ts.map b/packages/typescript-estree/dist/semantic-or-syntactic-errors.d.ts.map new file mode 100644 index 000000000000..d17a7ae6623b --- /dev/null +++ b/packages/typescript-estree/dist/semantic-or-syntactic-errors.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"semantic-or-syntactic-errors.d.ts","sourceRoot":"","sources":["../src/semantic-or-syntactic-errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EAEV,OAAO,EACP,UAAU,EACX,MAAM,YAAY,CAAC;AAGpB,MAAM,WAAW,wBAAyB,SAAQ,UAAU;IAC1D,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;GAMG;AACH,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,UAAU,GACd,wBAAwB,GAAG,SAAS,CAmCtC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/semantic-or-syntactic-errors.js b/packages/typescript-estree/dist/semantic-or-syntactic-errors.js new file mode 100644 index 000000000000..4384f116a3f8 --- /dev/null +++ b/packages/typescript-estree/dist/semantic-or-syntactic-errors.js @@ -0,0 +1,96 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getFirstSemanticOrSyntacticError = void 0; +const typescript_1 = require("typescript"); +/** + * By default, diagnostics from the TypeScript compiler contain all errors - regardless of whether + * they are related to generic ECMAScript standards, or TypeScript-specific constructs. + * + * Therefore, we filter out all diagnostics, except for the ones we explicitly want to consider when + * the user opts in to throwing errors on semantic issues. + */ +function getFirstSemanticOrSyntacticError(program, ast) { + try { + const supportedSyntacticDiagnostics = allowlistSupportedDiagnostics(program.getSyntacticDiagnostics(ast)); + if (supportedSyntacticDiagnostics.length > 0) { + return convertDiagnosticToSemanticOrSyntacticError(supportedSyntacticDiagnostics[0]); + } + const supportedSemanticDiagnostics = allowlistSupportedDiagnostics(program.getSemanticDiagnostics(ast)); + if (supportedSemanticDiagnostics.length > 0) { + return convertDiagnosticToSemanticOrSyntacticError(supportedSemanticDiagnostics[0]); + } + return undefined; + } + catch (e) { + /** + * TypeScript compiler has certain Debug.fail() statements in, which will cause the diagnostics + * retrieval above to throw. + * + * E.g. from ast-alignment-tests + * "Debug Failure. Shouldn't ever directly check a JsxOpeningElement" + * + * For our current use-cases this is undesired behavior, so we just suppress it + * and log a a warning. + */ + /* istanbul ignore next */ + console.warn(`Warning From TSC: "${e.message}`); // eslint-disable-line no-console + /* istanbul ignore next */ + return undefined; + } +} +exports.getFirstSemanticOrSyntacticError = getFirstSemanticOrSyntacticError; +function allowlistSupportedDiagnostics(diagnostics) { + return diagnostics.filter(diagnostic => { + switch (diagnostic.code) { + case 1013: // "A rest parameter or binding pattern may not have a trailing comma." + case 1014: // "A rest parameter must be last in a parameter list." + case 1044: // "'{0}' modifier cannot appear on a module or namespace element." + case 1045: // "A '{0}' modifier cannot be used with an interface declaration." + case 1048: // "A rest parameter cannot have an initializer." + case 1049: // "A 'set' accessor must have exactly one parameter." + case 1070: // "'{0}' modifier cannot appear on a type member." + case 1071: // "'{0}' modifier cannot appear on an index signature." + case 1085: // "Octal literals are not available when targeting ECMAScript 5 and higher. Use the syntax '{0}'." + case 1090: // "'{0}' modifier cannot appear on a parameter." + case 1096: // "An index signature must have exactly one parameter." + case 1097: // "'{0}' list cannot be empty." + case 1098: // "Type parameter list cannot be empty." + case 1099: // "Type argument list cannot be empty." + case 1117: // "An object literal cannot have multiple properties with the same name in strict mode." + case 1121: // "Octal literals are not allowed in strict mode." + case 1123: // "Variable declaration list cannot be empty." + case 1141: // "String literal expected." + case 1162: // "An object member cannot be declared optional." + case 1164: // "Computed property names are not allowed in enums." + case 1172: // "'extends' clause already seen." + case 1173: // "'extends' clause must precede 'implements' clause." + case 1175: // "'implements' clause already seen." + case 1176: // "Interface declaration cannot have 'implements' clause." + case 1190: // "The variable declaration of a 'for...of' statement cannot have an initializer." + case 1196: // "Catch clause variable type annotation must be 'any' or 'unknown' if specified." + case 1200: // "Line terminator not permitted before arrow." + case 1206: // "Decorators are not valid here." + case 1211: // "A class declaration without the 'default' modifier must have a name." + case 1242: // "'abstract' modifier can only appear on a class, method, or property declaration." + case 1246: // "An interface property cannot have an initializer." + case 1255: // "A definite assignment assertion '!' is not permitted in this context." + case 1308: // "'await' expression is only allowed within an async function." + case 2364: // "The left-hand side of an assignment expression must be a variable or a property access." + case 2369: // "A parameter property is only allowed in a constructor implementation." + case 2452: // "An enum member cannot have a numeric name." + case 2462: // "A rest element must be last in a destructuring pattern." + case 8017: // "Octal literal types must use ES2015 syntax. Use the syntax '{0}'." + case 17012: // "'{0}' is not a valid meta-property for keyword '{1}'. Did you mean '{2}'?" + case 17013: // "Meta-property '{0}' is only allowed in the body of a function declaration, function expression, or constructor." + return true; + } + return false; + }); +} +function convertDiagnosticToSemanticOrSyntacticError(diagnostic) { + return { + ...diagnostic, + message: (0, typescript_1.flattenDiagnosticMessageText)(diagnostic.messageText, typescript_1.sys.newLine), + }; +} +//# sourceMappingURL=semantic-or-syntactic-errors.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/semantic-or-syntactic-errors.js.map b/packages/typescript-estree/dist/semantic-or-syntactic-errors.js.map new file mode 100644 index 000000000000..f1178d757d71 --- /dev/null +++ b/packages/typescript-estree/dist/semantic-or-syntactic-errors.js.map @@ -0,0 +1 @@ +{"version":3,"file":"semantic-or-syntactic-errors.js","sourceRoot":"","sources":["../src/semantic-or-syntactic-errors.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/simple-traverse.d.ts b/packages/typescript-estree/dist/simple-traverse.d.ts new file mode 100644 index 000000000000..7a8e276391ec --- /dev/null +++ b/packages/typescript-estree/dist/simple-traverse.d.ts @@ -0,0 +1,12 @@ +import type { VisitorKeys } from '@typescript-eslint/visitor-keys'; +import type { TSESTree } from './ts-estree'; +type SimpleTraverseOptions = Readonly<{ + visitorKeys?: Readonly; + enter: (node: TSESTree.Node, parent: TSESTree.Node | undefined) => void; +} | { + visitorKeys?: Readonly; + visitors: Record void>; +}>; +export declare function simpleTraverse(startingNode: TSESTree.Node, options: SimpleTraverseOptions, setParentPointers?: boolean): void; +export {}; +//# sourceMappingURL=simple-traverse.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/simple-traverse.d.ts.map b/packages/typescript-estree/dist/simple-traverse.d.ts.map new file mode 100644 index 000000000000..8716a5e11a58 --- /dev/null +++ b/packages/typescript-estree/dist/simple-traverse.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"simple-traverse.d.ts","sourceRoot":"","sources":["../src/simple-traverse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAGnE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAmB5C,KAAK,qBAAqB,GAAG,QAAQ,CACjC;IACE,WAAW,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;IACpC,KAAK,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,GAAG,SAAS,KAAK,IAAI,CAAC;CACzE,GACD;IACE,WAAW,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;IACpC,QAAQ,EAAE,MAAM,CACd,MAAM,EACN,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,GAAG,SAAS,KAAK,IAAI,CACjE,CAAC;CACH,CACJ,CAAC;AAiDF,wBAAgB,cAAc,CAC5B,YAAY,EAAE,QAAQ,CAAC,IAAI,EAC3B,OAAO,EAAE,qBAAqB,EAC9B,iBAAiB,UAAQ,GACxB,IAAI,CAKN"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/simple-traverse.js b/packages/typescript-estree/dist/simple-traverse.js new file mode 100644 index 000000000000..312875b19094 --- /dev/null +++ b/packages/typescript-estree/dist/simple-traverse.js @@ -0,0 +1,60 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.simpleTraverse = void 0; +const visitor_keys_1 = require("@typescript-eslint/visitor-keys"); +function isValidNode(x) { + return (typeof x === 'object' && + x != null && + 'type' in x && + typeof x.type === 'string'); +} +function getVisitorKeysForNode(allVisitorKeys, node) { + const keys = allVisitorKeys[node.type]; + return (keys ?? []); +} +class SimpleTraverser { + allVisitorKeys = visitor_keys_1.visitorKeys; + selectors; + setParentPointers; + constructor(selectors, setParentPointers = false) { + this.selectors = selectors; + this.setParentPointers = setParentPointers; + if (selectors.visitorKeys) { + this.allVisitorKeys = selectors.visitorKeys; + } + } + traverse(node, parent) { + if (!isValidNode(node)) { + return; + } + if (this.setParentPointers) { + node.parent = parent; + } + if ('enter' in this.selectors) { + this.selectors.enter(node, parent); + } + else if (node.type in this.selectors.visitors) { + this.selectors.visitors[node.type](node, parent); + } + const keys = getVisitorKeysForNode(this.allVisitorKeys, node); + if (keys.length < 1) { + return; + } + for (const key of keys) { + const childOrChildren = node[key]; + if (Array.isArray(childOrChildren)) { + for (const child of childOrChildren) { + this.traverse(child, node); + } + } + else { + this.traverse(childOrChildren, node); + } + } + } +} +function simpleTraverse(startingNode, options, setParentPointers = false) { + new SimpleTraverser(options, setParentPointers).traverse(startingNode, undefined); +} +exports.simpleTraverse = simpleTraverse; +//# sourceMappingURL=simple-traverse.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/simple-traverse.js.map b/packages/typescript-estree/dist/simple-traverse.js.map new file mode 100644 index 000000000000..4ab1e2f44605 --- /dev/null +++ b/packages/typescript-estree/dist/simple-traverse.js.map @@ -0,0 +1 @@ +{"version":3,"file":"simple-traverse.js","sourceRoot":"","sources":["../src/simple-traverse.ts"],"names":[],"mappings":";;;AACA,kEAA8D;AAI9D,SAAS,WAAW,CAAC,CAAU;IAC7B,OAAO,CACL,OAAO,CAAC,KAAK,QAAQ;QACrB,CAAC,IAAI,IAAI;QACT,MAAM,IAAI,CAAC;QACX,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAC3B,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAC5B,cAAkC,EAClC,IAAmB;IAEnB,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAU,CAAC;AAC/B,CAAC;AAgBD,MAAM,eAAe;IACF,cAAc,GAA0B,0BAAW,CAAC;IACpD,SAAS,CAAwB;IACjC,iBAAiB,CAAU;IAE5C,YAAY,SAAgC,EAAE,iBAAiB,GAAG,KAAK;QACrE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;YAC1B,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC,WAAW,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,IAAa,EAAE,MAAiC;QACvD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACvB,CAAC;QAED,IAAI,OAAO,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC9B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACrC,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;YAChD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QAC9D,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;YAElC,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;gBACnC,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;oBACpC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAED,SAAgB,cAAc,CAC5B,YAA2B,EAC3B,OAA8B,EAC9B,iBAAiB,GAAG,KAAK;IAEzB,IAAI,eAAe,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC,QAAQ,CACtD,YAAY,EACZ,SAAS,CACV,CAAC;AACJ,CAAC;AATD,wCASC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/source-files.d.ts b/packages/typescript-estree/dist/source-files.d.ts new file mode 100644 index 000000000000..46d2ea25ac15 --- /dev/null +++ b/packages/typescript-estree/dist/source-files.d.ts @@ -0,0 +1,4 @@ +import * as ts from 'typescript'; +export declare function isSourceFile(code: unknown): code is ts.SourceFile; +export declare function getCodeText(code: ts.SourceFile | string): string; +//# sourceMappingURL=source-files.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/source-files.d.ts.map b/packages/typescript-estree/dist/source-files.d.ts.map new file mode 100644 index 000000000000..cee19bda54aa --- /dev/null +++ b/packages/typescript-estree/dist/source-files.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"source-files.d.ts","sourceRoot":"","sources":["../src/source-files.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC,UAAU,CAUjE;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,GAAG,MAAM,GAAG,MAAM,CAEhE"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/source-files.js b/packages/typescript-estree/dist/source-files.js new file mode 100644 index 000000000000..3ab4b3fcc7be --- /dev/null +++ b/packages/typescript-estree/dist/source-files.js @@ -0,0 +1,41 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getCodeText = exports.isSourceFile = void 0; +const ts = __importStar(require("typescript")); +function isSourceFile(code) { + if (typeof code !== 'object' || code == null) { + return false; + } + const maybeSourceFile = code; + return (maybeSourceFile.kind === ts.SyntaxKind.SourceFile && + typeof maybeSourceFile.getFullText === 'function'); +} +exports.isSourceFile = isSourceFile; +function getCodeText(code) { + return isSourceFile(code) ? code.getFullText(code) : code; +} +exports.getCodeText = getCodeText; +//# sourceMappingURL=source-files.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/source-files.js.map b/packages/typescript-estree/dist/source-files.js.map new file mode 100644 index 000000000000..4408dee923f8 --- /dev/null +++ b/packages/typescript-estree/dist/source-files.js.map @@ -0,0 +1 @@ +{"version":3,"file":"source-files.js","sourceRoot":"","sources":["../src/source-files.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAiC;AAEjC,SAAgB,YAAY,CAAC,IAAa;IACxC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QAC7C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,eAAe,GAAG,IAA8B,CAAC;IACvD,OAAO,CACL,eAAe,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,UAAU;QACjD,OAAO,eAAe,CAAC,WAAW,KAAK,UAAU,CAClD,CAAC;AACJ,CAAC;AAVD,oCAUC;AAED,SAAgB,WAAW,CAAC,IAA4B;IACtD,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5D,CAAC;AAFD,kCAEC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/ts-estree/estree-to-ts-node-types.d.ts b/packages/typescript-estree/dist/ts-estree/estree-to-ts-node-types.d.ts new file mode 100644 index 000000000000..b0ed76dfbcd5 --- /dev/null +++ b/packages/typescript-estree/dist/ts-estree/estree-to-ts-node-types.d.ts @@ -0,0 +1,179 @@ +import type { AST_NODE_TYPES, TSESTree } from '@typescript-eslint/types'; +import type * as ts from 'typescript'; +import type { TSNode } from './ts-nodes'; +export interface EstreeToTsNodeTypes { + [AST_NODE_TYPES.AccessorProperty]: ts.PropertyDeclaration; + [AST_NODE_TYPES.ArrayExpression]: ts.ArrayLiteralExpression; + [AST_NODE_TYPES.ArrayPattern]: ts.ArrayBindingPattern | ts.ArrayLiteralExpression; + [AST_NODE_TYPES.ArrowFunctionExpression]: ts.ArrowFunction; + [AST_NODE_TYPES.AssignmentExpression]: ts.BinaryExpression; + [AST_NODE_TYPES.AssignmentPattern]: ts.BinaryExpression | ts.BindingElement | ts.ParameterDeclaration | ts.ShorthandPropertyAssignment; + [AST_NODE_TYPES.AwaitExpression]: ts.AwaitExpression; + [AST_NODE_TYPES.BinaryExpression]: ts.BinaryExpression; + [AST_NODE_TYPES.BlockStatement]: ts.Block; + [AST_NODE_TYPES.BreakStatement]: ts.BreakStatement; + [AST_NODE_TYPES.CallExpression]: ts.CallExpression; + [AST_NODE_TYPES.CatchClause]: ts.CatchClause; + [AST_NODE_TYPES.ChainExpression]: ts.CallExpression | ts.ElementAccessExpression | ts.NonNullExpression | ts.PropertyAccessExpression; + [AST_NODE_TYPES.ClassBody]: ts.ClassDeclaration | ts.ClassExpression; + [AST_NODE_TYPES.ClassDeclaration]: ts.ClassDeclaration; + [AST_NODE_TYPES.ClassExpression]: ts.ClassExpression; + [AST_NODE_TYPES.PropertyDefinition]: ts.PropertyDeclaration; + [AST_NODE_TYPES.ConditionalExpression]: ts.ConditionalExpression; + [AST_NODE_TYPES.ContinueStatement]: ts.ContinueStatement; + [AST_NODE_TYPES.DebuggerStatement]: ts.DebuggerStatement; + [AST_NODE_TYPES.Decorator]: ts.Decorator; + [AST_NODE_TYPES.DoWhileStatement]: ts.DoStatement; + [AST_NODE_TYPES.EmptyStatement]: ts.EmptyStatement; + [AST_NODE_TYPES.ExportAllDeclaration]: ts.ExportDeclaration; + [AST_NODE_TYPES.ExportDefaultDeclaration]: ts.ClassDeclaration | ts.ClassExpression | ts.EnumDeclaration | ts.ExportAssignment | ts.FunctionDeclaration | ts.InterfaceDeclaration | ts.ModuleDeclaration | ts.TypeAliasDeclaration | ts.VariableStatement; + [AST_NODE_TYPES.ExportNamedDeclaration]: ts.ClassDeclaration | ts.ClassExpression | ts.EnumDeclaration | ts.ExportDeclaration | ts.FunctionDeclaration | ts.ImportEqualsDeclaration | ts.InterfaceDeclaration | ts.ModuleDeclaration | ts.TypeAliasDeclaration | ts.VariableStatement; + [AST_NODE_TYPES.ExportSpecifier]: ts.ExportSpecifier; + [AST_NODE_TYPES.ExpressionStatement]: ts.ExpressionStatement; + [AST_NODE_TYPES.ForInStatement]: ts.ForInStatement; + [AST_NODE_TYPES.ForOfStatement]: ts.ForOfStatement; + [AST_NODE_TYPES.ForStatement]: ts.ForStatement; + [AST_NODE_TYPES.FunctionDeclaration]: ts.FunctionDeclaration; + [AST_NODE_TYPES.FunctionExpression]: ts.ConstructorDeclaration | ts.FunctionExpression | ts.GetAccessorDeclaration | ts.MethodDeclaration | ts.SetAccessorDeclaration; + [AST_NODE_TYPES.Identifier]: ts.ConstructorDeclaration | ts.Identifier | ts.Token; + [AST_NODE_TYPES.PrivateIdentifier]: ts.PrivateIdentifier; + [AST_NODE_TYPES.IfStatement]: ts.IfStatement; + [AST_NODE_TYPES.ImportAttribute]: 'ImportAttribute' extends keyof typeof ts ? ts.ImportAttribute : ts.AssertEntry; + [AST_NODE_TYPES.ImportDeclaration]: ts.ImportDeclaration; + [AST_NODE_TYPES.ImportDefaultSpecifier]: ts.ImportClause; + [AST_NODE_TYPES.ImportExpression]: ts.CallExpression; + [AST_NODE_TYPES.ImportNamespaceSpecifier]: ts.NamespaceImport; + [AST_NODE_TYPES.ImportSpecifier]: ts.ImportSpecifier; + [AST_NODE_TYPES.JSXAttribute]: ts.JsxAttribute; + [AST_NODE_TYPES.JSXClosingElement]: ts.JsxClosingElement; + [AST_NODE_TYPES.JSXClosingFragment]: ts.JsxClosingFragment; + [AST_NODE_TYPES.JSXElement]: ts.JsxElement | ts.JsxSelfClosingElement; + [AST_NODE_TYPES.JSXEmptyExpression]: ts.JsxExpression; + [AST_NODE_TYPES.JSXExpressionContainer]: ts.JsxExpression; + [AST_NODE_TYPES.JSXFragment]: ts.JsxFragment; + [AST_NODE_TYPES.JSXIdentifier]: ts.Identifier | ts.ThisExpression; + [AST_NODE_TYPES.JSXOpeningElement]: ts.JsxOpeningElement | ts.JsxSelfClosingElement; + [AST_NODE_TYPES.JSXOpeningFragment]: ts.JsxOpeningFragment; + [AST_NODE_TYPES.JSXSpreadAttribute]: ts.JsxSpreadAttribute; + [AST_NODE_TYPES.JSXSpreadChild]: ts.JsxExpression; + [AST_NODE_TYPES.JSXMemberExpression]: ts.PropertyAccessExpression; + [AST_NODE_TYPES.JSXNamespacedName]: ts.JsxNamespacedName; + [AST_NODE_TYPES.JSXText]: ts.JsxText; + [AST_NODE_TYPES.LabeledStatement]: ts.LabeledStatement; + [AST_NODE_TYPES.Literal]: ts.BigIntLiteral | ts.BooleanLiteral | ts.NullLiteral | ts.NumericLiteral | ts.RegularExpressionLiteral | ts.StringLiteral; + [AST_NODE_TYPES.LogicalExpression]: ts.BinaryExpression; + [AST_NODE_TYPES.MemberExpression]: ts.ElementAccessExpression | ts.PropertyAccessExpression; + [AST_NODE_TYPES.MetaProperty]: ts.MetaProperty; + [AST_NODE_TYPES.MethodDefinition]: ts.ConstructorDeclaration | ts.GetAccessorDeclaration | ts.MethodDeclaration | ts.SetAccessorDeclaration; + [AST_NODE_TYPES.NewExpression]: ts.NewExpression; + [AST_NODE_TYPES.ObjectExpression]: ts.ObjectLiteralExpression; + [AST_NODE_TYPES.ObjectPattern]: ts.ObjectBindingPattern | ts.ObjectLiteralExpression; + [AST_NODE_TYPES.Program]: ts.SourceFile; + [AST_NODE_TYPES.Property]: ts.BindingElement | ts.GetAccessorDeclaration | ts.MethodDeclaration | ts.PropertyAssignment | ts.SetAccessorDeclaration | ts.ShorthandPropertyAssignment; + [AST_NODE_TYPES.RestElement]: ts.BindingElement | ts.ParameterDeclaration | ts.SpreadAssignment | ts.SpreadElement; + [AST_NODE_TYPES.ReturnStatement]: ts.ReturnStatement; + [AST_NODE_TYPES.SequenceExpression]: ts.BinaryExpression; + [AST_NODE_TYPES.SpreadElement]: ts.SpreadAssignment | ts.SpreadElement; + [AST_NODE_TYPES.StaticBlock]: ts.ClassStaticBlockDeclaration; + [AST_NODE_TYPES.Super]: ts.SuperExpression; + [AST_NODE_TYPES.SwitchCase]: ts.CaseClause | ts.DefaultClause; + [AST_NODE_TYPES.SwitchStatement]: ts.SwitchStatement; + [AST_NODE_TYPES.TaggedTemplateExpression]: ts.TaggedTemplateExpression; + [AST_NODE_TYPES.TemplateElement]: ts.NoSubstitutionTemplateLiteral | ts.TemplateHead | ts.TemplateMiddle | ts.TemplateTail; + [AST_NODE_TYPES.TemplateLiteral]: ts.NoSubstitutionTemplateLiteral | ts.TemplateExpression; + [AST_NODE_TYPES.ThisExpression]: ts.Identifier | ts.KeywordTypeNode | ts.ThisExpression; + [AST_NODE_TYPES.ThrowStatement]: ts.ThrowStatement; + [AST_NODE_TYPES.TryStatement]: ts.TryStatement; + [AST_NODE_TYPES.TSAbstractAccessorProperty]: ts.PropertyDeclaration; + [AST_NODE_TYPES.TSAbstractPropertyDefinition]: ts.PropertyDeclaration; + [AST_NODE_TYPES.TSAbstractMethodDefinition]: ts.ConstructorDeclaration | ts.GetAccessorDeclaration | ts.MethodDeclaration | ts.SetAccessorDeclaration; + [AST_NODE_TYPES.TSArrayType]: ts.ArrayTypeNode; + [AST_NODE_TYPES.TSAsExpression]: ts.AsExpression; + [AST_NODE_TYPES.TSCallSignatureDeclaration]: ts.CallSignatureDeclaration; + [AST_NODE_TYPES.TSClassImplements]: ts.ExpressionWithTypeArguments; + [AST_NODE_TYPES.TSConditionalType]: ts.ConditionalTypeNode; + [AST_NODE_TYPES.TSConstructorType]: ts.ConstructorTypeNode; + [AST_NODE_TYPES.TSConstructSignatureDeclaration]: ts.ConstructSignatureDeclaration; + [AST_NODE_TYPES.TSDeclareFunction]: ts.FunctionDeclaration; + [AST_NODE_TYPES.TSEnumBody]: ts.EnumDeclaration; + [AST_NODE_TYPES.TSEnumDeclaration]: ts.EnumDeclaration; + [AST_NODE_TYPES.TSEnumMember]: ts.EnumMember; + [AST_NODE_TYPES.TSExportAssignment]: ts.ExportAssignment; + [AST_NODE_TYPES.TSExternalModuleReference]: ts.ExternalModuleReference; + [AST_NODE_TYPES.TSFunctionType]: ts.FunctionTypeNode; + [AST_NODE_TYPES.TSImportEqualsDeclaration]: ts.ImportEqualsDeclaration; + [AST_NODE_TYPES.TSImportType]: ts.ImportTypeNode; + [AST_NODE_TYPES.TSIndexedAccessType]: ts.IndexedAccessTypeNode; + [AST_NODE_TYPES.TSIndexSignature]: ts.IndexSignatureDeclaration; + [AST_NODE_TYPES.TSInferType]: ts.InferTypeNode; + [AST_NODE_TYPES.TSInterfaceDeclaration]: ts.InterfaceDeclaration; + [AST_NODE_TYPES.TSInterfaceBody]: ts.InterfaceDeclaration; + [AST_NODE_TYPES.TSInterfaceHeritage]: ts.ExpressionWithTypeArguments; + [AST_NODE_TYPES.TSIntersectionType]: ts.IntersectionTypeNode; + [AST_NODE_TYPES.TSInstantiationExpression]: ts.ExpressionWithTypeArguments; + [AST_NODE_TYPES.TSSatisfiesExpression]: ts.SatisfiesExpression; + [AST_NODE_TYPES.TSLiteralType]: ts.LiteralTypeNode; + [AST_NODE_TYPES.TSMappedType]: ts.MappedTypeNode; + [AST_NODE_TYPES.TSMethodSignature]: ts.GetAccessorDeclaration | ts.MethodSignature | ts.SetAccessorDeclaration; + [AST_NODE_TYPES.TSModuleBlock]: ts.ModuleBlock; + [AST_NODE_TYPES.TSModuleDeclaration]: ts.ModuleDeclaration; + [AST_NODE_TYPES.TSNamedTupleMember]: ts.NamedTupleMember; + [AST_NODE_TYPES.TSNamespaceExportDeclaration]: ts.NamespaceExportDeclaration; + [AST_NODE_TYPES.TSNonNullExpression]: ts.NonNullExpression; + [AST_NODE_TYPES.TSOptionalType]: ts.OptionalTypeNode; + [AST_NODE_TYPES.TSParameterProperty]: ts.ParameterDeclaration; + [AST_NODE_TYPES.TSPropertySignature]: ts.PropertySignature; + [AST_NODE_TYPES.TSQualifiedName]: ts.Identifier | ts.QualifiedName; + [AST_NODE_TYPES.TSRestType]: ts.NamedTupleMember | ts.RestTypeNode; + [AST_NODE_TYPES.TSThisType]: ts.ThisTypeNode; + [AST_NODE_TYPES.TSTupleType]: ts.TupleTypeNode; + [AST_NODE_TYPES.TSTemplateLiteralType]: ts.TemplateLiteralTypeNode; + [AST_NODE_TYPES.TSTypeAliasDeclaration]: ts.TypeAliasDeclaration; + [AST_NODE_TYPES.TSTypeAnnotation]: undefined; + [AST_NODE_TYPES.TSTypeAssertion]: ts.TypeAssertion; + [AST_NODE_TYPES.TSTypeLiteral]: ts.TypeLiteralNode; + [AST_NODE_TYPES.TSTypeOperator]: ts.TypeOperatorNode; + [AST_NODE_TYPES.TSTypeParameter]: ts.TypeParameterDeclaration; + [AST_NODE_TYPES.TSTypeParameterDeclaration]: undefined; + [AST_NODE_TYPES.TSTypeParameterInstantiation]: ts.CallExpression | ts.ExpressionWithTypeArguments | ts.ImportTypeNode | ts.JsxOpeningElement | ts.JsxSelfClosingElement | ts.NewExpression | ts.TaggedTemplateExpression | ts.TypeQueryNode | ts.TypeReferenceNode; + [AST_NODE_TYPES.TSTypePredicate]: ts.TypePredicateNode; + [AST_NODE_TYPES.TSTypeQuery]: ts.ImportTypeNode | ts.TypeQueryNode; + [AST_NODE_TYPES.TSTypeReference]: ts.TypeReferenceNode; + [AST_NODE_TYPES.TSUnionType]: ts.UnionTypeNode; + [AST_NODE_TYPES.UpdateExpression]: ts.PostfixUnaryExpression | ts.PrefixUnaryExpression; + [AST_NODE_TYPES.UnaryExpression]: ts.DeleteExpression | ts.PostfixUnaryExpression | ts.PrefixUnaryExpression | ts.TypeOfExpression | ts.VoidExpression; + [AST_NODE_TYPES.VariableDeclaration]: ts.VariableDeclarationList | ts.VariableStatement; + [AST_NODE_TYPES.VariableDeclarator]: ts.VariableDeclaration; + [AST_NODE_TYPES.WhileStatement]: ts.WhileStatement; + [AST_NODE_TYPES.WithStatement]: ts.WithStatement; + [AST_NODE_TYPES.YieldExpression]: ts.YieldExpression; + [AST_NODE_TYPES.TSEmptyBodyFunctionExpression]: ts.ConstructorDeclaration | ts.FunctionExpression | ts.GetAccessorDeclaration | ts.MethodDeclaration | ts.SetAccessorDeclaration; + [AST_NODE_TYPES.TSAbstractKeyword]: ts.Token; + [AST_NODE_TYPES.TSNullKeyword]: ts.KeywordTypeNode | ts.NullLiteral; + [AST_NODE_TYPES.TSAnyKeyword]: ts.KeywordTypeNode; + [AST_NODE_TYPES.TSBigIntKeyword]: ts.KeywordTypeNode; + [AST_NODE_TYPES.TSBooleanKeyword]: ts.KeywordTypeNode; + [AST_NODE_TYPES.TSIntrinsicKeyword]: ts.KeywordTypeNode; + [AST_NODE_TYPES.TSNeverKeyword]: ts.KeywordTypeNode; + [AST_NODE_TYPES.TSNumberKeyword]: ts.KeywordTypeNode; + [AST_NODE_TYPES.TSObjectKeyword]: ts.KeywordTypeNode; + [AST_NODE_TYPES.TSStringKeyword]: ts.KeywordTypeNode; + [AST_NODE_TYPES.TSSymbolKeyword]: ts.KeywordTypeNode; + [AST_NODE_TYPES.TSUnknownKeyword]: ts.KeywordTypeNode; + [AST_NODE_TYPES.TSVoidKeyword]: ts.KeywordTypeNode; + [AST_NODE_TYPES.TSUndefinedKeyword]: ts.KeywordTypeNode; + [AST_NODE_TYPES.TSAsyncKeyword]: ts.Token; + [AST_NODE_TYPES.TSDeclareKeyword]: ts.Token; + [AST_NODE_TYPES.TSExportKeyword]: ts.Token; + [AST_NODE_TYPES.TSStaticKeyword]: ts.Token; + [AST_NODE_TYPES.TSPublicKeyword]: ts.Token; + [AST_NODE_TYPES.TSPrivateKeyword]: ts.Token; + [AST_NODE_TYPES.TSProtectedKeyword]: ts.Token; + [AST_NODE_TYPES.TSReadonlyKeyword]: ts.Token; +} +/** + * Maps TSESTree AST Node type to the expected TypeScript AST Node type(s). + * This mapping is based on the internal logic of the parser. + */ +export type TSESTreeToTSNode = Extract | TSNode, EstreeToTsNodeTypes[T['type']]>; +//# sourceMappingURL=estree-to-ts-node-types.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/ts-estree/estree-to-ts-node-types.d.ts.map b/packages/typescript-estree/dist/ts-estree/estree-to-ts-node-types.d.ts.map new file mode 100644 index 000000000000..3c4eddd015b9 --- /dev/null +++ b/packages/typescript-estree/dist/ts-estree/estree-to-ts-node-types.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"estree-to-ts-node-types.d.ts","sourceRoot":"","sources":["../../src/ts-estree/estree-to-ts-node-types.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/ts-estree/estree-to-ts-node-types.js b/packages/typescript-estree/dist/ts-estree/estree-to-ts-node-types.js new file mode 100644 index 000000000000..e92a96f286b1 --- /dev/null +++ b/packages/typescript-estree/dist/ts-estree/estree-to-ts-node-types.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=estree-to-ts-node-types.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/ts-estree/estree-to-ts-node-types.js.map b/packages/typescript-estree/dist/ts-estree/estree-to-ts-node-types.js.map new file mode 100644 index 000000000000..a9cfa15f26bb --- /dev/null +++ b/packages/typescript-estree/dist/ts-estree/estree-to-ts-node-types.js.map @@ -0,0 +1 @@ +{"version":3,"file":"estree-to-ts-node-types.js","sourceRoot":"","sources":["../../src/ts-estree/estree-to-ts-node-types.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/packages/typescript-estree/dist/ts-estree/index.d.ts b/packages/typescript-estree/dist/ts-estree/index.d.ts new file mode 100644 index 000000000000..37f26a395984 --- /dev/null +++ b/packages/typescript-estree/dist/ts-estree/index.d.ts @@ -0,0 +1,4 @@ +export { AST_NODE_TYPES, AST_TOKEN_TYPES, TSESTree, } from '@typescript-eslint/types'; +export * from './ts-nodes'; +export * from './estree-to-ts-node-types'; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/ts-estree/index.d.ts.map b/packages/typescript-estree/dist/ts-estree/index.d.ts.map new file mode 100644 index 000000000000..6a839dc66d9b --- /dev/null +++ b/packages/typescript-estree/dist/ts-estree/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ts-estree/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,eAAe,EACf,QAAQ,GACT,MAAM,0BAA0B,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,2BAA2B,CAAC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/ts-estree/index.js b/packages/typescript-estree/dist/ts-estree/index.js new file mode 100644 index 000000000000..6d010024b59c --- /dev/null +++ b/packages/typescript-estree/dist/ts-estree/index.js @@ -0,0 +1,25 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.TSESTree = exports.AST_TOKEN_TYPES = exports.AST_NODE_TYPES = void 0; +// for simplicity and backwards-compatibility +var types_1 = require("@typescript-eslint/types"); +Object.defineProperty(exports, "AST_NODE_TYPES", { enumerable: true, get: function () { return types_1.AST_NODE_TYPES; } }); +Object.defineProperty(exports, "AST_TOKEN_TYPES", { enumerable: true, get: function () { return types_1.AST_TOKEN_TYPES; } }); +Object.defineProperty(exports, "TSESTree", { enumerable: true, get: function () { return types_1.TSESTree; } }); +__exportStar(require("./ts-nodes"), exports); +__exportStar(require("./estree-to-ts-node-types"), exports); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/ts-estree/index.js.map b/packages/typescript-estree/dist/ts-estree/index.js.map new file mode 100644 index 000000000000..fc698263ac11 --- /dev/null +++ b/packages/typescript-estree/dist/ts-estree/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ts-estree/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6CAA6C;AAC7C,kDAIkC;AAHhC,uGAAA,cAAc,OAAA;AACd,wGAAA,eAAe,OAAA;AACf,iGAAA,QAAQ,OAAA;AAEV,6CAA2B;AAC3B,4DAA0C"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/ts-estree/ts-nodes.d.ts b/packages/typescript-estree/dist/ts-estree/ts-nodes.d.ts new file mode 100644 index 000000000000..7a685aeda1c8 --- /dev/null +++ b/packages/typescript-estree/dist/ts-estree/ts-nodes.d.ts @@ -0,0 +1,18 @@ +import type * as ts from 'typescript'; +declare module 'typescript' { + interface AssertClause extends ts.ImportAttributes { + } + interface AssertEntry extends ts.ImportAttribute { + } + interface SatisfiesExpression extends ts.Node { + } + interface JsxNamespacedName extends ts.Node { + } + interface ImportAttribute extends ts.Node { + } + interface ImportAttributes extends ts.Node { + } +} +export type TSToken = ts.Token; +export type TSNode = ts.Modifier | ts.Identifier | ts.ImportAttribute | ts.ImportAttributes | ts.AssertClause | ts.AssertEntry | ts.PrivateIdentifier | ts.QualifiedName | ts.ComputedPropertyName | ts.Decorator | ts.TypeParameterDeclaration | ts.CallSignatureDeclaration | ts.ConstructSignatureDeclaration | ts.VariableDeclaration | ts.VariableDeclarationList | ts.ParameterDeclaration | ts.BindingElement | ts.PropertySignature | ts.PropertyDeclaration | ts.PropertyAssignment | ts.ShorthandPropertyAssignment | ts.SpreadAssignment | ts.ObjectBindingPattern | ts.ArrayBindingPattern | ts.FunctionDeclaration | ts.MethodSignature | ts.MethodDeclaration | ts.ConstructorDeclaration | ts.SemicolonClassElement | ts.GetAccessorDeclaration | ts.SetAccessorDeclaration | ts.IndexSignatureDeclaration | ts.KeywordTypeNode | ts.ImportTypeNode | ts.ThisTypeNode | ts.ClassStaticBlockDeclaration | ts.ConstructorTypeNode | ts.FunctionTypeNode | ts.TypeReferenceNode | ts.TypePredicateNode | ts.TypeQueryNode | ts.TypeLiteralNode | ts.ArrayTypeNode | ts.NamedTupleMember | ts.TupleTypeNode | ts.OptionalTypeNode | ts.RestTypeNode | ts.UnionTypeNode | ts.IntersectionTypeNode | ts.ConditionalTypeNode | ts.InferTypeNode | ts.ParenthesizedTypeNode | ts.TypeOperatorNode | ts.IndexedAccessTypeNode | ts.MappedTypeNode | ts.LiteralTypeNode | ts.StringLiteral | ts.OmittedExpression | ts.PartiallyEmittedExpression | ts.PrefixUnaryExpression | ts.PostfixUnaryExpression | ts.NullLiteral | ts.BooleanLiteral | ts.ThisExpression | ts.SuperExpression | ts.ImportExpression | ts.DeleteExpression | ts.TypeOfExpression | ts.VoidExpression | ts.AwaitExpression | ts.YieldExpression | ts.SyntheticExpression | ts.BinaryExpression | ts.ConditionalExpression | ts.FunctionExpression | ts.ArrowFunction | ts.RegularExpressionLiteral | ts.NoSubstitutionTemplateLiteral | ts.NumericLiteral | ts.BigIntLiteral | ts.TemplateHead | ts.TemplateMiddle | ts.TemplateTail | ts.TemplateExpression | ts.TemplateSpan | ts.ParenthesizedExpression | ts.ArrayLiteralExpression | ts.SpreadElement | ts.ObjectLiteralExpression | ts.PropertyAccessExpression | ts.ElementAccessExpression | ts.CallExpression | ts.ExpressionWithTypeArguments | ts.NewExpression | ts.TaggedTemplateExpression | ts.AsExpression | ts.TypeAssertion | ts.NonNullExpression | ts.MetaProperty | ts.JsxElement | ts.JsxOpeningElement | ts.JsxSelfClosingElement | ts.JsxFragment | ts.JsxOpeningFragment | ts.JsxClosingFragment | ts.JsxAttribute | ts.JsxSpreadAttribute | ts.JsxClosingElement | ts.JsxExpression | ts.JsxNamespacedName | ts.JsxText | ts.NotEmittedStatement | ts.CommaListExpression | ts.EmptyStatement | ts.DebuggerStatement | ts.MissingDeclaration | ts.Block | ts.VariableStatement | ts.ExpressionStatement | ts.IfStatement | ts.DoStatement | ts.WhileStatement | ts.ForStatement | ts.ForInStatement | ts.ForOfStatement | ts.BreakStatement | ts.ContinueStatement | ts.ReturnStatement | ts.WithStatement | ts.SwitchStatement | ts.CaseBlock | ts.CaseClause | ts.DefaultClause | ts.LabeledStatement | ts.ThrowStatement | ts.TryStatement | ts.CatchClause | ts.ClassDeclaration | ts.ClassExpression | ts.InterfaceDeclaration | ts.HeritageClause | ts.TypeAliasDeclaration | ts.EnumMember | ts.EnumDeclaration | ts.ModuleDeclaration | ts.ModuleBlock | ts.ImportEqualsDeclaration | ts.ExternalModuleReference | ts.ImportDeclaration | ts.ImportClause | ts.NamespaceImport | ts.NamespaceExportDeclaration | ts.ExportDeclaration | ts.NamedImports | ts.NamedExports | ts.ImportSpecifier | ts.ExportSpecifier | ts.ExportAssignment | ts.SourceFile | ts.Bundle | ts.InputFiles | ts.UnparsedSource | ts.JsonMinusNumericLiteral | ts.TemplateLiteralTypeNode | ts.SatisfiesExpression | ts.JSDoc | ts.JSDocTypeExpression | ts.JSDocUnknownTag | ts.JSDocAugmentsTag | ts.JSDocClassTag | ts.JSDocEnumTag | ts.JSDocThisTag | ts.JSDocTemplateTag | ts.JSDocReturnTag | ts.JSDocTypeTag | ts.JSDocTypedefTag | ts.JSDocCallbackTag | ts.JSDocSignature | ts.JSDocPropertyTag | ts.JSDocParameterTag | ts.JSDocTypeLiteral | ts.JSDocFunctionType | ts.JSDocAllType | ts.JSDocUnknownType | ts.JSDocNullableType | ts.JSDocNonNullableType | ts.JSDocOptionalType | ts.JSDocVariadicType | ts.JSDocAuthorTag; +//# sourceMappingURL=ts-nodes.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/ts-estree/ts-nodes.d.ts.map b/packages/typescript-estree/dist/ts-estree/ts-nodes.d.ts.map new file mode 100644 index 000000000000..e99133daead1 --- /dev/null +++ b/packages/typescript-estree/dist/ts-estree/ts-nodes.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ts-nodes.d.ts","sourceRoot":"","sources":["../../src/ts-estree/ts-nodes.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/ts-estree/ts-nodes.js b/packages/typescript-estree/dist/ts-estree/ts-nodes.js new file mode 100644 index 000000000000..ba99b5f136b9 --- /dev/null +++ b/packages/typescript-estree/dist/ts-estree/ts-nodes.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=ts-nodes.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/ts-estree/ts-nodes.js.map b/packages/typescript-estree/dist/ts-estree/ts-nodes.js.map new file mode 100644 index 000000000000..a4fa02c4913b --- /dev/null +++ b/packages/typescript-estree/dist/ts-estree/ts-nodes.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ts-nodes.js","sourceRoot":"","sources":["../../src/ts-estree/ts-nodes.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/packages/typescript-estree/dist/use-at-your-own-risk.d.ts b/packages/typescript-estree/dist/use-at-your-own-risk.d.ts new file mode 100644 index 000000000000..c8e90daf6a74 --- /dev/null +++ b/packages/typescript-estree/dist/use-at-your-own-risk.d.ts @@ -0,0 +1,7 @@ +export * from './create-program/getScriptKind'; +export * from './ast-converter'; +export type { ParseSettings } from './parseSettings'; +export * from './getModifiers'; +export { typescriptVersionIsAtLeast } from './version-check'; +export { getCanonicalFileName } from './create-program/shared'; +//# sourceMappingURL=use-at-your-own-risk.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/use-at-your-own-risk.d.ts.map b/packages/typescript-estree/dist/use-at-your-own-risk.d.ts.map new file mode 100644 index 000000000000..2e545be7e2f3 --- /dev/null +++ b/packages/typescript-estree/dist/use-at-your-own-risk.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"use-at-your-own-risk.d.ts","sourceRoot":"","sources":["../src/use-at-your-own-risk.ts"],"names":[],"mappings":"AACA,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iBAAiB,CAAC;AAChC,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGrD,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAG7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/use-at-your-own-risk.js b/packages/typescript-estree/dist/use-at-your-own-risk.js new file mode 100644 index 000000000000..69469f487073 --- /dev/null +++ b/packages/typescript-estree/dist/use-at-your-own-risk.js @@ -0,0 +1,28 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getCanonicalFileName = exports.typescriptVersionIsAtLeast = void 0; +// required by website +__exportStar(require("./create-program/getScriptKind"), exports); +__exportStar(require("./ast-converter"), exports); +// required by packages/utils/src/ts-estree.ts +__exportStar(require("./getModifiers"), exports); +var version_check_1 = require("./version-check"); +Object.defineProperty(exports, "typescriptVersionIsAtLeast", { enumerable: true, get: function () { return version_check_1.typescriptVersionIsAtLeast; } }); +// required by packages/type-utils +var shared_1 = require("./create-program/shared"); +Object.defineProperty(exports, "getCanonicalFileName", { enumerable: true, get: function () { return shared_1.getCanonicalFileName; } }); +//# sourceMappingURL=use-at-your-own-risk.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/use-at-your-own-risk.js.map b/packages/typescript-estree/dist/use-at-your-own-risk.js.map new file mode 100644 index 000000000000..8239312a4908 --- /dev/null +++ b/packages/typescript-estree/dist/use-at-your-own-risk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"use-at-your-own-risk.js","sourceRoot":"","sources":["../src/use-at-your-own-risk.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,sBAAsB;AACtB,iEAA+C;AAC/C,kDAAgC;AAGhC,8CAA8C;AAC9C,iDAA+B;AAC/B,iDAA6D;AAApD,2HAAA,0BAA0B,OAAA;AAEnC,kCAAkC;AAClC,kDAA+D;AAAtD,8GAAA,oBAAoB,OAAA"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/useProgramFromProjectService.d.ts b/packages/typescript-estree/dist/useProgramFromProjectService.d.ts new file mode 100644 index 000000000000..20da2ae296cb --- /dev/null +++ b/packages/typescript-estree/dist/useProgramFromProjectService.d.ts @@ -0,0 +1,5 @@ +import type { ProjectServiceSettings } from './create-program/createProjectService'; +import type { ASTAndDefiniteProgram } from './create-program/shared'; +import type { MutableParseSettings } from './parseSettings'; +export declare function useProgramFromProjectService({ allowDefaultProject, maximumDefaultProjectFileMatchCount, service, }: ProjectServiceSettings, parseSettings: Readonly, hasFullTypeInformation: boolean, defaultProjectMatchedFiles: Set): ASTAndDefiniteProgram | undefined; +//# sourceMappingURL=useProgramFromProjectService.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/useProgramFromProjectService.d.ts.map b/packages/typescript-estree/dist/useProgramFromProjectService.d.ts.map new file mode 100644 index 000000000000..af5d56785e8e --- /dev/null +++ b/packages/typescript-estree/dist/useProgramFromProjectService.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"useProgramFromProjectService.d.ts","sourceRoot":"","sources":["../src/useProgramFromProjectService.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AACpF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAErE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAM5D,wBAAgB,4BAA4B,CAC1C,EACE,mBAAmB,EACnB,mCAAmC,EACnC,OAAO,GACR,EAAE,sBAAsB,EACzB,aAAa,EAAE,QAAQ,CAAC,oBAAoB,CAAC,EAC7C,sBAAsB,EAAE,OAAO,EAC/B,0BAA0B,EAAE,GAAG,CAAC,MAAM,CAAC,GACtC,qBAAqB,GAAG,SAAS,CA6FnC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/useProgramFromProjectService.js b/packages/typescript-estree/dist/useProgramFromProjectService.js new file mode 100644 index 000000000000..5f6392d5a2c8 --- /dev/null +++ b/packages/typescript-estree/dist/useProgramFromProjectService.js @@ -0,0 +1,72 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.useProgramFromProjectService = void 0; +const debug_1 = __importDefault(require("debug")); +const minimatch_1 = require("minimatch"); +const path_1 = __importDefault(require("path")); +const createProjectProgram_1 = require("./create-program/createProjectProgram"); +const validateDefaultProjectForFilesGlob_1 = require("./create-program/validateDefaultProjectForFilesGlob"); +const log = (0, debug_1.default)('typescript-eslint:typescript-estree:useProgramFromProjectService'); +function useProgramFromProjectService({ allowDefaultProject, maximumDefaultProjectFileMatchCount, service, }, parseSettings, hasFullTypeInformation, defaultProjectMatchedFiles) { + // We don't canonicalize the filename because it caused a performance regression. + // See https://github.com/typescript-eslint/typescript-eslint/issues/8519 + const filePathAbsolute = absolutify(parseSettings.filePath); + log('Opening project service file for: %s at absolute path %s', parseSettings.filePath, filePathAbsolute); + const opened = service.openClientFile(filePathAbsolute, parseSettings.codeFullText, + /* scriptKind */ undefined, parseSettings.tsconfigRootDir); + log('Opened project service file: %o', opened); + if (hasFullTypeInformation) { + log('Project service type information enabled; checking for file path match on: %o', allowDefaultProject); + const isDefaultProjectAllowedPath = filePathMatchedBy(parseSettings.filePath, allowDefaultProject); + log('Default project allowed path: %s, based on config file: %s', isDefaultProjectAllowedPath, opened.configFileName); + if (opened.configFileName) { + if (isDefaultProjectAllowedPath) { + throw new Error(`${parseSettings.filePath} was included by allowDefaultProject but also was found in the project service. Consider removing it from allowDefaultProject.`); + } + } + else if (!isDefaultProjectAllowedPath) { + 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.`); + } + } + log('Retrieving script info and then program for: %s', filePathAbsolute); + const scriptInfo = service.getScriptInfo(filePathAbsolute); + /* eslint-disable @typescript-eslint/no-non-null-assertion */ + const program = service + .getDefaultProjectForFile(scriptInfo.fileName, true) + .getLanguageService(/*ensureSynchronized*/ true) + .getProgram(); + /* eslint-enable @typescript-eslint/no-non-null-assertion */ + if (!program) { + log('Could not find project service program for: %s', filePathAbsolute); + return undefined; + } + if (!opened.configFileName) { + defaultProjectMatchedFiles.add(filePathAbsolute); + } + if (defaultProjectMatchedFiles.size > maximumDefaultProjectFileMatchCount) { + const filePrintLimit = 20; + const filesToPrint = Array.from(defaultProjectMatchedFiles).slice(0, filePrintLimit); + const truncatedFileCount = defaultProjectMatchedFiles.size - filesToPrint.length; + throw new Error(`Too many files (>${maximumDefaultProjectFileMatchCount}) have matched the default project.${validateDefaultProjectForFilesGlob_1.DEFAULT_PROJECT_FILES_ERROR_EXPLANATION} +Matching files: +${filesToPrint.map(file => `- ${file}`).join('\n')} +${truncatedFileCount ? `...and ${truncatedFileCount} more files\n` : ''} +If you absolutely need more files included, set parserOptions.projectService.maximumDefaultProjectFileMatchCount_THIS_WILL_SLOW_DOWN_LINTING to a larger value. +`); + } + log('Found project service program for: %s', filePathAbsolute); + return (0, createProjectProgram_1.createProjectProgram)(parseSettings, [program]); + function absolutify(filePath) { + return path_1.default.isAbsolute(filePath) + ? filePath + : path_1.default.join(service.host.getCurrentDirectory(), filePath); + } +} +exports.useProgramFromProjectService = useProgramFromProjectService; +function filePathMatchedBy(filePath, allowDefaultProject) { + return !!allowDefaultProject?.some(pattern => (0, minimatch_1.minimatch)(filePath, pattern)); +} +//# sourceMappingURL=useProgramFromProjectService.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/useProgramFromProjectService.js.map b/packages/typescript-estree/dist/useProgramFromProjectService.js.map new file mode 100644 index 000000000000..e521babc51a3 --- /dev/null +++ b/packages/typescript-estree/dist/useProgramFromProjectService.js.map @@ -0,0 +1 @@ +{"version":3,"file":"useProgramFromProjectService.js","sourceRoot":"","sources":["../src/useProgramFromProjectService.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/version-check.d.ts b/packages/typescript-estree/dist/version-check.d.ts new file mode 100644 index 000000000000..9423ca961967 --- /dev/null +++ b/packages/typescript-estree/dist/version-check.d.ts @@ -0,0 +1,3 @@ +declare const typescriptVersionIsAtLeast: Record<"4.7" | "4.8" | "4.9" | "5.0" | "5.1" | "5.2" | "5.3" | "5.4", boolean>; +export { typescriptVersionIsAtLeast }; +//# sourceMappingURL=version-check.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/version-check.d.ts.map b/packages/typescript-estree/dist/version-check.d.ts.map new file mode 100644 index 000000000000..9e653b434783 --- /dev/null +++ b/packages/typescript-estree/dist/version-check.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"version-check.d.ts","sourceRoot":"","sources":["../src/version-check.ts"],"names":[],"mappings":"AAyBA,QAAA,MAAM,0BAA0B,gFAAkC,CAAC;AAKnE,OAAO,EAAE,0BAA0B,EAAE,CAAC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/version-check.js b/packages/typescript-estree/dist/version-check.js new file mode 100644 index 000000000000..cfc06ca17eed --- /dev/null +++ b/packages/typescript-estree/dist/version-check.js @@ -0,0 +1,49 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.typescriptVersionIsAtLeast = void 0; +const semver = __importStar(require("semver")); +const ts = __importStar(require("typescript")); +function semverCheck(version) { + return semver.satisfies(ts.version, `>= ${version}.0 || >= ${version}.1-rc || >= ${version}.0-beta`, { + includePrerelease: true, + }); +} +const versions = [ + '4.7', + '4.8', + '4.9', + '5.0', + '5.1', + '5.2', + '5.3', + '5.4', +]; +const typescriptVersionIsAtLeast = {}; +exports.typescriptVersionIsAtLeast = typescriptVersionIsAtLeast; +for (const version of versions) { + typescriptVersionIsAtLeast[version] = semverCheck(version); +} +//# sourceMappingURL=version-check.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/version-check.js.map b/packages/typescript-estree/dist/version-check.js.map new file mode 100644 index 000000000000..8ba79e7f820b --- /dev/null +++ b/packages/typescript-estree/dist/version-check.js.map @@ -0,0 +1 @@ +{"version":3,"file":"version-check.js","sourceRoot":"","sources":["../src/version-check.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAiC;AACjC,+CAAiC;AAEjC,SAAS,WAAW,CAAC,OAAe;IAClC,OAAO,MAAM,CAAC,SAAS,CACrB,EAAE,CAAC,OAAO,EACV,MAAM,OAAO,YAAY,OAAO,eAAe,OAAO,SAAS,EAC/D;QACE,iBAAiB,EAAE,IAAI;KACxB,CACF,CAAC;AACJ,CAAC;AAED,MAAM,QAAQ,GAAG;IACf,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;CACG,CAAC;AAGX,MAAM,0BAA0B,GAAG,EAA+B,CAAC;AAK1D,gEAA0B;AAJnC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;IAC/B,0BAA0B,CAAC,OAAO,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;AAC7D,CAAC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/withoutProjectParserOptions.d.ts b/packages/typescript-estree/dist/withoutProjectParserOptions.d.ts new file mode 100644 index 000000000000..8195de9e809b --- /dev/null +++ b/packages/typescript-estree/dist/withoutProjectParserOptions.d.ts @@ -0,0 +1,11 @@ +import type { TSESTreeOptions } from './parser-options'; +/** + * Removes options that prompt the parser to parse the project with type + * information. In other words, you can use this if you are invoking the parser + * directly, to ensure that one file will be parsed in isolation, which is much, + * much faster. + * + * @see https://github.com/typescript-eslint/typescript-eslint/issues/8428 + */ +export declare function withoutProjectParserOptions(opts: TSESTreeOptions): TSESTreeOptions; +//# sourceMappingURL=withoutProjectParserOptions.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/withoutProjectParserOptions.d.ts.map b/packages/typescript-estree/dist/withoutProjectParserOptions.d.ts.map new file mode 100644 index 000000000000..035068fa17e9 --- /dev/null +++ b/packages/typescript-estree/dist/withoutProjectParserOptions.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"withoutProjectParserOptions.d.ts","sourceRoot":"","sources":["../src/withoutProjectParserOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExD;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,eAAe,GACpB,eAAe,CAMjB"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/withoutProjectParserOptions.js b/packages/typescript-estree/dist/withoutProjectParserOptions.js new file mode 100644 index 000000000000..7b3ab8f299b7 --- /dev/null +++ b/packages/typescript-estree/dist/withoutProjectParserOptions.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.withoutProjectParserOptions = void 0; +/** + * Removes options that prompt the parser to parse the project with type + * information. In other words, you can use this if you are invoking the parser + * directly, to ensure that one file will be parsed in isolation, which is much, + * much faster. + * + * @see https://github.com/typescript-eslint/typescript-eslint/issues/8428 + */ +function withoutProjectParserOptions(opts) { + // eslint-disable-next-line @typescript-eslint/no-unused-vars -- The variables are meant to be omitted + const { EXPERIMENTAL_useProjectService, project, projectService, ...rest } = opts; + return rest; +} +exports.withoutProjectParserOptions = withoutProjectParserOptions; +//# sourceMappingURL=withoutProjectParserOptions.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/withoutProjectParserOptions.js.map b/packages/typescript-estree/dist/withoutProjectParserOptions.js.map new file mode 100644 index 000000000000..ee1193860b30 --- /dev/null +++ b/packages/typescript-estree/dist/withoutProjectParserOptions.js.map @@ -0,0 +1 @@ +{"version":3,"file":"withoutProjectParserOptions.js","sourceRoot":"","sources":["../src/withoutProjectParserOptions.ts"],"names":[],"mappings":";;;AAEA;;;;;;;GAOG;AACH,SAAgB,2BAA2B,CACzC,IAAqB;IAErB,sGAAsG;IACtG,MAAM,EAAE,8BAA8B,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,IAAI,EAAE,GACxE,IAA+B,CAAC;IAElC,OAAO,IAAI,CAAC;AACd,CAAC;AARD,kEAQC"} \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index 2c0521519afd..cd57eb986960 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5619,17 +5619,17 @@ __metadata: dependencies: "@jest/types": 29.6.3 "@prettier/sync": ^0.5.1 - "@typescript-eslint/rule-tester": 7.13.0 - "@typescript-eslint/scope-manager": 7.13.0 - "@typescript-eslint/type-utils": 7.13.0 - "@typescript-eslint/utils": 7.13.0 + "@typescript-eslint/rule-tester": "workspace:^" + "@typescript-eslint/scope-manager": "workspace:^" + "@typescript-eslint/type-utils": "workspace:^" + "@typescript-eslint/utils": "workspace:^" jest: 29.7.0 prettier: ^3.2.5 rimraf: "*" languageName: unknown linkType: soft -"@typescript-eslint/eslint-plugin@7.13.0, @typescript-eslint/eslint-plugin@workspace:packages/eslint-plugin": +"@typescript-eslint/eslint-plugin@workspace:^, @typescript-eslint/eslint-plugin@workspace:packages/eslint-plugin": version: 0.0.0-use.local resolution: "@typescript-eslint/eslint-plugin@workspace:packages/eslint-plugin" dependencies: @@ -5638,12 +5638,12 @@ __metadata: "@types/marked": ^5.0.2 "@types/mdast": ^4.0.3 "@types/natural-compare": "*" - "@typescript-eslint/rule-schema-to-typescript-types": 7.13.0 - "@typescript-eslint/rule-tester": 7.13.0 - "@typescript-eslint/scope-manager": 7.13.0 - "@typescript-eslint/type-utils": 7.13.0 - "@typescript-eslint/utils": 7.13.0 - "@typescript-eslint/visitor-keys": 7.13.0 + "@typescript-eslint/rule-schema-to-typescript-types": "workspace:^" + "@typescript-eslint/rule-tester": "workspace:^" + "@typescript-eslint/scope-manager": "workspace:^" + "@typescript-eslint/type-utils": "workspace:^" + "@typescript-eslint/utils": "workspace:^" + "@typescript-eslint/visitor-keys": "workspace:^" ajv: ^6.12.6 cross-env: ^7.0.3 cross-fetch: "*" @@ -5688,16 +5688,16 @@ __metadata: languageName: unknown linkType: soft -"@typescript-eslint/parser@7.13.0, @typescript-eslint/parser@workspace:packages/parser": +"@typescript-eslint/parser@workspace:^, @typescript-eslint/parser@workspace:packages/parser": version: 0.0.0-use.local resolution: "@typescript-eslint/parser@workspace:packages/parser" dependencies: "@jest/types": 29.6.3 "@types/glob": "*" - "@typescript-eslint/scope-manager": 7.13.0 - "@typescript-eslint/types": 7.13.0 - "@typescript-eslint/typescript-estree": 7.13.0 - "@typescript-eslint/visitor-keys": 7.13.0 + "@typescript-eslint/scope-manager": "workspace:^" + "@typescript-eslint/types": "workspace:^" + "@typescript-eslint/typescript-estree": "workspace:^" + "@typescript-eslint/visitor-keys": "workspace:^" debug: ^4.3.4 downlevel-dts: "*" glob: "*" @@ -5719,11 +5719,11 @@ __metadata: dependencies: "@jest/types": 29.6.3 "@nx/devkit": "*" - "@typescript-eslint/eslint-plugin": 7.13.0 - "@typescript-eslint/scope-manager": 7.13.0 - "@typescript-eslint/types": 7.13.0 - "@typescript-eslint/typescript-estree": 7.13.0 - "@typescript-eslint/utils": 7.13.0 + "@typescript-eslint/eslint-plugin": "workspace:^" + "@typescript-eslint/scope-manager": "workspace:^" + "@typescript-eslint/types": "workspace:^" + "@typescript-eslint/typescript-estree": "workspace:^" + "@typescript-eslint/utils": "workspace:^" cross-fetch: "*" execa: "*" prettier: ^3.2.5 @@ -5733,28 +5733,28 @@ __metadata: languageName: unknown linkType: soft -"@typescript-eslint/rule-schema-to-typescript-types@7.13.0, @typescript-eslint/rule-schema-to-typescript-types@workspace:packages/rule-schema-to-typescript-types": +"@typescript-eslint/rule-schema-to-typescript-types@workspace:^, @typescript-eslint/rule-schema-to-typescript-types@workspace:packages/rule-schema-to-typescript-types": version: 0.0.0-use.local resolution: "@typescript-eslint/rule-schema-to-typescript-types@workspace:packages/rule-schema-to-typescript-types" dependencies: "@jest/types": 29.6.3 - "@typescript-eslint/type-utils": 7.13.0 - "@typescript-eslint/utils": 7.13.0 + "@typescript-eslint/type-utils": "workspace:^" + "@typescript-eslint/utils": "workspace:^" natural-compare: ^1.4.0 prettier: ^3.2.5 languageName: unknown linkType: soft -"@typescript-eslint/rule-tester@7.13.0, @typescript-eslint/rule-tester@workspace:packages/rule-tester": +"@typescript-eslint/rule-tester@workspace:^, @typescript-eslint/rule-tester@workspace:packages/rule-tester": version: 0.0.0-use.local resolution: "@typescript-eslint/rule-tester@workspace:packages/rule-tester" dependencies: "@jest/types": 29.6.3 "@types/json-stable-stringify-without-jsonify": ^1.0.2 "@types/lodash.merge": 4.6.9 - "@typescript-eslint/parser": 7.13.0 - "@typescript-eslint/typescript-estree": 7.13.0 - "@typescript-eslint/utils": 7.13.0 + "@typescript-eslint/parser": "workspace:^" + "@typescript-eslint/typescript-estree": "workspace:^" + "@typescript-eslint/utils": "workspace:^" ajv: ^6.12.6 chai: ^4.4.1 eslint-visitor-keys: ^4.0.0 @@ -5773,23 +5773,6 @@ __metadata: languageName: unknown linkType: soft -"@typescript-eslint/scope-manager@7.13.0, @typescript-eslint/scope-manager@workspace:packages/scope-manager": - version: 0.0.0-use.local - resolution: "@typescript-eslint/scope-manager@workspace:packages/scope-manager" - dependencies: - "@jest/types": 29.6.3 - "@types/glob": "*" - "@typescript-eslint/types": 7.13.0 - "@typescript-eslint/typescript-estree": 7.13.0 - "@typescript-eslint/visitor-keys": 7.13.0 - glob: "*" - jest-specific-snapshot: "*" - make-dir: "*" - pretty-format: "*" - typescript: "*" - languageName: unknown - linkType: soft - "@typescript-eslint/scope-manager@npm:5.62.0": version: 5.62.0 resolution: "@typescript-eslint/scope-manager@npm:5.62.0" @@ -5810,14 +5793,31 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/type-utils@7.13.0, @typescript-eslint/type-utils@workspace:packages/type-utils": +"@typescript-eslint/scope-manager@workspace:^, @typescript-eslint/scope-manager@workspace:packages/scope-manager": + version: 0.0.0-use.local + resolution: "@typescript-eslint/scope-manager@workspace:packages/scope-manager" + dependencies: + "@jest/types": 29.6.3 + "@types/glob": "*" + "@typescript-eslint/types": "workspace:^" + "@typescript-eslint/typescript-estree": "workspace:^" + "@typescript-eslint/visitor-keys": "workspace:^" + glob: "*" + jest-specific-snapshot: "*" + make-dir: "*" + pretty-format: "*" + typescript: "*" + languageName: unknown + linkType: soft + +"@typescript-eslint/type-utils@workspace:^, @typescript-eslint/type-utils@workspace:packages/type-utils": version: 0.0.0-use.local resolution: "@typescript-eslint/type-utils@workspace:packages/type-utils" dependencies: "@jest/types": 29.6.3 - "@typescript-eslint/parser": 7.13.0 - "@typescript-eslint/typescript-estree": 7.13.0 - "@typescript-eslint/utils": 7.13.0 + "@typescript-eslint/parser": "workspace:^" + "@typescript-eslint/typescript-estree": "workspace:^" + "@typescript-eslint/utils": "workspace:^" ajv: ^6.12.6 debug: ^4.3.4 downlevel-dts: "*" @@ -5832,19 +5832,6 @@ __metadata: languageName: unknown linkType: soft -"@typescript-eslint/types@7.13.0, @typescript-eslint/types@workspace:packages/types": - version: 0.0.0-use.local - resolution: "@typescript-eslint/types@workspace:packages/types" - dependencies: - "@jest/types": 29.6.3 - downlevel-dts: "*" - prettier: ^3.2.5 - rimraf: "*" - tsx: "*" - typescript: "*" - languageName: unknown - linkType: soft - "@typescript-eslint/types@npm:5.62.0": version: 5.62.0 resolution: "@typescript-eslint/types@npm:5.62.0" @@ -5859,6 +5846,19 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/types@workspace:^, @typescript-eslint/types@workspace:packages/types": + version: 0.0.0-use.local + resolution: "@typescript-eslint/types@workspace:packages/types" + dependencies: + "@jest/types": 29.6.3 + downlevel-dts: "*" + prettier: ^3.2.5 + rimraf: "*" + tsx: "*" + typescript: "*" + languageName: unknown + linkType: soft + "@typescript-eslint/typescript-eslint@workspace:.": version: 0.0.0-use.local resolution: "@typescript-eslint/typescript-eslint@workspace:." @@ -5931,31 +5931,6 @@ __metadata: languageName: unknown linkType: soft -"@typescript-eslint/typescript-estree@7.13.0, @typescript-eslint/typescript-estree@workspace:packages/typescript-estree": - version: 0.0.0-use.local - resolution: "@typescript-eslint/typescript-estree@workspace:packages/typescript-estree" - dependencies: - "@jest/types": 29.6.3 - "@typescript-eslint/types": 7.13.0 - "@typescript-eslint/visitor-keys": 7.13.0 - debug: ^4.3.4 - glob: "*" - globby: ^11.1.0 - is-glob: ^4.0.3 - jest: 29.7.0 - minimatch: ^9.0.4 - prettier: ^3.2.5 - rimraf: "*" - semver: ^7.6.0 - tmp: "*" - ts-api-utils: ^1.3.0 - typescript: "*" - peerDependenciesMeta: - typescript: - optional: true - languageName: unknown - linkType: soft - "@typescript-eslint/typescript-estree@npm:5.62.0": version: 5.62.0 resolution: "@typescript-eslint/typescript-estree@npm:5.62.0" @@ -5993,21 +5968,28 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/utils@7.13.0, @typescript-eslint/utils@workspace:packages/utils": +"@typescript-eslint/typescript-estree@workspace:^, @typescript-eslint/typescript-estree@workspace:packages/typescript-estree": version: 0.0.0-use.local - resolution: "@typescript-eslint/utils@workspace:packages/utils" + resolution: "@typescript-eslint/typescript-estree@workspace:packages/typescript-estree" dependencies: - "@eslint-community/eslint-utils": ^4.4.0 - "@typescript-eslint/scope-manager": 7.13.0 - "@typescript-eslint/types": 7.13.0 - "@typescript-eslint/typescript-estree": 7.13.0 - downlevel-dts: "*" + "@jest/types": 29.6.3 + "@typescript-eslint/types": "workspace:^" + "@typescript-eslint/visitor-keys": "workspace:^" + debug: ^4.3.4 + glob: "*" + globby: ^11.1.0 + is-glob: ^4.0.3 jest: 29.7.0 + minimatch: ^9.0.4 prettier: ^3.2.5 rimraf: "*" + semver: ^7.6.0 + tmp: "*" + ts-api-utils: ^1.3.0 typescript: "*" - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 + peerDependenciesMeta: + typescript: + optional: true languageName: unknown linkType: soft @@ -6046,19 +6028,21 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/visitor-keys@7.13.0, @typescript-eslint/visitor-keys@workspace:packages/visitor-keys": +"@typescript-eslint/utils@workspace:^, @typescript-eslint/utils@workspace:packages/utils": version: 0.0.0-use.local - resolution: "@typescript-eslint/visitor-keys@workspace:packages/visitor-keys" + resolution: "@typescript-eslint/utils@workspace:packages/utils" dependencies: - "@jest/types": 29.6.3 - "@types/eslint-visitor-keys": "*" - "@typescript-eslint/types": 7.13.0 + "@eslint-community/eslint-utils": ^4.4.0 + "@typescript-eslint/scope-manager": "workspace:^" + "@typescript-eslint/types": "workspace:^" + "@typescript-eslint/typescript-estree": "workspace:^" downlevel-dts: "*" - eslint-visitor-keys: ^3.4.3 jest: 29.7.0 prettier: ^3.2.5 rimraf: "*" typescript: "*" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 languageName: unknown linkType: soft @@ -6082,16 +6066,32 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/website-eslint@7.13.0, @typescript-eslint/website-eslint@workspace:packages/website-eslint": +"@typescript-eslint/visitor-keys@workspace:^, @typescript-eslint/visitor-keys@workspace:packages/visitor-keys": + version: 0.0.0-use.local + resolution: "@typescript-eslint/visitor-keys@workspace:packages/visitor-keys" + dependencies: + "@jest/types": 29.6.3 + "@types/eslint-visitor-keys": "*" + "@typescript-eslint/types": "workspace:^" + downlevel-dts: "*" + eslint-visitor-keys: ^3.4.3 + jest: 29.7.0 + prettier: ^3.2.5 + rimraf: "*" + typescript: "*" + languageName: unknown + linkType: soft + +"@typescript-eslint/website-eslint@workspace:^, @typescript-eslint/website-eslint@workspace:packages/website-eslint": version: 0.0.0-use.local resolution: "@typescript-eslint/website-eslint@workspace:packages/website-eslint" dependencies: "@eslint/js": "*" - "@typescript-eslint/eslint-plugin": 7.13.0 - "@typescript-eslint/parser": 7.13.0 - "@typescript-eslint/scope-manager": 7.13.0 - "@typescript-eslint/typescript-estree": 7.13.0 - "@typescript-eslint/visitor-keys": 7.13.0 + "@typescript-eslint/eslint-plugin": "workspace:^" + "@typescript-eslint/parser": "workspace:^" + "@typescript-eslint/scope-manager": "workspace:^" + "@typescript-eslint/typescript-estree": "workspace:^" + "@typescript-eslint/visitor-keys": "workspace:^" esbuild: ~0.21.0 eslint: "*" esquery: "*" @@ -19790,9 +19790,9 @@ __metadata: resolution: "typescript-eslint@workspace:packages/typescript-eslint" dependencies: "@jest/types": 29.6.3 - "@typescript-eslint/eslint-plugin": 7.13.0 - "@typescript-eslint/parser": 7.13.0 - "@typescript-eslint/utils": 7.13.0 + "@typescript-eslint/eslint-plugin": "workspace:^" + "@typescript-eslint/parser": "workspace:^" + "@typescript-eslint/utils": "workspace:^" downlevel-dts: "*" jest: 29.7.0 prettier: ^3.2.5 @@ -20502,14 +20502,14 @@ __metadata: "@types/mdast": ^4.0.3 "@types/react": "*" "@types/unist": ^3.0.2 - "@typescript-eslint/eslint-plugin": 7.13.0 - "@typescript-eslint/parser": 7.13.0 - "@typescript-eslint/rule-schema-to-typescript-types": 7.13.0 - "@typescript-eslint/scope-manager": 7.13.0 - "@typescript-eslint/types": 7.13.0 - "@typescript-eslint/typescript-estree": 7.13.0 - "@typescript-eslint/utils": 7.13.0 - "@typescript-eslint/website-eslint": 7.13.0 + "@typescript-eslint/eslint-plugin": "workspace:^" + "@typescript-eslint/parser": "workspace:^" + "@typescript-eslint/rule-schema-to-typescript-types": "workspace:^" + "@typescript-eslint/scope-manager": "workspace:^" + "@typescript-eslint/types": "workspace:^" + "@typescript-eslint/typescript-estree": "workspace:^" + "@typescript-eslint/utils": "workspace:^" + "@typescript-eslint/website-eslint": "workspace:^" "@uiw/react-shields": 2.0.1 clsx: ^2.1.0 copy-webpack-plugin: ^12.0.0 From 363d6aed05ea0fc675449a01c244457799e75abe Mon Sep 17 00:00:00 2001 From: Christopher Aubut Date: Wed, 12 Jun 2024 13:32:19 -0600 Subject: [PATCH 20/36] chore: adds back lru to control max open files --- .gitignore | 1 + packages/types/dist/generated/ast-spec.d.ts | 1964 +++++++++++++++++ .../types/dist/generated/ast-spec.d.ts.map | 1 + packages/types/dist/generated/ast-spec.js | 203 ++ packages/types/dist/generated/ast-spec.js.map | 1 + packages/types/dist/index.d.ts | 5 + packages/types/dist/index.d.ts.map | 1 + packages/types/dist/index.js | 24 + packages/types/dist/index.js.map | 1 + packages/types/dist/lib.d.ts | 3 + packages/types/dist/lib.d.ts.map | 1 + packages/types/dist/lib.js | 7 + packages/types/dist/lib.js.map | 1 + packages/types/dist/parser-options.d.ts | 72 + packages/types/dist/parser-options.d.ts.map | 1 + packages/types/dist/parser-options.js | 3 + packages/types/dist/parser-options.js.map | 1 + packages/types/dist/ts-estree.d.ts | 14 + packages/types/dist/ts-estree.d.ts.map | 1 + packages/types/dist/ts-estree.js | 28 + packages/types/dist/ts-estree.js.map | 1 + packages/types/src/parser-options.ts | 9 +- .../create-program/createProjectService.d.ts | 6 +- .../createProjectService.d.ts.map | 2 +- .../create-program/createProjectService.js | 9 +- .../createProjectService.js.map | 2 +- .../createParseSettings.d.ts.map | 2 +- .../dist/parseSettings/createParseSettings.js | 12 +- .../parseSettings/createParseSettings.js.map | 2 +- .../useProgramFromProjectService.d.ts.map | 2 +- .../dist/useProgramFromProjectService.js | 60 +- .../dist/useProgramFromProjectService.js.map | 2 +- packages/typescript-estree/package.json | 3 + .../create-program/createProjectService.ts | 14 +- .../src/parseSettings/createParseSettings.ts | 18 +- .../src/useProgramFromProjectService.ts | 88 +- yarn.lock | 24 + 37 files changed, 2556 insertions(+), 33 deletions(-) create mode 100644 packages/types/dist/generated/ast-spec.d.ts create mode 100644 packages/types/dist/generated/ast-spec.d.ts.map create mode 100644 packages/types/dist/generated/ast-spec.js create mode 100644 packages/types/dist/generated/ast-spec.js.map create mode 100644 packages/types/dist/index.d.ts create mode 100644 packages/types/dist/index.d.ts.map create mode 100644 packages/types/dist/index.js create mode 100644 packages/types/dist/index.js.map create mode 100644 packages/types/dist/lib.d.ts create mode 100644 packages/types/dist/lib.d.ts.map create mode 100644 packages/types/dist/lib.js create mode 100644 packages/types/dist/lib.js.map create mode 100644 packages/types/dist/parser-options.d.ts create mode 100644 packages/types/dist/parser-options.d.ts.map create mode 100644 packages/types/dist/parser-options.js create mode 100644 packages/types/dist/parser-options.js.map create mode 100644 packages/types/dist/ts-estree.d.ts create mode 100644 packages/types/dist/ts-estree.d.ts.map create mode 100644 packages/types/dist/ts-estree.js create mode 100644 packages/types/dist/ts-estree.js.map diff --git a/.gitignore b/.gitignore index 00f7e83a347f..5c9c74c375b5 100644 --- a/.gitignore +++ b/.gitignore @@ -100,3 +100,4 @@ packages/**/.yarn .nx/workspace-data !packages/typescript-estree/dist +!packages/types/dist diff --git a/packages/types/dist/generated/ast-spec.d.ts b/packages/types/dist/generated/ast-spec.d.ts new file mode 100644 index 000000000000..c2c96f68eee0 --- /dev/null +++ b/packages/types/dist/generated/ast-spec.d.ts @@ -0,0 +1,1964 @@ +/********************************************** + * DO NOT MODIFY THIS FILE MANUALLY * + * * + * THIS FILE HAS BEEN COPIED FROM ast-spec. * + * ANY CHANGES WILL BE LOST ON THE NEXT BUILD * + * * + * MAKE CHANGES TO ast-spec AND THEN RUN * + * yarn build * + **********************************************/ +import type { SyntaxKind } from 'typescript'; +export declare type Accessibility = 'private' | 'protected' | 'public'; +export declare type AccessorProperty = AccessorPropertyComputedName | AccessorPropertyNonComputedName; +export declare interface AccessorPropertyComputedName extends PropertyDefinitionComputedNameBase { + type: AST_NODE_TYPES.AccessorProperty; +} +export declare interface AccessorPropertyNonComputedName extends PropertyDefinitionNonComputedNameBase { + type: AST_NODE_TYPES.AccessorProperty; +} +export declare interface ArrayExpression extends BaseNode { + type: AST_NODE_TYPES.ArrayExpression; + /** + * an element will be `null` in the case of a sparse array: `[1, ,3]` + */ + elements: (Expression | SpreadElement | null)[]; +} +export declare interface ArrayPattern extends BaseNode { + type: AST_NODE_TYPES.ArrayPattern; + elements: (DestructuringPattern | null)[]; + typeAnnotation: TSTypeAnnotation | undefined; + optional: boolean; + decorators: Decorator[]; +} +export declare interface ArrowFunctionExpression extends BaseNode { + type: AST_NODE_TYPES.ArrowFunctionExpression; + generator: boolean; + id: null; + params: Parameter[]; + body: BlockStatement | Expression; + async: boolean; + expression: boolean; + returnType: TSTypeAnnotation | undefined; + typeParameters: TSTypeParameterDeclaration | undefined; +} +export declare interface AssignmentExpression extends BaseNode { + type: AST_NODE_TYPES.AssignmentExpression; + operator: ValueOf; + left: Expression; + right: Expression; +} +export declare interface AssignmentOperatorToText { + [SyntaxKind.EqualsToken]: '='; + [SyntaxKind.PlusEqualsToken]: '+='; + [SyntaxKind.MinusEqualsToken]: '-='; + [SyntaxKind.AsteriskEqualsToken]: '*='; + [SyntaxKind.AsteriskAsteriskEqualsToken]: '**='; + [SyntaxKind.SlashEqualsToken]: '/='; + [SyntaxKind.PercentEqualsToken]: '%='; + [SyntaxKind.LessThanLessThanEqualsToken]: '<<='; + [SyntaxKind.GreaterThanGreaterThanEqualsToken]: '>>='; + [SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken]: '>>>='; + [SyntaxKind.AmpersandEqualsToken]: '&='; + [SyntaxKind.BarEqualsToken]: '|='; + [SyntaxKind.BarBarEqualsToken]: '||='; + [SyntaxKind.AmpersandAmpersandEqualsToken]: '&&='; + [SyntaxKind.QuestionQuestionEqualsToken]: '??='; + [SyntaxKind.CaretEqualsToken]: '^='; +} +export declare interface AssignmentPattern extends BaseNode { + type: AST_NODE_TYPES.AssignmentPattern; + left: BindingName; + right: Expression; + typeAnnotation: TSTypeAnnotation | undefined; + optional: boolean; + decorators: Decorator[]; +} +export declare enum AST_NODE_TYPES { + AccessorProperty = "AccessorProperty", + ArrayExpression = "ArrayExpression", + ArrayPattern = "ArrayPattern", + ArrowFunctionExpression = "ArrowFunctionExpression", + AssignmentExpression = "AssignmentExpression", + AssignmentPattern = "AssignmentPattern", + AwaitExpression = "AwaitExpression", + BinaryExpression = "BinaryExpression", + BlockStatement = "BlockStatement", + BreakStatement = "BreakStatement", + CallExpression = "CallExpression", + CatchClause = "CatchClause", + ChainExpression = "ChainExpression", + ClassBody = "ClassBody", + ClassDeclaration = "ClassDeclaration", + ClassExpression = "ClassExpression", + ConditionalExpression = "ConditionalExpression", + ContinueStatement = "ContinueStatement", + DebuggerStatement = "DebuggerStatement", + Decorator = "Decorator", + DoWhileStatement = "DoWhileStatement", + EmptyStatement = "EmptyStatement", + ExportAllDeclaration = "ExportAllDeclaration", + ExportDefaultDeclaration = "ExportDefaultDeclaration", + ExportNamedDeclaration = "ExportNamedDeclaration", + ExportSpecifier = "ExportSpecifier", + ExpressionStatement = "ExpressionStatement", + ForInStatement = "ForInStatement", + ForOfStatement = "ForOfStatement", + ForStatement = "ForStatement", + FunctionDeclaration = "FunctionDeclaration", + FunctionExpression = "FunctionExpression", + Identifier = "Identifier", + IfStatement = "IfStatement", + ImportAttribute = "ImportAttribute", + ImportDeclaration = "ImportDeclaration", + ImportDefaultSpecifier = "ImportDefaultSpecifier", + ImportExpression = "ImportExpression", + ImportNamespaceSpecifier = "ImportNamespaceSpecifier", + ImportSpecifier = "ImportSpecifier", + JSXAttribute = "JSXAttribute", + JSXClosingElement = "JSXClosingElement", + JSXClosingFragment = "JSXClosingFragment", + JSXElement = "JSXElement", + JSXEmptyExpression = "JSXEmptyExpression", + JSXExpressionContainer = "JSXExpressionContainer", + JSXFragment = "JSXFragment", + JSXIdentifier = "JSXIdentifier", + JSXMemberExpression = "JSXMemberExpression", + JSXNamespacedName = "JSXNamespacedName", + JSXOpeningElement = "JSXOpeningElement", + JSXOpeningFragment = "JSXOpeningFragment", + JSXSpreadAttribute = "JSXSpreadAttribute", + JSXSpreadChild = "JSXSpreadChild", + JSXText = "JSXText", + LabeledStatement = "LabeledStatement", + Literal = "Literal", + LogicalExpression = "LogicalExpression", + MemberExpression = "MemberExpression", + MetaProperty = "MetaProperty", + MethodDefinition = "MethodDefinition", + NewExpression = "NewExpression", + ObjectExpression = "ObjectExpression", + ObjectPattern = "ObjectPattern", + PrivateIdentifier = "PrivateIdentifier", + Program = "Program", + Property = "Property", + PropertyDefinition = "PropertyDefinition", + RestElement = "RestElement", + ReturnStatement = "ReturnStatement", + SequenceExpression = "SequenceExpression", + SpreadElement = "SpreadElement", + StaticBlock = "StaticBlock", + Super = "Super", + SwitchCase = "SwitchCase", + SwitchStatement = "SwitchStatement", + TaggedTemplateExpression = "TaggedTemplateExpression", + TemplateElement = "TemplateElement", + TemplateLiteral = "TemplateLiteral", + ThisExpression = "ThisExpression", + ThrowStatement = "ThrowStatement", + TryStatement = "TryStatement", + UnaryExpression = "UnaryExpression", + UpdateExpression = "UpdateExpression", + VariableDeclaration = "VariableDeclaration", + VariableDeclarator = "VariableDeclarator", + WhileStatement = "WhileStatement", + WithStatement = "WithStatement", + YieldExpression = "YieldExpression", + /** + * TS-prefixed nodes + */ + TSAbstractAccessorProperty = "TSAbstractAccessorProperty", + TSAbstractKeyword = "TSAbstractKeyword", + TSAbstractMethodDefinition = "TSAbstractMethodDefinition", + TSAbstractPropertyDefinition = "TSAbstractPropertyDefinition", + TSAnyKeyword = "TSAnyKeyword", + TSArrayType = "TSArrayType", + TSAsExpression = "TSAsExpression", + TSAsyncKeyword = "TSAsyncKeyword", + TSBigIntKeyword = "TSBigIntKeyword", + TSBooleanKeyword = "TSBooleanKeyword", + TSCallSignatureDeclaration = "TSCallSignatureDeclaration", + TSClassImplements = "TSClassImplements", + TSConditionalType = "TSConditionalType", + TSConstructorType = "TSConstructorType", + TSConstructSignatureDeclaration = "TSConstructSignatureDeclaration", + TSDeclareFunction = "TSDeclareFunction", + TSDeclareKeyword = "TSDeclareKeyword", + TSEmptyBodyFunctionExpression = "TSEmptyBodyFunctionExpression", + TSEnumDeclaration = "TSEnumDeclaration", + TSEnumBody = "TSEnumBody", + TSEnumMember = "TSEnumMember", + TSExportAssignment = "TSExportAssignment", + TSExportKeyword = "TSExportKeyword", + TSExternalModuleReference = "TSExternalModuleReference", + TSFunctionType = "TSFunctionType", + TSInstantiationExpression = "TSInstantiationExpression", + TSImportEqualsDeclaration = "TSImportEqualsDeclaration", + TSImportType = "TSImportType", + TSIndexedAccessType = "TSIndexedAccessType", + TSIndexSignature = "TSIndexSignature", + TSInferType = "TSInferType", + TSInterfaceBody = "TSInterfaceBody", + TSInterfaceDeclaration = "TSInterfaceDeclaration", + TSInterfaceHeritage = "TSInterfaceHeritage", + TSIntersectionType = "TSIntersectionType", + TSIntrinsicKeyword = "TSIntrinsicKeyword", + TSLiteralType = "TSLiteralType", + TSMappedType = "TSMappedType", + TSMethodSignature = "TSMethodSignature", + TSModuleBlock = "TSModuleBlock", + TSModuleDeclaration = "TSModuleDeclaration", + TSNamedTupleMember = "TSNamedTupleMember", + TSNamespaceExportDeclaration = "TSNamespaceExportDeclaration", + TSNeverKeyword = "TSNeverKeyword", + TSNonNullExpression = "TSNonNullExpression", + TSNullKeyword = "TSNullKeyword", + TSNumberKeyword = "TSNumberKeyword", + TSObjectKeyword = "TSObjectKeyword", + TSOptionalType = "TSOptionalType", + TSParameterProperty = "TSParameterProperty", + TSPrivateKeyword = "TSPrivateKeyword", + TSPropertySignature = "TSPropertySignature", + TSProtectedKeyword = "TSProtectedKeyword", + TSPublicKeyword = "TSPublicKeyword", + TSQualifiedName = "TSQualifiedName", + TSReadonlyKeyword = "TSReadonlyKeyword", + TSRestType = "TSRestType", + TSSatisfiesExpression = "TSSatisfiesExpression", + TSStaticKeyword = "TSStaticKeyword", + TSStringKeyword = "TSStringKeyword", + TSSymbolKeyword = "TSSymbolKeyword", + TSTemplateLiteralType = "TSTemplateLiteralType", + TSThisType = "TSThisType", + TSTupleType = "TSTupleType", + TSTypeAliasDeclaration = "TSTypeAliasDeclaration", + TSTypeAnnotation = "TSTypeAnnotation", + TSTypeAssertion = "TSTypeAssertion", + TSTypeLiteral = "TSTypeLiteral", + TSTypeOperator = "TSTypeOperator", + TSTypeParameter = "TSTypeParameter", + TSTypeParameterDeclaration = "TSTypeParameterDeclaration", + TSTypeParameterInstantiation = "TSTypeParameterInstantiation", + TSTypePredicate = "TSTypePredicate", + TSTypeQuery = "TSTypeQuery", + TSTypeReference = "TSTypeReference", + TSUndefinedKeyword = "TSUndefinedKeyword", + TSUnionType = "TSUnionType", + TSUnknownKeyword = "TSUnknownKeyword", + TSVoidKeyword = "TSVoidKeyword" +} +export declare enum AST_TOKEN_TYPES { + Boolean = "Boolean", + Identifier = "Identifier", + JSXIdentifier = "JSXIdentifier", + JSXText = "JSXText", + Keyword = "Keyword", + Null = "Null", + Numeric = "Numeric", + Punctuator = "Punctuator", + RegularExpression = "RegularExpression", + String = "String", + Template = "Template", + Block = "Block", + Line = "Line" +} +export declare interface AwaitExpression extends BaseNode { + type: AST_NODE_TYPES.AwaitExpression; + argument: Expression; +} +export declare interface BaseNode extends NodeOrTokenData { + type: AST_NODE_TYPES; +} +declare interface BaseToken extends NodeOrTokenData { + type: AST_TOKEN_TYPES; + value: string; +} +export declare interface BigIntLiteral extends LiteralBase { + value: bigint | null; + bigint: string; +} +export declare interface BinaryExpression extends BaseNode { + type: AST_NODE_TYPES.BinaryExpression; + operator: ValueOf; + left: Expression | PrivateIdentifier; + right: Expression; +} +export declare interface BinaryOperatorToText { + [SyntaxKind.InstanceOfKeyword]: 'instanceof'; + [SyntaxKind.InKeyword]: 'in'; + [SyntaxKind.AsteriskAsteriskToken]: '**'; + [SyntaxKind.AsteriskToken]: '*'; + [SyntaxKind.SlashToken]: '/'; + [SyntaxKind.PercentToken]: '%'; + [SyntaxKind.PlusToken]: '+'; + [SyntaxKind.MinusToken]: '-'; + [SyntaxKind.AmpersandToken]: '&'; + [SyntaxKind.BarToken]: '|'; + [SyntaxKind.CaretToken]: '^'; + [SyntaxKind.LessThanLessThanToken]: '<<'; + [SyntaxKind.GreaterThanGreaterThanToken]: '>>'; + [SyntaxKind.GreaterThanGreaterThanGreaterThanToken]: '>>>'; + [SyntaxKind.AmpersandAmpersandToken]: '&&'; + [SyntaxKind.BarBarToken]: '||'; + [SyntaxKind.LessThanToken]: '<'; + [SyntaxKind.LessThanEqualsToken]: '<='; + [SyntaxKind.GreaterThanToken]: '>'; + [SyntaxKind.GreaterThanEqualsToken]: '>='; + [SyntaxKind.EqualsEqualsToken]: '=='; + [SyntaxKind.EqualsEqualsEqualsToken]: '==='; + [SyntaxKind.ExclamationEqualsEqualsToken]: '!=='; + [SyntaxKind.ExclamationEqualsToken]: '!='; +} +export declare type BindingName = BindingPattern | Identifier; +export declare type BindingPattern = ArrayPattern | ObjectPattern; +export declare interface BlockComment extends BaseToken { + type: AST_TOKEN_TYPES.Block; +} +export declare interface BlockStatement extends BaseNode { + type: AST_NODE_TYPES.BlockStatement; + body: Statement[]; +} +export declare interface BooleanLiteral extends LiteralBase { + value: boolean; + raw: 'false' | 'true'; +} +export declare interface BooleanToken extends BaseToken { + type: AST_TOKEN_TYPES.Boolean; +} +export declare interface BreakStatement extends BaseNode { + type: AST_NODE_TYPES.BreakStatement; + label: Identifier | null; +} +export declare interface CallExpression extends BaseNode { + type: AST_NODE_TYPES.CallExpression; + callee: Expression; + arguments: CallExpressionArgument[]; + typeArguments: TSTypeParameterInstantiation | undefined; + optional: boolean; +} +export declare type CallExpressionArgument = Expression | SpreadElement; +export declare interface CatchClause extends BaseNode { + type: AST_NODE_TYPES.CatchClause; + param: BindingName | null; + body: BlockStatement; +} +export declare type ChainElement = CallExpression | MemberExpression | TSNonNullExpression; +export declare interface ChainExpression extends BaseNode { + type: AST_NODE_TYPES.ChainExpression; + expression: ChainElement; +} +declare interface ClassBase extends BaseNode { + /** + * Whether the class is an abstract class. + * ``` + * abstract class Foo {...} + * ``` + */ + abstract: boolean; + /** + * The class body. + */ + body: ClassBody; + /** + * Whether the class has been `declare`d: + * ``` + * declare class Foo {...} + * ``` + */ + declare: boolean; + /** + * The decorators declared for the class. + * ``` + * @deco + * class Foo {...} + * ``` + */ + decorators: Decorator[]; + /** + * The class's name. + * - For a `ClassExpression` this may be `null` if the name is omitted. + * - For a `ClassDeclaration` this may be `null` if and only if the parent is + * an `ExportDefaultDeclaration`. + */ + id: Identifier | null; + /** + * The implemented interfaces for the class. + */ + implements: TSClassImplements[]; + /** + * The super class this class extends. + */ + superClass: LeftHandSideExpression | null; + /** + * The generic type parameters passed to the superClass. + */ + superTypeArguments: TSTypeParameterInstantiation | undefined; + /** + * The generic type parameters declared for the class. + */ + typeParameters: TSTypeParameterDeclaration | undefined; +} +export declare interface ClassBody extends BaseNode { + type: AST_NODE_TYPES.ClassBody; + body: ClassElement[]; +} +export declare type ClassDeclaration = ClassDeclarationWithName | ClassDeclarationWithOptionalName; +declare interface ClassDeclarationBase extends ClassBase { + type: AST_NODE_TYPES.ClassDeclaration; +} +export declare interface ClassDeclarationWithName extends ClassDeclarationBase { + id: Identifier; +} +export declare interface ClassDeclarationWithOptionalName extends ClassDeclarationBase { + id: Identifier | null; +} +export declare type ClassElement = AccessorProperty | MethodDefinition | PropertyDefinition | StaticBlock | TSAbstractAccessorProperty | TSAbstractMethodDefinition | TSAbstractPropertyDefinition | TSIndexSignature; +export declare interface ClassExpression extends ClassBase { + type: AST_NODE_TYPES.ClassExpression; + abstract: false; + declare: false; +} +declare interface ClassMethodDefinitionNonComputedNameBase extends MethodDefinitionBase { + key: ClassPropertyNameNonComputed; + computed: false; +} +declare interface ClassPropertyDefinitionNonComputedNameBase extends PropertyDefinitionBase { + key: ClassPropertyNameNonComputed; + computed: false; +} +export declare type ClassPropertyNameNonComputed = PrivateIdentifier | PropertyNameNonComputed; +export declare type Comment = BlockComment | LineComment; +export declare interface ConditionalExpression extends BaseNode { + type: AST_NODE_TYPES.ConditionalExpression; + test: Expression; + consequent: Expression; + alternate: Expression; +} +export declare interface ContinueStatement extends BaseNode { + type: AST_NODE_TYPES.ContinueStatement; + label: Identifier | null; +} +export declare interface DebuggerStatement extends BaseNode { + type: AST_NODE_TYPES.DebuggerStatement; +} +export declare type DeclarationStatement = ClassDeclaration | ClassExpression | ExportAllDeclaration | ExportDefaultDeclaration | ExportNamedDeclaration | FunctionDeclaration | TSDeclareFunction | TSEnumDeclaration | TSImportEqualsDeclaration | TSInterfaceDeclaration | TSModuleDeclaration | TSNamespaceExportDeclaration | TSTypeAliasDeclaration; +export declare interface Decorator extends BaseNode { + type: AST_NODE_TYPES.Decorator; + expression: LeftHandSideExpression; +} +export declare type DefaultExportDeclarations = ClassDeclarationWithOptionalName | Expression | FunctionDeclarationWithName | FunctionDeclarationWithOptionalName | TSDeclareFunction | TSEnumDeclaration | TSInterfaceDeclaration | TSModuleDeclaration | TSTypeAliasDeclaration | VariableDeclaration; +export declare type DestructuringPattern = ArrayPattern | AssignmentPattern | Identifier | MemberExpression | ObjectPattern | RestElement; +export declare interface DoWhileStatement extends BaseNode { + type: AST_NODE_TYPES.DoWhileStatement; + test: Expression; + body: Statement; +} +export declare interface EmptyStatement extends BaseNode { + type: AST_NODE_TYPES.EmptyStatement; +} +export declare type EntityName = Identifier | ThisExpression | TSQualifiedName; +export declare interface ExportAllDeclaration extends BaseNode { + type: AST_NODE_TYPES.ExportAllDeclaration; + /** + * The assertions declared for the export. + * ``` + * export * from 'mod' assert { type: 'json' }; + * ``` + * @deprecated -- Replaced with {@link `attributes`}. + */ + assertions: ImportAttribute[]; + /** + * The attributes declared for the export. + * ``` + * export * from 'mod' assert { type: 'json' }; + * ``` + */ + attributes: ImportAttribute[]; + /** + * The name for the exported items. `null` if no name is assigned. + */ + exported: Identifier | null; + /** + * The kind of the export. + */ + exportKind: ExportKind; + /** + * The source module being exported from. + */ + source: StringLiteral; +} +declare type ExportAndImportKind = 'type' | 'value'; +export declare type ExportDeclaration = DefaultExportDeclarations | NamedExportDeclarations; +export declare interface ExportDefaultDeclaration extends BaseNode { + type: AST_NODE_TYPES.ExportDefaultDeclaration; + /** + * The declaration being exported. + */ + declaration: DefaultExportDeclarations; + /** + * The kind of the export. + */ + exportKind: ExportKind; +} +declare type ExportKind = ExportAndImportKind; +export declare type ExportNamedDeclaration = ExportNamedDeclarationWithoutSourceWithMultiple | ExportNamedDeclarationWithoutSourceWithSingle | ExportNamedDeclarationWithSource; +declare interface ExportNamedDeclarationBase extends BaseNode { + type: AST_NODE_TYPES.ExportNamedDeclaration; + /** + * The assertions declared for the export. + * ``` + * export { foo } from 'mod' assert { type: 'json' }; + * ``` + * This will be an empty array if `source` is `null` + * @deprecated Replaced with {@link `attributes`}. + */ + assertions: ImportAttribute[]; + /** + * The attributes declared for the export. + * ``` + * export { foo } from 'mod' assert { type: 'json' }; + * ``` + * This will be an empty array if `source` is `null` + */ + attributes: ImportAttribute[]; + /** + * The exported declaration. + * ``` + * export const x = 1; + * ``` + * This will be `null` if `source` is not `null`, or if there are `specifiers` + */ + declaration: NamedExportDeclarations | null; + /** + * The kind of the export. + */ + exportKind: ExportKind; + /** + * The source module being exported from. + */ + source: StringLiteral | null; + /** + * The specifiers being exported. + * ``` + * export { a, b }; + * ``` + * This will be an empty array if `declaration` is not `null` + */ + specifiers: ExportSpecifier[]; +} +export declare interface ExportNamedDeclarationWithoutSourceWithMultiple extends ExportNamedDeclarationBase { + /** + * This will always be an empty array. + * @deprecated Replaced with {@link `attributes`}. + */ + assertions: ImportAttribute[]; + /** + * This will always be an empty array. + */ + attributes: ImportAttribute[]; + declaration: null; + source: null; + specifiers: ExportSpecifier[]; +} +export declare interface ExportNamedDeclarationWithoutSourceWithSingle extends ExportNamedDeclarationBase { + /** + * This will always be an empty array. + * @deprecated Replaced with {@link `attributes`}. + */ + assertions: ImportAttribute[]; + /** + * This will always be an empty array. + */ + attributes: ImportAttribute[]; + declaration: NamedExportDeclarations; + source: null; + specifiers: ExportSpecifier[]; +} +export declare interface ExportNamedDeclarationWithSource extends ExportNamedDeclarationBase { + /** + * This will always be an empty array. + * @deprecated Replaced with {@link `attributes`}. + */ + assertions: ImportAttribute[]; + /** + * This will always be an empty array. + */ + attributes: ImportAttribute[]; + declaration: null; + source: StringLiteral; + specifiers: ExportSpecifier[]; +} +export declare interface ExportSpecifier extends BaseNode { + type: AST_NODE_TYPES.ExportSpecifier; + local: Identifier; + exported: Identifier; + exportKind: ExportKind; +} +export declare type Expression = ArrayExpression | ArrayPattern | ArrowFunctionExpression | AssignmentExpression | AwaitExpression | BinaryExpression | CallExpression | ChainExpression | ClassExpression | ConditionalExpression | FunctionExpression | Identifier | ImportExpression | JSXElement | JSXFragment | LiteralExpression | LogicalExpression | MemberExpression | MetaProperty | NewExpression | ObjectExpression | ObjectPattern | SequenceExpression | Super | TaggedTemplateExpression | TemplateLiteral | ThisExpression | TSAsExpression | TSInstantiationExpression | TSNonNullExpression | TSSatisfiesExpression | TSTypeAssertion | UnaryExpression | UpdateExpression | YieldExpression; +export declare interface ExpressionStatement extends BaseNode { + type: AST_NODE_TYPES.ExpressionStatement; + expression: Expression; + directive: string | undefined; +} +export declare type ForInitialiser = Expression | LetOrConstOrVarDeclaration; +export declare interface ForInStatement extends BaseNode { + type: AST_NODE_TYPES.ForInStatement; + left: ForInitialiser; + right: Expression; + body: Statement; +} +declare type ForOfInitialiser = Expression | LetOrConstOrVarDeclaration | UsingInForOfDeclaration; +export declare interface ForOfStatement extends BaseNode { + type: AST_NODE_TYPES.ForOfStatement; + left: ForOfInitialiser; + right: Expression; + body: Statement; + await: boolean; +} +export declare interface ForStatement extends BaseNode { + type: AST_NODE_TYPES.ForStatement; + init: Expression | ForInitialiser | null; + test: Expression | null; + update: Expression | null; + body: Statement; +} +declare interface FunctionBase extends BaseNode { + /** + * Whether the function is async: + * ``` + * async function foo(...) {...} + * const x = async function (...) {...} + * const x = async (...) => {...} + * ``` + */ + async: boolean; + /** + * The body of the function. + * - For an `ArrowFunctionExpression` this may be an `Expression` or `BlockStatement`. + * - For a `FunctionDeclaration` or `FunctionExpression` this is always a `BlockStatement. + * - For a `TSDeclareFunction` this is always `undefined`. + * - For a `TSEmptyBodyFunctionExpression` this is always `null`. + */ + body: BlockStatement | Expression | null | undefined; + /** + * This is only `true` if and only if the node is a `TSDeclareFunction` and it has `declare`: + * ``` + * declare function foo(...) {...} + * ``` + */ + declare: boolean; + /** + * This is only ever `true` if and only the node is an `ArrowFunctionExpression` and the body + * is an expression: + * ``` + * (() => 1) + * ``` + */ + expression: boolean; + /** + * Whether the function is a generator function: + * ``` + * function *foo(...) {...} + * const x = function *(...) {...} + * ``` + * This is always `false` for arrow functions as they cannot be generators. + */ + generator: boolean; + /** + * The function's name. + * - For an `ArrowFunctionExpression` this is always `null`. + * - For a `FunctionExpression` this may be `null` if the name is omitted. + * - For a `FunctionDeclaration` or `TSDeclareFunction` this may be `null` if + * and only if the parent is an `ExportDefaultDeclaration`. + */ + id: Identifier | null; + /** + * The list of parameters declared for the function. + */ + params: Parameter[]; + /** + * The return type annotation for the function. + */ + returnType: TSTypeAnnotation | undefined; + /** + * The generic type parameter declaration for the function. + */ + typeParameters: TSTypeParameterDeclaration | undefined; +} +export declare type FunctionDeclaration = FunctionDeclarationWithName | FunctionDeclarationWithOptionalName; +declare interface FunctionDeclarationBase extends FunctionBase { + type: AST_NODE_TYPES.FunctionDeclaration; + body: BlockStatement; + declare: false; + expression: false; +} +export declare interface FunctionDeclarationWithName extends FunctionDeclarationBase { + id: Identifier; +} +export declare interface FunctionDeclarationWithOptionalName extends FunctionDeclarationBase { + id: Identifier | null; +} +export declare interface FunctionExpression extends FunctionBase { + type: AST_NODE_TYPES.FunctionExpression; + body: BlockStatement; + expression: false; +} +export declare type FunctionLike = ArrowFunctionExpression | FunctionDeclaration | FunctionExpression | TSDeclareFunction | TSEmptyBodyFunctionExpression; +export declare interface Identifier extends BaseNode { + type: AST_NODE_TYPES.Identifier; + name: string; + typeAnnotation: TSTypeAnnotation | undefined; + optional: boolean; + decorators: Decorator[]; +} +export declare interface IdentifierToken extends BaseToken { + type: AST_TOKEN_TYPES.Identifier; +} +export declare interface IfStatement extends BaseNode { + type: AST_NODE_TYPES.IfStatement; + test: Expression; + consequent: Statement; + alternate: Statement | null; +} +export declare interface ImportAttribute extends BaseNode { + type: AST_NODE_TYPES.ImportAttribute; + key: Identifier | Literal; + value: Literal; +} +export declare type ImportClause = ImportDefaultSpecifier | ImportNamespaceSpecifier | ImportSpecifier; +export declare interface ImportDeclaration extends BaseNode { + type: AST_NODE_TYPES.ImportDeclaration; + /** + * The assertions declared for the export. + * ``` + * import * from 'mod' assert { type: 'json' }; + * ``` + * @deprecated -- Replaced with {@link `attributes`}. + */ + assertions: ImportAttribute[]; + /** + * The attributes declared for the export. + * ``` + * import * from 'mod' with { type: 'json' }; + * ``` + */ + attributes: ImportAttribute[]; + /** + * The kind of the import. + */ + importKind: ImportKind; + /** + * The source module being imported from. + */ + source: StringLiteral; + /** + * The specifiers being imported. + * If this is an empty array then either there are no specifiers: + * ``` + * import {} from 'mod'; + * ``` + * Or it is a side-effect import: + * ``` + * import 'mod'; + * ``` + */ + specifiers: ImportClause[]; +} +export declare interface ImportDefaultSpecifier extends BaseNode { + type: AST_NODE_TYPES.ImportDefaultSpecifier; + local: Identifier; +} +export declare interface ImportExpression extends BaseNode { + type: AST_NODE_TYPES.ImportExpression; + source: Expression; + attributes: Expression | null; +} +declare type ImportKind = ExportAndImportKind; +export declare interface ImportNamespaceSpecifier extends BaseNode { + type: AST_NODE_TYPES.ImportNamespaceSpecifier; + local: Identifier; +} +export declare interface ImportSpecifier extends BaseNode { + type: AST_NODE_TYPES.ImportSpecifier; + local: Identifier; + imported: Identifier; + importKind: ImportKind; +} +export declare type IterationStatement = DoWhileStatement | ForInStatement | ForOfStatement | ForStatement | WhileStatement; +export declare interface JSXAttribute extends BaseNode { + type: AST_NODE_TYPES.JSXAttribute; + name: JSXIdentifier | JSXNamespacedName; + value: JSXElement | JSXExpression | Literal | null; +} +export declare type JSXChild = JSXElement | JSXExpression | JSXFragment | JSXText; +export declare interface JSXClosingElement extends BaseNode { + type: AST_NODE_TYPES.JSXClosingElement; + name: JSXTagNameExpression; +} +export declare interface JSXClosingFragment extends BaseNode { + type: AST_NODE_TYPES.JSXClosingFragment; +} +export declare interface JSXElement extends BaseNode { + type: AST_NODE_TYPES.JSXElement; + openingElement: JSXOpeningElement; + closingElement: JSXClosingElement | null; + children: JSXChild[]; +} +export declare interface JSXEmptyExpression extends BaseNode { + type: AST_NODE_TYPES.JSXEmptyExpression; +} +export declare type JSXExpression = JSXExpressionContainer | JSXSpreadChild; +export declare interface JSXExpressionContainer extends BaseNode { + type: AST_NODE_TYPES.JSXExpressionContainer; + expression: Expression | JSXEmptyExpression; +} +export declare interface JSXFragment extends BaseNode { + type: AST_NODE_TYPES.JSXFragment; + openingFragment: JSXOpeningFragment; + closingFragment: JSXClosingFragment; + children: JSXChild[]; +} +export declare interface JSXIdentifier extends BaseNode { + type: AST_NODE_TYPES.JSXIdentifier; + name: string; +} +export declare interface JSXIdentifierToken extends BaseToken { + type: AST_TOKEN_TYPES.JSXIdentifier; +} +export declare interface JSXMemberExpression extends BaseNode { + type: AST_NODE_TYPES.JSXMemberExpression; + object: JSXTagNameExpression; + property: JSXIdentifier; +} +export declare interface JSXNamespacedName extends BaseNode { + type: AST_NODE_TYPES.JSXNamespacedName; + namespace: JSXIdentifier; + name: JSXIdentifier; +} +export declare interface JSXOpeningElement extends BaseNode { + type: AST_NODE_TYPES.JSXOpeningElement; + typeArguments: TSTypeParameterInstantiation | undefined; + selfClosing: boolean; + name: JSXTagNameExpression; + attributes: (JSXAttribute | JSXSpreadAttribute)[]; +} +export declare interface JSXOpeningFragment extends BaseNode { + type: AST_NODE_TYPES.JSXOpeningFragment; +} +export declare interface JSXSpreadAttribute extends BaseNode { + type: AST_NODE_TYPES.JSXSpreadAttribute; + argument: Expression; +} +export declare interface JSXSpreadChild extends BaseNode { + type: AST_NODE_TYPES.JSXSpreadChild; + expression: Expression | JSXEmptyExpression; +} +export declare type JSXTagNameExpression = JSXIdentifier | JSXMemberExpression | JSXNamespacedName; +export declare interface JSXText extends BaseNode { + type: AST_NODE_TYPES.JSXText; + value: string; + raw: string; +} +export declare interface JSXTextToken extends BaseToken { + type: AST_TOKEN_TYPES.JSXText; +} +export declare interface KeywordToken extends BaseToken { + type: AST_TOKEN_TYPES.Keyword; +} +export declare interface LabeledStatement extends BaseNode { + type: AST_NODE_TYPES.LabeledStatement; + label: Identifier; + body: Statement; +} +export declare type LeftHandSideExpression = ArrayExpression | ArrayPattern | ArrowFunctionExpression | CallExpression | ClassExpression | FunctionExpression | Identifier | JSXElement | JSXFragment | LiteralExpression | MemberExpression | MetaProperty | ObjectExpression | ObjectPattern | SequenceExpression | Super | TaggedTemplateExpression | ThisExpression | TSAsExpression | TSNonNullExpression | TSTypeAssertion; +export declare interface LetOrConstOrVarDeclaration extends BaseNode { + type: AST_NODE_TYPES.VariableDeclaration; + /** + * The variables declared by this declaration. + * Note that there may be 0 declarations (i.e. `const;`). + * ``` + * let x; + * let y, z; + * ``` + */ + declarations: LetOrConstOrVarDeclarator[]; + /** + * Whether the declaration is `declare`d + * ``` + * declare const x = 1; + * ``` + */ + declare: boolean; + /** + * The keyword used to declare the variable(s) + * ``` + * const x = 1; + * let y = 2; + * var z = 3; + * ``` + */ + kind: 'const' | 'let' | 'var'; +} +export declare interface LetOrConstOrVarDeclarator extends BaseNode { + type: AST_NODE_TYPES.VariableDeclarator; + id: BindingName; + init: Expression | null; + definite: boolean; +} +export declare interface LineComment extends BaseToken { + type: AST_TOKEN_TYPES.Line; +} +export declare type Literal = BigIntLiteral | BooleanLiteral | NullLiteral | NumberLiteral | RegExpLiteral | StringLiteral; +declare interface LiteralBase extends BaseNode { + type: AST_NODE_TYPES.Literal; + raw: string; + value: RegExp | bigint | boolean | number | string | null; +} +export declare type LiteralExpression = Literal | TemplateLiteral; +export declare interface LogicalExpression extends BaseNode { + type: AST_NODE_TYPES.LogicalExpression; + operator: '??' | '&&' | '||'; + left: Expression; + right: Expression; +} +export declare type MemberExpression = MemberExpressionComputedName | MemberExpressionNonComputedName; +declare interface MemberExpressionBase extends BaseNode { + object: Expression; + property: Expression | Identifier | PrivateIdentifier; + computed: boolean; + optional: boolean; +} +export declare interface MemberExpressionComputedName extends MemberExpressionBase { + type: AST_NODE_TYPES.MemberExpression; + property: Expression; + computed: true; +} +export declare interface MemberExpressionNonComputedName extends MemberExpressionBase { + type: AST_NODE_TYPES.MemberExpression; + property: Identifier | PrivateIdentifier; + computed: false; +} +export declare interface MetaProperty extends BaseNode { + type: AST_NODE_TYPES.MetaProperty; + meta: Identifier; + property: Identifier; +} +export declare type MethodDefinition = MethodDefinitionComputedName | MethodDefinitionNonComputedName; +/** this should not be directly used - instead use MethodDefinitionComputedNameBase or MethodDefinitionNonComputedNameBase */ +declare interface MethodDefinitionBase extends BaseNode { + key: PropertyName; + value: FunctionExpression | TSEmptyBodyFunctionExpression; + computed: boolean; + static: boolean; + kind: 'constructor' | 'get' | 'method' | 'set'; + optional: boolean; + decorators: Decorator[]; + accessibility: Accessibility | undefined; + override: boolean; +} +export declare interface MethodDefinitionComputedName extends MethodDefinitionComputedNameBase { + type: AST_NODE_TYPES.MethodDefinition; +} +declare interface MethodDefinitionComputedNameBase extends MethodDefinitionBase { + key: PropertyNameComputed; + computed: true; +} +export declare interface MethodDefinitionNonComputedName extends ClassMethodDefinitionNonComputedNameBase { + type: AST_NODE_TYPES.MethodDefinition; +} +declare interface MethodDefinitionNonComputedNameBase extends MethodDefinitionBase { + key: PropertyNameNonComputed; + computed: false; +} +export declare type NamedExportDeclarations = ClassDeclarationWithName | ClassDeclarationWithOptionalName | FunctionDeclarationWithName | FunctionDeclarationWithOptionalName | TSDeclareFunction | TSEnumDeclaration | TSImportEqualsDeclaration | TSInterfaceDeclaration | TSModuleDeclaration | TSTypeAliasDeclaration | VariableDeclaration; +export declare interface NewExpression extends BaseNode { + type: AST_NODE_TYPES.NewExpression; + callee: Expression; + arguments: CallExpressionArgument[]; + typeArguments: TSTypeParameterInstantiation | undefined; +} +export declare type Node = AccessorProperty | ArrayExpression | ArrayPattern | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BinaryExpression | BlockStatement | BreakStatement | CallExpression | CatchClause | ChainExpression | ClassBody | ClassDeclaration | ClassExpression | ConditionalExpression | ContinueStatement | DebuggerStatement | Decorator | DoWhileStatement | EmptyStatement | ExportAllDeclaration | ExportDefaultDeclaration | ExportNamedDeclaration | ExportSpecifier | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | FunctionDeclaration | FunctionExpression | Identifier | IfStatement | ImportAttribute | ImportDeclaration | ImportDefaultSpecifier | ImportExpression | ImportNamespaceSpecifier | ImportSpecifier | JSXAttribute | JSXClosingElement | JSXClosingFragment | JSXElement | JSXEmptyExpression | JSXExpressionContainer | JSXFragment | JSXIdentifier | JSXMemberExpression | JSXNamespacedName | JSXOpeningElement | JSXOpeningFragment | JSXSpreadAttribute | JSXSpreadChild | JSXText | LabeledStatement | Literal | LogicalExpression | MemberExpression | MetaProperty | MethodDefinition | NewExpression | ObjectExpression | ObjectPattern | PrivateIdentifier | Program | Property | PropertyDefinition | RestElement | ReturnStatement | SequenceExpression | SpreadElement | StaticBlock | Super | SwitchCase | SwitchStatement | TaggedTemplateExpression | TemplateElement | TemplateLiteral | ThisExpression | ThrowStatement | TryStatement | TSAbstractAccessorProperty | TSAbstractKeyword | TSAbstractMethodDefinition | TSAbstractPropertyDefinition | TSAnyKeyword | TSArrayType | TSAsExpression | TSAsyncKeyword | TSBigIntKeyword | TSBooleanKeyword | TSCallSignatureDeclaration | TSClassImplements | TSConditionalType | TSConstructorType | TSConstructSignatureDeclaration | TSDeclareFunction | TSDeclareKeyword | TSEmptyBodyFunctionExpression | TSEnumBody | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSExportKeyword | TSExternalModuleReference | TSFunctionType | TSImportEqualsDeclaration | TSImportType | TSIndexedAccessType | TSIndexSignature | TSInferType | TSInstantiationExpression | TSInterfaceBody | TSInterfaceDeclaration | TSInterfaceHeritage | TSIntersectionType | TSIntrinsicKeyword | TSLiteralType | TSMappedType | TSMethodSignature | TSModuleBlock | TSModuleDeclaration | TSNamedTupleMember | TSNamespaceExportDeclaration | TSNeverKeyword | TSNonNullExpression | TSNullKeyword | TSNumberKeyword | TSObjectKeyword | TSOptionalType | TSParameterProperty | TSPrivateKeyword | TSPropertySignature | TSProtectedKeyword | TSPublicKeyword | TSQualifiedName | TSReadonlyKeyword | TSRestType | TSSatisfiesExpression | TSStaticKeyword | TSStringKeyword | TSSymbolKeyword | TSTemplateLiteralType | TSThisType | TSTupleType | TSTypeAliasDeclaration | TSTypeAnnotation | TSTypeAssertion | TSTypeLiteral | TSTypeOperator | TSTypeParameter | TSTypeParameterDeclaration | TSTypeParameterInstantiation | TSTypePredicate | TSTypeQuery | TSTypeReference | TSUndefinedKeyword | TSUnionType | TSUnknownKeyword | TSVoidKeyword | UnaryExpression | UpdateExpression | VariableDeclaration | VariableDeclarator | WhileStatement | WithStatement | YieldExpression; +export declare interface NodeOrTokenData { + /** + * The source location information of the node. + * + * The loc property is defined as nullable by ESTree, but ESLint requires this property. + * + * @see {SourceLocation} + */ + loc: SourceLocation; + /** + * @see {Range} + */ + range: Range; + type: string; +} +export declare interface NullLiteral extends LiteralBase { + value: null; + raw: 'null'; +} +export declare interface NullToken extends BaseToken { + type: AST_TOKEN_TYPES.Null; +} +export declare interface NumberLiteral extends LiteralBase { + value: number; +} +export declare interface NumericToken extends BaseToken { + type: AST_TOKEN_TYPES.Numeric; +} +export declare interface ObjectExpression extends BaseNode { + type: AST_NODE_TYPES.ObjectExpression; + properties: ObjectLiteralElement[]; +} +export declare type ObjectLiteralElement = Property | SpreadElement; +export declare type ObjectLiteralElementLike = ObjectLiteralElement; +export declare interface ObjectPattern extends BaseNode { + type: AST_NODE_TYPES.ObjectPattern; + properties: (Property | RestElement)[]; + typeAnnotation: TSTypeAnnotation | undefined; + optional: boolean; + decorators: Decorator[]; +} +export declare type OptionalRangeAndLoc = Pick> & { + range?: Range; + loc?: SourceLocation; +}; +export declare type Parameter = ArrayPattern | AssignmentPattern | Identifier | ObjectPattern | RestElement | TSParameterProperty; +export declare interface Position { + /** + * Line number (1-indexed) + */ + line: number; + /** + * Column number on the line (0-indexed) + */ + column: number; +} +export declare type PrimaryExpression = ArrayExpression | ArrayPattern | ClassExpression | FunctionExpression | Identifier | JSXElement | JSXFragment | JSXOpeningElement | LiteralExpression | MetaProperty | ObjectExpression | ObjectPattern | Super | TemplateLiteral | ThisExpression | TSNullKeyword; +export declare interface PrivateIdentifier extends BaseNode { + type: AST_NODE_TYPES.PrivateIdentifier; + name: string; +} +export declare interface Program extends NodeOrTokenData { + type: AST_NODE_TYPES.Program; + body: ProgramStatement[]; + sourceType: 'module' | 'script'; + comments: Comment[] | undefined; + tokens: Token[] | undefined; +} +export declare type ProgramStatement = ExportAllDeclaration | ExportDefaultDeclaration | ExportNamedDeclaration | ImportDeclaration | Statement | TSImportEqualsDeclaration | TSNamespaceExportDeclaration; +export declare type Property = PropertyComputedName | PropertyNonComputedName; +declare interface PropertyBase extends BaseNode { + type: AST_NODE_TYPES.Property; + key: PropertyName; + value: AssignmentPattern | BindingName | Expression | TSEmptyBodyFunctionExpression; + computed: boolean; + method: boolean; + shorthand: boolean; + optional: boolean; + kind: 'get' | 'init' | 'set'; +} +export declare interface PropertyComputedName extends PropertyBase { + key: PropertyNameComputed; + computed: true; +} +export declare type PropertyDefinition = PropertyDefinitionComputedName | PropertyDefinitionNonComputedName; +declare interface PropertyDefinitionBase extends BaseNode { + key: PropertyName; + value: Expression | null; + computed: boolean; + static: boolean; + declare: boolean; + readonly: boolean; + decorators: Decorator[]; + accessibility: Accessibility | undefined; + optional: boolean; + definite: boolean; + typeAnnotation: TSTypeAnnotation | undefined; + override: boolean; +} +export declare interface PropertyDefinitionComputedName extends PropertyDefinitionComputedNameBase { + type: AST_NODE_TYPES.PropertyDefinition; +} +declare interface PropertyDefinitionComputedNameBase extends PropertyDefinitionBase { + key: PropertyNameComputed; + computed: true; +} +export declare interface PropertyDefinitionNonComputedName extends ClassPropertyDefinitionNonComputedNameBase { + type: AST_NODE_TYPES.PropertyDefinition; +} +declare interface PropertyDefinitionNonComputedNameBase extends PropertyDefinitionBase { + key: PropertyNameNonComputed; + computed: false; +} +export declare type PropertyName = ClassPropertyNameNonComputed | PropertyNameComputed | PropertyNameNonComputed; +export declare type PropertyNameComputed = Expression; +export declare type PropertyNameNonComputed = Identifier | NumberLiteral | StringLiteral; +export declare interface PropertyNonComputedName extends PropertyBase { + key: PropertyNameNonComputed; + computed: false; +} +export declare interface PunctuatorToken extends BaseToken { + type: AST_TOKEN_TYPES.Punctuator; + value: ValueOf; +} +export declare interface PunctuatorTokenToText extends AssignmentOperatorToText { + [SyntaxKind.OpenBraceToken]: '{'; + [SyntaxKind.CloseBraceToken]: '}'; + [SyntaxKind.OpenParenToken]: '('; + [SyntaxKind.CloseParenToken]: ')'; + [SyntaxKind.OpenBracketToken]: '['; + [SyntaxKind.CloseBracketToken]: ']'; + [SyntaxKind.DotToken]: '.'; + [SyntaxKind.DotDotDotToken]: '...'; + [SyntaxKind.SemicolonToken]: ';'; + [SyntaxKind.CommaToken]: ','; + [SyntaxKind.QuestionDotToken]: '?.'; + [SyntaxKind.LessThanToken]: '<'; + [SyntaxKind.LessThanSlashToken]: ''; + [SyntaxKind.LessThanEqualsToken]: '<='; + [SyntaxKind.GreaterThanEqualsToken]: '>='; + [SyntaxKind.EqualsEqualsToken]: '=='; + [SyntaxKind.ExclamationEqualsToken]: '!='; + [SyntaxKind.EqualsEqualsEqualsToken]: '==='; + [SyntaxKind.ExclamationEqualsEqualsToken]: '!=='; + [SyntaxKind.EqualsGreaterThanToken]: '=>'; + [SyntaxKind.PlusToken]: '+'; + [SyntaxKind.MinusToken]: '-'; + [SyntaxKind.AsteriskToken]: '*'; + [SyntaxKind.AsteriskAsteriskToken]: '**'; + [SyntaxKind.SlashToken]: '/'; + [SyntaxKind.PercentToken]: '%'; + [SyntaxKind.PlusPlusToken]: '++'; + [SyntaxKind.MinusMinusToken]: '--'; + [SyntaxKind.LessThanLessThanToken]: '<<'; + [SyntaxKind.GreaterThanGreaterThanToken]: '>>'; + [SyntaxKind.GreaterThanGreaterThanGreaterThanToken]: '>>>'; + [SyntaxKind.AmpersandToken]: '&'; + [SyntaxKind.BarToken]: '|'; + [SyntaxKind.CaretToken]: '^'; + [SyntaxKind.ExclamationToken]: '!'; + [SyntaxKind.TildeToken]: '~'; + [SyntaxKind.AmpersandAmpersandToken]: '&&'; + [SyntaxKind.BarBarToken]: '||'; + [SyntaxKind.QuestionToken]: '?'; + [SyntaxKind.ColonToken]: ':'; + [SyntaxKind.AtToken]: '@'; + [SyntaxKind.QuestionQuestionToken]: '??'; + [SyntaxKind.BacktickToken]: '`'; + [SyntaxKind.HashToken]: '#'; +} +/** + * An array of two numbers. + * Both numbers are a 0-based index which is the position in the array of source code characters. + * The first is the start position of the node, the second is the end position of the node. + */ +export declare type Range = [number, number]; +export declare interface RegExpLiteral extends LiteralBase { + value: RegExp | null; + regex: { + pattern: string; + flags: string; + }; +} +export declare interface RegularExpressionToken extends BaseToken { + type: AST_TOKEN_TYPES.RegularExpression; + regex: { + pattern: string; + flags: string; + }; +} +export declare interface RestElement extends BaseNode { + type: AST_NODE_TYPES.RestElement; + argument: DestructuringPattern; + typeAnnotation: TSTypeAnnotation | undefined; + optional: boolean; + value: AssignmentPattern | undefined; + decorators: Decorator[]; +} +export declare interface ReturnStatement extends BaseNode { + type: AST_NODE_TYPES.ReturnStatement; + argument: Expression | null; +} +export declare interface SequenceExpression extends BaseNode { + type: AST_NODE_TYPES.SequenceExpression; + expressions: Expression[]; +} +export declare interface SourceLocation { + /** + * The position of the first character of the parsed source region + */ + start: Position; + /** + * The position of the first character after the parsed source region + */ + end: Position; +} +export declare interface SpreadElement extends BaseNode { + type: AST_NODE_TYPES.SpreadElement; + argument: Expression; +} +export declare type Statement = BlockStatement | BreakStatement | ClassDeclarationWithName | ContinueStatement | DebuggerStatement | DoWhileStatement | EmptyStatement | ExportAllDeclaration | ExportDefaultDeclaration | ExportNamedDeclaration | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | FunctionDeclarationWithName | IfStatement | ImportDeclaration | LabeledStatement | ReturnStatement | SwitchStatement | ThrowStatement | TryStatement | TSDeclareFunction | TSEnumDeclaration | TSExportAssignment | TSImportEqualsDeclaration | TSInterfaceDeclaration | TSModuleDeclaration | TSNamespaceExportDeclaration | TSTypeAliasDeclaration | VariableDeclaration | WhileStatement | WithStatement; +export declare interface StaticBlock extends BaseNode { + type: AST_NODE_TYPES.StaticBlock; + body: Statement[]; +} +export declare interface StringLiteral extends LiteralBase { + value: string; +} +export declare interface StringToken extends BaseToken { + type: AST_TOKEN_TYPES.String; +} +export declare interface Super extends BaseNode { + type: AST_NODE_TYPES.Super; +} +export declare interface SwitchCase extends BaseNode { + type: AST_NODE_TYPES.SwitchCase; + test: Expression | null; + consequent: Statement[]; +} +export declare interface SwitchStatement extends BaseNode { + type: AST_NODE_TYPES.SwitchStatement; + discriminant: Expression; + cases: SwitchCase[]; +} +export declare interface TaggedTemplateExpression extends BaseNode { + quasi: TemplateLiteral; + tag: Expression; + type: AST_NODE_TYPES.TaggedTemplateExpression; + typeArguments: TSTypeParameterInstantiation | undefined; +} +export declare interface TemplateElement extends BaseNode { + type: AST_NODE_TYPES.TemplateElement; + value: { + raw: string; + cooked: string; + }; + tail: boolean; +} +export declare interface TemplateLiteral extends BaseNode { + type: AST_NODE_TYPES.TemplateLiteral; + quasis: TemplateElement[]; + expressions: Expression[]; +} +export declare interface TemplateToken extends BaseToken { + type: AST_TOKEN_TYPES.Template; +} +export declare interface ThisExpression extends BaseNode { + type: AST_NODE_TYPES.ThisExpression; +} +export declare interface ThrowStatement extends BaseNode { + type: AST_NODE_TYPES.ThrowStatement; + argument: Statement | TSAsExpression | null; +} +export declare type Token = BooleanToken | Comment | IdentifierToken | JSXIdentifierToken | JSXTextToken | KeywordToken | NullToken | NumericToken | PunctuatorToken | RegularExpressionToken | StringToken | TemplateToken; +export declare interface TryStatement extends BaseNode { + type: AST_NODE_TYPES.TryStatement; + block: BlockStatement; + handler: CatchClause | null; + finalizer: BlockStatement | null; +} +export declare type TSAbstractAccessorProperty = TSAbstractAccessorPropertyComputedName | TSAbstractAccessorPropertyNonComputedName; +export declare interface TSAbstractAccessorPropertyComputedName extends PropertyDefinitionComputedNameBase { + type: AST_NODE_TYPES.TSAbstractAccessorProperty; + value: null; +} +export declare interface TSAbstractAccessorPropertyNonComputedName extends PropertyDefinitionNonComputedNameBase { + type: AST_NODE_TYPES.TSAbstractAccessorProperty; + value: null; +} +export declare interface TSAbstractKeyword extends BaseNode { + type: AST_NODE_TYPES.TSAbstractKeyword; +} +export declare type TSAbstractMethodDefinition = TSAbstractMethodDefinitionComputedName | TSAbstractMethodDefinitionNonComputedName; +export declare interface TSAbstractMethodDefinitionComputedName extends MethodDefinitionComputedNameBase { + type: AST_NODE_TYPES.TSAbstractMethodDefinition; +} +export declare interface TSAbstractMethodDefinitionNonComputedName extends MethodDefinitionNonComputedNameBase { + type: AST_NODE_TYPES.TSAbstractMethodDefinition; +} +export declare type TSAbstractPropertyDefinition = TSAbstractPropertyDefinitionComputedName | TSAbstractPropertyDefinitionNonComputedName; +export declare interface TSAbstractPropertyDefinitionComputedName extends PropertyDefinitionComputedNameBase { + type: AST_NODE_TYPES.TSAbstractPropertyDefinition; + value: null; +} +export declare interface TSAbstractPropertyDefinitionNonComputedName extends PropertyDefinitionNonComputedNameBase { + type: AST_NODE_TYPES.TSAbstractPropertyDefinition; + value: null; +} +export declare interface TSAnyKeyword extends BaseNode { + type: AST_NODE_TYPES.TSAnyKeyword; +} +export declare interface TSArrayType extends BaseNode { + type: AST_NODE_TYPES.TSArrayType; + elementType: TypeNode; +} +export declare interface TSAsExpression extends BaseNode { + type: AST_NODE_TYPES.TSAsExpression; + expression: Expression; + typeAnnotation: TypeNode; +} +export declare interface TSAsyncKeyword extends BaseNode { + type: AST_NODE_TYPES.TSAsyncKeyword; +} +export declare interface TSBigIntKeyword extends BaseNode { + type: AST_NODE_TYPES.TSBigIntKeyword; +} +export declare interface TSBooleanKeyword extends BaseNode { + type: AST_NODE_TYPES.TSBooleanKeyword; +} +export declare interface TSCallSignatureDeclaration extends TSFunctionSignatureBase { + type: AST_NODE_TYPES.TSCallSignatureDeclaration; +} +export declare interface TSClassImplements extends TSHeritageBase { + type: AST_NODE_TYPES.TSClassImplements; +} +export declare interface TSConditionalType extends BaseNode { + type: AST_NODE_TYPES.TSConditionalType; + checkType: TypeNode; + extendsType: TypeNode; + trueType: TypeNode; + falseType: TypeNode; +} +export declare interface TSConstructorType extends TSFunctionSignatureBase { + type: AST_NODE_TYPES.TSConstructorType; + abstract: boolean; +} +export declare interface TSConstructSignatureDeclaration extends TSFunctionSignatureBase { + type: AST_NODE_TYPES.TSConstructSignatureDeclaration; +} +export declare type TSDeclareFunction = TSDeclareFunctionNoDeclare | TSDeclareFunctionWithDeclare; +declare interface TSDeclareFunctionBase extends FunctionBase { + type: AST_NODE_TYPES.TSDeclareFunction; + /** + * TS1183: An implementation cannot be declared in ambient contexts. + */ + body: undefined; + /** + * Whether the declaration has `declare` modifier. + */ + declare: boolean; + expression: false; +} +/** + * Function declaration without the `declare` keyword: + * ``` + * function foo(): void; + * ``` + * This can either be an overload signature or a declaration in an ambient context + * (e.g. `declare module`) + */ +export declare interface TSDeclareFunctionNoDeclare extends TSDeclareFunctionBase { + declare: false; + /** + * - TS1221: Generators are not allowed in an ambient context. + * - TS1222: An overload signature cannot be declared as a generator. + */ + generator: false; +} +/** + * Function declaration with the `declare` keyword: + * ``` + * declare function foo(): void; + * ``` + */ +export declare interface TSDeclareFunctionWithDeclare extends TSDeclareFunctionBase { + /** + * TS1040: 'async' modifier cannot be used in an ambient context. + */ + async: false; + declare: true; + /** + * TS1221: Generators are not allowed in an ambient context. + */ + generator: false; +} +export declare interface TSDeclareKeyword extends BaseNode { + type: AST_NODE_TYPES.TSDeclareKeyword; +} +export declare interface TSEmptyBodyFunctionExpression extends FunctionBase { + type: AST_NODE_TYPES.TSEmptyBodyFunctionExpression; + body: null; + id: null; +} +export declare interface TSEnumBody extends BaseNode { + type: AST_NODE_TYPES.TSEnumBody; + members: TSEnumMember[]; + parent: TSEnumDeclaration; +} +export declare interface TSEnumDeclaration extends BaseNode { + type: AST_NODE_TYPES.TSEnumDeclaration; + /** + * The body of the enum. + */ + body: TSEnumBody; + /** + * Whether this is a `const` enum. + * ``` + * const enum Foo {...} + * ``` + */ + const: boolean; + /** + * Whether this is a `declare`d enum. + * ``` + * declare enum Foo {...} + * ``` + */ + declare: boolean; + /** + * The enum name. + */ + id: Identifier; + /** + * The enum members. + * @deprecated Use {@link body} instead. + */ + members: TSEnumMember[]; +} +export declare type TSEnumMember = TSEnumMemberComputedName | TSEnumMemberNonComputedName; +declare interface TSEnumMemberBase extends BaseNode { + type: AST_NODE_TYPES.TSEnumMember; + id: PropertyNameComputed | PropertyNameNonComputed; + initializer: Expression | undefined; + computed: boolean; + parent: TSEnumBody; +} +/** + * this should only really happen in semantically invalid code (errors 1164 and 2452) + * + * VALID: + * enum Foo { ['a'] } + * + * INVALID: + * const x = 'a'; + * enum Foo { [x] } + * enum Bar { ['a' + 'b'] } + */ +export declare interface TSEnumMemberComputedName extends TSEnumMemberBase { + id: PropertyNameComputed; + computed: true; +} +export declare interface TSEnumMemberNonComputedName extends TSEnumMemberBase { + id: PropertyNameNonComputed; + computed: false; +} +export declare interface TSExportAssignment extends BaseNode { + type: AST_NODE_TYPES.TSExportAssignment; + expression: Expression; +} +export declare interface TSExportKeyword extends BaseNode { + type: AST_NODE_TYPES.TSExportKeyword; +} +export declare interface TSExternalModuleReference extends BaseNode { + type: AST_NODE_TYPES.TSExternalModuleReference; + expression: StringLiteral; +} +declare interface TSFunctionSignatureBase extends BaseNode { + params: Parameter[]; + returnType: TSTypeAnnotation | undefined; + typeParameters: TSTypeParameterDeclaration | undefined; +} +export declare interface TSFunctionType extends TSFunctionSignatureBase { + type: AST_NODE_TYPES.TSFunctionType; +} +declare interface TSHeritageBase extends BaseNode { + expression: Expression; + typeArguments: TSTypeParameterInstantiation | undefined; +} +export declare interface TSImportEqualsDeclaration extends BaseNode { + type: AST_NODE_TYPES.TSImportEqualsDeclaration; + /** + * The locally imported name + */ + id: Identifier; + /** + * The value being aliased. + * ``` + * import F1 = A; + * import F2 = A.B.C; + * import F3 = require('mod'); + * ``` + */ + moduleReference: EntityName | TSExternalModuleReference; + importKind: ImportKind; +} +export declare interface TSImportType extends BaseNode { + type: AST_NODE_TYPES.TSImportType; + argument: TypeNode; + qualifier: EntityName | null; + typeArguments: TSTypeParameterInstantiation | null; +} +export declare interface TSIndexedAccessType extends BaseNode { + type: AST_NODE_TYPES.TSIndexedAccessType; + objectType: TypeNode; + indexType: TypeNode; +} +export declare interface TSIndexSignature extends BaseNode { + type: AST_NODE_TYPES.TSIndexSignature; + parameters: Parameter[]; + typeAnnotation: TSTypeAnnotation | undefined; + readonly: boolean; + accessibility: Accessibility | undefined; + static: boolean; +} +export declare interface TSInferType extends BaseNode { + type: AST_NODE_TYPES.TSInferType; + typeParameter: TSTypeParameter; +} +export declare interface TSInstantiationExpression extends BaseNode { + type: AST_NODE_TYPES.TSInstantiationExpression; + expression: Expression; + typeArguments: TSTypeParameterInstantiation; +} +export declare interface TSInterfaceBody extends BaseNode { + type: AST_NODE_TYPES.TSInterfaceBody; + body: TypeElement[]; +} +export declare interface TSInterfaceDeclaration extends BaseNode { + type: AST_NODE_TYPES.TSInterfaceDeclaration; + /** + * The body of the interface + */ + body: TSInterfaceBody; + /** + * Whether the interface was `declare`d, `undefined` otherwise + */ + declare: boolean; + /** + * The types this interface `extends` + */ + extends: TSInterfaceHeritage[]; + /** + * The name of this interface + */ + id: Identifier; + /** + * The generic type parameters declared for the interface. + */ + typeParameters: TSTypeParameterDeclaration | undefined; +} +export declare interface TSInterfaceHeritage extends TSHeritageBase { + type: AST_NODE_TYPES.TSInterfaceHeritage; +} +export declare interface TSIntersectionType extends BaseNode { + type: AST_NODE_TYPES.TSIntersectionType; + types: TypeNode[]; +} +export declare interface TSIntrinsicKeyword extends BaseNode { + type: AST_NODE_TYPES.TSIntrinsicKeyword; +} +export declare interface TSLiteralType extends BaseNode { + type: AST_NODE_TYPES.TSLiteralType; + literal: LiteralExpression | UnaryExpression | UpdateExpression; +} +export declare interface TSMappedType extends BaseNode { + type: AST_NODE_TYPES.TSMappedType; + /** @deprecated Use {@link `constraint`} and {@link `key`} instead. */ + typeParameter: TSTypeParameter; + constraint: TypeNode; + key: Identifier; + readonly: boolean | '-' | '+' | undefined; + optional: boolean | '-' | '+' | undefined; + typeAnnotation: TypeNode | undefined; + nameType: TypeNode | null; +} +export declare type TSMethodSignature = TSMethodSignatureComputedName | TSMethodSignatureNonComputedName; +declare interface TSMethodSignatureBase extends BaseNode { + type: AST_NODE_TYPES.TSMethodSignature; + accessibility: Accessibility | undefined; + computed: boolean; + key: PropertyName; + kind: 'get' | 'method' | 'set'; + optional: boolean; + params: Parameter[]; + readonly: boolean; + returnType: TSTypeAnnotation | undefined; + static: boolean; + typeParameters: TSTypeParameterDeclaration | undefined; +} +export declare interface TSMethodSignatureComputedName extends TSMethodSignatureBase { + key: PropertyNameComputed; + computed: true; +} +export declare interface TSMethodSignatureNonComputedName extends TSMethodSignatureBase { + key: PropertyNameNonComputed; + computed: false; +} +export declare interface TSModuleBlock extends BaseNode { + type: AST_NODE_TYPES.TSModuleBlock; + body: ProgramStatement[]; +} +export declare type TSModuleDeclaration = TSModuleDeclarationGlobal | TSModuleDeclarationModule | TSModuleDeclarationNamespace; +declare interface TSModuleDeclarationBase extends BaseNode { + type: AST_NODE_TYPES.TSModuleDeclaration; + /** + * The name of the module + * ``` + * namespace A {} + * namespace A.B.C {} + * module 'a' {} + * ``` + */ + id: Identifier | Literal | TSQualifiedName; + /** + * The body of the module. + * This can only be `undefined` for the code `declare module 'mod';` + * This will be a `TSModuleDeclaration` if the name is "nested" (`Foo.Bar`). + */ + body?: TSModuleBlock; + /** + * Whether this is a global declaration + * ``` + * declare global {} + * ``` + */ + global: boolean; + /** + * Whether the module is `declare`d + * ``` + * declare namespace F {} + * ``` + */ + declare: boolean; + /** + * The keyword used to define this module declaration + * ``` + * namespace Foo {} + * ^^^^^^^^^ + * + * module 'foo' {} + * ^^^^^^ + * + * declare global {} + * ^^^^^^ + * ``` + */ + kind: TSModuleDeclarationKind; +} +export declare interface TSModuleDeclarationGlobal extends TSModuleDeclarationBase { + kind: 'global'; + body: TSModuleBlock; + id: Identifier; +} +export declare type TSModuleDeclarationKind = 'global' | 'module' | 'namespace'; +export declare type TSModuleDeclarationModule = TSModuleDeclarationModuleWithIdentifierId | TSModuleDeclarationModuleWithStringId; +declare interface TSModuleDeclarationModuleBase extends TSModuleDeclarationBase { + kind: 'module'; +} +export declare interface TSModuleDeclarationModuleWithIdentifierId extends TSModuleDeclarationModuleBase { + kind: 'module'; + id: Identifier; + body: TSModuleBlock; +} +export declare type TSModuleDeclarationModuleWithStringId = TSModuleDeclarationModuleWithStringIdDeclared | TSModuleDeclarationModuleWithStringIdNotDeclared; +export declare interface TSModuleDeclarationModuleWithStringIdDeclared extends TSModuleDeclarationModuleBase { + kind: 'module'; + id: StringLiteral; + declare: true; + body?: TSModuleBlock; +} +export declare interface TSModuleDeclarationModuleWithStringIdNotDeclared extends TSModuleDeclarationModuleBase { + kind: 'module'; + id: StringLiteral; + declare: false; + body: TSModuleBlock; +} +export declare interface TSModuleDeclarationNamespace extends TSModuleDeclarationBase { + kind: 'namespace'; + id: Identifier | TSQualifiedName; + body: TSModuleBlock; +} +export declare interface TSNamedTupleMember extends BaseNode { + type: AST_NODE_TYPES.TSNamedTupleMember; + elementType: TypeNode; + label: Identifier; + optional: boolean; +} +export declare interface TSNamespaceExportDeclaration extends BaseNode { + type: AST_NODE_TYPES.TSNamespaceExportDeclaration; + /** + * The name the global variable being exported to + */ + id: Identifier; +} +export declare interface TSNeverKeyword extends BaseNode { + type: AST_NODE_TYPES.TSNeverKeyword; +} +export declare interface TSNonNullExpression extends BaseNode { + type: AST_NODE_TYPES.TSNonNullExpression; + expression: Expression; +} +export declare interface TSNullKeyword extends BaseNode { + type: AST_NODE_TYPES.TSNullKeyword; +} +export declare interface TSNumberKeyword extends BaseNode { + type: AST_NODE_TYPES.TSNumberKeyword; +} +export declare interface TSObjectKeyword extends BaseNode { + type: AST_NODE_TYPES.TSObjectKeyword; +} +export declare interface TSOptionalType extends BaseNode { + type: AST_NODE_TYPES.TSOptionalType; + typeAnnotation: TypeNode; +} +export declare interface TSParameterProperty extends BaseNode { + type: AST_NODE_TYPES.TSParameterProperty; + accessibility: Accessibility | undefined; + readonly: boolean; + static: boolean; + override: boolean; + parameter: AssignmentPattern | BindingName | RestElement; + decorators: Decorator[]; +} +export declare interface TSPrivateKeyword extends BaseNode { + type: AST_NODE_TYPES.TSPrivateKeyword; +} +export declare type TSPropertySignature = TSPropertySignatureComputedName | TSPropertySignatureNonComputedName; +declare interface TSPropertySignatureBase extends BaseNode { + type: AST_NODE_TYPES.TSPropertySignature; + key: PropertyName; + optional: boolean; + computed: boolean; + typeAnnotation: TSTypeAnnotation | undefined; + readonly: boolean; + static: boolean; + accessibility: Accessibility | undefined; +} +export declare interface TSPropertySignatureComputedName extends TSPropertySignatureBase { + key: PropertyNameComputed; + computed: true; +} +export declare interface TSPropertySignatureNonComputedName extends TSPropertySignatureBase { + key: PropertyNameNonComputed; + computed: false; +} +export declare interface TSProtectedKeyword extends BaseNode { + type: AST_NODE_TYPES.TSProtectedKeyword; +} +export declare interface TSPublicKeyword extends BaseNode { + type: AST_NODE_TYPES.TSPublicKeyword; +} +export declare interface TSQualifiedName extends BaseNode { + type: AST_NODE_TYPES.TSQualifiedName; + left: EntityName; + right: Identifier; +} +export declare interface TSReadonlyKeyword extends BaseNode { + type: AST_NODE_TYPES.TSReadonlyKeyword; +} +export declare interface TSRestType extends BaseNode { + type: AST_NODE_TYPES.TSRestType; + typeAnnotation: TypeNode; +} +export declare interface TSSatisfiesExpression extends BaseNode { + type: AST_NODE_TYPES.TSSatisfiesExpression; + expression: Expression; + typeAnnotation: TypeNode; +} +export declare interface TSStaticKeyword extends BaseNode { + type: AST_NODE_TYPES.TSStaticKeyword; +} +export declare interface TSStringKeyword extends BaseNode { + type: AST_NODE_TYPES.TSStringKeyword; +} +export declare interface TSSymbolKeyword extends BaseNode { + type: AST_NODE_TYPES.TSSymbolKeyword; +} +export declare interface TSTemplateLiteralType extends BaseNode { + type: AST_NODE_TYPES.TSTemplateLiteralType; + quasis: TemplateElement[]; + types: TypeNode[]; +} +export declare interface TSThisType extends BaseNode { + type: AST_NODE_TYPES.TSThisType; +} +export declare interface TSTupleType extends BaseNode { + type: AST_NODE_TYPES.TSTupleType; + elementTypes: TypeNode[]; +} +export declare interface TSTypeAliasDeclaration extends BaseNode { + type: AST_NODE_TYPES.TSTypeAliasDeclaration; + /** + * Whether the type was `declare`d. + * ``` + * declare type T = 1; + * ``` + */ + declare: boolean; + /** + * The name of the type. + */ + id: Identifier; + /** + * The "value" (type) of the declaration + */ + typeAnnotation: TypeNode; + /** + * The generic type parameters declared for the type. + */ + typeParameters: TSTypeParameterDeclaration | undefined; +} +export declare interface TSTypeAnnotation extends BaseNode { + type: AST_NODE_TYPES.TSTypeAnnotation; + typeAnnotation: TypeNode; +} +export declare interface TSTypeAssertion extends BaseNode { + type: AST_NODE_TYPES.TSTypeAssertion; + typeAnnotation: TypeNode; + expression: Expression; +} +export declare interface TSTypeLiteral extends BaseNode { + type: AST_NODE_TYPES.TSTypeLiteral; + members: TypeElement[]; +} +export declare interface TSTypeOperator extends BaseNode { + type: AST_NODE_TYPES.TSTypeOperator; + operator: 'keyof' | 'readonly' | 'unique'; + typeAnnotation: TypeNode | undefined; +} +export declare interface TSTypeParameter extends BaseNode { + type: AST_NODE_TYPES.TSTypeParameter; + name: Identifier; + constraint: TypeNode | undefined; + default: TypeNode | undefined; + in: boolean; + out: boolean; + const: boolean; +} +export declare interface TSTypeParameterDeclaration extends BaseNode { + type: AST_NODE_TYPES.TSTypeParameterDeclaration; + params: TSTypeParameter[]; +} +export declare interface TSTypeParameterInstantiation extends BaseNode { + type: AST_NODE_TYPES.TSTypeParameterInstantiation; + params: TypeNode[]; +} +export declare interface TSTypePredicate extends BaseNode { + type: AST_NODE_TYPES.TSTypePredicate; + asserts: boolean; + parameterName: Identifier | TSThisType; + typeAnnotation: TSTypeAnnotation | null; +} +export declare interface TSTypeQuery extends BaseNode { + type: AST_NODE_TYPES.TSTypeQuery; + exprName: EntityName | TSImportType; + typeArguments: TSTypeParameterInstantiation | undefined; +} +export declare interface TSTypeReference extends BaseNode { + type: AST_NODE_TYPES.TSTypeReference; + typeArguments: TSTypeParameterInstantiation | undefined; + typeName: EntityName; +} +export declare type TSUnaryExpression = AwaitExpression | LeftHandSideExpression | UnaryExpression | UpdateExpression; +export declare interface TSUndefinedKeyword extends BaseNode { + type: AST_NODE_TYPES.TSUndefinedKeyword; +} +export declare interface TSUnionType extends BaseNode { + type: AST_NODE_TYPES.TSUnionType; + types: TypeNode[]; +} +export declare interface TSUnknownKeyword extends BaseNode { + type: AST_NODE_TYPES.TSUnknownKeyword; +} +export declare interface TSVoidKeyword extends BaseNode { + type: AST_NODE_TYPES.TSVoidKeyword; +} +export declare type TypeElement = TSCallSignatureDeclaration | TSConstructSignatureDeclaration | TSIndexSignature | TSMethodSignature | TSPropertySignature; +export declare type TypeNode = TSAbstractKeyword | TSAnyKeyword | TSArrayType | TSAsyncKeyword | TSBigIntKeyword | TSBooleanKeyword | TSConditionalType | TSConstructorType | TSDeclareKeyword | TSExportKeyword | TSFunctionType | TSImportType | TSIndexedAccessType | TSInferType | TSIntersectionType | TSIntrinsicKeyword | TSLiteralType | TSMappedType | TSNamedTupleMember | TSNeverKeyword | TSNullKeyword | TSNumberKeyword | TSObjectKeyword | TSOptionalType | TSPrivateKeyword | TSProtectedKeyword | TSPublicKeyword | TSQualifiedName | TSReadonlyKeyword | TSRestType | TSStaticKeyword | TSStringKeyword | TSSymbolKeyword | TSTemplateLiteralType | TSThisType | TSTupleType | TSTypeLiteral | TSTypeOperator | TSTypePredicate | TSTypeQuery | TSTypeReference | TSUndefinedKeyword | TSUnionType | TSUnknownKeyword | TSVoidKeyword; +export declare interface UnaryExpression extends UnaryExpressionBase { + type: AST_NODE_TYPES.UnaryExpression; + operator: '-' | '!' | '+' | '~' | 'delete' | 'typeof' | 'void'; +} +declare interface UnaryExpressionBase extends BaseNode { + operator: string; + prefix: boolean; + argument: Expression; +} +export declare interface UpdateExpression extends UnaryExpressionBase { + type: AST_NODE_TYPES.UpdateExpression; + operator: '--' | '++'; +} +export declare type UsingDeclaration = UsingInForOfDeclaration | UsingInNormalContextDeclaration; +export declare type UsingDeclarator = UsingInForOfDeclarator | UsingInNomalConextDeclarator; +export declare interface UsingInForOfDeclaration extends BaseNode { + type: AST_NODE_TYPES.VariableDeclaration; + /** + * The variables declared by this declaration. + * Note that there may be 0 declarations (i.e. `const;`). + * ``` + * for(using x of y){} + * ``` + */ + declarations: UsingInForOfDeclarator[]; + /** + * This value will always be `false` + * because 'declare' modifier cannot appear on a 'using' declaration. + */ + declare: false; + /** + * The keyword used to declare the variable(s) + * ``` + * for(using x of y){} + * for(await using x of y){} + * ``` + */ + kind: 'await using' | 'using'; +} +export declare interface UsingInForOfDeclarator extends BaseNode { + type: AST_NODE_TYPES.VariableDeclarator; + id: Identifier; + init: null; + definite: boolean; +} +export declare interface UsingInNomalConextDeclarator extends BaseNode { + type: AST_NODE_TYPES.VariableDeclarator; + id: Identifier; + init: Expression; + definite: boolean; +} +export declare interface UsingInNormalContextDeclaration extends BaseNode { + type: AST_NODE_TYPES.VariableDeclaration; + /** + * The variables declared by this declaration. + * Note that there may be 0 declarations (i.e. `const;`). + * ``` + * using x = 1; + * using y =1, z = 2; + * ``` + */ + declarations: UsingInNomalConextDeclarator[]; + /** + * This value will always be `false` + * because 'declare' modifier cannot appear on a 'using' declaration. + */ + declare: false; + /** + * The keyword used to declare the variable(s) + * ``` + * using x = 1; + * await using y = 2; + * ``` + */ + kind: 'await using' | 'using'; +} +declare type ValueOf = T[keyof T]; +export declare type VariableDeclaration = LetOrConstOrVarDeclaration | UsingDeclaration; +export declare type VariableDeclarator = LetOrConstOrVarDeclarator | UsingDeclarator; +export declare interface WhileStatement extends BaseNode { + type: AST_NODE_TYPES.WhileStatement; + test: Expression; + body: Statement; +} +export declare interface WithStatement extends BaseNode { + type: AST_NODE_TYPES.WithStatement; + object: Expression; + body: Statement; +} +export declare interface YieldExpression extends BaseNode { + type: AST_NODE_TYPES.YieldExpression; + delegate: boolean; + argument: Expression | undefined; +} +export {}; +//# sourceMappingURL=ast-spec.d.ts.map \ No newline at end of file diff --git a/packages/types/dist/generated/ast-spec.d.ts.map b/packages/types/dist/generated/ast-spec.d.ts.map new file mode 100644 index 000000000000..3412fa4517ec --- /dev/null +++ b/packages/types/dist/generated/ast-spec.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ast-spec.d.ts","sourceRoot":"","sources":["../../src/generated/ast-spec.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/types/dist/generated/ast-spec.js b/packages/types/dist/generated/ast-spec.js new file mode 100644 index 000000000000..c4e25603fc4b --- /dev/null +++ b/packages/types/dist/generated/ast-spec.js @@ -0,0 +1,203 @@ +"use strict"; +/********************************************** + * DO NOT MODIFY THIS FILE MANUALLY * + * * + * THIS FILE HAS BEEN COPIED FROM ast-spec. * + * ANY CHANGES WILL BE LOST ON THE NEXT BUILD * + * * + * MAKE CHANGES TO ast-spec AND THEN RUN * + * yarn build * + **********************************************/ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.AST_TOKEN_TYPES = exports.AST_NODE_TYPES = void 0; +var AST_NODE_TYPES; +(function (AST_NODE_TYPES) { + AST_NODE_TYPES["AccessorProperty"] = "AccessorProperty"; + AST_NODE_TYPES["ArrayExpression"] = "ArrayExpression"; + AST_NODE_TYPES["ArrayPattern"] = "ArrayPattern"; + AST_NODE_TYPES["ArrowFunctionExpression"] = "ArrowFunctionExpression"; + AST_NODE_TYPES["AssignmentExpression"] = "AssignmentExpression"; + AST_NODE_TYPES["AssignmentPattern"] = "AssignmentPattern"; + AST_NODE_TYPES["AwaitExpression"] = "AwaitExpression"; + AST_NODE_TYPES["BinaryExpression"] = "BinaryExpression"; + AST_NODE_TYPES["BlockStatement"] = "BlockStatement"; + AST_NODE_TYPES["BreakStatement"] = "BreakStatement"; + AST_NODE_TYPES["CallExpression"] = "CallExpression"; + AST_NODE_TYPES["CatchClause"] = "CatchClause"; + AST_NODE_TYPES["ChainExpression"] = "ChainExpression"; + AST_NODE_TYPES["ClassBody"] = "ClassBody"; + AST_NODE_TYPES["ClassDeclaration"] = "ClassDeclaration"; + AST_NODE_TYPES["ClassExpression"] = "ClassExpression"; + AST_NODE_TYPES["ConditionalExpression"] = "ConditionalExpression"; + AST_NODE_TYPES["ContinueStatement"] = "ContinueStatement"; + AST_NODE_TYPES["DebuggerStatement"] = "DebuggerStatement"; + AST_NODE_TYPES["Decorator"] = "Decorator"; + AST_NODE_TYPES["DoWhileStatement"] = "DoWhileStatement"; + AST_NODE_TYPES["EmptyStatement"] = "EmptyStatement"; + AST_NODE_TYPES["ExportAllDeclaration"] = "ExportAllDeclaration"; + AST_NODE_TYPES["ExportDefaultDeclaration"] = "ExportDefaultDeclaration"; + AST_NODE_TYPES["ExportNamedDeclaration"] = "ExportNamedDeclaration"; + AST_NODE_TYPES["ExportSpecifier"] = "ExportSpecifier"; + AST_NODE_TYPES["ExpressionStatement"] = "ExpressionStatement"; + AST_NODE_TYPES["ForInStatement"] = "ForInStatement"; + AST_NODE_TYPES["ForOfStatement"] = "ForOfStatement"; + AST_NODE_TYPES["ForStatement"] = "ForStatement"; + AST_NODE_TYPES["FunctionDeclaration"] = "FunctionDeclaration"; + AST_NODE_TYPES["FunctionExpression"] = "FunctionExpression"; + AST_NODE_TYPES["Identifier"] = "Identifier"; + AST_NODE_TYPES["IfStatement"] = "IfStatement"; + AST_NODE_TYPES["ImportAttribute"] = "ImportAttribute"; + AST_NODE_TYPES["ImportDeclaration"] = "ImportDeclaration"; + AST_NODE_TYPES["ImportDefaultSpecifier"] = "ImportDefaultSpecifier"; + AST_NODE_TYPES["ImportExpression"] = "ImportExpression"; + AST_NODE_TYPES["ImportNamespaceSpecifier"] = "ImportNamespaceSpecifier"; + AST_NODE_TYPES["ImportSpecifier"] = "ImportSpecifier"; + AST_NODE_TYPES["JSXAttribute"] = "JSXAttribute"; + AST_NODE_TYPES["JSXClosingElement"] = "JSXClosingElement"; + AST_NODE_TYPES["JSXClosingFragment"] = "JSXClosingFragment"; + AST_NODE_TYPES["JSXElement"] = "JSXElement"; + AST_NODE_TYPES["JSXEmptyExpression"] = "JSXEmptyExpression"; + AST_NODE_TYPES["JSXExpressionContainer"] = "JSXExpressionContainer"; + AST_NODE_TYPES["JSXFragment"] = "JSXFragment"; + AST_NODE_TYPES["JSXIdentifier"] = "JSXIdentifier"; + AST_NODE_TYPES["JSXMemberExpression"] = "JSXMemberExpression"; + AST_NODE_TYPES["JSXNamespacedName"] = "JSXNamespacedName"; + AST_NODE_TYPES["JSXOpeningElement"] = "JSXOpeningElement"; + AST_NODE_TYPES["JSXOpeningFragment"] = "JSXOpeningFragment"; + AST_NODE_TYPES["JSXSpreadAttribute"] = "JSXSpreadAttribute"; + AST_NODE_TYPES["JSXSpreadChild"] = "JSXSpreadChild"; + AST_NODE_TYPES["JSXText"] = "JSXText"; + AST_NODE_TYPES["LabeledStatement"] = "LabeledStatement"; + AST_NODE_TYPES["Literal"] = "Literal"; + AST_NODE_TYPES["LogicalExpression"] = "LogicalExpression"; + AST_NODE_TYPES["MemberExpression"] = "MemberExpression"; + AST_NODE_TYPES["MetaProperty"] = "MetaProperty"; + AST_NODE_TYPES["MethodDefinition"] = "MethodDefinition"; + AST_NODE_TYPES["NewExpression"] = "NewExpression"; + AST_NODE_TYPES["ObjectExpression"] = "ObjectExpression"; + AST_NODE_TYPES["ObjectPattern"] = "ObjectPattern"; + AST_NODE_TYPES["PrivateIdentifier"] = "PrivateIdentifier"; + AST_NODE_TYPES["Program"] = "Program"; + AST_NODE_TYPES["Property"] = "Property"; + AST_NODE_TYPES["PropertyDefinition"] = "PropertyDefinition"; + AST_NODE_TYPES["RestElement"] = "RestElement"; + AST_NODE_TYPES["ReturnStatement"] = "ReturnStatement"; + AST_NODE_TYPES["SequenceExpression"] = "SequenceExpression"; + AST_NODE_TYPES["SpreadElement"] = "SpreadElement"; + AST_NODE_TYPES["StaticBlock"] = "StaticBlock"; + AST_NODE_TYPES["Super"] = "Super"; + AST_NODE_TYPES["SwitchCase"] = "SwitchCase"; + AST_NODE_TYPES["SwitchStatement"] = "SwitchStatement"; + AST_NODE_TYPES["TaggedTemplateExpression"] = "TaggedTemplateExpression"; + AST_NODE_TYPES["TemplateElement"] = "TemplateElement"; + AST_NODE_TYPES["TemplateLiteral"] = "TemplateLiteral"; + AST_NODE_TYPES["ThisExpression"] = "ThisExpression"; + AST_NODE_TYPES["ThrowStatement"] = "ThrowStatement"; + AST_NODE_TYPES["TryStatement"] = "TryStatement"; + AST_NODE_TYPES["UnaryExpression"] = "UnaryExpression"; + AST_NODE_TYPES["UpdateExpression"] = "UpdateExpression"; + AST_NODE_TYPES["VariableDeclaration"] = "VariableDeclaration"; + AST_NODE_TYPES["VariableDeclarator"] = "VariableDeclarator"; + AST_NODE_TYPES["WhileStatement"] = "WhileStatement"; + AST_NODE_TYPES["WithStatement"] = "WithStatement"; + AST_NODE_TYPES["YieldExpression"] = "YieldExpression"; + /** + * TS-prefixed nodes + */ + AST_NODE_TYPES["TSAbstractAccessorProperty"] = "TSAbstractAccessorProperty"; + AST_NODE_TYPES["TSAbstractKeyword"] = "TSAbstractKeyword"; + AST_NODE_TYPES["TSAbstractMethodDefinition"] = "TSAbstractMethodDefinition"; + AST_NODE_TYPES["TSAbstractPropertyDefinition"] = "TSAbstractPropertyDefinition"; + AST_NODE_TYPES["TSAnyKeyword"] = "TSAnyKeyword"; + AST_NODE_TYPES["TSArrayType"] = "TSArrayType"; + AST_NODE_TYPES["TSAsExpression"] = "TSAsExpression"; + AST_NODE_TYPES["TSAsyncKeyword"] = "TSAsyncKeyword"; + AST_NODE_TYPES["TSBigIntKeyword"] = "TSBigIntKeyword"; + AST_NODE_TYPES["TSBooleanKeyword"] = "TSBooleanKeyword"; + AST_NODE_TYPES["TSCallSignatureDeclaration"] = "TSCallSignatureDeclaration"; + AST_NODE_TYPES["TSClassImplements"] = "TSClassImplements"; + AST_NODE_TYPES["TSConditionalType"] = "TSConditionalType"; + AST_NODE_TYPES["TSConstructorType"] = "TSConstructorType"; + AST_NODE_TYPES["TSConstructSignatureDeclaration"] = "TSConstructSignatureDeclaration"; + AST_NODE_TYPES["TSDeclareFunction"] = "TSDeclareFunction"; + AST_NODE_TYPES["TSDeclareKeyword"] = "TSDeclareKeyword"; + AST_NODE_TYPES["TSEmptyBodyFunctionExpression"] = "TSEmptyBodyFunctionExpression"; + AST_NODE_TYPES["TSEnumDeclaration"] = "TSEnumDeclaration"; + AST_NODE_TYPES["TSEnumBody"] = "TSEnumBody"; + AST_NODE_TYPES["TSEnumMember"] = "TSEnumMember"; + AST_NODE_TYPES["TSExportAssignment"] = "TSExportAssignment"; + AST_NODE_TYPES["TSExportKeyword"] = "TSExportKeyword"; + AST_NODE_TYPES["TSExternalModuleReference"] = "TSExternalModuleReference"; + AST_NODE_TYPES["TSFunctionType"] = "TSFunctionType"; + AST_NODE_TYPES["TSInstantiationExpression"] = "TSInstantiationExpression"; + AST_NODE_TYPES["TSImportEqualsDeclaration"] = "TSImportEqualsDeclaration"; + AST_NODE_TYPES["TSImportType"] = "TSImportType"; + AST_NODE_TYPES["TSIndexedAccessType"] = "TSIndexedAccessType"; + AST_NODE_TYPES["TSIndexSignature"] = "TSIndexSignature"; + AST_NODE_TYPES["TSInferType"] = "TSInferType"; + AST_NODE_TYPES["TSInterfaceBody"] = "TSInterfaceBody"; + AST_NODE_TYPES["TSInterfaceDeclaration"] = "TSInterfaceDeclaration"; + AST_NODE_TYPES["TSInterfaceHeritage"] = "TSInterfaceHeritage"; + AST_NODE_TYPES["TSIntersectionType"] = "TSIntersectionType"; + AST_NODE_TYPES["TSIntrinsicKeyword"] = "TSIntrinsicKeyword"; + AST_NODE_TYPES["TSLiteralType"] = "TSLiteralType"; + AST_NODE_TYPES["TSMappedType"] = "TSMappedType"; + AST_NODE_TYPES["TSMethodSignature"] = "TSMethodSignature"; + AST_NODE_TYPES["TSModuleBlock"] = "TSModuleBlock"; + AST_NODE_TYPES["TSModuleDeclaration"] = "TSModuleDeclaration"; + AST_NODE_TYPES["TSNamedTupleMember"] = "TSNamedTupleMember"; + AST_NODE_TYPES["TSNamespaceExportDeclaration"] = "TSNamespaceExportDeclaration"; + AST_NODE_TYPES["TSNeverKeyword"] = "TSNeverKeyword"; + AST_NODE_TYPES["TSNonNullExpression"] = "TSNonNullExpression"; + AST_NODE_TYPES["TSNullKeyword"] = "TSNullKeyword"; + AST_NODE_TYPES["TSNumberKeyword"] = "TSNumberKeyword"; + AST_NODE_TYPES["TSObjectKeyword"] = "TSObjectKeyword"; + AST_NODE_TYPES["TSOptionalType"] = "TSOptionalType"; + AST_NODE_TYPES["TSParameterProperty"] = "TSParameterProperty"; + AST_NODE_TYPES["TSPrivateKeyword"] = "TSPrivateKeyword"; + AST_NODE_TYPES["TSPropertySignature"] = "TSPropertySignature"; + AST_NODE_TYPES["TSProtectedKeyword"] = "TSProtectedKeyword"; + AST_NODE_TYPES["TSPublicKeyword"] = "TSPublicKeyword"; + AST_NODE_TYPES["TSQualifiedName"] = "TSQualifiedName"; + AST_NODE_TYPES["TSReadonlyKeyword"] = "TSReadonlyKeyword"; + AST_NODE_TYPES["TSRestType"] = "TSRestType"; + AST_NODE_TYPES["TSSatisfiesExpression"] = "TSSatisfiesExpression"; + AST_NODE_TYPES["TSStaticKeyword"] = "TSStaticKeyword"; + AST_NODE_TYPES["TSStringKeyword"] = "TSStringKeyword"; + AST_NODE_TYPES["TSSymbolKeyword"] = "TSSymbolKeyword"; + AST_NODE_TYPES["TSTemplateLiteralType"] = "TSTemplateLiteralType"; + AST_NODE_TYPES["TSThisType"] = "TSThisType"; + AST_NODE_TYPES["TSTupleType"] = "TSTupleType"; + AST_NODE_TYPES["TSTypeAliasDeclaration"] = "TSTypeAliasDeclaration"; + AST_NODE_TYPES["TSTypeAnnotation"] = "TSTypeAnnotation"; + AST_NODE_TYPES["TSTypeAssertion"] = "TSTypeAssertion"; + AST_NODE_TYPES["TSTypeLiteral"] = "TSTypeLiteral"; + AST_NODE_TYPES["TSTypeOperator"] = "TSTypeOperator"; + AST_NODE_TYPES["TSTypeParameter"] = "TSTypeParameter"; + AST_NODE_TYPES["TSTypeParameterDeclaration"] = "TSTypeParameterDeclaration"; + AST_NODE_TYPES["TSTypeParameterInstantiation"] = "TSTypeParameterInstantiation"; + AST_NODE_TYPES["TSTypePredicate"] = "TSTypePredicate"; + AST_NODE_TYPES["TSTypeQuery"] = "TSTypeQuery"; + AST_NODE_TYPES["TSTypeReference"] = "TSTypeReference"; + AST_NODE_TYPES["TSUndefinedKeyword"] = "TSUndefinedKeyword"; + AST_NODE_TYPES["TSUnionType"] = "TSUnionType"; + AST_NODE_TYPES["TSUnknownKeyword"] = "TSUnknownKeyword"; + AST_NODE_TYPES["TSVoidKeyword"] = "TSVoidKeyword"; +})(AST_NODE_TYPES || (exports.AST_NODE_TYPES = AST_NODE_TYPES = {})); +var AST_TOKEN_TYPES; +(function (AST_TOKEN_TYPES) { + AST_TOKEN_TYPES["Boolean"] = "Boolean"; + AST_TOKEN_TYPES["Identifier"] = "Identifier"; + AST_TOKEN_TYPES["JSXIdentifier"] = "JSXIdentifier"; + AST_TOKEN_TYPES["JSXText"] = "JSXText"; + AST_TOKEN_TYPES["Keyword"] = "Keyword"; + AST_TOKEN_TYPES["Null"] = "Null"; + AST_TOKEN_TYPES["Numeric"] = "Numeric"; + AST_TOKEN_TYPES["Punctuator"] = "Punctuator"; + AST_TOKEN_TYPES["RegularExpression"] = "RegularExpression"; + AST_TOKEN_TYPES["String"] = "String"; + AST_TOKEN_TYPES["Template"] = "Template"; + AST_TOKEN_TYPES["Block"] = "Block"; + AST_TOKEN_TYPES["Line"] = "Line"; +})(AST_TOKEN_TYPES || (exports.AST_TOKEN_TYPES = AST_TOKEN_TYPES = {})); +//# sourceMappingURL=ast-spec.js.map \ No newline at end of file diff --git a/packages/types/dist/generated/ast-spec.js.map b/packages/types/dist/generated/ast-spec.js.map new file mode 100644 index 000000000000..2164abf4e5b4 --- /dev/null +++ b/packages/types/dist/generated/ast-spec.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ast-spec.js","sourceRoot":"","sources":["../../src/generated/ast-spec.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/types/dist/index.d.ts b/packages/types/dist/index.d.ts new file mode 100644 index 000000000000..3d39147f54b1 --- /dev/null +++ b/packages/types/dist/index.d.ts @@ -0,0 +1,5 @@ +export { AST_NODE_TYPES, AST_TOKEN_TYPES } from './generated/ast-spec'; +export * from './lib'; +export * from './parser-options'; +export * from './ts-estree'; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/packages/types/dist/index.d.ts.map b/packages/types/dist/index.d.ts.map new file mode 100644 index 000000000000..6a86c5376242 --- /dev/null +++ b/packages/types/dist/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvE,cAAc,OAAO,CAAC;AACtB,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC"} \ No newline at end of file diff --git a/packages/types/dist/index.js b/packages/types/dist/index.js new file mode 100644 index 000000000000..00ff6a1752ea --- /dev/null +++ b/packages/types/dist/index.js @@ -0,0 +1,24 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.AST_TOKEN_TYPES = exports.AST_NODE_TYPES = void 0; +var ast_spec_1 = require("./generated/ast-spec"); +Object.defineProperty(exports, "AST_NODE_TYPES", { enumerable: true, get: function () { return ast_spec_1.AST_NODE_TYPES; } }); +Object.defineProperty(exports, "AST_TOKEN_TYPES", { enumerable: true, get: function () { return ast_spec_1.AST_TOKEN_TYPES; } }); +__exportStar(require("./lib"), exports); +__exportStar(require("./parser-options"), exports); +__exportStar(require("./ts-estree"), exports); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/packages/types/dist/index.js.map b/packages/types/dist/index.js.map new file mode 100644 index 000000000000..075ac156feda --- /dev/null +++ b/packages/types/dist/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,iDAAuE;AAA9D,0GAAA,cAAc,OAAA;AAAE,2GAAA,eAAe,OAAA;AACxC,wCAAsB;AACtB,mDAAiC;AACjC,8CAA4B"} \ No newline at end of file diff --git a/packages/types/dist/lib.d.ts b/packages/types/dist/lib.d.ts new file mode 100644 index 000000000000..75f07d543b25 --- /dev/null +++ b/packages/types/dist/lib.d.ts @@ -0,0 +1,3 @@ +type Lib = 'es5' | 'es6' | 'es2015' | 'es7' | 'es2016' | 'es2017' | 'es2018' | 'es2019' | 'es2020' | 'es2021' | 'es2022' | 'es2023' | 'esnext' | 'dom' | 'dom.iterable' | 'dom.asynciterable' | 'webworker' | 'webworker.importscripts' | 'webworker.iterable' | 'webworker.asynciterable' | 'scripthost' | 'es2015.core' | 'es2015.collection' | 'es2015.generator' | 'es2015.iterable' | 'es2015.promise' | 'es2015.proxy' | 'es2015.reflect' | 'es2015.symbol' | 'es2015.symbol.wellknown' | 'es2016.array.include' | 'es2016.intl' | 'es2017.date' | 'es2017.object' | 'es2017.sharedmemory' | 'es2017.string' | 'es2017.intl' | 'es2017.typedarrays' | 'es2018.asyncgenerator' | 'es2018.asynciterable' | 'es2018.intl' | 'es2018.promise' | 'es2018.regexp' | 'es2019.array' | 'es2019.object' | 'es2019.string' | 'es2019.symbol' | 'es2019.intl' | 'es2020.bigint' | 'es2020.date' | 'es2020.promise' | 'es2020.sharedmemory' | 'es2020.string' | 'es2020.symbol.wellknown' | 'es2020.intl' | 'es2020.number' | 'es2021.promise' | 'es2021.string' | 'es2021.weakref' | 'es2021.intl' | 'es2022.array' | 'es2022.error' | 'es2022.intl' | 'es2022.object' | 'es2022.sharedmemory' | 'es2022.string' | 'es2022.regexp' | 'es2023.array' | 'es2023.collection' | 'esnext.array' | 'esnext.collection' | 'esnext.symbol' | 'esnext.asynciterable' | 'esnext.intl' | 'esnext.disposable' | 'esnext.bigint' | 'esnext.string' | 'esnext.promise' | 'esnext.weakref' | 'esnext.decorators' | 'esnext.object' | 'decorators' | 'decorators.legacy' | 'es2016.full' | 'es2017.full' | 'es2018.full' | 'es2019.full' | 'es2020.full' | 'es2021.full' | 'es2022.full' | 'es2023.full' | 'esnext.full' | 'lib'; +export { Lib }; +//# sourceMappingURL=lib.d.ts.map \ No newline at end of file diff --git a/packages/types/dist/lib.d.ts.map b/packages/types/dist/lib.d.ts.map new file mode 100644 index 000000000000..6b5f6b7c84cb --- /dev/null +++ b/packages/types/dist/lib.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AAKA,KAAK,GAAG,GACJ,KAAK,GACL,KAAK,GACL,QAAQ,GACR,KAAK,GACL,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,KAAK,GACL,cAAc,GACd,mBAAmB,GACnB,WAAW,GACX,yBAAyB,GACzB,oBAAoB,GACpB,yBAAyB,GACzB,YAAY,GACZ,aAAa,GACb,mBAAmB,GACnB,kBAAkB,GAClB,iBAAiB,GACjB,gBAAgB,GAChB,cAAc,GACd,gBAAgB,GAChB,eAAe,GACf,yBAAyB,GACzB,sBAAsB,GACtB,aAAa,GACb,aAAa,GACb,eAAe,GACf,qBAAqB,GACrB,eAAe,GACf,aAAa,GACb,oBAAoB,GACpB,uBAAuB,GACvB,sBAAsB,GACtB,aAAa,GACb,gBAAgB,GAChB,eAAe,GACf,cAAc,GACd,eAAe,GACf,eAAe,GACf,eAAe,GACf,aAAa,GACb,eAAe,GACf,aAAa,GACb,gBAAgB,GAChB,qBAAqB,GACrB,eAAe,GACf,yBAAyB,GACzB,aAAa,GACb,eAAe,GACf,gBAAgB,GAChB,eAAe,GACf,gBAAgB,GAChB,aAAa,GACb,cAAc,GACd,cAAc,GACd,aAAa,GACb,eAAe,GACf,qBAAqB,GACrB,eAAe,GACf,eAAe,GACf,cAAc,GACd,mBAAmB,GACnB,cAAc,GACd,mBAAmB,GACnB,eAAe,GACf,sBAAsB,GACtB,aAAa,GACb,mBAAmB,GACnB,eAAe,GACf,eAAe,GACf,gBAAgB,GAChB,gBAAgB,GAChB,mBAAmB,GACnB,eAAe,GACf,YAAY,GACZ,mBAAmB,GACnB,aAAa,GACb,aAAa,GACb,aAAa,GACb,aAAa,GACb,aAAa,GACb,aAAa,GACb,aAAa,GACb,aAAa,GACb,aAAa,GACb,KAAK,CAAC;AAEV,OAAO,EAAE,GAAG,EAAE,CAAC"} \ No newline at end of file diff --git a/packages/types/dist/lib.js b/packages/types/dist/lib.js new file mode 100644 index 000000000000..1507d2e68a91 --- /dev/null +++ b/packages/types/dist/lib.js @@ -0,0 +1,7 @@ +"use strict"; +// THIS CODE WAS AUTOMATICALLY GENERATED +// DO NOT EDIT THIS CODE BY HAND +// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE: +// npx nx generate-lib @typescript-eslint/repo-tools +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=lib.js.map \ No newline at end of file diff --git a/packages/types/dist/lib.js.map b/packages/types/dist/lib.js.map new file mode 100644 index 000000000000..23e634e79f14 --- /dev/null +++ b/packages/types/dist/lib.js.map @@ -0,0 +1 @@ +{"version":3,"file":"lib.js","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,mEAAmE;AACnE,oDAAoD"} \ No newline at end of file diff --git a/packages/types/dist/parser-options.d.ts b/packages/types/dist/parser-options.d.ts new file mode 100644 index 000000000000..0f0fd00a84e8 --- /dev/null +++ b/packages/types/dist/parser-options.d.ts @@ -0,0 +1,72 @@ +import type { Program } from 'typescript'; +import type { Lib } from './lib'; +type DebugLevel = ('eslint' | 'typescript-eslint' | 'typescript')[] | boolean; +type CacheDurationSeconds = number | 'Infinity'; +type EcmaVersion = 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 | 2021 | 2022 | 2023 | 2024 | 'latest' | undefined; +type SourceTypeClassic = 'module' | 'script'; +type SourceType = SourceTypeClassic | 'commonjs'; +type JSDocParsingMode = 'all' | 'none' | 'type-info'; +/** + * Granular options to configure the project service. + */ +interface ProjectServiceOptions { + /** + * Globs of files to allow running with the default project compiler options + * despite not being matched by the project service. + */ + allowDefaultProject?: string[] | undefined; + /** + * Path to a TSConfig to use instead of TypeScript's default project configuration. + */ + defaultProject?: string | undefined | null; + /** + * Maximum number of files to keep open with the project service. + */ + maximumOpenFiles?: number; + /** + * Send changes to files as diffs instead of replacing the entire files. + */ + EXPERIMENTAL_editWithDiffs?: boolean; + /** + * The maximum number of files {@link allowDefaultProject} may match. + * Each file match slows down linting, so if you do need to use this, please + * file an informative issue on typescript-eslint explaining why - so we can + * help you avoid using it! + * @default 8 + */ + maximumDefaultProjectFileMatchCount_THIS_WILL_SLOW_DOWN_LINTING?: number; +} +interface ParserOptions { + ecmaFeatures?: { + globalReturn?: boolean | undefined; + jsx?: boolean | undefined; + [key: string]: unknown; + } | undefined; + ecmaVersion?: EcmaVersion; + jsxPragma?: string | null; + jsxFragmentName?: string | null; + lib?: Lib[]; + emitDecoratorMetadata?: boolean; + experimentalDecorators?: boolean; + debugLevel?: DebugLevel; + errorOnTypeScriptSyntacticAndSemanticIssues?: boolean; + errorOnUnknownASTType?: boolean; + extraFileExtensions?: string[]; + filePath?: string; + jsDocParsingMode?: JSDocParsingMode; + programs?: Program[] | null; + project?: string[] | string | boolean | null; + projectFolderIgnoreList?: string[]; + projectService?: boolean | ProjectServiceOptions; + range?: boolean; + sourceType?: SourceType | undefined; + tokens?: boolean; + tsconfigRootDir?: string; + warnOnUnsupportedTypeScriptVersion?: boolean; + cacheLifetime?: { + glob?: CacheDurationSeconds; + }; + [additionalProperties: string]: unknown; +} +export { CacheDurationSeconds, DebugLevel, EcmaVersion, JSDocParsingMode, ParserOptions, ProjectServiceOptions, SourceType, }; +//# sourceMappingURL=parser-options.d.ts.map \ No newline at end of file diff --git a/packages/types/dist/parser-options.d.ts.map b/packages/types/dist/parser-options.d.ts.map new file mode 100644 index 000000000000..a68a3f35eefa --- /dev/null +++ b/packages/types/dist/parser-options.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"parser-options.d.ts","sourceRoot":"","sources":["../src/parser-options.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/types/dist/parser-options.js b/packages/types/dist/parser-options.js new file mode 100644 index 000000000000..66f40a290d71 --- /dev/null +++ b/packages/types/dist/parser-options.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=parser-options.js.map \ No newline at end of file diff --git a/packages/types/dist/parser-options.js.map b/packages/types/dist/parser-options.js.map new file mode 100644 index 000000000000..22b7b8ab93f6 --- /dev/null +++ b/packages/types/dist/parser-options.js.map @@ -0,0 +1 @@ +{"version":3,"file":"parser-options.js","sourceRoot":"","sources":["../src/parser-options.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/packages/types/dist/ts-estree.d.ts b/packages/types/dist/ts-estree.d.ts new file mode 100644 index 000000000000..19cd75d140f0 --- /dev/null +++ b/packages/types/dist/ts-estree.d.ts @@ -0,0 +1,14 @@ +import type * as TSESTree from './generated/ast-spec'; +declare module './generated/ast-spec' { + interface BaseNode { + parent: TSESTree.Node; + } + interface Program { + /** + * @remarks This never-used property exists only as a convenience for code that tries to access node parents repeatedly. + */ + parent?: never; + } +} +export * as TSESTree from './generated/ast-spec'; +//# sourceMappingURL=ts-estree.d.ts.map \ No newline at end of file diff --git a/packages/types/dist/ts-estree.d.ts.map b/packages/types/dist/ts-estree.d.ts.map new file mode 100644 index 000000000000..03ee8f1cc472 --- /dev/null +++ b/packages/types/dist/ts-estree.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ts-estree.d.ts","sourceRoot":"","sources":["../src/ts-estree.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,QAAQ,MAAM,sBAAsB,CAAC;AAGtD,OAAO,QAAQ,sBAAsB,CAAC;IACpC,UAAU,QAAQ;QAChB,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC;KACvB;IAED,UAAU,OAAO;QACf;;WAEG;QACH,MAAM,CAAC,EAAE,KAAK,CAAC;KAChB;CACF;AAED,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAC"} \ No newline at end of file diff --git a/packages/types/dist/ts-estree.js b/packages/types/dist/ts-estree.js new file mode 100644 index 000000000000..e0dc7c61d3e9 --- /dev/null +++ b/packages/types/dist/ts-estree.js @@ -0,0 +1,28 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.TSESTree = void 0; +exports.TSESTree = __importStar(require("./generated/ast-spec")); +//# sourceMappingURL=ts-estree.js.map \ No newline at end of file diff --git a/packages/types/dist/ts-estree.js.map b/packages/types/dist/ts-estree.js.map new file mode 100644 index 000000000000..e5b35fae2da1 --- /dev/null +++ b/packages/types/dist/ts-estree.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ts-estree.js","sourceRoot":"","sources":["../src/ts-estree.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA,iEAAiD"} \ No newline at end of file diff --git a/packages/types/src/parser-options.ts b/packages/types/src/parser-options.ts index 8a30b9ec3521..4d6330ac635d 100644 --- a/packages/types/src/parser-options.ts +++ b/packages/types/src/parser-options.ts @@ -44,18 +44,23 @@ interface ProjectServiceOptions { * Globs of files to allow running with the default project compiler options * despite not being matched by the project service. */ - allowDefaultProject?: string[]; + allowDefaultProject?: string[] | undefined; /** * Path to a TSConfig to use instead of TypeScript's default project configuration. */ - defaultProject?: string; + defaultProject?: string | undefined | null; /** * Maximum number of files to keep open with the project service. */ maximumOpenFiles?: number; + /** + * Send changes to files as diffs instead of replacing the entire files. + */ + EXPERIMENTAL_editWithDiffs?: boolean; + /** * The maximum number of files {@link allowDefaultProject} may match. * Each file match slows down linting, so if you do need to use this, please diff --git a/packages/typescript-estree/dist/create-program/createProjectService.d.ts b/packages/typescript-estree/dist/create-program/createProjectService.d.ts index 917129965875..fa2aa8db258c 100644 --- a/packages/typescript-estree/dist/create-program/createProjectService.d.ts +++ b/packages/typescript-estree/dist/create-program/createProjectService.d.ts @@ -2,12 +2,14 @@ import type * as ts from 'typescript/lib/tsserverlibrary'; import type { ProjectServiceOptions } from '../parser-options'; export type TypeScriptProjectService = ts.server.ProjectService; export interface ProjectServiceSettings { - allowDefaultProject: string[] | undefined; + allowDefaultProject: string[]; maximumDefaultProjectFileMatchCount: number; service: TypeScriptProjectService; + maximumOpenFiles: number; + editWithDiffs: boolean; } export interface ProjectServiceParseSettings { extraFileExtensions?: string[]; } -export declare function createProjectService(optionsRaw: boolean | ProjectServiceOptions | undefined, jsDocParsingMode: ts.JSDocParsingMode | undefined, parseSettings?: ProjectServiceParseSettings): ProjectServiceSettings; +export declare function createProjectService(options: Required, jsDocParsingMode: ts.JSDocParsingMode | undefined, parseSettings?: ProjectServiceParseSettings): ProjectServiceSettings; //# sourceMappingURL=createProjectService.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/createProjectService.d.ts.map b/packages/typescript-estree/dist/create-program/createProjectService.d.ts.map index 775990bf0863..0916a6a5dd18 100644 --- a/packages/typescript-estree/dist/create-program/createProjectService.d.ts.map +++ b/packages/typescript-estree/dist/create-program/createProjectService.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"createProjectService.d.ts","sourceRoot":"","sources":["../../src/create-program/createProjectService.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAE1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AA0B/D,MAAM,MAAM,wBAAwB,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC;AAEhE,MAAM,WAAW,sBAAsB;IACrC,mBAAmB,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC1C,mCAAmC,EAAE,MAAM,CAAC;IAC5C,OAAO,EAAE,wBAAwB,CAAC;CACnC;AAED,MAAM,WAAW,2BAA2B;IAC1C,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AAED,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,OAAO,GAAG,qBAAqB,GAAG,SAAS,EACvD,gBAAgB,EAAE,EAAE,CAAC,gBAAgB,GAAG,SAAS,EACjD,aAAa,CAAC,EAAE,2BAA2B,GAC1C,sBAAsB,CAoHxB"} \ No newline at end of file +{"version":3,"file":"createProjectService.d.ts","sourceRoot":"","sources":["../../src/create-program/createProjectService.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAE1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAyB/D,MAAM,MAAM,wBAAwB,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC;AAEhE,MAAM,WAAW,sBAAsB;IACrC,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,mCAAmC,EAAE,MAAM,CAAC;IAC5C,OAAO,EAAE,wBAAwB,CAAC;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,2BAA2B;IAC1C,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,QAAQ,CAAC,qBAAqB,CAAC,EACxC,gBAAgB,EAAE,EAAE,CAAC,gBAAgB,GAAG,SAAS,EACjD,aAAa,CAAC,EAAE,2BAA2B,GAC1C,sBAAsB,CAoHxB"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/createProjectService.js b/packages/typescript-estree/dist/create-program/createProjectService.js index d4a69dbc9410..b27e2133fdf0 100644 --- a/packages/typescript-estree/dist/create-program/createProjectService.js +++ b/packages/typescript-estree/dist/create-program/createProjectService.js @@ -9,7 +9,6 @@ const node_path_1 = __importDefault(require("node:path")); const debug_1 = __importDefault(require("debug")); const getParsedConfigFile_1 = require("./getParsedConfigFile"); const validateDefaultProjectForFilesGlob_1 = require("./validateDefaultProjectForFilesGlob"); -const DEFAULT_PROJECT_MATCHED_FILES_THRESHOLD = 8; const log = (0, debug_1.default)('typescript-eslint:typescript-estree:createProjectService'); const logTsserverErr = (0, debug_1.default)('typescript-eslint:typescript-estree:tsserver:err'); const logTsserverInfo = (0, debug_1.default)('typescript-eslint:typescript-estree:tsserver:info'); @@ -19,8 +18,7 @@ const doNothing = () => { }; const createStubFileWatcher = () => ({ close: doNothing, }); -function createProjectService(optionsRaw, jsDocParsingMode, parseSettings) { - const options = typeof optionsRaw === 'object' ? optionsRaw : {}; +function createProjectService(options, jsDocParsingMode, parseSettings) { (0, validateDefaultProjectForFilesGlob_1.validateDefaultProjectForFilesGlob)(options); // We import this lazily to avoid its cost for users who don't use the service // TODO: Once we drop support for TS<5.3 we can import from "typescript" directly @@ -114,8 +112,9 @@ function createProjectService(optionsRaw, jsDocParsingMode, parseSettings) { } return { allowDefaultProject: options.allowDefaultProject, - maximumDefaultProjectFileMatchCount: options.maximumDefaultProjectFileMatchCount_THIS_WILL_SLOW_DOWN_LINTING ?? - DEFAULT_PROJECT_MATCHED_FILES_THRESHOLD, + maximumOpenFiles: options.maximumOpenFiles, + editWithDiffs: options.EXPERIMENTAL_editWithDiffs, + maximumDefaultProjectFileMatchCount: options.maximumDefaultProjectFileMatchCount_THIS_WILL_SLOW_DOWN_LINTING, service, }; } diff --git a/packages/typescript-estree/dist/create-program/createProjectService.js.map b/packages/typescript-estree/dist/create-program/createProjectService.js.map index 299209367a9e..c7ec9f79ebc8 100644 --- a/packages/typescript-estree/dist/create-program/createProjectService.js.map +++ b/packages/typescript-estree/dist/create-program/createProjectService.js.map @@ -1 +1 @@ -{"version":3,"file":"createProjectService.js","sourceRoot":"","sources":["../../src/create-program/createProjectService.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"createProjectService.js","sourceRoot":"","sources":["../../src/create-program/createProjectService.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/createParseSettings.d.ts.map b/packages/typescript-estree/dist/parseSettings/createParseSettings.d.ts.map index 78ad8eb1c643..0947107106b5 100644 --- a/packages/typescript-estree/dist/parseSettings/createParseSettings.d.ts.map +++ b/packages/typescript-estree/dist/parseSettings/createParseSettings.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"createParseSettings.d.ts","sourceRoot":"","sources":["../../src/parseSettings/createParseSettings.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAKjC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAOzD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAwBpD,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,EAAE,CAAC,UAAU,GAAG,MAAM,EAC5B,eAAe,GAAE,OAAO,CAAC,eAAe,CAAM,GAC7C,oBAAoB,CAgJtB;AAED,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C;AAED,wBAAgB,2BAA2B,IAAI,IAAI,CAElD"} \ No newline at end of file +{"version":3,"file":"createParseSettings.d.ts","sourceRoot":"","sources":["../../src/parseSettings/createParseSettings.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAKjC,OAAO,KAAK,EAAyB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAOhF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AA2BpD,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,EAAE,CAAC,UAAU,GAAG,MAAM,EAC5B,eAAe,GAAE,OAAO,CAAC,eAAe,CAAM,GAC7C,oBAAoB,CAwJtB;AAED,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C;AAED,wBAAgB,2BAA2B,IAAI,IAAI,CAElD"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/createParseSettings.js b/packages/typescript-estree/dist/parseSettings/createParseSettings.js index c3b268af0c28..ac3ef9fe8436 100644 --- a/packages/typescript-estree/dist/parseSettings/createParseSettings.js +++ b/packages/typescript-estree/dist/parseSettings/createParseSettings.js @@ -40,6 +40,8 @@ const warnAboutTSVersion_1 = require("./warnAboutTSVersion"); const log = (0, debug_1.default)('typescript-eslint:typescript-estree:parser:parseSettings:createParseSettings'); let TSCONFIG_MATCH_CACHE; let TSSERVER_PROJECT_SERVICE = null; +const DEFAULT_PROJECT_MATCHED_FILES_THRESHOLD = 8; +const DEFAULT_PROJECT_OPENED_FILES_THRESHOLD = 16; // NOTE - we intentionally use "unnecessary" `?.` here because in TS<5.3 this enum doesn't exist // This object exists so we can centralize these for tracking and so we don't proliferate these across the file // https://github.com/microsoft/TypeScript/issues/56579 @@ -74,6 +76,14 @@ function createParseSettings(code, tsestreeOptions = {}) { tsestreeOptions.extraFileExtensions.every(ext => typeof ext === 'string') ? tsestreeOptions.extraFileExtensions : []; + const projectService = { + allowDefaultProject: [], + defaultProject: null, + maximumOpenFiles: DEFAULT_PROJECT_OPENED_FILES_THRESHOLD, + EXPERIMENTAL_editWithDiffs: false, + maximumDefaultProjectFileMatchCount_THIS_WILL_SLOW_DOWN_LINTING: DEFAULT_PROJECT_MATCHED_FILES_THRESHOLD, + ...(typeof tsestreeOptions.projectService === 'object' ? tsestreeOptions.projectService : {}) + }; const parseSettings = { allowInvalidAST: tsestreeOptions.allowInvalidAST === true, code, @@ -109,7 +119,7 @@ function createParseSettings(code, tsestreeOptions = {}) { (tsestreeOptions.project && tsestreeOptions.projectService !== false && process.env.TYPESCRIPT_ESLINT_PROJECT_SERVICE === 'true') - ? (TSSERVER_PROJECT_SERVICE ??= (0, createProjectService_1.createProjectService)(tsestreeOptions.projectService, jsDocParsingMode, { extraFileExtensions })) + ? (TSSERVER_PROJECT_SERVICE ??= (0, createProjectService_1.createProjectService)(projectService, jsDocParsingMode, { extraFileExtensions })) : undefined, range: tsestreeOptions.range === true, singleRun, diff --git a/packages/typescript-estree/dist/parseSettings/createParseSettings.js.map b/packages/typescript-estree/dist/parseSettings/createParseSettings.js.map index ec90576e5d10..86ff58c2d769 100644 --- a/packages/typescript-estree/dist/parseSettings/createParseSettings.js.map +++ b/packages/typescript-estree/dist/parseSettings/createParseSettings.js.map @@ -1 +1 @@ -{"version":3,"file":"createParseSettings.js","sourceRoot":"","sources":["../../src/parseSettings/createParseSettings.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"createParseSettings.js","sourceRoot":"","sources":["../../src/parseSettings/createParseSettings.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/useProgramFromProjectService.d.ts.map b/packages/typescript-estree/dist/useProgramFromProjectService.d.ts.map index af5d56785e8e..305ce47f094a 100644 --- a/packages/typescript-estree/dist/useProgramFromProjectService.d.ts.map +++ b/packages/typescript-estree/dist/useProgramFromProjectService.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"useProgramFromProjectService.d.ts","sourceRoot":"","sources":["../src/useProgramFromProjectService.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AACpF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAErE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAM5D,wBAAgB,4BAA4B,CAC1C,EACE,mBAAmB,EACnB,mCAAmC,EACnC,OAAO,GACR,EAAE,sBAAsB,EACzB,aAAa,EAAE,QAAQ,CAAC,oBAAoB,CAAC,EAC7C,sBAAsB,EAAE,OAAO,EAC/B,0BAA0B,EAAE,GAAG,CAAC,MAAM,CAAC,GACtC,qBAAqB,GAAG,SAAS,CA6FnC"} \ No newline at end of file +{"version":3,"file":"useProgramFromProjectService.d.ts","sourceRoot":"","sources":["../src/useProgramFromProjectService.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AACpF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAErE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AA6C5D,wBAAgB,4BAA4B,CAC1C,EACE,mBAAmB,EACnB,mCAAmC,EACnC,OAAO,GACR,EAAE,sBAAsB,EACzB,aAAa,EAAE,QAAQ,CAAC,oBAAoB,CAAC,EAC7C,sBAAsB,EAAE,OAAO,EAC/B,0BAA0B,EAAE,GAAG,CAAC,MAAM,CAAC,GACtC,qBAAqB,GAAG,SAAS,CAiInC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/useProgramFromProjectService.js b/packages/typescript-estree/dist/useProgramFromProjectService.js index 5f6392d5a2c8..91b4309d9a3f 100644 --- a/packages/typescript-estree/dist/useProgramFromProjectService.js +++ b/packages/typescript-estree/dist/useProgramFromProjectService.js @@ -5,19 +5,73 @@ var __importDefault = (this && this.__importDefault) || function (mod) { Object.defineProperty(exports, "__esModule", { value: true }); exports.useProgramFromProjectService = void 0; const debug_1 = __importDefault(require("debug")); +const lru_cache_1 = require("lru-cache"); const minimatch_1 = require("minimatch"); const path_1 = __importDefault(require("path")); const createProjectProgram_1 = require("./create-program/createProjectProgram"); const validateDefaultProjectForFilesGlob_1 = require("./create-program/validateDefaultProjectForFilesGlob"); const log = (0, debug_1.default)('typescript-eslint:typescript-estree:useProgramFromProjectService'); +const makeOpenedFilesCache = (service, parseSettings) => { + if (!service.__opened_lru_cache) { + if (!parseSettings?.projectService?.maximumOpenFiles) { + throw new Error('maximumOpenFiles must be set in parserOptions.projectService'); + } + service.__opened_lru_cache = new lru_cache_1.LRUCache({ + max: parseSettings.projectService.maximumOpenFiles, + dispose: (_, key) => { + log(`Closing project service file: ${key}`); + service.closeClientFile(key); + }, + }); + } + return service.__opened_lru_cache; +}; +const isFileInConfiguredProject = (service, filePath) => { + const configuredProjects = service.configuredProjects; + for (const project of configuredProjects.values()) { + if (project.containsFile(filePath)) { + return true; + } + } + return false; +}; function useProgramFromProjectService({ allowDefaultProject, maximumDefaultProjectFileMatchCount, service, }, parseSettings, hasFullTypeInformation, defaultProjectMatchedFiles) { + const openedFilesCache = makeOpenedFilesCache(service, parseSettings); // We don't canonicalize the filename because it caused a performance regression. // See https://github.com/typescript-eslint/typescript-eslint/issues/8519 const filePathAbsolute = absolutify(parseSettings.filePath); log('Opening project service file for: %s at absolute path %s', parseSettings.filePath, filePathAbsolute); - const opened = service.openClientFile(filePathAbsolute, parseSettings.codeFullText, - /* scriptKind */ undefined, parseSettings.tsconfigRootDir); - log('Opened project service file: %o', opened); + log('Opening project service file for: %s at absolute path %s', parseSettings.filePath, filePathAbsolute); + const isOpened = openedFilesCache.has(filePathAbsolute); + const opened = isOpened + ? // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + openedFilesCache.get(filePathAbsolute) + : service.openClientFile(filePathAbsolute, parseSettings.codeFullText, + /* scriptKind */ undefined, parseSettings.tsconfigRootDir); + if (isOpened) { + log('Retrieved project service file from cache: %o', opened); + } + else { + openedFilesCache.set(filePathAbsolute, opened); + log('Opened project service file: %o', opened); + } + // if (!isOpened) { + // if ( + // !isFileInConfiguredProject( + // service, + // ts.server.toNormalizedPath(filePathAbsolute), + // ) + // ) { + // log('Orphaned file: %s', filePathAbsolute); + // const watcher = watches.get(filePathAbsolute); + // if (watcher?.value != null) { + // log('Triggering watcher: %s', watcher.path); + // watcher.value.callback(); + // } else { + // log('No watcher found for: %s', filePathAbsolute); + // } + // } + // } if (hasFullTypeInformation) { log('Project service type information enabled; checking for file path match on: %o', allowDefaultProject); const isDefaultProjectAllowedPath = filePathMatchedBy(parseSettings.filePath, allowDefaultProject); diff --git a/packages/typescript-estree/dist/useProgramFromProjectService.js.map b/packages/typescript-estree/dist/useProgramFromProjectService.js.map index e521babc51a3..759f8f52fd09 100644 --- a/packages/typescript-estree/dist/useProgramFromProjectService.js.map +++ b/packages/typescript-estree/dist/useProgramFromProjectService.js.map @@ -1 +1 @@ -{"version":3,"file":"useProgramFromProjectService.js","sourceRoot":"","sources":["../src/useProgramFromProjectService.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,yCAAsC;AACtC,gDAAwB;AAExB,gFAA6E;AAG7E,4GAA8G;AAG9G,MAAM,GAAG,GAAG,IAAA,eAAK,EACf,kEAAkE,CACnE,CAAC;AAEF,SAAgB,4BAA4B,CAC1C,EACE,mBAAmB,EACnB,mCAAmC,EACnC,OAAO,GACgB,EACzB,aAA6C,EAC7C,sBAA+B,EAC/B,0BAAuC;IAEvC,iFAAiF;IACjF,yEAAyE;IACzE,MAAM,gBAAgB,GAAG,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC5D,GAAG,CACD,0DAA0D,EAC1D,aAAa,CAAC,QAAQ,EACtB,gBAAgB,CACjB,CAAC;IAEF,MAAM,MAAM,GAAG,OAAO,CAAC,cAAc,CACnC,gBAAgB,EAChB,aAAa,CAAC,YAAY;IAC1B,gBAAgB,CAAC,SAAS,EAC1B,aAAa,CAAC,eAAe,CAC9B,CAAC;IAEF,GAAG,CAAC,iCAAiC,EAAE,MAAM,CAAC,CAAC;IAE/C,IAAI,sBAAsB,EAAE,CAAC;QAC3B,GAAG,CACD,+EAA+E,EAC/E,mBAAmB,CACpB,CAAC;QACF,MAAM,2BAA2B,GAAG,iBAAiB,CACnD,aAAa,CAAC,QAAQ,EACtB,mBAAmB,CACpB,CAAC;QAEF,GAAG,CACD,4DAA4D,EAC5D,2BAA2B,EAC3B,MAAM,CAAC,cAAc,CACtB,CAAC;QAEF,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YAC1B,IAAI,2BAA2B,EAAE,CAAC;gBAChC,MAAM,IAAI,KAAK,CACb,GAAG,aAAa,CAAC,QAAQ,gIAAgI,CAC1J,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,2BAA2B,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CACb,GAAG,aAAa,CAAC,QAAQ,kIAAkI,CAC5J,CAAC;QACJ,CAAC;IACH,CAAC;IACD,GAAG,CAAC,iDAAiD,EAAE,gBAAgB,CAAC,CAAC;IAEzE,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;IAC3D,6DAA6D;IAC7D,MAAM,OAAO,GAAG,OAAO;SACpB,wBAAwB,CAAC,UAAW,CAAC,QAAQ,EAAE,IAAI,CAAE;SACrD,kBAAkB,CAAC,sBAAsB,CAAC,IAAI,CAAC;SAC/C,UAAU,EAAE,CAAC;IAChB,4DAA4D;IAE5D,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,GAAG,CAAC,gDAAgD,EAAE,gBAAgB,CAAC,CAAC;QACxE,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;QAC3B,0BAA0B,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,0BAA0B,CAAC,IAAI,GAAG,mCAAmC,EAAE,CAAC;QAC1E,MAAM,cAAc,GAAG,EAAE,CAAC;QAC1B,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,KAAK,CAC/D,CAAC,EACD,cAAc,CACf,CAAC;QACF,MAAM,kBAAkB,GACtB,0BAA0B,CAAC,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC;QAExD,MAAM,IAAI,KAAK,CACb,oBAAoB,mCAAmC,sCAAsC,4EAAuC;;EAExI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;EAChD,kBAAkB,CAAC,CAAC,CAAC,UAAU,kBAAkB,eAAe,CAAC,CAAC,CAAC,EAAE;;CAEtE,CACI,CAAC;IACJ,CAAC;IAED,GAAG,CAAC,uCAAuC,EAAE,gBAAgB,CAAC,CAAC;IAE/D,OAAO,IAAA,2CAAoB,EAAC,aAAa,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEtD,SAAS,UAAU,CAAC,QAAgB;QAClC,OAAO,cAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YAC9B,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC;AAtGD,oEAsGC;AAED,SAAS,iBAAiB,CACxB,QAAgB,EAChB,mBAAyC;IAEzC,OAAO,CAAC,CAAC,mBAAmB,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,IAAA,qBAAS,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;AAC9E,CAAC"} \ No newline at end of file +{"version":3,"file":"useProgramFromProjectService.js","sourceRoot":"","sources":["../src/useProgramFromProjectService.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/typescript-estree/package.json b/packages/typescript-estree/package.json index 58b76f1a4aa1..1512bf98df68 100644 --- a/packages/typescript-estree/package.json +++ b/packages/typescript-estree/package.json @@ -57,14 +57,17 @@ "@typescript-eslint/types": "workspace:^", "@typescript-eslint/visitor-keys": "workspace:^", "debug": "^4.3.4", + "diff": "^5.2.0", "globby": "^11.1.0", "is-glob": "^4.0.3", + "lru-cache": "^10.2.2", "minimatch": "^9.0.4", "semver": "^7.6.0", "ts-api-utils": "^1.3.0" }, "devDependencies": { "@jest/types": "29.6.3", + "@types/diff": "^5.2.1", "glob": "*", "jest": "29.7.0", "prettier": "^3.2.5", diff --git a/packages/typescript-estree/src/create-program/createProjectService.ts b/packages/typescript-estree/src/create-program/createProjectService.ts index 1b2da7264222..dc14982a7c2e 100644 --- a/packages/typescript-estree/src/create-program/createProjectService.ts +++ b/packages/typescript-estree/src/create-program/createProjectService.ts @@ -8,8 +8,6 @@ import type { ProjectServiceOptions } from '../parser-options'; import { getParsedConfigFile } from './getParsedConfigFile'; import { validateDefaultProjectForFilesGlob } from './validateDefaultProjectForFilesGlob'; -const DEFAULT_PROJECT_MATCHED_FILES_THRESHOLD = 8; - const log = debug('typescript-eslint:typescript-estree:createProjectService'); const logTsserverErr = debug( 'typescript-eslint:typescript-estree:tsserver:err', @@ -33,9 +31,11 @@ const createStubFileWatcher = (): ts.FileWatcher => ({ export type TypeScriptProjectService = ts.server.ProjectService; export interface ProjectServiceSettings { - allowDefaultProject: string[] | undefined; + allowDefaultProject: string[]; maximumDefaultProjectFileMatchCount: number; service: TypeScriptProjectService; + maximumOpenFiles: number; + editWithDiffs: boolean; } export interface ProjectServiceParseSettings { @@ -43,11 +43,10 @@ export interface ProjectServiceParseSettings { } export function createProjectService( - optionsRaw: boolean | ProjectServiceOptions | undefined, + options: Required, jsDocParsingMode: ts.JSDocParsingMode | undefined, parseSettings?: ProjectServiceParseSettings, ): ProjectServiceSettings { - const options = typeof optionsRaw === 'object' ? optionsRaw : {}; validateDefaultProjectForFilesGlob(options); // We import this lazily to avoid its cost for users who don't use the service @@ -157,9 +156,10 @@ export function createProjectService( return { allowDefaultProject: options.allowDefaultProject, + maximumOpenFiles: options.maximumOpenFiles, + editWithDiffs: options.EXPERIMENTAL_editWithDiffs, maximumDefaultProjectFileMatchCount: - options.maximumDefaultProjectFileMatchCount_THIS_WILL_SLOW_DOWN_LINTING ?? - DEFAULT_PROJECT_MATCHED_FILES_THRESHOLD, + options.maximumDefaultProjectFileMatchCount_THIS_WILL_SLOW_DOWN_LINTING, service, }; } diff --git a/packages/typescript-estree/src/parseSettings/createParseSettings.ts b/packages/typescript-estree/src/parseSettings/createParseSettings.ts index ff6537780f02..84fc415782b0 100644 --- a/packages/typescript-estree/src/parseSettings/createParseSettings.ts +++ b/packages/typescript-estree/src/parseSettings/createParseSettings.ts @@ -4,7 +4,7 @@ import * as ts from 'typescript'; import type { ProjectServiceSettings } from '../create-program/createProjectService'; import { createProjectService } from '../create-program/createProjectService'; import { ensureAbsolutePath } from '../create-program/shared'; -import type { TSESTreeOptions } from '../parser-options'; +import type { ProjectServiceOptions, TSESTreeOptions } from '../parser-options'; import { isSourceFile } from '../source-files'; import { DEFAULT_TSCONFIG_CACHE_DURATION_SECONDS, @@ -23,6 +23,9 @@ const log = debug( let TSCONFIG_MATCH_CACHE: ExpiringCache | null; let TSSERVER_PROJECT_SERVICE: ProjectServiceSettings | null = null; +const DEFAULT_PROJECT_MATCHED_FILES_THRESHOLD = 8; +const DEFAULT_PROJECT_OPENED_FILES_THRESHOLD = 16; + // NOTE - we intentionally use "unnecessary" `?.` here because in TS<5.3 this enum doesn't exist // This object exists so we can centralize these for tracking and so we don't proliferate these across the file // https://github.com/microsoft/TypeScript/issues/56579 @@ -66,6 +69,17 @@ export function createParseSettings( tsestreeOptions.extraFileExtensions.every(ext => typeof ext === 'string') ? tsestreeOptions.extraFileExtensions : []; + const projectService: Required = { + allowDefaultProject: [], + defaultProject: null, + maximumOpenFiles: DEFAULT_PROJECT_OPENED_FILES_THRESHOLD, + EXPERIMENTAL_editWithDiffs: false, + maximumDefaultProjectFileMatchCount_THIS_WILL_SLOW_DOWN_LINTING: + DEFAULT_PROJECT_MATCHED_FILES_THRESHOLD, + ...(typeof tsestreeOptions.projectService === 'object' + ? tsestreeOptions.projectService + : {}), + }; const parseSettings: MutableParseSettings = { allowInvalidAST: tsestreeOptions.allowInvalidAST === true, @@ -109,7 +123,7 @@ export function createParseSettings( tsestreeOptions.projectService !== false && process.env.TYPESCRIPT_ESLINT_PROJECT_SERVICE === 'true') ? (TSSERVER_PROJECT_SERVICE ??= createProjectService( - tsestreeOptions.projectService, + projectService, jsDocParsingMode, { extraFileExtensions }, )) diff --git a/packages/typescript-estree/src/useProgramFromProjectService.ts b/packages/typescript-estree/src/useProgramFromProjectService.ts index fe450351b32b..b941ee7bd52b 100644 --- a/packages/typescript-estree/src/useProgramFromProjectService.ts +++ b/packages/typescript-estree/src/useProgramFromProjectService.ts @@ -1,6 +1,9 @@ import debug from 'debug'; +import { diffChars } from 'diff'; +import { LRUCache } from 'lru-cache'; import { minimatch } from 'minimatch'; import path from 'path'; +import type * as ts from 'typescript'; import { createProjectProgram } from './create-program/createProjectProgram'; import type { ProjectServiceSettings } from './create-program/createProjectService'; @@ -12,6 +15,45 @@ const log = debug( 'typescript-eslint:typescript-estree:useProgramFromProjectService', ); +const makeOpenedFilesCache = ( + service: ts.server.ProjectService & { + __opened_lru_cache?: Map; + }, + parseSettings: Readonly, +): Map => { + if (!service.__opened_lru_cache) { + if (!parseSettings?.projectService?.maximumOpenFiles) { + throw new Error( + 'maximumOpenFiles must be set in parserOptions.projectService', + ); + } + service.__opened_lru_cache = new LRUCache< + string, + ts.server.OpenConfiguredProjectResult + >({ + max: parseSettings.projectService.maximumOpenFiles, + dispose: (_, key): void => { + log(`Closing project service file: ${key}`); + service.closeClientFile(key); + }, + }); + } + return service.__opened_lru_cache; +}; + +const isFileInConfiguredProject = ( + service: ts.server.ProjectService, + filePath: string, +): boolean => { + const configuredProjects = service.configuredProjects; + for (const project of configuredProjects.values()) { + if (project.containsFile(filePath as ts.server.NormalizedPath)) { + return true; + } + } + return false; +}; + export function useProgramFromProjectService( { allowDefaultProject, @@ -22,6 +64,8 @@ export function useProgramFromProjectService( hasFullTypeInformation: boolean, defaultProjectMatchedFiles: Set, ): ASTAndDefiniteProgram | undefined { + const openedFilesCache = makeOpenedFilesCache(service, parseSettings); + // We don't canonicalize the filename because it caused a performance regression. // See https://github.com/typescript-eslint/typescript-eslint/issues/8519 const filePathAbsolute = absolutify(parseSettings.filePath); @@ -31,14 +75,47 @@ export function useProgramFromProjectService( filePathAbsolute, ); - const opened = service.openClientFile( + log( + 'Opening project service file for: %s at absolute path %s', + parseSettings.filePath, filePathAbsolute, - parseSettings.codeFullText, - /* scriptKind */ undefined, - parseSettings.tsconfigRootDir, ); - log('Opened project service file: %o', opened); + const isOpened = openedFilesCache.has(filePathAbsolute); + const opened = isOpened + ? // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + openedFilesCache.get(filePathAbsolute)! + : service.openClientFile( + filePathAbsolute, + parseSettings.codeFullText, + /* scriptKind */ undefined, + parseSettings.tsconfigRootDir, + ); + + if (isOpened) { + log('Retrieved project service file from cache: %o', opened); + } else { + openedFilesCache.set(filePathAbsolute, opened); + log('Opened project service file: %o', opened); + } + + // if (!isOpened) { + // if ( + // !isFileInConfiguredProject( + // service, + // ts.server.toNormalizedPath(filePathAbsolute), + // ) + // ) { + // log('Orphaned file: %s', filePathAbsolute); + // const watcher = watches.get(filePathAbsolute); + // if (watcher?.value != null) { + // log('Triggering watcher: %s', watcher.path); + // watcher.value.callback(); + // } else { + // log('No watcher found for: %s', filePathAbsolute); + // } + // } + // } if (hasFullTypeInformation) { log( @@ -68,6 +145,7 @@ export function useProgramFromProjectService( ); } } + log('Retrieving script info and then program for: %s', filePathAbsolute); const scriptInfo = service.getScriptInfo(filePathAbsolute); diff --git a/yarn.lock b/yarn.lock index cd57eb986960..f51397a26e53 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5104,6 +5104,13 @@ __metadata: languageName: node linkType: hard +"@types/diff@npm:^5.2.1": + version: 5.2.1 + resolution: "@types/diff@npm:5.2.1" + checksum: 5983a323177bd691cb2194f5d55b960cd20a9c8fec653b4b038760c5809627cc9ea3578fdf10119ccbefefef193ea925f2817136eb97b17388f66b16c8480a8a + languageName: node + linkType: hard + "@types/eslint-scope@link:./tools/dummypkg::locator=%40typescript-eslint%2Ftypescript-eslint%40workspace%3A.": version: 0.0.0-use.local resolution: "@types/eslint-scope@link:./tools/dummypkg::locator=%40typescript-eslint%2Ftypescript-eslint%40workspace%3A." @@ -5973,13 +5980,16 @@ __metadata: resolution: "@typescript-eslint/typescript-estree@workspace:packages/typescript-estree" dependencies: "@jest/types": 29.6.3 + "@types/diff": ^5.2.1 "@typescript-eslint/types": "workspace:^" "@typescript-eslint/visitor-keys": "workspace:^" debug: ^4.3.4 + diff: ^5.2.0 glob: "*" globby: ^11.1.0 is-glob: ^4.0.3 jest: 29.7.0 + lru-cache: ^10.2.2 minimatch: ^9.0.4 prettier: ^3.2.5 rimraf: "*" @@ -9098,6 +9108,13 @@ __metadata: languageName: node linkType: hard +"diff@npm:^5.2.0": + version: 5.2.0 + resolution: "diff@npm:5.2.0" + checksum: 12b63ca9c36c72bafa3effa77121f0581b4015df18bc16bac1f8e263597735649f1a173c26f7eba17fb4162b073fee61788abe49610e6c70a2641fe1895443fd + languageName: node + linkType: hard + "dir-glob@npm:^3.0.1": version: 3.0.1 resolution: "dir-glob@npm:3.0.1" @@ -13962,6 +13979,13 @@ __metadata: languageName: node linkType: hard +"lru-cache@npm:^10.2.2": + version: 10.2.2 + resolution: "lru-cache@npm:10.2.2" + checksum: 98e8fc93691c546f719a76103ef2bee5a3ac823955c755a47641ec41f8c7fafa1baeaba466937cc1cbfa9cfd47e03536d10e2db3158a64ad91ff3a58a32c893e + languageName: node + linkType: hard + "lru-cache@npm:^5.1.1": version: 5.1.1 resolution: "lru-cache@npm:5.1.1" From 201531298587d74601c52fd479e3cdcfb2416ae7 Mon Sep 17 00:00:00 2001 From: Christopher Aubut Date: Wed, 12 Jun 2024 13:50:21 -0600 Subject: [PATCH 21/36] chore: revert open file cache as it breaks vue --- .../createProjectService.d.ts.map | 2 +- .../createProjectService.js.map | 2 +- .../createParseSettings.d.ts.map | 2 +- .../dist/parseSettings/createParseSettings.js | 4 +- .../parseSettings/createParseSettings.js.map | 2 +- .../dist/useProgramFromProjectService.js | 34 ++++++++------- .../dist/useProgramFromProjectService.js.map | 2 +- .../src/useProgramFromProjectService.ts | 42 +++++++++---------- 8 files changed, 48 insertions(+), 42 deletions(-) diff --git a/packages/typescript-estree/dist/create-program/createProjectService.d.ts.map b/packages/typescript-estree/dist/create-program/createProjectService.d.ts.map index 0916a6a5dd18..09457d06777c 100644 --- a/packages/typescript-estree/dist/create-program/createProjectService.d.ts.map +++ b/packages/typescript-estree/dist/create-program/createProjectService.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"createProjectService.d.ts","sourceRoot":"","sources":["../../src/create-program/createProjectService.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAE1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAyB/D,MAAM,MAAM,wBAAwB,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC;AAEhE,MAAM,WAAW,sBAAsB;IACrC,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,mCAAmC,EAAE,MAAM,CAAC;IAC5C,OAAO,EAAE,wBAAwB,CAAC;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,2BAA2B;IAC1C,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,QAAQ,CAAC,qBAAqB,CAAC,EACxC,gBAAgB,EAAE,EAAE,CAAC,gBAAgB,GAAG,SAAS,EACjD,aAAa,CAAC,EAAE,2BAA2B,GAC1C,sBAAsB,CAoHxB"} \ No newline at end of file +{"version":3,"file":"createProjectService.d.ts","sourceRoot":"","sources":["../../src/create-program/createProjectService.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAE1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAwB/D,MAAM,MAAM,wBAAwB,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC;AAEhE,MAAM,WAAW,sBAAsB;IACrC,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,mCAAmC,EAAE,MAAM,CAAC;IAC5C,OAAO,EAAE,wBAAwB,CAAC;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,2BAA2B;IAC1C,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,QAAQ,CAAC,qBAAqB,CAAC,EACxC,gBAAgB,EAAE,EAAE,CAAC,gBAAgB,GAAG,SAAS,EACjD,aAAa,CAAC,EAAE,2BAA2B,GAC1C,sBAAsB,CAoHxB"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/createProjectService.js.map b/packages/typescript-estree/dist/create-program/createProjectService.js.map index c7ec9f79ebc8..36bd2f28307a 100644 --- a/packages/typescript-estree/dist/create-program/createProjectService.js.map +++ b/packages/typescript-estree/dist/create-program/createProjectService.js.map @@ -1 +1 @@ -{"version":3,"file":"createProjectService.js","sourceRoot":"","sources":["../../src/create-program/createProjectService.ts"],"names":[],"mappings":";;;;;;AAAA,+EAA+E;AAC/E,0DAA6B;AAE7B,kDAA0B;AAI1B,+DAA4D;AAC5D,6FAA0F;AAG1F,MAAM,GAAG,GAAG,IAAA,eAAK,EAAC,0DAA0D,CAAC,CAAC;AAC9E,MAAM,cAAc,GAAG,IAAA,eAAK,EAC1B,kDAAkD,CACnD,CAAC;AACF,MAAM,eAAe,GAAG,IAAA,eAAK,EAC3B,mDAAmD,CACpD,CAAC;AACF,MAAM,eAAe,GAAG,IAAA,eAAK,EAC3B,mDAAmD,CACpD,CAAC;AACF,MAAM,gBAAgB,GAAG,IAAA,eAAK,EAC5B,oDAAoD,CACrD,CAAC;AAEF,MAAM,SAAS,GAAG,GAAS,EAAE,GAAE,CAAC,CAAC;AAEjC,MAAM,qBAAqB,GAAG,GAAmB,EAAE,CAAC,CAAC;IACnD,KAAK,EAAE,SAAS;CACjB,CAAC,CAAC;AAgBH,SAAgB,oBAAoB,CAClC,OAAwC,EACxC,gBAAiD,EACjD,aAA2C;IAE3C,IAAA,uEAAkC,EAAC,OAAO,CAAC,CAAC;IAE5C,8EAA8E;IAC9E,iFAAiF;IACjF,iEAAiE;IACjE,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,MAAM,MAAM,GAAqB;QAC/B,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE,SAAS;QACnB,cAAc,EAAE,GAAc,EAAE,CAAC,SAAS;QAC1C,8EAA8E;QAC9E,4EAA4E;QAC5E,8EAA8E;QAC9E,uDAAuD;QACvD,QAAQ,EAAE,GAAY,EAAE,CAAC,IAAI;QAC7B,IAAI,CAAC,CAAC;YACJ,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC;QACD,cAAc,EAAE,GAAY,EAAE;QAC5B,qFAAqF;QACrF,eAAe,CAAC,OAAO;YACvB,cAAc,CAAC,OAAO;YACtB,eAAe,CAAC,OAAO;QACzB,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE;YACf,QAAQ,IAAI,EAAE,CAAC;gBACb,KAAK,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG;oBAC1B,cAAc,CAAC,CAAC,CAAC,CAAC;oBAClB,MAAM;gBACR,KAAK,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI;oBAC3B,eAAe,CAAC,CAAC,CAAC,CAAC;oBACnB,MAAM;gBACR;oBACE,eAAe,CAAC,CAAC,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;QACD,OAAO,CAAC,CAAC;YACP,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC;QACD,UAAU,EAAE,SAAS;KACtB,CAAC;IAEF,GAAG,CAAC,0BAA0B,CAAC,CAAC;IAEhC,MAAM,OAAO,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC;QACjD,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;QACN,YAAY,EAAE,CAAC,CAAC,EAAQ,EAAE;YACxB,gBAAgB,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC;QACD,OAAO,EAAE,SAAS;QAClB,gBAAgB;KACjB,CAAC,CAAC;IAEH,IAAI,aAAa,EAAE,mBAAmB,EAAE,MAAM,EAAE,CAAC;QAC/C,GAAG,CACD,oCAAoC,EACpC,aAAa,CAAC,mBAAmB,CAClC,CAAC;QACF,OAAO,CAAC,oBAAoB,CAAC;YAC3B,mBAAmB,EAAE,aAAa,CAAC,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBACvE,SAAS;gBACT,cAAc,EAAE,KAAK;gBACrB,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,QAAQ;aACzC,CAAC,CAAC;SACJ,CAAC,CAAC;IACL,CAAC;IAED,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QAC3B,GAAG,CAAC,8BAA8B,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;QAC5D,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,IAAA,yCAAmB,EACpC,OAAO,CAAC,cAAc,EACtB,mBAAI,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CACrC,CAAC;YACF,OAAO,CAAC,qCAAqC;YAC3C,mFAAmF;YACnF,uFAAuF;YACvF,gFAAgF;YAChF,yHAAyH;YACzH,qGAAqG;YACrG,UAAU,CAAC,OAA4D,CACxE,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,oCAAoC,OAAO,CAAC,cAAc,MAAO,KAAe,CAAC,OAAO,EAAE,CAC3F,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO;QACL,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;QAChD,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,aAAa,EAAE,OAAO,CAAC,0BAA0B;QACjD,mCAAmC,EACjC,OAAO,CAAC,+DAA+D;QACzE,OAAO;KACR,CAAC;AACJ,CAAC;AAxHD,oDAwHC"} \ No newline at end of file +{"version":3,"file":"createProjectService.js","sourceRoot":"","sources":["../../src/create-program/createProjectService.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/createParseSettings.d.ts.map b/packages/typescript-estree/dist/parseSettings/createParseSettings.d.ts.map index 0947107106b5..66a0bad25f74 100644 --- a/packages/typescript-estree/dist/parseSettings/createParseSettings.d.ts.map +++ b/packages/typescript-estree/dist/parseSettings/createParseSettings.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"createParseSettings.d.ts","sourceRoot":"","sources":["../../src/parseSettings/createParseSettings.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAKjC,OAAO,KAAK,EAAyB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAOhF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AA2BpD,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,EAAE,CAAC,UAAU,GAAG,MAAM,EAC5B,eAAe,GAAE,OAAO,CAAC,eAAe,CAAM,GAC7C,oBAAoB,CAwJtB;AAED,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C;AAED,wBAAgB,2BAA2B,IAAI,IAAI,CAElD"} \ No newline at end of file +{"version":3,"file":"createParseSettings.d.ts","sourceRoot":"","sources":["../../src/parseSettings/createParseSettings.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAKjC,OAAO,KAAK,EAAyB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAOhF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AA2BpD,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,EAAE,CAAC,UAAU,GAAG,MAAM,EAC5B,eAAe,GAAE,OAAO,CAAC,eAAe,CAAM,GAC7C,oBAAoB,CA2JtB;AAED,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C;AAED,wBAAgB,2BAA2B,IAAI,IAAI,CAElD"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/createParseSettings.js b/packages/typescript-estree/dist/parseSettings/createParseSettings.js index ac3ef9fe8436..48d3f278994d 100644 --- a/packages/typescript-estree/dist/parseSettings/createParseSettings.js +++ b/packages/typescript-estree/dist/parseSettings/createParseSettings.js @@ -82,7 +82,9 @@ function createParseSettings(code, tsestreeOptions = {}) { maximumOpenFiles: DEFAULT_PROJECT_OPENED_FILES_THRESHOLD, EXPERIMENTAL_editWithDiffs: false, maximumDefaultProjectFileMatchCount_THIS_WILL_SLOW_DOWN_LINTING: DEFAULT_PROJECT_MATCHED_FILES_THRESHOLD, - ...(typeof tsestreeOptions.projectService === 'object' ? tsestreeOptions.projectService : {}) + ...(typeof tsestreeOptions.projectService === 'object' + ? tsestreeOptions.projectService + : {}), }; const parseSettings = { allowInvalidAST: tsestreeOptions.allowInvalidAST === true, diff --git a/packages/typescript-estree/dist/parseSettings/createParseSettings.js.map b/packages/typescript-estree/dist/parseSettings/createParseSettings.js.map index 86ff58c2d769..7ca72204015c 100644 --- a/packages/typescript-estree/dist/parseSettings/createParseSettings.js.map +++ b/packages/typescript-estree/dist/parseSettings/createParseSettings.js.map @@ -1 +1 @@ -{"version":3,"file":"createParseSettings.js","sourceRoot":"","sources":["../../src/parseSettings/createParseSettings.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"createParseSettings.js","sourceRoot":"","sources":["../../src/parseSettings/createParseSettings.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/useProgramFromProjectService.js b/packages/typescript-estree/dist/useProgramFromProjectService.js index 91b4309d9a3f..f00ab39fd768 100644 --- a/packages/typescript-estree/dist/useProgramFromProjectService.js +++ b/packages/typescript-estree/dist/useProgramFromProjectService.js @@ -13,7 +13,7 @@ const validateDefaultProjectForFilesGlob_1 = require("./create-program/validateD const log = (0, debug_1.default)('typescript-eslint:typescript-estree:useProgramFromProjectService'); const makeOpenedFilesCache = (service, parseSettings) => { if (!service.__opened_lru_cache) { - if (!parseSettings?.projectService?.maximumOpenFiles) { + if (!parseSettings.projectService?.maximumOpenFiles) { throw new Error('maximumOpenFiles must be set in parserOptions.projectService'); } service.__opened_lru_cache = new lru_cache_1.LRUCache({ @@ -41,20 +41,24 @@ function useProgramFromProjectService({ allowDefaultProject, maximumDefaultProje // See https://github.com/typescript-eslint/typescript-eslint/issues/8519 const filePathAbsolute = absolutify(parseSettings.filePath); log('Opening project service file for: %s at absolute path %s', parseSettings.filePath, filePathAbsolute); - log('Opening project service file for: %s at absolute path %s', parseSettings.filePath, filePathAbsolute); - const isOpened = openedFilesCache.has(filePathAbsolute); - const opened = isOpened - ? // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - openedFilesCache.get(filePathAbsolute) - : service.openClientFile(filePathAbsolute, parseSettings.codeFullText, - /* scriptKind */ undefined, parseSettings.tsconfigRootDir); - if (isOpened) { - log('Retrieved project service file from cache: %o', opened); - } - else { - openedFilesCache.set(filePathAbsolute, opened); - log('Opened project service file: %o', opened); - } + // const isOpened = openedFilesCache.has(filePathAbsolute); + // const opened = isOpened + // ? // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + // openedFilesCache.get(filePathAbsolute)! + // : service.openClientFile( + // filePathAbsolute, + // parseSettings.codeFullText, + // /* scriptKind */ undefined, + // parseSettings.tsconfigRootDir, + // ); + const opened = service.openClientFile(filePathAbsolute, parseSettings.codeFullText, + /* scriptKind */ undefined, parseSettings.tsconfigRootDir); + // if (isOpened) { + log('Retrieved project service file from cache: %o', opened); + // } else { + // openedFilesCache.set(filePathAbsolute, opened); + // log('Opened project service file: %o', opened); + // } // if (!isOpened) { // if ( // !isFileInConfiguredProject( diff --git a/packages/typescript-estree/dist/useProgramFromProjectService.js.map b/packages/typescript-estree/dist/useProgramFromProjectService.js.map index 759f8f52fd09..f0c1aa2abb14 100644 --- a/packages/typescript-estree/dist/useProgramFromProjectService.js.map +++ b/packages/typescript-estree/dist/useProgramFromProjectService.js.map @@ -1 +1 @@ -{"version":3,"file":"useProgramFromProjectService.js","sourceRoot":"","sources":["../src/useProgramFromProjectService.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"useProgramFromProjectService.js","sourceRoot":"","sources":["../src/useProgramFromProjectService.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/typescript-estree/src/useProgramFromProjectService.ts b/packages/typescript-estree/src/useProgramFromProjectService.ts index b941ee7bd52b..52e3ee075134 100644 --- a/packages/typescript-estree/src/useProgramFromProjectService.ts +++ b/packages/typescript-estree/src/useProgramFromProjectService.ts @@ -22,7 +22,7 @@ const makeOpenedFilesCache = ( parseSettings: Readonly, ): Map => { if (!service.__opened_lru_cache) { - if (!parseSettings?.projectService?.maximumOpenFiles) { + if (!parseSettings.projectService?.maximumOpenFiles) { throw new Error( 'maximumOpenFiles must be set in parserOptions.projectService', ); @@ -75,29 +75,29 @@ export function useProgramFromProjectService( filePathAbsolute, ); - log( - 'Opening project service file for: %s at absolute path %s', - parseSettings.filePath, + // const isOpened = openedFilesCache.has(filePathAbsolute); + // const opened = isOpened + // ? // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + // openedFilesCache.get(filePathAbsolute)! + // : service.openClientFile( + // filePathAbsolute, + // parseSettings.codeFullText, + // /* scriptKind */ undefined, + // parseSettings.tsconfigRootDir, + // ); + const opened = service.openClientFile( filePathAbsolute, + parseSettings.codeFullText, + /* scriptKind */ undefined, + parseSettings.tsconfigRootDir, ); - const isOpened = openedFilesCache.has(filePathAbsolute); - const opened = isOpened - ? // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - openedFilesCache.get(filePathAbsolute)! - : service.openClientFile( - filePathAbsolute, - parseSettings.codeFullText, - /* scriptKind */ undefined, - parseSettings.tsconfigRootDir, - ); - - if (isOpened) { - log('Retrieved project service file from cache: %o', opened); - } else { - openedFilesCache.set(filePathAbsolute, opened); - log('Opened project service file: %o', opened); - } + // if (isOpened) { + log('Retrieved project service file from cache: %o', opened); + // } else { + // openedFilesCache.set(filePathAbsolute, opened); + // log('Opened project service file: %o', opened); + // } // if (!isOpened) { // if ( From 53d44c95d2612f6f4c9604a6788b55d922edacb2 Mon Sep 17 00:00:00 2001 From: Christopher Aubut Date: Wed, 12 Jun 2024 14:33:13 -0600 Subject: [PATCH 22/36] chore: testing incremental edits --- packages/types/dist/parser-options.d.ts | 2 +- packages/types/dist/parser-options.d.ts.map | 2 +- packages/types/src/parser-options.ts | 2 +- .../create-program/createProjectService.d.ts | 2 +- .../createProjectService.d.ts.map | 2 +- .../create-program/createProjectService.js | 2 +- .../createProjectService.js.map | 2 +- .../dist/parseSettings/createParseSettings.js | 2 +- .../parseSettings/createParseSettings.js.map | 2 +- .../useProgramFromProjectService.d.ts.map | 2 +- .../dist/useProgramFromProjectService.js | 110 ++++++++++--- .../dist/useProgramFromProjectService.js.map | 2 +- .../create-program/createProjectService.ts | 4 +- .../src/parseSettings/createParseSettings.ts | 2 +- .../src/useProgramFromProjectService.ts | 155 ++++++++++++++---- 15 files changed, 223 insertions(+), 70 deletions(-) diff --git a/packages/types/dist/parser-options.d.ts b/packages/types/dist/parser-options.d.ts index 0f0fd00a84e8..1c83e2f347fd 100644 --- a/packages/types/dist/parser-options.d.ts +++ b/packages/types/dist/parser-options.d.ts @@ -26,7 +26,7 @@ interface ProjectServiceOptions { /** * Send changes to files as diffs instead of replacing the entire files. */ - EXPERIMENTAL_editWithDiffs?: boolean; + incremental?: boolean; /** * The maximum number of files {@link allowDefaultProject} may match. * Each file match slows down linting, so if you do need to use this, please diff --git a/packages/types/dist/parser-options.d.ts.map b/packages/types/dist/parser-options.d.ts.map index a68a3f35eefa..b126b4ddb231 100644 --- a/packages/types/dist/parser-options.d.ts.map +++ b/packages/types/dist/parser-options.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"parser-options.d.ts","sourceRoot":"","sources":["../src/parser-options.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"parser-options.d.ts","sourceRoot":"","sources":["../src/parser-options.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/types/src/parser-options.ts b/packages/types/src/parser-options.ts index 4d6330ac635d..e270ce25198d 100644 --- a/packages/types/src/parser-options.ts +++ b/packages/types/src/parser-options.ts @@ -59,7 +59,7 @@ interface ProjectServiceOptions { /** * Send changes to files as diffs instead of replacing the entire files. */ - EXPERIMENTAL_editWithDiffs?: boolean; + incremental?: boolean; /** * The maximum number of files {@link allowDefaultProject} may match. diff --git a/packages/typescript-estree/dist/create-program/createProjectService.d.ts b/packages/typescript-estree/dist/create-program/createProjectService.d.ts index fa2aa8db258c..15d230f4a5fd 100644 --- a/packages/typescript-estree/dist/create-program/createProjectService.d.ts +++ b/packages/typescript-estree/dist/create-program/createProjectService.d.ts @@ -6,7 +6,7 @@ export interface ProjectServiceSettings { maximumDefaultProjectFileMatchCount: number; service: TypeScriptProjectService; maximumOpenFiles: number; - editWithDiffs: boolean; + incremental: boolean; } export interface ProjectServiceParseSettings { extraFileExtensions?: string[]; diff --git a/packages/typescript-estree/dist/create-program/createProjectService.d.ts.map b/packages/typescript-estree/dist/create-program/createProjectService.d.ts.map index 09457d06777c..6510ece166b1 100644 --- a/packages/typescript-estree/dist/create-program/createProjectService.d.ts.map +++ b/packages/typescript-estree/dist/create-program/createProjectService.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"createProjectService.d.ts","sourceRoot":"","sources":["../../src/create-program/createProjectService.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAE1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAwB/D,MAAM,MAAM,wBAAwB,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC;AAEhE,MAAM,WAAW,sBAAsB;IACrC,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,mCAAmC,EAAE,MAAM,CAAC;IAC5C,OAAO,EAAE,wBAAwB,CAAC;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,2BAA2B;IAC1C,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,QAAQ,CAAC,qBAAqB,CAAC,EACxC,gBAAgB,EAAE,EAAE,CAAC,gBAAgB,GAAG,SAAS,EACjD,aAAa,CAAC,EAAE,2BAA2B,GAC1C,sBAAsB,CAoHxB"} \ No newline at end of file +{"version":3,"file":"createProjectService.d.ts","sourceRoot":"","sources":["../../src/create-program/createProjectService.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAE1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAwB/D,MAAM,MAAM,wBAAwB,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC;AAEhE,MAAM,WAAW,sBAAsB;IACrC,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,mCAAmC,EAAE,MAAM,CAAC;IAC5C,OAAO,EAAE,wBAAwB,CAAC;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,2BAA2B;IAC1C,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,QAAQ,CAAC,qBAAqB,CAAC,EACxC,gBAAgB,EAAE,EAAE,CAAC,gBAAgB,GAAG,SAAS,EACjD,aAAa,CAAC,EAAE,2BAA2B,GAC1C,sBAAsB,CAoHxB"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/createProjectService.js b/packages/typescript-estree/dist/create-program/createProjectService.js index b27e2133fdf0..99003768da52 100644 --- a/packages/typescript-estree/dist/create-program/createProjectService.js +++ b/packages/typescript-estree/dist/create-program/createProjectService.js @@ -113,7 +113,7 @@ function createProjectService(options, jsDocParsingMode, parseSettings) { return { allowDefaultProject: options.allowDefaultProject, maximumOpenFiles: options.maximumOpenFiles, - editWithDiffs: options.EXPERIMENTAL_editWithDiffs, + incremental: options.incremental, maximumDefaultProjectFileMatchCount: options.maximumDefaultProjectFileMatchCount_THIS_WILL_SLOW_DOWN_LINTING, service, }; diff --git a/packages/typescript-estree/dist/create-program/createProjectService.js.map b/packages/typescript-estree/dist/create-program/createProjectService.js.map index 36bd2f28307a..ab4b6711254f 100644 --- a/packages/typescript-estree/dist/create-program/createProjectService.js.map +++ b/packages/typescript-estree/dist/create-program/createProjectService.js.map @@ -1 +1 @@ -{"version":3,"file":"createProjectService.js","sourceRoot":"","sources":["../../src/create-program/createProjectService.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"createProjectService.js","sourceRoot":"","sources":["../../src/create-program/createProjectService.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/createParseSettings.js b/packages/typescript-estree/dist/parseSettings/createParseSettings.js index 48d3f278994d..435a9254d2f7 100644 --- a/packages/typescript-estree/dist/parseSettings/createParseSettings.js +++ b/packages/typescript-estree/dist/parseSettings/createParseSettings.js @@ -80,7 +80,7 @@ function createParseSettings(code, tsestreeOptions = {}) { allowDefaultProject: [], defaultProject: null, maximumOpenFiles: DEFAULT_PROJECT_OPENED_FILES_THRESHOLD, - EXPERIMENTAL_editWithDiffs: false, + incremental: false, maximumDefaultProjectFileMatchCount_THIS_WILL_SLOW_DOWN_LINTING: DEFAULT_PROJECT_MATCHED_FILES_THRESHOLD, ...(typeof tsestreeOptions.projectService === 'object' ? tsestreeOptions.projectService diff --git a/packages/typescript-estree/dist/parseSettings/createParseSettings.js.map b/packages/typescript-estree/dist/parseSettings/createParseSettings.js.map index 7ca72204015c..7fb1fa7bc613 100644 --- a/packages/typescript-estree/dist/parseSettings/createParseSettings.js.map +++ b/packages/typescript-estree/dist/parseSettings/createParseSettings.js.map @@ -1 +1 @@ -{"version":3,"file":"createParseSettings.js","sourceRoot":"","sources":["../../src/parseSettings/createParseSettings.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"createParseSettings.js","sourceRoot":"","sources":["../../src/parseSettings/createParseSettings.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/useProgramFromProjectService.d.ts.map b/packages/typescript-estree/dist/useProgramFromProjectService.d.ts.map index 305ce47f094a..058a62d26299 100644 --- a/packages/typescript-estree/dist/useProgramFromProjectService.d.ts.map +++ b/packages/typescript-estree/dist/useProgramFromProjectService.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"useProgramFromProjectService.d.ts","sourceRoot":"","sources":["../src/useProgramFromProjectService.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AACpF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAErE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AA6C5D,wBAAgB,4BAA4B,CAC1C,EACE,mBAAmB,EACnB,mCAAmC,EACnC,OAAO,GACR,EAAE,sBAAsB,EACzB,aAAa,EAAE,QAAQ,CAAC,oBAAoB,CAAC,EAC7C,sBAAsB,EAAE,OAAO,EAC/B,0BAA0B,EAAE,GAAG,CAAC,MAAM,CAAC,GACtC,qBAAqB,GAAG,SAAS,CAiInC"} \ No newline at end of file +{"version":3,"file":"useProgramFromProjectService.d.ts","sourceRoot":"","sources":["../src/useProgramFromProjectService.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AACpF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAErE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAiG5D,wBAAgB,4BAA4B,CAC1C,EACE,mBAAmB,EACnB,mCAAmC,EACnC,OAAO,GACR,EAAE,sBAAsB,EACzB,aAAa,EAAE,QAAQ,CAAC,oBAAoB,CAAC,EAC7C,sBAAsB,EAAE,OAAO,EAC/B,0BAA0B,EAAE,GAAG,CAAC,MAAM,CAAC,GACtC,qBAAqB,GAAG,SAAS,CAsKnC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/useProgramFromProjectService.js b/packages/typescript-estree/dist/useProgramFromProjectService.js index f00ab39fd768..dc57dd83066a 100644 --- a/packages/typescript-estree/dist/useProgramFromProjectService.js +++ b/packages/typescript-estree/dist/useProgramFromProjectService.js @@ -5,12 +5,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) { Object.defineProperty(exports, "__esModule", { value: true }); exports.useProgramFromProjectService = void 0; const debug_1 = __importDefault(require("debug")); +const diff_1 = require("diff"); const lru_cache_1 = require("lru-cache"); const minimatch_1 = require("minimatch"); const path_1 = __importDefault(require("path")); const createProjectProgram_1 = require("./create-program/createProjectProgram"); const validateDefaultProjectForFilesGlob_1 = require("./create-program/validateDefaultProjectForFilesGlob"); const log = (0, debug_1.default)('typescript-eslint:typescript-estree:useProgramFromProjectService'); +const logEdits = (0, debug_1.default)('typescript-eslint:typescript-estree:useProgramFromProjectService:editContent'); const makeOpenedFilesCache = (service, parseSettings) => { if (!service.__opened_lru_cache) { if (!parseSettings.projectService?.maximumOpenFiles) { @@ -26,7 +28,7 @@ const makeOpenedFilesCache = (service, parseSettings) => { } return service.__opened_lru_cache; }; -const isFileInConfiguredProject = (service, filePath) => { +const filePathMatchedByConfiguredProject = (service, filePath) => { const configuredProjects = service.configuredProjects; for (const project of configuredProjects.values()) { if (project.containsFile(filePath)) { @@ -35,30 +37,56 @@ const isFileInConfiguredProject = (service, filePath) => { } return false; }; +const makeEdits = (oldContent, newContent) => { + const changes = (0, diff_1.diffChars)(oldContent, newContent); + // const edits: ContentEdit[] = []; + let offset = 0; + return changes.map(change => { + const edit = { + start: offset, + end: change.added ? offset : offset + (change.count ?? 0), + content: change.value, + }; + if (!(change.added || change.removed)) { + offset += change.count ?? 0; + } + return edit; + }); + // delete + // if (change.removed && change.count !== undefined) { + // edits.push({ + // start: offset, + // end: offset + change.count, + // content: change.value, //'', + // }); + // return; + // } + // // insert + // if (change.added) { + // edits.push({ + // start: offset, + // end: offset, + // content: change.value, + // }); + // } + // if (change.count !== undefined) { + // edits.push({ + // start: offset, + // end: offset + change.count, + // content: change.value, + // }); + // offset += change.count; + // } + // return edits; +}; function useProgramFromProjectService({ allowDefaultProject, maximumDefaultProjectFileMatchCount, service, }, parseSettings, hasFullTypeInformation, defaultProjectMatchedFiles) { const openedFilesCache = makeOpenedFilesCache(service, parseSettings); // We don't canonicalize the filename because it caused a performance regression. // See https://github.com/typescript-eslint/typescript-eslint/issues/8519 const filePathAbsolute = absolutify(parseSettings.filePath); + const isFileInConfiguredProject = filePathMatchedByConfiguredProject(service, filePathAbsolute); log('Opening project service file for: %s at absolute path %s', parseSettings.filePath, filePathAbsolute); - // const isOpened = openedFilesCache.has(filePathAbsolute); - // const opened = isOpened - // ? // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - // openedFilesCache.get(filePathAbsolute)! - // : service.openClientFile( - // filePathAbsolute, - // parseSettings.codeFullText, - // /* scriptKind */ undefined, - // parseSettings.tsconfigRootDir, - // ); - const opened = service.openClientFile(filePathAbsolute, parseSettings.codeFullText, - /* scriptKind */ undefined, parseSettings.tsconfigRootDir); - // if (isOpened) { - log('Retrieved project service file from cache: %o', opened); - // } else { - // openedFilesCache.set(filePathAbsolute, opened); - // log('Opened project service file: %o', opened); - // } + const isOpened = openedFilesCache.has(filePathAbsolute); // if (!isOpened) { // if ( // !isFileInConfiguredProject( @@ -76,21 +104,55 @@ function useProgramFromProjectService({ allowDefaultProject, maximumDefaultProje // } // } // } + // when reusing an openClientFile handler, we need to ensure that + // the file is still open and manually update its contents + const cachedScriptInfo = !isOpened ? undefined : service.getScriptInfo(filePathAbsolute); + if (cachedScriptInfo) { + log('File already opened, sending changes to tsserver: %s', filePathAbsolute); + if (parseSettings.projectService?.incremental) { + const start = 0; + const end = cachedScriptInfo.getSnapshot().getLength(); + logEdits("Sending full content replacement for: %s: %o", filePathAbsolute, { + start, + end, + content: parseSettings.codeFullText + }); + cachedScriptInfo.editContent(start, end, parseSettings.codeFullText); + } + else { + const snapshot = cachedScriptInfo.getSnapshot(); + const edits = makeEdits(snapshot.getText(0, snapshot.getLength()), parseSettings.codeFullText); + edits.forEach(({ start, end, content }) => { + logEdits("Sending edit for: %s: %o", { start, end, content }); + cachedScriptInfo.editContent(start, end, content); + }); + } + } + const opened = isOpened + ? // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + openedFilesCache.get(filePathAbsolute) + : service.openClientFile(filePathAbsolute, parseSettings.codeFullText, + /* scriptKind */ undefined, parseSettings.tsconfigRootDir); + if (isOpened) { + log('Retrieved project service file from cache: %o', opened); + } + else { + openedFilesCache.set(filePathAbsolute, opened); + log('Opened project service file: %o', opened); + } if (hasFullTypeInformation) { log('Project service type information enabled; checking for file path match on: %o', allowDefaultProject); const isDefaultProjectAllowedPath = filePathMatchedBy(parseSettings.filePath, allowDefaultProject); log('Default project allowed path: %s, based on config file: %s', isDefaultProjectAllowedPath, opened.configFileName); - if (opened.configFileName) { - if (isDefaultProjectAllowedPath) { - throw new Error(`${parseSettings.filePath} was included by allowDefaultProject but also was found in the project service. Consider removing it from allowDefaultProject.`); - } + if (isFileInConfiguredProject && isDefaultProjectAllowedPath) { + throw new Error(`${parseSettings.filePath} was included by allowDefaultProject but also was found in the project service. Consider removing it from allowDefaultProject.`); } else if (!isDefaultProjectAllowedPath) { 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.`); } } log('Retrieving script info and then program for: %s', filePathAbsolute); - const scriptInfo = service.getScriptInfo(filePathAbsolute); + const scriptInfo = cachedScriptInfo ?? service.getScriptInfo(filePathAbsolute); /* eslint-disable @typescript-eslint/no-non-null-assertion */ const program = service .getDefaultProjectForFile(scriptInfo.fileName, true) diff --git a/packages/typescript-estree/dist/useProgramFromProjectService.js.map b/packages/typescript-estree/dist/useProgramFromProjectService.js.map index f0c1aa2abb14..f9934057ec44 100644 --- a/packages/typescript-estree/dist/useProgramFromProjectService.js.map +++ b/packages/typescript-estree/dist/useProgramFromProjectService.js.map @@ -1 +1 @@ -{"version":3,"file":"useProgramFromProjectService.js","sourceRoot":"","sources":["../src/useProgramFromProjectService.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"useProgramFromProjectService.js","sourceRoot":"","sources":["../src/useProgramFromProjectService.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/typescript-estree/src/create-program/createProjectService.ts b/packages/typescript-estree/src/create-program/createProjectService.ts index dc14982a7c2e..0ac0af6dcad1 100644 --- a/packages/typescript-estree/src/create-program/createProjectService.ts +++ b/packages/typescript-estree/src/create-program/createProjectService.ts @@ -35,7 +35,7 @@ export interface ProjectServiceSettings { maximumDefaultProjectFileMatchCount: number; service: TypeScriptProjectService; maximumOpenFiles: number; - editWithDiffs: boolean; + incremental: boolean; } export interface ProjectServiceParseSettings { @@ -157,7 +157,7 @@ export function createProjectService( return { allowDefaultProject: options.allowDefaultProject, maximumOpenFiles: options.maximumOpenFiles, - editWithDiffs: options.EXPERIMENTAL_editWithDiffs, + incremental: options.incremental, maximumDefaultProjectFileMatchCount: options.maximumDefaultProjectFileMatchCount_THIS_WILL_SLOW_DOWN_LINTING, service, diff --git a/packages/typescript-estree/src/parseSettings/createParseSettings.ts b/packages/typescript-estree/src/parseSettings/createParseSettings.ts index 84fc415782b0..e3b7876d46c9 100644 --- a/packages/typescript-estree/src/parseSettings/createParseSettings.ts +++ b/packages/typescript-estree/src/parseSettings/createParseSettings.ts @@ -73,7 +73,7 @@ export function createParseSettings( allowDefaultProject: [], defaultProject: null, maximumOpenFiles: DEFAULT_PROJECT_OPENED_FILES_THRESHOLD, - EXPERIMENTAL_editWithDiffs: false, + incremental: false, maximumDefaultProjectFileMatchCount_THIS_WILL_SLOW_DOWN_LINTING: DEFAULT_PROJECT_MATCHED_FILES_THRESHOLD, ...(typeof tsestreeOptions.projectService === 'object' diff --git a/packages/typescript-estree/src/useProgramFromProjectService.ts b/packages/typescript-estree/src/useProgramFromProjectService.ts index 52e3ee075134..a4077957fde5 100644 --- a/packages/typescript-estree/src/useProgramFromProjectService.ts +++ b/packages/typescript-estree/src/useProgramFromProjectService.ts @@ -14,6 +14,9 @@ import type { MutableParseSettings } from './parseSettings'; const log = debug( 'typescript-eslint:typescript-estree:useProgramFromProjectService', ); +const logEdits = debug( + 'typescript-eslint:typescript-estree:useProgramFromProjectService:editContent', +); const makeOpenedFilesCache = ( service: ts.server.ProjectService & { @@ -41,7 +44,7 @@ const makeOpenedFilesCache = ( return service.__opened_lru_cache; }; -const isFileInConfiguredProject = ( +const filePathMatchedByConfiguredProject = ( service: ts.server.ProjectService, filePath: string, ): boolean => { @@ -54,6 +57,55 @@ const isFileInConfiguredProject = ( return false; }; +interface ContentEdit { + start: number; + end: number; + content: string; +} + +const makeEdits = (oldContent: string, newContent: string): ContentEdit[] => { + const changes = diffChars(oldContent, newContent); + // const edits: ContentEdit[] = []; + let offset = 0; + return changes.map(change => { + const edit = { + start: offset, + end: change.added ? offset : offset + (change.count ?? 0), + content: change.value, + }; + if (!(change.added || change.removed)) { + offset += change.count ?? 0; + } + return edit; + }); + // delete + // if (change.removed && change.count !== undefined) { + // edits.push({ + // start: offset, + // end: offset + change.count, + // content: change.value, //'', + // }); + // return; + // } + // // insert + // if (change.added) { + // edits.push({ + // start: offset, + // end: offset, + // content: change.value, + // }); + // } + // if (change.count !== undefined) { + // edits.push({ + // start: offset, + // end: offset + change.count, + // content: change.value, + // }); + // offset += change.count; + // } + // return edits; +}; + export function useProgramFromProjectService( { allowDefaultProject, @@ -69,36 +121,19 @@ export function useProgramFromProjectService( // We don't canonicalize the filename because it caused a performance regression. // See https://github.com/typescript-eslint/typescript-eslint/issues/8519 const filePathAbsolute = absolutify(parseSettings.filePath); - log( - 'Opening project service file for: %s at absolute path %s', - parseSettings.filePath, + + const isFileInConfiguredProject = filePathMatchedByConfiguredProject( + service, filePathAbsolute, ); - // const isOpened = openedFilesCache.has(filePathAbsolute); - // const opened = isOpened - // ? // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - // openedFilesCache.get(filePathAbsolute)! - // : service.openClientFile( - // filePathAbsolute, - // parseSettings.codeFullText, - // /* scriptKind */ undefined, - // parseSettings.tsconfigRootDir, - // ); - const opened = service.openClientFile( + log( + 'Opening project service file for: %s at absolute path %s', + parseSettings.filePath, filePathAbsolute, - parseSettings.codeFullText, - /* scriptKind */ undefined, - parseSettings.tsconfigRootDir, ); - // if (isOpened) { - log('Retrieved project service file from cache: %o', opened); - // } else { - // openedFilesCache.set(filePathAbsolute, opened); - // log('Opened project service file: %o', opened); - // } - + const isOpened = openedFilesCache.has(filePathAbsolute); // if (!isOpened) { // if ( // !isFileInConfiguredProject( @@ -117,11 +152,67 @@ export function useProgramFromProjectService( // } // } + // when reusing an openClientFile handler, we need to ensure that + // the file is still open and manually update its contents + const cachedScriptInfo = !isOpened + ? undefined + : service.getScriptInfo(filePathAbsolute); + + if (cachedScriptInfo) { + log( + 'File already opened, sending changes to tsserver: %s', + filePathAbsolute, + ); + + if (parseSettings.projectService?.incremental) { + const start = 0; + const end = cachedScriptInfo.getSnapshot().getLength(); + logEdits( + 'Sending full content replacement for: %s: %o', + filePathAbsolute, + { + start, + end, + content: parseSettings.codeFullText, + }, + ); + cachedScriptInfo.editContent(start, end, parseSettings.codeFullText); + } else { + const snapshot = cachedScriptInfo.getSnapshot(); + const edits = makeEdits( + snapshot.getText(0, snapshot.getLength()), + parseSettings.codeFullText, + ); + edits.forEach(({ start, end, content }) => { + logEdits('Sending edit for: %s: %o', { start, end, content }); + cachedScriptInfo.editContent(start, end, content); + }); + } + } + + const opened = isOpened + ? // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + openedFilesCache.get(filePathAbsolute)! + : service.openClientFile( + filePathAbsolute, + parseSettings.codeFullText, + /* scriptKind */ undefined, + parseSettings.tsconfigRootDir, + ); + + if (isOpened) { + log('Retrieved project service file from cache: %o', opened); + } else { + openedFilesCache.set(filePathAbsolute, opened); + log('Opened project service file: %o', opened); + } + if (hasFullTypeInformation) { log( 'Project service type information enabled; checking for file path match on: %o', allowDefaultProject, ); + const isDefaultProjectAllowedPath = filePathMatchedBy( parseSettings.filePath, allowDefaultProject, @@ -133,12 +224,10 @@ export function useProgramFromProjectService( opened.configFileName, ); - if (opened.configFileName) { - if (isDefaultProjectAllowedPath) { - throw new Error( - `${parseSettings.filePath} was included by allowDefaultProject but also was found in the project service. Consider removing it from allowDefaultProject.`, - ); - } + if (isFileInConfiguredProject && isDefaultProjectAllowedPath) { + throw new Error( + `${parseSettings.filePath} was included by allowDefaultProject but also was found in the project service. Consider removing it from allowDefaultProject.`, + ); } else if (!isDefaultProjectAllowedPath) { 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.`, @@ -148,7 +237,9 @@ export function useProgramFromProjectService( log('Retrieving script info and then program for: %s', filePathAbsolute); - const scriptInfo = service.getScriptInfo(filePathAbsolute); + const scriptInfo = + cachedScriptInfo ?? service.getScriptInfo(filePathAbsolute); + /* eslint-disable @typescript-eslint/no-non-null-assertion */ const program = service .getDefaultProjectForFile(scriptInfo!.fileName, true)! From e461cfaaff232c3747f9877921f576c306103f13 Mon Sep 17 00:00:00 2001 From: Christopher Aubut Date: Wed, 12 Jun 2024 14:46:45 -0600 Subject: [PATCH 23/36] fix: adjust settings for inc edits --- .../src/useProgramFromProjectService.ts | 34 ++++++++++++------- 1 file changed, 21 insertions(+), 13 deletions(-) diff --git a/packages/typescript-estree/src/useProgramFromProjectService.ts b/packages/typescript-estree/src/useProgramFromProjectService.ts index a4077957fde5..2c52e23b3712 100644 --- a/packages/typescript-estree/src/useProgramFromProjectService.ts +++ b/packages/typescript-estree/src/useProgramFromProjectService.ts @@ -22,19 +22,16 @@ const makeOpenedFilesCache = ( service: ts.server.ProjectService & { __opened_lru_cache?: Map; }, - parseSettings: Readonly, + options: { + max: number; + }, ): Map => { if (!service.__opened_lru_cache) { - if (!parseSettings.projectService?.maximumOpenFiles) { - throw new Error( - 'maximumOpenFiles must be set in parserOptions.projectService', - ); - } service.__opened_lru_cache = new LRUCache< string, ts.server.OpenConfiguredProjectResult >({ - max: parseSettings.projectService.maximumOpenFiles, + max: options.max, dispose: (_, key): void => { log(`Closing project service file: ${key}`); service.closeClientFile(key); @@ -110,13 +107,17 @@ export function useProgramFromProjectService( { allowDefaultProject, maximumDefaultProjectFileMatchCount, + maximumOpenFiles, + incremental, service, }: ProjectServiceSettings, parseSettings: Readonly, hasFullTypeInformation: boolean, defaultProjectMatchedFiles: Set, ): ASTAndDefiniteProgram | undefined { - const openedFilesCache = makeOpenedFilesCache(service, parseSettings); + const openedFilesCache = makeOpenedFilesCache(service, { + max: maximumOpenFiles, + }); // We don't canonicalize the filename because it caused a performance regression. // See https://github.com/typescript-eslint/typescript-eslint/issues/8519 @@ -164,7 +165,7 @@ export function useProgramFromProjectService( filePathAbsolute, ); - if (parseSettings.projectService?.incremental) { + if (incremental) { const start = 0; const end = cachedScriptInfo.getSnapshot().getLength(); logEdits( @@ -200,13 +201,20 @@ export function useProgramFromProjectService( parseSettings.tsconfigRootDir, ); - if (isOpened) { - log('Retrieved project service file from cache: %o', opened); - } else { + if (!isOpened) { openedFilesCache.set(filePathAbsolute, opened); - log('Opened project service file: %o', opened); } + log( + '%s (%s/%s): %o', + isOpened + ? 'Reusing project service file from cache' + : 'Opened project service file', + service.openFiles.size, + maximumOpenFiles, + opened, + ); + if (hasFullTypeInformation) { log( 'Project service type information enabled; checking for file path match on: %o', From 23a011931b8a4841c72dd42e779687c9dfb6d72e Mon Sep 17 00:00:00 2001 From: Christopher Aubut Date: Wed, 12 Jun 2024 14:52:45 -0600 Subject: [PATCH 24/36] fix: adding build artifacts --- .../dist/useProgramFromProjectService.d.ts | 2 +- .../useProgramFromProjectService.d.ts.map | 2 +- .../dist/useProgramFromProjectService.js | 34 +++++++++---------- .../dist/useProgramFromProjectService.js.map | 2 +- 4 files changed, 20 insertions(+), 20 deletions(-) diff --git a/packages/typescript-estree/dist/useProgramFromProjectService.d.ts b/packages/typescript-estree/dist/useProgramFromProjectService.d.ts index 20da2ae296cb..f3d706dd2906 100644 --- a/packages/typescript-estree/dist/useProgramFromProjectService.d.ts +++ b/packages/typescript-estree/dist/useProgramFromProjectService.d.ts @@ -1,5 +1,5 @@ import type { ProjectServiceSettings } from './create-program/createProjectService'; import type { ASTAndDefiniteProgram } from './create-program/shared'; import type { MutableParseSettings } from './parseSettings'; -export declare function useProgramFromProjectService({ allowDefaultProject, maximumDefaultProjectFileMatchCount, service, }: ProjectServiceSettings, parseSettings: Readonly, hasFullTypeInformation: boolean, defaultProjectMatchedFiles: Set): ASTAndDefiniteProgram | undefined; +export declare function useProgramFromProjectService({ allowDefaultProject, maximumDefaultProjectFileMatchCount, maximumOpenFiles, incremental, service, }: ProjectServiceSettings, parseSettings: Readonly, hasFullTypeInformation: boolean, defaultProjectMatchedFiles: Set): ASTAndDefiniteProgram | undefined; //# sourceMappingURL=useProgramFromProjectService.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/useProgramFromProjectService.d.ts.map b/packages/typescript-estree/dist/useProgramFromProjectService.d.ts.map index 058a62d26299..34d0b555546a 100644 --- a/packages/typescript-estree/dist/useProgramFromProjectService.d.ts.map +++ b/packages/typescript-estree/dist/useProgramFromProjectService.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"useProgramFromProjectService.d.ts","sourceRoot":"","sources":["../src/useProgramFromProjectService.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AACpF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAErE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAiG5D,wBAAgB,4BAA4B,CAC1C,EACE,mBAAmB,EACnB,mCAAmC,EACnC,OAAO,GACR,EAAE,sBAAsB,EACzB,aAAa,EAAE,QAAQ,CAAC,oBAAoB,CAAC,EAC7C,sBAAsB,EAAE,OAAO,EAC/B,0BAA0B,EAAE,GAAG,CAAC,MAAM,CAAC,GACtC,qBAAqB,GAAG,SAAS,CAsKnC"} \ No newline at end of file +{"version":3,"file":"useProgramFromProjectService.d.ts","sourceRoot":"","sources":["../src/useProgramFromProjectService.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AACpF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAErE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AA8F5D,wBAAgB,4BAA4B,CAC1C,EACE,mBAAmB,EACnB,mCAAmC,EACnC,gBAAgB,EAChB,WAAW,EACX,OAAO,GACR,EAAE,sBAAsB,EACzB,aAAa,EAAE,QAAQ,CAAC,oBAAoB,CAAC,EAC7C,sBAAsB,EAAE,OAAO,EAC/B,0BAA0B,EAAE,GAAG,CAAC,MAAM,CAAC,GACtC,qBAAqB,GAAG,SAAS,CAiLnC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/useProgramFromProjectService.js b/packages/typescript-estree/dist/useProgramFromProjectService.js index dc57dd83066a..7a79c061d4e9 100644 --- a/packages/typescript-estree/dist/useProgramFromProjectService.js +++ b/packages/typescript-estree/dist/useProgramFromProjectService.js @@ -13,13 +13,10 @@ const createProjectProgram_1 = require("./create-program/createProjectProgram"); const validateDefaultProjectForFilesGlob_1 = require("./create-program/validateDefaultProjectForFilesGlob"); const log = (0, debug_1.default)('typescript-eslint:typescript-estree:useProgramFromProjectService'); const logEdits = (0, debug_1.default)('typescript-eslint:typescript-estree:useProgramFromProjectService:editContent'); -const makeOpenedFilesCache = (service, parseSettings) => { +const makeOpenedFilesCache = (service, options) => { if (!service.__opened_lru_cache) { - if (!parseSettings.projectService?.maximumOpenFiles) { - throw new Error('maximumOpenFiles must be set in parserOptions.projectService'); - } service.__opened_lru_cache = new lru_cache_1.LRUCache({ - max: parseSettings.projectService.maximumOpenFiles, + max: options.max, dispose: (_, key) => { log(`Closing project service file: ${key}`); service.closeClientFile(key); @@ -79,8 +76,10 @@ const makeEdits = (oldContent, newContent) => { // } // return edits; }; -function useProgramFromProjectService({ allowDefaultProject, maximumDefaultProjectFileMatchCount, service, }, parseSettings, hasFullTypeInformation, defaultProjectMatchedFiles) { - const openedFilesCache = makeOpenedFilesCache(service, parseSettings); +function useProgramFromProjectService({ allowDefaultProject, maximumDefaultProjectFileMatchCount, maximumOpenFiles, incremental, service, }, parseSettings, hasFullTypeInformation, defaultProjectMatchedFiles) { + const openedFilesCache = makeOpenedFilesCache(service, { + max: maximumOpenFiles, + }); // We don't canonicalize the filename because it caused a performance regression. // See https://github.com/typescript-eslint/typescript-eslint/issues/8519 const filePathAbsolute = absolutify(parseSettings.filePath); @@ -106,16 +105,18 @@ function useProgramFromProjectService({ allowDefaultProject, maximumDefaultProje // } // when reusing an openClientFile handler, we need to ensure that // the file is still open and manually update its contents - const cachedScriptInfo = !isOpened ? undefined : service.getScriptInfo(filePathAbsolute); + const cachedScriptInfo = !isOpened + ? undefined + : service.getScriptInfo(filePathAbsolute); if (cachedScriptInfo) { log('File already opened, sending changes to tsserver: %s', filePathAbsolute); - if (parseSettings.projectService?.incremental) { + if (incremental) { const start = 0; const end = cachedScriptInfo.getSnapshot().getLength(); - logEdits("Sending full content replacement for: %s: %o", filePathAbsolute, { + logEdits('Sending full content replacement for: %s: %o', filePathAbsolute, { start, end, - content: parseSettings.codeFullText + content: parseSettings.codeFullText, }); cachedScriptInfo.editContent(start, end, parseSettings.codeFullText); } @@ -123,7 +124,7 @@ function useProgramFromProjectService({ allowDefaultProject, maximumDefaultProje const snapshot = cachedScriptInfo.getSnapshot(); const edits = makeEdits(snapshot.getText(0, snapshot.getLength()), parseSettings.codeFullText); edits.forEach(({ start, end, content }) => { - logEdits("Sending edit for: %s: %o", { start, end, content }); + logEdits('Sending edit for: %s: %o', { start, end, content }); cachedScriptInfo.editContent(start, end, content); }); } @@ -133,13 +134,12 @@ function useProgramFromProjectService({ allowDefaultProject, maximumDefaultProje openedFilesCache.get(filePathAbsolute) : service.openClientFile(filePathAbsolute, parseSettings.codeFullText, /* scriptKind */ undefined, parseSettings.tsconfigRootDir); - if (isOpened) { - log('Retrieved project service file from cache: %o', opened); - } - else { + if (!isOpened) { openedFilesCache.set(filePathAbsolute, opened); - log('Opened project service file: %o', opened); } + log('%s (%s/%s): %o', isOpened + ? 'Reusing project service file from cache' + : 'Opened project service file', service.openFiles.size, maximumOpenFiles, opened); if (hasFullTypeInformation) { log('Project service type information enabled; checking for file path match on: %o', allowDefaultProject); const isDefaultProjectAllowedPath = filePathMatchedBy(parseSettings.filePath, allowDefaultProject); diff --git a/packages/typescript-estree/dist/useProgramFromProjectService.js.map b/packages/typescript-estree/dist/useProgramFromProjectService.js.map index f9934057ec44..9dacf4c78a3f 100644 --- a/packages/typescript-estree/dist/useProgramFromProjectService.js.map +++ b/packages/typescript-estree/dist/useProgramFromProjectService.js.map @@ -1 +1 @@ -{"version":3,"file":"useProgramFromProjectService.js","sourceRoot":"","sources":["../src/useProgramFromProjectService.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"useProgramFromProjectService.js","sourceRoot":"","sources":["../src/useProgramFromProjectService.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,+BAAiC;AACjC,yCAAqC;AACrC,yCAAsC;AACtC,gDAAwB;AAGxB,gFAA6E;AAG7E,4GAA8G;AAG9G,MAAM,GAAG,GAAG,IAAA,eAAK,EACf,kEAAkE,CACnE,CAAC;AACF,MAAM,QAAQ,GAAG,IAAA,eAAK,EACpB,8EAA8E,CAC/E,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAC3B,OAEC,EACD,OAEC,EACmD,EAAE;IACtD,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;QAChC,OAAO,CAAC,kBAAkB,GAAG,IAAI,oBAAQ,CAGvC;YACA,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,OAAO,EAAE,CAAC,CAAC,EAAE,GAAG,EAAQ,EAAE;gBACxB,GAAG,CAAC,iCAAiC,GAAG,EAAE,CAAC,CAAC;gBAC5C,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YAC/B,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IACD,OAAO,OAAO,CAAC,kBAAkB,CAAC;AACpC,CAAC,CAAC;AAEF,MAAM,kCAAkC,GAAG,CACzC,OAAiC,EACjC,QAAgB,EACP,EAAE;IACX,MAAM,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IACtD,KAAK,MAAM,OAAO,IAAI,kBAAkB,CAAC,MAAM,EAAE,EAAE,CAAC;QAClD,IAAI,OAAO,CAAC,YAAY,CAAC,QAAoC,CAAC,EAAE,CAAC;YAC/D,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAQF,MAAM,SAAS,GAAG,CAAC,UAAkB,EAAE,UAAkB,EAAiB,EAAE;IAC1E,MAAM,OAAO,GAAG,IAAA,gBAAS,EAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAClD,mCAAmC;IACnC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;QAC1B,MAAM,IAAI,GAAG;YACX,KAAK,EAAE,MAAM;YACb,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;YACzD,OAAO,EAAE,MAAM,CAAC,KAAK;SACtB,CAAC;QACF,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;QAC9B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IACH,SAAS;IACT,sDAAsD;IACtD,iBAAiB;IACjB,qBAAqB;IACrB,kCAAkC;IAClC,mCAAmC;IACnC,QAAQ;IACR,YAAY;IACZ,IAAI;IACJ,YAAY;IACZ,sBAAsB;IACtB,iBAAiB;IACjB,qBAAqB;IACrB,mBAAmB;IACnB,6BAA6B;IAC7B,QAAQ;IACR,IAAI;IACJ,oCAAoC;IACpC,iBAAiB;IACjB,qBAAqB;IACrB,kCAAkC;IAClC,6BAA6B;IAC7B,QAAQ;IACR,4BAA4B;IAC5B,IAAI;IACJ,gBAAgB;AAClB,CAAC,CAAC;AAEF,SAAgB,4BAA4B,CAC1C,EACE,mBAAmB,EACnB,mCAAmC,EACnC,gBAAgB,EAChB,WAAW,EACX,OAAO,GACgB,EACzB,aAA6C,EAC7C,sBAA+B,EAC/B,0BAAuC;IAEvC,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,OAAO,EAAE;QACrD,GAAG,EAAE,gBAAgB;KACtB,CAAC,CAAC;IAEH,iFAAiF;IACjF,yEAAyE;IACzE,MAAM,gBAAgB,GAAG,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAE5D,MAAM,yBAAyB,GAAG,kCAAkC,CAClE,OAAO,EACP,gBAAgB,CACjB,CAAC;IAEF,GAAG,CACD,0DAA0D,EAC1D,aAAa,CAAC,QAAQ,EACtB,gBAAgB,CACjB,CAAC;IAEF,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACxD,mBAAmB;IACnB,SAAS;IACT,kCAAkC;IAClC,iBAAiB;IACjB,sDAAsD;IACtD,QAAQ;IACR,QAAQ;IACR,kDAAkD;IAClD,qDAAqD;IACrD,oCAAoC;IACpC,qDAAqD;IACrD,kCAAkC;IAClC,eAAe;IACf,2DAA2D;IAC3D,QAAQ;IACR,MAAM;IACN,IAAI;IAEJ,iEAAiE;IACjE,0DAA0D;IAC1D,MAAM,gBAAgB,GAAG,CAAC,QAAQ;QAChC,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;IAE5C,IAAI,gBAAgB,EAAE,CAAC;QACrB,GAAG,CACD,sDAAsD,EACtD,gBAAgB,CACjB,CAAC;QAEF,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,KAAK,GAAG,CAAC,CAAC;YAChB,MAAM,GAAG,GAAG,gBAAgB,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE,CAAC;YACvD,QAAQ,CACN,8CAA8C,EAC9C,gBAAgB,EAChB;gBACE,KAAK;gBACL,GAAG;gBACH,OAAO,EAAE,aAAa,CAAC,YAAY;aACpC,CACF,CAAC;YACF,gBAAgB,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;QACvE,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,GAAG,gBAAgB,CAAC,WAAW,EAAE,CAAC;YAChD,MAAM,KAAK,GAAG,SAAS,CACrB,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,EACzC,aAAa,CAAC,YAAY,CAC3B,CAAC;YACF,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE;gBACxC,QAAQ,CAAC,0BAA0B,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC9D,gBAAgB,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ;QACrB,CAAC,CAAC,oEAAoE;YACpE,gBAAgB,CAAC,GAAG,CAAC,gBAAgB,CAAE;QACzC,CAAC,CAAC,OAAO,CAAC,cAAc,CACpB,gBAAgB,EAChB,aAAa,CAAC,YAAY;QAC1B,gBAAgB,CAAC,SAAS,EAC1B,aAAa,CAAC,eAAe,CAC9B,CAAC;IAEN,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,gBAAgB,CAAC,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC;IAED,GAAG,CACD,gBAAgB,EAChB,QAAQ;QACN,CAAC,CAAC,yCAAyC;QAC3C,CAAC,CAAC,6BAA6B,EACjC,OAAO,CAAC,SAAS,CAAC,IAAI,EACtB,gBAAgB,EAChB,MAAM,CACP,CAAC;IAEF,IAAI,sBAAsB,EAAE,CAAC;QAC3B,GAAG,CACD,+EAA+E,EAC/E,mBAAmB,CACpB,CAAC;QAEF,MAAM,2BAA2B,GAAG,iBAAiB,CACnD,aAAa,CAAC,QAAQ,EACtB,mBAAmB,CACpB,CAAC;QAEF,GAAG,CACD,4DAA4D,EAC5D,2BAA2B,EAC3B,MAAM,CAAC,cAAc,CACtB,CAAC;QAEF,IAAI,yBAAyB,IAAI,2BAA2B,EAAE,CAAC;YAC7D,MAAM,IAAI,KAAK,CACb,GAAG,aAAa,CAAC,QAAQ,gIAAgI,CAC1J,CAAC;QACJ,CAAC;aAAM,IAAI,CAAC,2BAA2B,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CACb,GAAG,aAAa,CAAC,QAAQ,kIAAkI,CAC5J,CAAC;QACJ,CAAC;IACH,CAAC;IAED,GAAG,CAAC,iDAAiD,EAAE,gBAAgB,CAAC,CAAC;IAEzE,MAAM,UAAU,GACd,gBAAgB,IAAI,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;IAE9D,6DAA6D;IAC7D,MAAM,OAAO,GAAG,OAAO;SACpB,wBAAwB,CAAC,UAAW,CAAC,QAAQ,EAAE,IAAI,CAAE;SACrD,kBAAkB,CAAC,sBAAsB,CAAC,IAAI,CAAC;SAC/C,UAAU,EAAE,CAAC;IAChB,4DAA4D;IAE5D,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,GAAG,CAAC,gDAAgD,EAAE,gBAAgB,CAAC,CAAC;QACxE,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;QAC3B,0BAA0B,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,0BAA0B,CAAC,IAAI,GAAG,mCAAmC,EAAE,CAAC;QAC1E,MAAM,cAAc,GAAG,EAAE,CAAC;QAC1B,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,KAAK,CAC/D,CAAC,EACD,cAAc,CACf,CAAC;QACF,MAAM,kBAAkB,GACtB,0BAA0B,CAAC,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC;QAExD,MAAM,IAAI,KAAK,CACb,oBAAoB,mCAAmC,sCAAsC,4EAAuC;;EAExI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;EAChD,kBAAkB,CAAC,CAAC,CAAC,UAAU,kBAAkB,eAAe,CAAC,CAAC,CAAC,EAAE;;CAEtE,CACI,CAAC;IACJ,CAAC;IAED,GAAG,CAAC,uCAAuC,EAAE,gBAAgB,CAAC,CAAC;IAE/D,OAAO,IAAA,2CAAoB,EAAC,aAAa,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEtD,SAAS,UAAU,CAAC,QAAgB;QAClC,OAAO,cAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YAC9B,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC;AA5LD,oEA4LC;AAED,SAAS,iBAAiB,CACxB,QAAgB,EAChB,mBAAyC;IAEzC,OAAO,CAAC,CAAC,mBAAmB,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,IAAA,qBAAS,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;AAC9E,CAAC"} \ No newline at end of file From 1cb766941c1a698211577408262f78c63b50040a Mon Sep 17 00:00:00 2001 From: Christopher Aubut Date: Wed, 12 Jun 2024 15:00:35 -0600 Subject: [PATCH 25/36] chore: simplify applying edits and revert to old edit func --- .../src/useProgramFromProjectService.ts | 145 +++++++++++------- 1 file changed, 90 insertions(+), 55 deletions(-) diff --git a/packages/typescript-estree/src/useProgramFromProjectService.ts b/packages/typescript-estree/src/useProgramFromProjectService.ts index 2c52e23b3712..ec64513bf0a6 100644 --- a/packages/typescript-estree/src/useProgramFromProjectService.ts +++ b/packages/typescript-estree/src/useProgramFromProjectService.ts @@ -59,49 +59,85 @@ interface ContentEdit { end: number; content: string; } - const makeEdits = (oldContent: string, newContent: string): ContentEdit[] => { + // log('OLD', oldContent); + // log('NEW', newContent) const changes = diffChars(oldContent, newContent); - // const edits: ContentEdit[] = []; + // log(changes); + const edits: ContentEdit[] = []; + let offset = 0; - return changes.map(change => { - const edit = { - start: offset, - end: change.added ? offset : offset + (change.count ?? 0), - content: change.value, - }; - if (!(change.added || change.removed)) { - offset += change.count ?? 0; + changes.forEach(change => { + if (change.removed && change.count !== undefined) { + edits.push({ + start: offset, + end: offset + change.count, + content: '', + }); + return; + // offset += change.count; // Update offset for removed content + } + if (change.added) { + edits.push({ + start: offset, + end: offset, + content: change.value, + }); + } + if (change.count !== undefined) { + edits.push({ + start: offset, + end: offset + change.count, + content: change.value, + }); + offset += change.count; // Update offset for unchanged content } - return edit; }); - // delete - // if (change.removed && change.count !== undefined) { - // edits.push({ - // start: offset, - // end: offset + change.count, - // content: change.value, //'', - // }); - // return; - // } - // // insert - // if (change.added) { - // edits.push({ - // start: offset, - // end: offset, - // content: change.value, - // }); - // } - // if (change.count !== undefined) { - // edits.push({ - // start: offset, - // end: offset + change.count, - // content: change.value, - // }); - // offset += change.count; - // } - // return edits; + // log('EDITS', edits); + return edits; }; +// const makeEdits = (oldContent: string, newContent: string): ContentEdit[] => { +// const changes = diffChars(oldContent, newContent); +// // const edits: ContentEdit[] = []; +// let offset = 0; +// return changes.map(change => { +// const edit = { +// start: offset, +// end: change.added ? offset : offset + (change.count ?? 0), +// content: change.value, +// }; +// if (!(change.added || change.removed)) { +// offset += change.count ?? 0; +// } +// return edit; +// }); +// // delete +// // if (change.removed && change.count !== undefined) { +// // edits.push({ +// // start: offset, +// // end: offset + change.count, +// // content: change.value, //'', +// // }); +// // return; +// // } +// // // insert +// // if (change.added) { +// // edits.push({ +// // start: offset, +// // end: offset, +// // content: change.value, +// // }); +// // } +// // if (change.count !== undefined) { +// // edits.push({ +// // start: offset, +// // end: offset + change.count, +// // content: change.value, +// // }); +// // offset += change.count; +// // } +// // return edits; +// }; export function useProgramFromProjectService( { @@ -165,27 +201,26 @@ export function useProgramFromProjectService( filePathAbsolute, ); + const snapshot = cachedScriptInfo.getSnapshot(); + const edits = incremental + ? makeEdits( + snapshot.getText(0, snapshot.getLength()), + parseSettings.codeFullText, + ) + : [ + { + start: 0, + end: snapshot.getLength(), + content: parseSettings.codeFullText, + }, + ]; if (incremental) { - const start = 0; - const end = cachedScriptInfo.getSnapshot().getLength(); - logEdits( - 'Sending full content replacement for: %s: %o', - filePathAbsolute, - { + edits.forEach(({ start, end, content }) => { + logEdits('Sending edit for: %s: %o', filePathAbsolute, { start, end, - content: parseSettings.codeFullText, - }, - ); - cachedScriptInfo.editContent(start, end, parseSettings.codeFullText); - } else { - const snapshot = cachedScriptInfo.getSnapshot(); - const edits = makeEdits( - snapshot.getText(0, snapshot.getLength()), - parseSettings.codeFullText, - ); - edits.forEach(({ start, end, content }) => { - logEdits('Sending edit for: %s: %o', { start, end, content }); + content, + }); cachedScriptInfo.editContent(start, end, content); }); } From dab900b4ee5a3509d099e1edcb710445a326b372 Mon Sep 17 00:00:00 2001 From: Christopher Aubut Date: Wed, 12 Jun 2024 17:58:55 -0600 Subject: [PATCH 26/36] chore: watches and new simpler edit logic --- packages/types/pnpm-lock.yaml | 836 +++++ .../createProjectService.d.ts.map | 2 +- .../create-program/createProjectService.js | 16 +- .../createProjectService.js.map | 2 +- .../getWatchesForProjectService.d.ts | 24 + .../getWatchesForProjectService.d.ts.map | 1 + .../getWatchesForProjectService.js | 132 + .../getWatchesForProjectService.js.map | 1 + .../useProgramFromProjectService.d.ts.map | 2 +- .../dist/useProgramFromProjectService.js | 125 +- .../dist/useProgramFromProjectService.js.map | 2 +- packages/typescript-estree/package.json | 4 +- packages/typescript-estree/pnpm-lock.yaml | 2898 +++++++++++++++++ .../create-program/createProjectService.ts | 22 +- .../getWatchesForProjectService.ts | 129 + .../src/useProgramFromProjectService.ts | 159 +- yarn.lock | 16 +- 17 files changed, 4178 insertions(+), 193 deletions(-) create mode 100644 packages/types/pnpm-lock.yaml create mode 100644 packages/typescript-estree/dist/create-program/getWatchesForProjectService.d.ts create mode 100644 packages/typescript-estree/dist/create-program/getWatchesForProjectService.d.ts.map create mode 100644 packages/typescript-estree/dist/create-program/getWatchesForProjectService.js create mode 100644 packages/typescript-estree/dist/create-program/getWatchesForProjectService.js.map create mode 100644 packages/typescript-estree/pnpm-lock.yaml create mode 100644 packages/typescript-estree/src/create-program/getWatchesForProjectService.ts diff --git a/packages/types/pnpm-lock.yaml b/packages/types/pnpm-lock.yaml new file mode 100644 index 000000000000..511f84a5e6c1 --- /dev/null +++ b/packages/types/pnpm-lock.yaml @@ -0,0 +1,836 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + devDependencies: + '@jest/types': + specifier: 29.6.3 + version: 29.6.3 + downlevel-dts: + specifier: '*' + version: 0.11.0 + prettier: + specifier: ^3.2.5 + version: 3.3.2 + rimraf: + specifier: '*' + version: 5.0.7 + tsx: + specifier: '*' + version: 4.15.2 + typescript: + specifier: '*' + version: 5.4.5 + +packages: + + '@esbuild/aix-ppc64@0.21.5': + resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.21.5': + resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.21.5': + resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.21.5': + resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.21.5': + resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.21.5': + resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.21.5': + resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.21.5': + resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.21.5': + resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm@0.21.5': + resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-ia32@0.21.5': + resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-loong64@0.21.5': + resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-mips64el@0.21.5': + resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.21.5': + resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.21.5': + resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.21.5': + resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.21.5': + resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-x64@0.21.5': + resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-x64@0.21.5': + resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + + '@esbuild/sunos-x64@0.21.5': + resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.21.5': + resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.21.5': + resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.21.5': + resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + + '@isaacs/cliui@8.0.2': + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + + '@jest/schemas@29.6.3': + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/types@29.6.3': + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@pkgjs/parseargs@0.11.0': + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + + '@sinclair/typebox@0.27.8': + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + + '@types/istanbul-lib-coverage@2.0.6': + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + + '@types/istanbul-lib-report@3.0.3': + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} + + '@types/istanbul-reports@3.0.4': + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} + + '@types/node@20.14.2': + resolution: {integrity: sha512-xyu6WAMVwv6AKFLB+e/7ySZVr/0zLCzOa7rSpq6jNwpqOrUbcACDWC+53d4n2QHOnDou0fbIsg8wZu/sxrnI4Q==} + + '@types/yargs-parser@21.0.3': + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} + + '@types/yargs@17.0.32': + resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-regex@6.0.1: + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + engines: {node: '>=12'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + + brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + + downlevel-dts@0.11.0: + resolution: {integrity: sha512-vo835pntK7kzYStk7xUHDifiYJvXxVhUapt85uk2AI94gUUAQX9HNRtrcMHNSc3YHJUEHGbYIGsM99uIbgAtxw==} + hasBin: true + + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + + esbuild@0.21.5: + resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} + engines: {node: '>=12'} + hasBin: true + + foreground-child@3.2.0: + resolution: {integrity: sha512-CrWQNaEl1/6WeZoarcM9LHupTo3RpZO2Pdk1vktwzPiQTsJnAKJmm3TACKeG5UZbWDfaH2AbvYxzP96y0MT7fA==} + engines: {node: '>=14'} + + fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + get-tsconfig@4.7.5: + resolution: {integrity: sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==} + + glob@10.4.1: + resolution: {integrity: sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw==} + engines: {node: '>=16 || 14 >=14.18'} + hasBin: true + + glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + + inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + interpret@1.4.0: + resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==} + engines: {node: '>= 0.10'} + + is-core-module@2.13.1: + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + jackspeak@3.4.0: + resolution: {integrity: sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==} + engines: {node: '>=14'} + + lru-cache@10.2.2: + resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==} + engines: {node: 14 || >=16.14} + + minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + + minimatch@9.0.4: + resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} + engines: {node: '>=16 || 14 >=14.17'} + + minipass@7.1.2: + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} + engines: {node: '>=16 || 14 >=14.17'} + + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + + path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} + + prettier@3.3.2: + resolution: {integrity: sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==} + engines: {node: '>=14'} + hasBin: true + + rechoir@0.6.2: + resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} + engines: {node: '>= 0.10'} + + resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + + resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true + + rimraf@5.0.7: + resolution: {integrity: sha512-nV6YcJo5wbLW77m+8KjH8aB/7/rxQy9SZ0HY5shnwULfS+9nmTtVXAJET5NdZmCzA4fPI/Hm1wo/Po/4mopOdg==} + engines: {node: '>=14.18'} + hasBin: true + + semver@7.6.2: + resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} + engines: {node: '>=10'} + hasBin: true + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + shelljs@0.8.5: + resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==} + engines: {node: '>=4'} + hasBin: true + + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + tsx@4.15.2: + resolution: {integrity: sha512-kIZTOCmR37nEw0qxQks2dR+eZWSXydhTGmz7yx94vEiJtJGBTkUl0D/jt/5fey+CNdm6i3Cp+29WKRay9ScQUw==} + engines: {node: '>=18.0.0'} + hasBin: true + + typescript@5.4.5: + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} + engines: {node: '>=14.17'} + hasBin: true + + typescript@5.6.0-dev.20240612: + resolution: {integrity: sha512-C5WDxLlEMZhdyZBkhZkysctw9uOpGnua48Zrq0FxJLx6+tFrNkanXn4Zhatjg1vbKjzk19FYggX4Gc6Wgz5flg==} + engines: {node: '>=14.17'} + hasBin: true + + undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + +snapshots: + + '@esbuild/aix-ppc64@0.21.5': + optional: true + + '@esbuild/android-arm64@0.21.5': + optional: true + + '@esbuild/android-arm@0.21.5': + optional: true + + '@esbuild/android-x64@0.21.5': + optional: true + + '@esbuild/darwin-arm64@0.21.5': + optional: true + + '@esbuild/darwin-x64@0.21.5': + optional: true + + '@esbuild/freebsd-arm64@0.21.5': + optional: true + + '@esbuild/freebsd-x64@0.21.5': + optional: true + + '@esbuild/linux-arm64@0.21.5': + optional: true + + '@esbuild/linux-arm@0.21.5': + optional: true + + '@esbuild/linux-ia32@0.21.5': + optional: true + + '@esbuild/linux-loong64@0.21.5': + optional: true + + '@esbuild/linux-mips64el@0.21.5': + optional: true + + '@esbuild/linux-ppc64@0.21.5': + optional: true + + '@esbuild/linux-riscv64@0.21.5': + optional: true + + '@esbuild/linux-s390x@0.21.5': + optional: true + + '@esbuild/linux-x64@0.21.5': + optional: true + + '@esbuild/netbsd-x64@0.21.5': + optional: true + + '@esbuild/openbsd-x64@0.21.5': + optional: true + + '@esbuild/sunos-x64@0.21.5': + optional: true + + '@esbuild/win32-arm64@0.21.5': + optional: true + + '@esbuild/win32-ia32@0.21.5': + optional: true + + '@esbuild/win32-x64@0.21.5': + optional: true + + '@isaacs/cliui@8.0.2': + dependencies: + string-width: 5.1.2 + string-width-cjs: string-width@4.2.3 + strip-ansi: 7.1.0 + strip-ansi-cjs: strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: wrap-ansi@7.0.0 + + '@jest/schemas@29.6.3': + dependencies: + '@sinclair/typebox': 0.27.8 + + '@jest/types@29.6.3': + dependencies: + '@jest/schemas': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 20.14.2 + '@types/yargs': 17.0.32 + chalk: 4.1.2 + + '@pkgjs/parseargs@0.11.0': + optional: true + + '@sinclair/typebox@0.27.8': {} + + '@types/istanbul-lib-coverage@2.0.6': {} + + '@types/istanbul-lib-report@3.0.3': + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + + '@types/istanbul-reports@3.0.4': + dependencies: + '@types/istanbul-lib-report': 3.0.3 + + '@types/node@20.14.2': + dependencies: + undici-types: 5.26.5 + + '@types/yargs-parser@21.0.3': {} + + '@types/yargs@17.0.32': + dependencies: + '@types/yargs-parser': 21.0.3 + + ansi-regex@5.0.1: {} + + ansi-regex@6.0.1: {} + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@6.2.1: {} + + balanced-match@1.0.2: {} + + brace-expansion@1.1.11: + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + brace-expansion@2.0.1: + dependencies: + balanced-match: 1.0.2 + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.4: {} + + concat-map@0.0.1: {} + + cross-spawn@7.0.3: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + downlevel-dts@0.11.0: + dependencies: + semver: 7.6.2 + shelljs: 0.8.5 + typescript: 5.6.0-dev.20240612 + + eastasianwidth@0.2.0: {} + + emoji-regex@8.0.0: {} + + emoji-regex@9.2.2: {} + + esbuild@0.21.5: + optionalDependencies: + '@esbuild/aix-ppc64': 0.21.5 + '@esbuild/android-arm': 0.21.5 + '@esbuild/android-arm64': 0.21.5 + '@esbuild/android-x64': 0.21.5 + '@esbuild/darwin-arm64': 0.21.5 + '@esbuild/darwin-x64': 0.21.5 + '@esbuild/freebsd-arm64': 0.21.5 + '@esbuild/freebsd-x64': 0.21.5 + '@esbuild/linux-arm': 0.21.5 + '@esbuild/linux-arm64': 0.21.5 + '@esbuild/linux-ia32': 0.21.5 + '@esbuild/linux-loong64': 0.21.5 + '@esbuild/linux-mips64el': 0.21.5 + '@esbuild/linux-ppc64': 0.21.5 + '@esbuild/linux-riscv64': 0.21.5 + '@esbuild/linux-s390x': 0.21.5 + '@esbuild/linux-x64': 0.21.5 + '@esbuild/netbsd-x64': 0.21.5 + '@esbuild/openbsd-x64': 0.21.5 + '@esbuild/sunos-x64': 0.21.5 + '@esbuild/win32-arm64': 0.21.5 + '@esbuild/win32-ia32': 0.21.5 + '@esbuild/win32-x64': 0.21.5 + + foreground-child@3.2.0: + dependencies: + cross-spawn: 7.0.3 + signal-exit: 4.1.0 + + fs.realpath@1.0.0: {} + + fsevents@2.3.3: + optional: true + + function-bind@1.1.2: {} + + get-tsconfig@4.7.5: + dependencies: + resolve-pkg-maps: 1.0.0 + + glob@10.4.1: + dependencies: + foreground-child: 3.2.0 + jackspeak: 3.4.0 + minimatch: 9.0.4 + minipass: 7.1.2 + path-scurry: 1.11.1 + + glob@7.2.3: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + + has-flag@4.0.0: {} + + hasown@2.0.2: + dependencies: + function-bind: 1.1.2 + + inflight@1.0.6: + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + + inherits@2.0.4: {} + + interpret@1.4.0: {} + + is-core-module@2.13.1: + dependencies: + hasown: 2.0.2 + + is-fullwidth-code-point@3.0.0: {} + + isexe@2.0.0: {} + + jackspeak@3.4.0: + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + + lru-cache@10.2.2: {} + + minimatch@3.1.2: + dependencies: + brace-expansion: 1.1.11 + + minimatch@9.0.4: + dependencies: + brace-expansion: 2.0.1 + + minipass@7.1.2: {} + + once@1.4.0: + dependencies: + wrappy: 1.0.2 + + path-is-absolute@1.0.1: {} + + path-key@3.1.1: {} + + path-parse@1.0.7: {} + + path-scurry@1.11.1: + dependencies: + lru-cache: 10.2.2 + minipass: 7.1.2 + + prettier@3.3.2: {} + + rechoir@0.6.2: + dependencies: + resolve: 1.22.8 + + resolve-pkg-maps@1.0.0: {} + + resolve@1.22.8: + dependencies: + is-core-module: 2.13.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + rimraf@5.0.7: + dependencies: + glob: 10.4.1 + + semver@7.6.2: {} + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@3.0.0: {} + + shelljs@0.8.5: + dependencies: + glob: 7.2.3 + interpret: 1.4.0 + rechoir: 0.6.2 + + signal-exit@4.1.0: {} + + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + string-width@5.1.2: + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.0 + + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + + strip-ansi@7.1.0: + dependencies: + ansi-regex: 6.0.1 + + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + supports-preserve-symlinks-flag@1.0.0: {} + + tsx@4.15.2: + dependencies: + esbuild: 0.21.5 + get-tsconfig: 4.7.5 + optionalDependencies: + fsevents: 2.3.3 + + typescript@5.4.5: {} + + typescript@5.6.0-dev.20240612: {} + + undici-types@5.26.5: {} + + which@2.0.2: + dependencies: + isexe: 2.0.0 + + wrap-ansi@7.0.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrap-ansi@8.1.0: + dependencies: + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.1.0 + + wrappy@1.0.2: {} diff --git a/packages/typescript-estree/dist/create-program/createProjectService.d.ts.map b/packages/typescript-estree/dist/create-program/createProjectService.d.ts.map index 6510ece166b1..49e0d29ea5ff 100644 --- a/packages/typescript-estree/dist/create-program/createProjectService.d.ts.map +++ b/packages/typescript-estree/dist/create-program/createProjectService.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"createProjectService.d.ts","sourceRoot":"","sources":["../../src/create-program/createProjectService.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAE1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAwB/D,MAAM,MAAM,wBAAwB,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC;AAEhE,MAAM,WAAW,sBAAsB;IACrC,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,mCAAmC,EAAE,MAAM,CAAC;IAC5C,OAAO,EAAE,wBAAwB,CAAC;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,2BAA2B;IAC1C,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,QAAQ,CAAC,qBAAqB,CAAC,EACxC,gBAAgB,EAAE,EAAE,CAAC,gBAAgB,GAAG,SAAS,EACjD,aAAa,CAAC,EAAE,2BAA2B,GAC1C,sBAAsB,CAoHxB"} \ No newline at end of file +{"version":3,"file":"createProjectService.d.ts","sourceRoot":"","sources":["../../src/create-program/createProjectService.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAE1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAwB/D,MAAM,MAAM,wBAAwB,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC;AAEhE,MAAM,WAAW,sBAAsB;IACrC,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,mCAAmC,EAAE,MAAM,CAAC;IAC5C,OAAO,EAAE,wBAAwB,CAAC;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,2BAA2B;IAC1C,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,QAAQ,CAAC,qBAAqB,CAAC,EACxC,gBAAgB,EAAE,EAAE,CAAC,gBAAgB,GAAG,SAAS,EACjD,aAAa,CAAC,EAAE,2BAA2B,GAC1C,sBAAsB,CAsHxB"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/createProjectService.js b/packages/typescript-estree/dist/create-program/createProjectService.js index 99003768da52..b28613e45d33 100644 --- a/packages/typescript-estree/dist/create-program/createProjectService.js +++ b/packages/typescript-estree/dist/create-program/createProjectService.js @@ -8,6 +8,7 @@ exports.createProjectService = void 0; const node_path_1 = __importDefault(require("node:path")); const debug_1 = __importDefault(require("debug")); const getParsedConfigFile_1 = require("./getParsedConfigFile"); +const getWatchesForProjectService_1 = require("./getWatchesForProjectService"); const validateDefaultProjectForFilesGlob_1 = require("./validateDefaultProjectForFilesGlob"); const log = (0, debug_1.default)('typescript-eslint:typescript-estree:createProjectService'); const logTsserverErr = (0, debug_1.default)('typescript-eslint:typescript-estree:tsserver:err'); @@ -15,9 +16,6 @@ const logTsserverInfo = (0, debug_1.default)('typescript-eslint:typescript-estre const logTsserverPerf = (0, debug_1.default)('typescript-eslint:typescript-estree:tsserver:perf'); const logTsserverEvent = (0, debug_1.default)('typescript-eslint:typescript-estree:tsserver:event'); const doNothing = () => { }; -const createStubFileWatcher = () => ({ - close: doNothing, -}); function createProjectService(options, jsDocParsingMode, parseSettings) { (0, validateDefaultProjectForFilesGlob_1.validateDefaultProjectForFilesGlob)(options); // We import this lazily to avoid its cost for users who don't use the service @@ -34,8 +32,8 @@ function createProjectService(options, jsDocParsingMode, parseSettings) { clearTimeout, setImmediate, setTimeout, - watchDirectory: createStubFileWatcher, - watchFile: createStubFileWatcher, + watchDirectory: getWatchesForProjectService_1.saveDirectoryWatchCallback, + watchFile: getWatchesForProjectService_1.saveFileWatchCallback, }; const logger = { close: doNothing, @@ -78,12 +76,14 @@ function createProjectService(options, jsDocParsingMode, parseSettings) { useSingleInferredProject: false, useInferredProjectPerProjectRoot: false, logger, - eventHandler: (e) => { - logTsserverEvent(e); - }, + eventHandler: logTsserverEvent.enabled + ? (e) => { logTsserverEvent(e); } + : undefined, session: undefined, + canUseWatchEvents: true, jsDocParsingMode, }); + log("TEST: %o", parseSettings); if (parseSettings?.extraFileExtensions?.length) { log('Enabling extra file extensions: %s', parseSettings.extraFileExtensions); service.setHostConfiguration({ diff --git a/packages/typescript-estree/dist/create-program/createProjectService.js.map b/packages/typescript-estree/dist/create-program/createProjectService.js.map index ab4b6711254f..9700268faa96 100644 --- a/packages/typescript-estree/dist/create-program/createProjectService.js.map +++ b/packages/typescript-estree/dist/create-program/createProjectService.js.map @@ -1 +1 @@ -{"version":3,"file":"createProjectService.js","sourceRoot":"","sources":["../../src/create-program/createProjectService.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"createProjectService.js","sourceRoot":"","sources":["../../src/create-program/createProjectService.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/getWatchesForProjectService.d.ts b/packages/typescript-estree/dist/create-program/getWatchesForProjectService.d.ts new file mode 100644 index 000000000000..290719cdc2b0 --- /dev/null +++ b/packages/typescript-estree/dist/create-program/getWatchesForProjectService.d.ts @@ -0,0 +1,24 @@ +import * as ts from 'typescript'; +export declare class Watcher implements ts.FileWatcher { + private readonly node; + readonly callback: () => void; + constructor(node: TrieNode, callback: () => void); + close(): void; +} +export declare class TrieNode { + readonly path: string; + children: Map>; + value: T | null; + constructor(path: string); +} +export declare class Trie { + root: TrieNode; + count: number; + constructor(); + insert(filePath: string): TrieNode; + get(filePath: string): TrieNode | null; +} +export declare const watches: Trie; +export declare const saveFileWatchCallback: (path: string, callback: ts.FileWatcherCallback, _pollingInterval?: number, _options?: ts.WatchOptions) => ts.FileWatcher; +export declare const saveDirectoryWatchCallback: (path: string, callback: ts.DirectoryWatcherCallback, _recursive?: boolean, _options?: ts.WatchOptions) => ts.FileWatcher; +//# sourceMappingURL=getWatchesForProjectService.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/getWatchesForProjectService.d.ts.map b/packages/typescript-estree/dist/create-program/getWatchesForProjectService.d.ts.map new file mode 100644 index 000000000000..2933c40bad1a --- /dev/null +++ b/packages/typescript-estree/dist/create-program/getWatchesForProjectService.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"getWatchesForProjectService.d.ts","sourceRoot":"","sources":["../../src/create-program/getWatchesForProjectService.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAMjC,qBAAa,OAAQ,YAAW,EAAE,CAAC,WAAW;IAE1C,OAAO,CAAC,QAAQ,CAAC,IAAI;aACL,QAAQ,EAAE,MAAM,IAAI;gBADnB,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,EACxB,QAAQ,EAAE,MAAM,IAAI;IAGtC,KAAK,IAAI,IAAI;CAId;AAED,qBAAa,QAAQ,CAAC,CAAC;aAGO,IAAI,EAAE,MAAM;IAFxC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;gBACY,IAAI,EAAE,MAAM;CAIzC;AAED,qBAAa,IAAI,CAAC,CAAC;IACjB,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;;IAOd,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC;IAwBrC,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI;CAsB1C;AAED,eAAO,MAAM,OAAO,eAAsB,CAAC;AAE3C,eAAO,MAAM,qBAAqB,SAC1B,MAAM,YACF,GAAG,mBAAmB,qBACb,MAAM,aACd,GAAG,YAAY,KACzB,GAAG,WAWL,CAAC;AAEF,eAAO,MAAM,0BAA0B,SAC/B,MAAM,YACF,GAAG,wBAAwB,eACxB,OAAO,aACT,GAAG,YAAY,KACzB,GAAG,WAUL,CAAC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/getWatchesForProjectService.js b/packages/typescript-estree/dist/create-program/getWatchesForProjectService.js new file mode 100644 index 000000000000..3d49665898e7 --- /dev/null +++ b/packages/typescript-estree/dist/create-program/getWatchesForProjectService.js @@ -0,0 +1,132 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.saveDirectoryWatchCallback = exports.saveFileWatchCallback = exports.watches = exports.Trie = exports.TrieNode = exports.Watcher = void 0; +/* eslint-disable @typescript-eslint/no-non-null-assertion */ +const node_path_1 = __importDefault(require("node:path")); +const debug_1 = require("debug"); +const ts = __importStar(require("typescript")); +const log = (0, debug_1.debug)('typescript-eslint:typescript-estree:getWatchesForProjectService'); +class Watcher { + node; + callback; + constructor(node, callback) { + this.node = node; + this.callback = callback; + } + close() { + log('closing %s', this.node.path); + this.node.value = null; + } +} +exports.Watcher = Watcher; +class TrieNode { + path; + children; + value; + constructor(path) { + this.path = path; + this.children = new Map(); + this.value = null; + } +} +exports.TrieNode = TrieNode; +class Trie { + root; + count; + constructor() { + this.root = new TrieNode(''); + this.count = 1; + } + insert(filePath) { + // implicitly blocks a watch on the root of the file system + const parts = node_path_1.default.resolve(filePath).split(node_path_1.default.sep).slice(1); + const { currentNode } = parts.reduce(({ currentNode, rootPath }, part) => { + const currentPath = node_path_1.default.join(rootPath, part); + if (!currentNode.children.has(part)) { + currentNode.children.set(part, new TrieNode(currentPath)); + this.count++; + } + return { + currentNode: currentNode.children.get(part), + rootPath: currentPath, + }; + }, { + currentNode: this.root, + rootPath: this.root.path, + }); + log('Inserted (%d): %s', this.count, filePath); + return currentNode; + } + get(filePath) { + const parts = node_path_1.default.resolve(filePath).split(node_path_1.default.sep).slice(1); + const { lastNodeWithValue } = parts.reduce(({ currentNode, lastNodeWithValue }, part) => { + if (!currentNode.children.has(part)) { + return { currentNode: currentNode, lastNodeWithValue }; + } + const childNode = currentNode.children.get(part); + return { + currentNode: childNode, + lastNodeWithValue: childNode.value != null ? childNode : lastNodeWithValue, + }; + }, { + currentNode: this.root, + lastNodeWithValue: null, + }); + log('Retrieved (%d): %s: %s', this.count, filePath, lastNodeWithValue?.path); + return lastNodeWithValue; + } +} +exports.Trie = Trie; +exports.watches = new Trie(); +const saveFileWatchCallback = (path, callback, _pollingInterval, _options) => { + const node = exports.watches.insert(path); + if (node.value != null) { + return node.value; + } + const watcher = new Watcher(node, () => { + // edits are sent through script info, this is only used for new files + callback(path, ts.FileWatcherEventKind.Created, new Date()); + }); + node.value = watcher; + return watcher; +}; +exports.saveFileWatchCallback = saveFileWatchCallback; +const saveDirectoryWatchCallback = (path, callback, _recursive, _options) => { + const node = exports.watches.insert(path); + if (node.value != null) { + return node.value; + } + const watcher = new Watcher(node, () => { + callback(path); + }); + node.value = watcher; + return watcher; +}; +exports.saveDirectoryWatchCallback = saveDirectoryWatchCallback; +//# sourceMappingURL=getWatchesForProjectService.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/getWatchesForProjectService.js.map b/packages/typescript-estree/dist/create-program/getWatchesForProjectService.js.map new file mode 100644 index 000000000000..8c323e3f9433 --- /dev/null +++ b/packages/typescript-estree/dist/create-program/getWatchesForProjectService.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getWatchesForProjectService.js","sourceRoot":"","sources":["../../src/create-program/getWatchesForProjectService.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/useProgramFromProjectService.d.ts.map b/packages/typescript-estree/dist/useProgramFromProjectService.d.ts.map index 34d0b555546a..1b81f38f8557 100644 --- a/packages/typescript-estree/dist/useProgramFromProjectService.d.ts.map +++ b/packages/typescript-estree/dist/useProgramFromProjectService.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"useProgramFromProjectService.d.ts","sourceRoot":"","sources":["../src/useProgramFromProjectService.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AACpF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAErE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AA8F5D,wBAAgB,4BAA4B,CAC1C,EACE,mBAAmB,EACnB,mCAAmC,EACnC,gBAAgB,EAChB,WAAW,EACX,OAAO,GACR,EAAE,sBAAsB,EACzB,aAAa,EAAE,QAAQ,CAAC,oBAAoB,CAAC,EAC7C,sBAAsB,EAAE,OAAO,EAC/B,0BAA0B,EAAE,GAAG,CAAC,MAAM,CAAC,GACtC,qBAAqB,GAAG,SAAS,CAiLnC"} \ No newline at end of file +{"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,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAErE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AA2E5D,wBAAgB,4BAA4B,CAC1C,EACE,mBAAmB,EACnB,mCAAmC,EACnC,gBAAgB,EAChB,WAAW,EACX,OAAO,GACR,EAAE,sBAAsB,EACzB,aAAa,EAAE,QAAQ,CAAC,oBAAoB,CAAC,EAC7C,sBAAsB,EAAE,OAAO,EAC/B,0BAA0B,EAAE,GAAG,CAAC,MAAM,CAAC,GACtC,qBAAqB,GAAG,SAAS,CAyLnC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/useProgramFromProjectService.js b/packages/typescript-estree/dist/useProgramFromProjectService.js index 7a79c061d4e9..1594bcccecd6 100644 --- a/packages/typescript-estree/dist/useProgramFromProjectService.js +++ b/packages/typescript-estree/dist/useProgramFromProjectService.js @@ -10,10 +10,13 @@ const lru_cache_1 = require("lru-cache"); const minimatch_1 = require("minimatch"); const path_1 = __importDefault(require("path")); const createProjectProgram_1 = require("./create-program/createProjectProgram"); +const getWatchesForProjectService_1 = require("./create-program/getWatchesForProjectService"); const validateDefaultProjectForFilesGlob_1 = require("./create-program/validateDefaultProjectForFilesGlob"); const log = (0, debug_1.default)('typescript-eslint:typescript-estree:useProgramFromProjectService'); const logEdits = (0, debug_1.default)('typescript-eslint:typescript-estree:useProgramFromProjectService:editContent'); -const makeOpenedFilesCache = (service, options) => { +// "@typescript-eslint/types": "higherorderfunctor/typescript-eslint#patches2upstream&path:packages/types", +// "@typescript-eslint/typescript-estree": "higherorderfunctor/typescript-eslint#patches2upstream&path:packages/typescript-estree", +const getOrCreateOpenedFilesCache = (service, options) => { if (!service.__opened_lru_cache) { service.__opened_lru_cache = new lru_cache_1.LRUCache({ max: options.max, @@ -36,73 +39,46 @@ const filePathMatchedByConfiguredProject = (service, filePath) => { }; const makeEdits = (oldContent, newContent) => { const changes = (0, diff_1.diffChars)(oldContent, newContent); - // const edits: ContentEdit[] = []; + const edits = []; let offset = 0; - return changes.map(change => { - const edit = { + changes.forEach(change => { + if (change.count === undefined) { + return; + } + edits.push({ start: offset, - end: change.added ? offset : offset + (change.count ?? 0), - content: change.value, - }; - if (!(change.added || change.removed)) { - offset += change.count ?? 0; + end: change.added ? offset : offset + change.count, + content: change.removed ? '' : change.value, + }); + if (!change.removed) { + offset += change.count; } - return edit; }); - // delete - // if (change.removed && change.count !== undefined) { - // edits.push({ - // start: offset, - // end: offset + change.count, - // content: change.value, //'', - // }); - // return; - // } - // // insert - // if (change.added) { - // edits.push({ - // start: offset, - // end: offset, - // content: change.value, - // }); - // } - // if (change.count !== undefined) { - // edits.push({ - // start: offset, - // end: offset + change.count, - // content: change.value, - // }); - // offset += change.count; - // } - // return edits; + return edits; }; function useProgramFromProjectService({ allowDefaultProject, maximumDefaultProjectFileMatchCount, maximumOpenFiles, incremental, service, }, parseSettings, hasFullTypeInformation, defaultProjectMatchedFiles) { - const openedFilesCache = makeOpenedFilesCache(service, { + const openedFilesCache = getOrCreateOpenedFilesCache(service, { max: maximumOpenFiles, }); // We don't canonicalize the filename because it caused a performance regression. // See https://github.com/typescript-eslint/typescript-eslint/issues/8519 const filePathAbsolute = absolutify(parseSettings.filePath); - const isFileInConfiguredProject = filePathMatchedByConfiguredProject(service, filePathAbsolute); log('Opening project service file for: %s at absolute path %s', parseSettings.filePath, filePathAbsolute); const isOpened = openedFilesCache.has(filePathAbsolute); - // if (!isOpened) { - // if ( - // !isFileInConfiguredProject( - // service, - // ts.server.toNormalizedPath(filePathAbsolute), - // ) - // ) { - // log('Orphaned file: %s', filePathAbsolute); - // const watcher = watches.get(filePathAbsolute); - // if (watcher?.value != null) { - // log('Triggering watcher: %s', watcher.path); - // watcher.value.callback(); - // } else { - // log('No watcher found for: %s', filePathAbsolute); - // } - // } - // } + if (!isOpened) { + if (!filePathMatchedByConfiguredProject(service, filePathAbsolute)) { + log('Orphaned file: %s', filePathAbsolute); + const watcher = getWatchesForProjectService_1.watches.get(filePathAbsolute); + if (watcher?.value != null) { + log('Triggering watcher: %s', watcher.path); + watcher.value.callback(); + } + else { + log('No watcher found for: %s', filePathAbsolute); + } + } + } + const isFileInConfiguredProject = filePathMatchedByConfiguredProject(service, filePathAbsolute); // when reusing an openClientFile handler, we need to ensure that // the file is still open and manually update its contents const cachedScriptInfo = !isOpened @@ -110,24 +86,24 @@ function useProgramFromProjectService({ allowDefaultProject, maximumDefaultProje : service.getScriptInfo(filePathAbsolute); if (cachedScriptInfo) { log('File already opened, sending changes to tsserver: %s', filePathAbsolute); - if (incremental) { - const start = 0; - const end = cachedScriptInfo.getSnapshot().getLength(); - logEdits('Sending full content replacement for: %s: %o', filePathAbsolute, { + const snapshot = cachedScriptInfo.getSnapshot(); + const edits = incremental + ? makeEdits(snapshot.getText(0, snapshot.getLength()), parseSettings.codeFullText) + : [ + { + start: 0, + end: snapshot.getLength(), + content: parseSettings.codeFullText, + }, + ]; + edits.forEach(({ start, end, content }) => { + logEdits('Sending %s edit for: %s: %o', incremental ? 'incremental' : 'full', filePathAbsolute, { start, end, - content: parseSettings.codeFullText, - }); - cachedScriptInfo.editContent(start, end, parseSettings.codeFullText); - } - else { - const snapshot = cachedScriptInfo.getSnapshot(); - const edits = makeEdits(snapshot.getText(0, snapshot.getLength()), parseSettings.codeFullText); - edits.forEach(({ start, end, content }) => { - logEdits('Sending edit for: %s: %o', { start, end, content }); - cachedScriptInfo.editContent(start, end, content); + content, }); - } + cachedScriptInfo.editContent(start, end, content); + }); } const opened = isOpened ? // eslint-disable-next-line @typescript-eslint/no-non-null-assertion @@ -140,6 +116,15 @@ function useProgramFromProjectService({ allowDefaultProject, maximumDefaultProje log('%s (%s/%s): %o', isOpened ? 'Reusing project service file from cache' : 'Opened project service file', service.openFiles.size, maximumOpenFiles, opened); + // FIXME: can at least notify the user instead of getting stuck waiting + if (opened.configFileName === undefined) { + // parse settings does not always contain extraFileExtensions when set and re-running seems to fix + // could just be my complex config file, by trying to catch to track + debug_1.default.enable("typescript-eslint:typescript-estree:useProgramFromProjectService"); + log('Inferred project issue, try re-running eslint: %s: isFileInConfiguredProject=%s: %o: %o', filePathAbsolute, isFileInConfiguredProject, parseSettings, cachedScriptInfo); + // eslint-disable-next-line no-process-exit + process.exit(1); + } if (hasFullTypeInformation) { log('Project service type information enabled; checking for file path match on: %o', allowDefaultProject); const isDefaultProjectAllowedPath = filePathMatchedBy(parseSettings.filePath, allowDefaultProject); diff --git a/packages/typescript-estree/dist/useProgramFromProjectService.js.map b/packages/typescript-estree/dist/useProgramFromProjectService.js.map index 9dacf4c78a3f..5cae6b6a3c10 100644 --- a/packages/typescript-estree/dist/useProgramFromProjectService.js.map +++ b/packages/typescript-estree/dist/useProgramFromProjectService.js.map @@ -1 +1 @@ -{"version":3,"file":"useProgramFromProjectService.js","sourceRoot":"","sources":["../src/useProgramFromProjectService.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"useProgramFromProjectService.js","sourceRoot":"","sources":["../src/useProgramFromProjectService.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/typescript-estree/package.json b/packages/typescript-estree/package.json index 1512bf98df68..d3f9489fd1b6 100644 --- a/packages/typescript-estree/package.json +++ b/packages/typescript-estree/package.json @@ -54,8 +54,8 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@typescript-eslint/types": "workspace:^", - "@typescript-eslint/visitor-keys": "workspace:^", + "@typescript-eslint/types": "link:../types", + "@typescript-eslint/visitor-keys": "link:../visitor-keys", "debug": "^4.3.4", "diff": "^5.2.0", "globby": "^11.1.0", diff --git a/packages/typescript-estree/pnpm-lock.yaml b/packages/typescript-estree/pnpm-lock.yaml new file mode 100644 index 000000000000..f2bb9295e710 --- /dev/null +++ b/packages/typescript-estree/pnpm-lock.yaml @@ -0,0 +1,2898 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + dependencies: + '@typescript-eslint/types': + specifier: link:../types + version: link:../types + '@typescript-eslint/visitor-keys': + specifier: link:../visitor-keys + version: link:../visitor-keys + debug: + specifier: ^4.3.4 + version: 4.3.5 + diff: + specifier: ^5.2.0 + version: 5.2.0 + globby: + specifier: ^11.1.0 + version: 11.1.0 + is-glob: + specifier: ^4.0.3 + version: 4.0.3 + lru-cache: + specifier: ^10.2.2 + version: 10.2.2 + minimatch: + specifier: ^9.0.4 + version: 9.0.4 + semver: + specifier: ^7.6.0 + version: 7.6.2 + ts-api-utils: + specifier: ^1.3.0 + version: 1.3.0(typescript@5.4.5) + devDependencies: + '@jest/types': + specifier: 29.6.3 + version: 29.6.3 + '@types/diff': + specifier: ^5.2.1 + version: 5.2.1 + glob: + specifier: '*' + version: 10.4.1 + jest: + specifier: 29.7.0 + version: 29.7.0(@types/node@20.14.2) + prettier: + specifier: ^3.2.5 + version: 3.3.2 + rimraf: + specifier: '*' + version: 5.0.7 + tmp: + specifier: '*' + version: 0.2.3 + typescript: + specifier: '*' + version: 5.4.5 + +packages: + + '@ampproject/remapping@2.3.0': + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} + + '@babel/code-frame@7.24.7': + resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} + engines: {node: '>=6.9.0'} + + '@babel/compat-data@7.24.7': + resolution: {integrity: sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.24.7': + resolution: {integrity: sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==} + engines: {node: '>=6.9.0'} + + '@babel/generator@7.24.7': + resolution: {integrity: sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-compilation-targets@7.24.7': + resolution: {integrity: sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-environment-visitor@7.24.7': + resolution: {integrity: sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-function-name@7.24.7': + resolution: {integrity: sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-hoist-variables@7.24.7': + resolution: {integrity: sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-imports@7.24.7': + resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-transforms@7.24.7': + resolution: {integrity: sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-plugin-utils@7.24.7': + resolution: {integrity: sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-simple-access@7.24.7': + resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-split-export-declaration@7.24.7': + resolution: {integrity: sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-string-parser@7.24.7': + resolution: {integrity: sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.24.7': + resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-option@7.24.7': + resolution: {integrity: sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==} + engines: {node: '>=6.9.0'} + + '@babel/helpers@7.24.7': + resolution: {integrity: sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==} + engines: {node: '>=6.9.0'} + + '@babel/highlight@7.24.7': + resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.24.7': + resolution: {integrity: sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/plugin-syntax-async-generators@7.8.4': + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-bigint@7.8.3': + resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-class-properties@7.12.13': + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-meta@7.10.4': + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-json-strings@7.8.3': + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-jsx@7.24.7': + resolution: {integrity: sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-logical-assignment-operators@7.10.4': + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3': + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-numeric-separator@7.10.4': + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-object-rest-spread@7.8.3': + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-optional-catch-binding@7.8.3': + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-optional-chaining@7.8.3': + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-top-level-await@7.14.5': + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-typescript@7.24.7': + resolution: {integrity: sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/template@7.24.7': + resolution: {integrity: sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.24.7': + resolution: {integrity: sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.24.7': + resolution: {integrity: sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==} + engines: {node: '>=6.9.0'} + + '@bcoe/v8-coverage@0.2.3': + resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} + + '@isaacs/cliui@8.0.2': + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + + '@istanbuljs/load-nyc-config@1.1.0': + resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} + engines: {node: '>=8'} + + '@istanbuljs/schema@0.1.3': + resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} + engines: {node: '>=8'} + + '@jest/console@29.7.0': + resolution: {integrity: sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/core@29.7.0': + resolution: {integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + '@jest/environment@29.7.0': + resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/expect-utils@29.7.0': + resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/expect@29.7.0': + resolution: {integrity: sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/fake-timers@29.7.0': + resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/globals@29.7.0': + resolution: {integrity: sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/reporters@29.7.0': + resolution: {integrity: sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + '@jest/schemas@29.6.3': + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/source-map@29.6.3': + resolution: {integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/test-result@29.7.0': + resolution: {integrity: sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/test-sequencer@29.7.0': + resolution: {integrity: sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/transform@29.7.0': + resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/types@29.6.3': + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jridgewell/gen-mapping@0.3.5': + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} + engines: {node: '>=6.0.0'} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/set-array@1.2.1': + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + + '@jridgewell/sourcemap-codec@1.4.15': + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + + '@jridgewell/trace-mapping@0.3.25': + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + + '@pkgjs/parseargs@0.11.0': + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + + '@sinclair/typebox@0.27.8': + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + + '@sinonjs/commons@3.0.1': + resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} + + '@sinonjs/fake-timers@10.3.0': + resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} + + '@types/babel__core@7.20.5': + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} + + '@types/babel__generator@7.6.8': + resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} + + '@types/babel__template@7.4.4': + resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} + + '@types/babel__traverse@7.20.6': + resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} + + '@types/diff@5.2.1': + resolution: {integrity: sha512-uxpcuwWJGhe2AR1g8hD9F5OYGCqjqWnBUQFD8gMZsDbv8oPHzxJF6iMO6n8Tk0AdzlxoaaoQhOYlIg/PukVU8g==} + + '@types/graceful-fs@4.1.9': + resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} + + '@types/istanbul-lib-coverage@2.0.6': + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + + '@types/istanbul-lib-report@3.0.3': + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} + + '@types/istanbul-reports@3.0.4': + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} + + '@types/node@20.14.2': + resolution: {integrity: sha512-xyu6WAMVwv6AKFLB+e/7ySZVr/0zLCzOa7rSpq6jNwpqOrUbcACDWC+53d4n2QHOnDou0fbIsg8wZu/sxrnI4Q==} + + '@types/stack-utils@2.0.3': + resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} + + '@types/yargs-parser@21.0.3': + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} + + '@types/yargs@17.0.32': + resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} + + ansi-escapes@4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-regex@6.0.1: + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + engines: {node: '>=12'} + + ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + + ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + + argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + + array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + + babel-jest@29.7.0: + resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@babel/core': ^7.8.0 + + babel-plugin-istanbul@6.1.1: + resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} + engines: {node: '>=8'} + + babel-plugin-jest-hoist@29.6.3: + resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + babel-preset-current-node-syntax@1.0.1: + resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} + peerDependencies: + '@babel/core': ^7.0.0 + + babel-preset-jest@29.6.3: + resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@babel/core': ^7.0.0 + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + + brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + browserslist@4.23.1: + resolution: {integrity: sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + bser@2.1.1: + resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} + + buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + + callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + camelcase@5.3.1: + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} + + camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + + caniuse-lite@1.0.30001632: + resolution: {integrity: sha512-udx3o7yHJfUxMLkGohMlVHCvFvWmirKh9JAH/d7WOLPetlH+LTL5cocMZ0t7oZx/mdlOWXti97xLZWc8uURRHg==} + + chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + char-regex@1.0.2: + resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} + engines: {node: '>=10'} + + ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} + + cjs-module-lexer@1.3.1: + resolution: {integrity: sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q==} + + cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + + co@4.6.0: + resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} + engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} + + collect-v8-coverage@1.0.2: + resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==} + + color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + create-jest@29.7.0: + resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + + cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + + debug@4.3.5: + resolution: {integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + dedent@1.5.3: + resolution: {integrity: sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==} + peerDependencies: + babel-plugin-macros: ^3.1.0 + peerDependenciesMeta: + babel-plugin-macros: + optional: true + + deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + + detect-newline@3.1.0: + resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} + engines: {node: '>=8'} + + diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + diff@5.2.0: + resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} + engines: {node: '>=0.3.1'} + + dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + + electron-to-chromium@1.4.799: + resolution: {integrity: sha512-3D3DwWkRTzrdEpntY0hMLYwj7SeBk1138CkPE8sBDSj3WzrzOiG2rHm3luw8jucpf+WiyLBCZyU9lMHyQI9M9Q==} + + emittery@0.13.1: + resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} + engines: {node: '>=12'} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + + error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + + escalade@3.1.2: + resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} + engines: {node: '>=6'} + + escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + + escape-string-regexp@2.0.0: + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} + + esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + + execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + + exit@0.1.2: + resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} + engines: {node: '>= 0.8.0'} + + expect@29.7.0: + resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + engines: {node: '>=8.6.0'} + + fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + + fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} + + fb-watchman@2.0.2: + resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} + + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + + foreground-child@3.2.0: + resolution: {integrity: sha512-CrWQNaEl1/6WeZoarcM9LHupTo3RpZO2Pdk1vktwzPiQTsJnAKJmm3TACKeG5UZbWDfaH2AbvYxzP96y0MT7fA==} + engines: {node: '>=14'} + + fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + + get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + + get-package-type@0.1.0: + resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} + engines: {node: '>=8.0.0'} + + get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + + glob@10.4.1: + resolution: {integrity: sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw==} + engines: {node: '>=16 || 14 >=14.18'} + hasBin: true + + glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported + + globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + + globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + + html-escaper@2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + + human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + + ignore@5.3.1: + resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} + engines: {node: '>= 4'} + + import-local@3.1.0: + resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} + engines: {node: '>=8'} + hasBin: true + + imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + + is-core-module@2.13.1: + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + is-generator-fn@2.1.0: + resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} + engines: {node: '>=6'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + istanbul-lib-coverage@3.2.2: + resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} + engines: {node: '>=8'} + + istanbul-lib-instrument@5.2.1: + resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} + engines: {node: '>=8'} + + istanbul-lib-instrument@6.0.2: + resolution: {integrity: sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==} + engines: {node: '>=10'} + + istanbul-lib-report@3.0.1: + resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} + engines: {node: '>=10'} + + istanbul-lib-source-maps@4.0.1: + resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} + engines: {node: '>=10'} + + istanbul-reports@3.1.7: + resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} + engines: {node: '>=8'} + + jackspeak@3.4.0: + resolution: {integrity: sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==} + engines: {node: '>=14'} + + jest-changed-files@29.7.0: + resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-circus@29.7.0: + resolution: {integrity: sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-cli@29.7.0: + resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + jest-config@29.7.0: + resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@types/node': '*' + ts-node: '>=9.0.0' + peerDependenciesMeta: + '@types/node': + optional: true + ts-node: + optional: true + + jest-diff@29.7.0: + resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-docblock@29.7.0: + resolution: {integrity: sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-each@29.7.0: + resolution: {integrity: sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-environment-node@29.7.0: + resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-get-type@29.6.3: + resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-haste-map@29.7.0: + resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-leak-detector@29.7.0: + resolution: {integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-matcher-utils@29.7.0: + resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-message-util@29.7.0: + resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-mock@29.7.0: + resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-pnp-resolver@1.2.3: + resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} + engines: {node: '>=6'} + peerDependencies: + jest-resolve: '*' + peerDependenciesMeta: + jest-resolve: + optional: true + + jest-regex-util@29.6.3: + resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-resolve-dependencies@29.7.0: + resolution: {integrity: sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-resolve@29.7.0: + resolution: {integrity: sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-runner@29.7.0: + resolution: {integrity: sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-runtime@29.7.0: + resolution: {integrity: sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-snapshot@29.7.0: + resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-util@29.7.0: + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-validate@29.7.0: + resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-watcher@29.7.0: + resolution: {integrity: sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-worker@29.7.0: + resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest@29.7.0: + resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + js-yaml@3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true + + jsesc@2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + + json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + + leven@3.1.0: + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} + + lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + + locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + + lru-cache@10.2.2: + resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==} + engines: {node: 14 || >=16.14} + + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + + make-dir@4.0.0: + resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} + engines: {node: '>=10'} + + makeerror@1.0.12: + resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} + + merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + micromatch@4.0.7: + resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==} + engines: {node: '>=8.6'} + + mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + + minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + + minimatch@9.0.4: + resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} + engines: {node: '>=16 || 14 >=14.17'} + + minipass@7.1.2: + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} + engines: {node: '>=16 || 14 >=14.17'} + + ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + + natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + + node-int64@0.4.0: + resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} + + node-releases@2.0.14: + resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + + onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + + p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + + p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + + p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + + p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + + parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} + + path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + + picocolors@1.0.1: + resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + pirates@4.0.6: + resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} + engines: {node: '>= 6'} + + pkg-dir@4.2.0: + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} + + prettier@3.3.2: + resolution: {integrity: sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==} + engines: {node: '>=14'} + hasBin: true + + pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + + pure-rand@6.1.0: + resolution: {integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==} + + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + react-is@18.3.1: + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + + resolve-cwd@3.0.0: + resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} + engines: {node: '>=8'} + + resolve-from@5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + + resolve.exports@2.0.2: + resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==} + engines: {node: '>=10'} + + resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true + + reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + rimraf@5.0.7: + resolution: {integrity: sha512-nV6YcJo5wbLW77m+8KjH8aB/7/rxQy9SZ0HY5shnwULfS+9nmTtVXAJET5NdZmCzA4fPI/Hm1wo/Po/4mopOdg==} + engines: {node: '>=14.18'} + hasBin: true + + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + semver@7.6.2: + resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} + engines: {node: '>=10'} + hasBin: true + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + + sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + + source-map-support@0.5.13: + resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + + stack-utils@2.0.6: + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} + + string-length@4.0.2: + resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} + engines: {node: '>=10'} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + + strip-bom@4.0.0: + resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} + engines: {node: '>=8'} + + strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + + strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + test-exclude@6.0.0: + resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} + engines: {node: '>=8'} + + tmp@0.2.3: + resolution: {integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==} + engines: {node: '>=14.14'} + + tmpl@1.0.5: + resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} + + to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + ts-api-utils@1.3.0: + resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} + engines: {node: '>=16'} + peerDependencies: + typescript: '>=4.2.0' + + type-detect@4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} + + type-fest@0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} + + typescript@5.4.5: + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} + engines: {node: '>=14.17'} + hasBin: true + + undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + + update-browserslist-db@1.0.16: + resolution: {integrity: sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + v8-to-istanbul@9.2.0: + resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==} + engines: {node: '>=10.12.0'} + + walker@1.0.8: + resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + write-file-atomic@4.0.2: + resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + + y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + + yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + + yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + + yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + +snapshots: + + '@ampproject/remapping@2.3.0': + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + + '@babel/code-frame@7.24.7': + dependencies: + '@babel/highlight': 7.24.7 + picocolors: 1.0.1 + + '@babel/compat-data@7.24.7': {} + + '@babel/core@7.24.7': + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.24.7 + '@babel/helper-compilation-targets': 7.24.7 + '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) + '@babel/helpers': 7.24.7 + '@babel/parser': 7.24.7 + '@babel/template': 7.24.7 + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + convert-source-map: 2.0.0 + debug: 4.3.5 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/generator@7.24.7': + dependencies: + '@babel/types': 7.24.7 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 2.5.2 + + '@babel/helper-compilation-targets@7.24.7': + dependencies: + '@babel/compat-data': 7.24.7 + '@babel/helper-validator-option': 7.24.7 + browserslist: 4.23.1 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-environment-visitor@7.24.7': + dependencies: + '@babel/types': 7.24.7 + + '@babel/helper-function-name@7.24.7': + dependencies: + '@babel/template': 7.24.7 + '@babel/types': 7.24.7 + + '@babel/helper-hoist-variables@7.24.7': + dependencies: + '@babel/types': 7.24.7 + + '@babel/helper-module-imports@7.24.7': + dependencies: + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-simple-access': 7.24.7 + '@babel/helper-split-export-declaration': 7.24.7 + '@babel/helper-validator-identifier': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-plugin-utils@7.24.7': {} + + '@babel/helper-simple-access@7.24.7': + dependencies: + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-split-export-declaration@7.24.7': + dependencies: + '@babel/types': 7.24.7 + + '@babel/helper-string-parser@7.24.7': {} + + '@babel/helper-validator-identifier@7.24.7': {} + + '@babel/helper-validator-option@7.24.7': {} + + '@babel/helpers@7.24.7': + dependencies: + '@babel/template': 7.24.7 + '@babel/types': 7.24.7 + + '@babel/highlight@7.24.7': + dependencies: + '@babel/helper-validator-identifier': 7.24.7 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.0.1 + + '@babel/parser@7.24.7': + dependencies: + '@babel/types': 7.24.7 + + '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-syntax-typescript@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/template@7.24.7': + dependencies: + '@babel/code-frame': 7.24.7 + '@babel/parser': 7.24.7 + '@babel/types': 7.24.7 + + '@babel/traverse@7.24.7': + dependencies: + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-function-name': 7.24.7 + '@babel/helper-hoist-variables': 7.24.7 + '@babel/helper-split-export-declaration': 7.24.7 + '@babel/parser': 7.24.7 + '@babel/types': 7.24.7 + debug: 4.3.5 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + '@babel/types@7.24.7': + dependencies: + '@babel/helper-string-parser': 7.24.7 + '@babel/helper-validator-identifier': 7.24.7 + to-fast-properties: 2.0.0 + + '@bcoe/v8-coverage@0.2.3': {} + + '@isaacs/cliui@8.0.2': + dependencies: + string-width: 5.1.2 + string-width-cjs: string-width@4.2.3 + strip-ansi: 7.1.0 + strip-ansi-cjs: strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: wrap-ansi@7.0.0 + + '@istanbuljs/load-nyc-config@1.1.0': + dependencies: + camelcase: 5.3.1 + find-up: 4.1.0 + get-package-type: 0.1.0 + js-yaml: 3.14.1 + resolve-from: 5.0.0 + + '@istanbuljs/schema@0.1.3': {} + + '@jest/console@29.7.0': + dependencies: + '@jest/types': 29.6.3 + '@types/node': 20.14.2 + chalk: 4.1.2 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + slash: 3.0.0 + + '@jest/core@29.7.0': + dependencies: + '@jest/console': 29.7.0 + '@jest/reporters': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.14.2 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + ci-info: 3.9.0 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-changed-files: 29.7.0 + jest-config: 29.7.0(@types/node@20.14.2) + jest-haste-map: 29.7.0 + jest-message-util: 29.7.0 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-resolve-dependencies: 29.7.0 + jest-runner: 29.7.0 + jest-runtime: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + jest-watcher: 29.7.0 + micromatch: 4.0.7 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-ansi: 6.0.1 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + - ts-node + + '@jest/environment@29.7.0': + dependencies: + '@jest/fake-timers': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.14.2 + jest-mock: 29.7.0 + + '@jest/expect-utils@29.7.0': + dependencies: + jest-get-type: 29.6.3 + + '@jest/expect@29.7.0': + dependencies: + expect: 29.7.0 + jest-snapshot: 29.7.0 + transitivePeerDependencies: + - supports-color + + '@jest/fake-timers@29.7.0': + dependencies: + '@jest/types': 29.6.3 + '@sinonjs/fake-timers': 10.3.0 + '@types/node': 20.14.2 + jest-message-util: 29.7.0 + jest-mock: 29.7.0 + jest-util: 29.7.0 + + '@jest/globals@29.7.0': + dependencies: + '@jest/environment': 29.7.0 + '@jest/expect': 29.7.0 + '@jest/types': 29.6.3 + jest-mock: 29.7.0 + transitivePeerDependencies: + - supports-color + + '@jest/reporters@29.7.0': + dependencies: + '@bcoe/v8-coverage': 0.2.3 + '@jest/console': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@jridgewell/trace-mapping': 0.3.25 + '@types/node': 20.14.2 + chalk: 4.1.2 + collect-v8-coverage: 1.0.2 + exit: 0.1.2 + glob: 7.2.3 + graceful-fs: 4.2.11 + istanbul-lib-coverage: 3.2.2 + istanbul-lib-instrument: 6.0.2 + istanbul-lib-report: 3.0.1 + istanbul-lib-source-maps: 4.0.1 + istanbul-reports: 3.1.7 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + jest-worker: 29.7.0 + slash: 3.0.0 + string-length: 4.0.2 + strip-ansi: 6.0.1 + v8-to-istanbul: 9.2.0 + transitivePeerDependencies: + - supports-color + + '@jest/schemas@29.6.3': + dependencies: + '@sinclair/typebox': 0.27.8 + + '@jest/source-map@29.6.3': + dependencies: + '@jridgewell/trace-mapping': 0.3.25 + callsites: 3.1.0 + graceful-fs: 4.2.11 + + '@jest/test-result@29.7.0': + dependencies: + '@jest/console': 29.7.0 + '@jest/types': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.6 + collect-v8-coverage: 1.0.2 + + '@jest/test-sequencer@29.7.0': + dependencies: + '@jest/test-result': 29.7.0 + graceful-fs: 4.2.11 + jest-haste-map: 29.7.0 + slash: 3.0.0 + + '@jest/transform@29.7.0': + dependencies: + '@babel/core': 7.24.7 + '@jest/types': 29.6.3 + '@jridgewell/trace-mapping': 0.3.25 + babel-plugin-istanbul: 6.1.1 + chalk: 4.1.2 + convert-source-map: 2.0.0 + fast-json-stable-stringify: 2.1.0 + graceful-fs: 4.2.11 + jest-haste-map: 29.7.0 + jest-regex-util: 29.6.3 + jest-util: 29.7.0 + micromatch: 4.0.7 + pirates: 4.0.6 + slash: 3.0.0 + write-file-atomic: 4.0.2 + transitivePeerDependencies: + - supports-color + + '@jest/types@29.6.3': + dependencies: + '@jest/schemas': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 20.14.2 + '@types/yargs': 17.0.32 + chalk: 4.1.2 + + '@jridgewell/gen-mapping@0.3.5': + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.25 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/set-array@1.2.1': {} + + '@jridgewell/sourcemap-codec@1.4.15': {} + + '@jridgewell/trace-mapping@0.3.25': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.17.1 + + '@pkgjs/parseargs@0.11.0': + optional: true + + '@sinclair/typebox@0.27.8': {} + + '@sinonjs/commons@3.0.1': + dependencies: + type-detect: 4.0.8 + + '@sinonjs/fake-timers@10.3.0': + dependencies: + '@sinonjs/commons': 3.0.1 + + '@types/babel__core@7.20.5': + dependencies: + '@babel/parser': 7.24.7 + '@babel/types': 7.24.7 + '@types/babel__generator': 7.6.8 + '@types/babel__template': 7.4.4 + '@types/babel__traverse': 7.20.6 + + '@types/babel__generator@7.6.8': + dependencies: + '@babel/types': 7.24.7 + + '@types/babel__template@7.4.4': + dependencies: + '@babel/parser': 7.24.7 + '@babel/types': 7.24.7 + + '@types/babel__traverse@7.20.6': + dependencies: + '@babel/types': 7.24.7 + + '@types/diff@5.2.1': {} + + '@types/graceful-fs@4.1.9': + dependencies: + '@types/node': 20.14.2 + + '@types/istanbul-lib-coverage@2.0.6': {} + + '@types/istanbul-lib-report@3.0.3': + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + + '@types/istanbul-reports@3.0.4': + dependencies: + '@types/istanbul-lib-report': 3.0.3 + + '@types/node@20.14.2': + dependencies: + undici-types: 5.26.5 + + '@types/stack-utils@2.0.3': {} + + '@types/yargs-parser@21.0.3': {} + + '@types/yargs@17.0.32': + dependencies: + '@types/yargs-parser': 21.0.3 + + ansi-escapes@4.3.2: + dependencies: + type-fest: 0.21.3 + + ansi-regex@5.0.1: {} + + ansi-regex@6.0.1: {} + + ansi-styles@3.2.1: + dependencies: + color-convert: 1.9.3 + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@5.2.0: {} + + ansi-styles@6.2.1: {} + + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + + argparse@1.0.10: + dependencies: + sprintf-js: 1.0.3 + + array-union@2.1.0: {} + + babel-jest@29.7.0(@babel/core@7.24.7): + dependencies: + '@babel/core': 7.24.7 + '@jest/transform': 29.7.0 + '@types/babel__core': 7.20.5 + babel-plugin-istanbul: 6.1.1 + babel-preset-jest: 29.6.3(@babel/core@7.24.7) + chalk: 4.1.2 + graceful-fs: 4.2.11 + slash: 3.0.0 + transitivePeerDependencies: + - supports-color + + babel-plugin-istanbul@6.1.1: + dependencies: + '@babel/helper-plugin-utils': 7.24.7 + '@istanbuljs/load-nyc-config': 1.1.0 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-instrument: 5.2.1 + test-exclude: 6.0.0 + transitivePeerDependencies: + - supports-color + + babel-plugin-jest-hoist@29.6.3: + dependencies: + '@babel/template': 7.24.7 + '@babel/types': 7.24.7 + '@types/babel__core': 7.20.5 + '@types/babel__traverse': 7.20.6 + + babel-preset-current-node-syntax@1.0.1(@babel/core@7.24.7): + dependencies: + '@babel/core': 7.24.7 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.7) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.7) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.7) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.7) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.7) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.7) + + babel-preset-jest@29.6.3(@babel/core@7.24.7): + dependencies: + '@babel/core': 7.24.7 + babel-plugin-jest-hoist: 29.6.3 + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.7) + + balanced-match@1.0.2: {} + + brace-expansion@1.1.11: + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + brace-expansion@2.0.1: + dependencies: + balanced-match: 1.0.2 + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + browserslist@4.23.1: + dependencies: + caniuse-lite: 1.0.30001632 + electron-to-chromium: 1.4.799 + node-releases: 2.0.14 + update-browserslist-db: 1.0.16(browserslist@4.23.1) + + bser@2.1.1: + dependencies: + node-int64: 0.4.0 + + buffer-from@1.1.2: {} + + callsites@3.1.0: {} + + camelcase@5.3.1: {} + + camelcase@6.3.0: {} + + caniuse-lite@1.0.30001632: {} + + chalk@2.4.2: + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + char-regex@1.0.2: {} + + ci-info@3.9.0: {} + + cjs-module-lexer@1.3.1: {} + + cliui@8.0.1: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + + co@4.6.0: {} + + collect-v8-coverage@1.0.2: {} + + color-convert@1.9.3: + dependencies: + color-name: 1.1.3 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.3: {} + + color-name@1.1.4: {} + + concat-map@0.0.1: {} + + convert-source-map@2.0.0: {} + + create-jest@29.7.0(@types/node@20.14.2): + dependencies: + '@jest/types': 29.6.3 + chalk: 4.1.2 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-config: 29.7.0(@types/node@20.14.2) + jest-util: 29.7.0 + prompts: 2.4.2 + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + + cross-spawn@7.0.3: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + debug@4.3.5: + dependencies: + ms: 2.1.2 + + dedent@1.5.3: {} + + deepmerge@4.3.1: {} + + detect-newline@3.1.0: {} + + diff-sequences@29.6.3: {} + + diff@5.2.0: {} + + dir-glob@3.0.1: + dependencies: + path-type: 4.0.0 + + eastasianwidth@0.2.0: {} + + electron-to-chromium@1.4.799: {} + + emittery@0.13.1: {} + + emoji-regex@8.0.0: {} + + emoji-regex@9.2.2: {} + + error-ex@1.3.2: + dependencies: + is-arrayish: 0.2.1 + + escalade@3.1.2: {} + + escape-string-regexp@1.0.5: {} + + escape-string-regexp@2.0.0: {} + + esprima@4.0.1: {} + + execa@5.1.1: + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + + exit@0.1.2: {} + + expect@29.7.0: + dependencies: + '@jest/expect-utils': 29.7.0 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + + fast-glob@3.3.2: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.7 + + fast-json-stable-stringify@2.1.0: {} + + fastq@1.17.1: + dependencies: + reusify: 1.0.4 + + fb-watchman@2.0.2: + dependencies: + bser: 2.1.1 + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + find-up@4.1.0: + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + + foreground-child@3.2.0: + dependencies: + cross-spawn: 7.0.3 + signal-exit: 4.1.0 + + fs.realpath@1.0.0: {} + + fsevents@2.3.3: + optional: true + + function-bind@1.1.2: {} + + gensync@1.0.0-beta.2: {} + + get-caller-file@2.0.5: {} + + get-package-type@0.1.0: {} + + get-stream@6.0.1: {} + + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 + + glob@10.4.1: + dependencies: + foreground-child: 3.2.0 + jackspeak: 3.4.0 + minimatch: 9.0.4 + minipass: 7.1.2 + path-scurry: 1.11.1 + + glob@7.2.3: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + + globals@11.12.0: {} + + globby@11.1.0: + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.3.2 + ignore: 5.3.1 + merge2: 1.4.1 + slash: 3.0.0 + + graceful-fs@4.2.11: {} + + has-flag@3.0.0: {} + + has-flag@4.0.0: {} + + hasown@2.0.2: + dependencies: + function-bind: 1.1.2 + + html-escaper@2.0.2: {} + + human-signals@2.1.0: {} + + ignore@5.3.1: {} + + import-local@3.1.0: + dependencies: + pkg-dir: 4.2.0 + resolve-cwd: 3.0.0 + + imurmurhash@0.1.4: {} + + inflight@1.0.6: + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + + inherits@2.0.4: {} + + is-arrayish@0.2.1: {} + + is-core-module@2.13.1: + dependencies: + hasown: 2.0.2 + + is-extglob@2.1.1: {} + + is-fullwidth-code-point@3.0.0: {} + + is-generator-fn@2.1.0: {} + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + is-number@7.0.0: {} + + is-stream@2.0.1: {} + + isexe@2.0.0: {} + + istanbul-lib-coverage@3.2.2: {} + + istanbul-lib-instrument@5.2.1: + dependencies: + '@babel/core': 7.24.7 + '@babel/parser': 7.24.7 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-coverage: 3.2.2 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + istanbul-lib-instrument@6.0.2: + dependencies: + '@babel/core': 7.24.7 + '@babel/parser': 7.24.7 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-coverage: 3.2.2 + semver: 7.6.2 + transitivePeerDependencies: + - supports-color + + istanbul-lib-report@3.0.1: + dependencies: + istanbul-lib-coverage: 3.2.2 + make-dir: 4.0.0 + supports-color: 7.2.0 + + istanbul-lib-source-maps@4.0.1: + dependencies: + debug: 4.3.5 + istanbul-lib-coverage: 3.2.2 + source-map: 0.6.1 + transitivePeerDependencies: + - supports-color + + istanbul-reports@3.1.7: + dependencies: + html-escaper: 2.0.2 + istanbul-lib-report: 3.0.1 + + jackspeak@3.4.0: + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + + jest-changed-files@29.7.0: + dependencies: + execa: 5.1.1 + jest-util: 29.7.0 + p-limit: 3.1.0 + + jest-circus@29.7.0: + dependencies: + '@jest/environment': 29.7.0 + '@jest/expect': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.14.2 + chalk: 4.1.2 + co: 4.6.0 + dedent: 1.5.3 + is-generator-fn: 2.1.0 + jest-each: 29.7.0 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-runtime: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 + p-limit: 3.1.0 + pretty-format: 29.7.0 + pure-rand: 6.1.0 + slash: 3.0.0 + stack-utils: 2.0.6 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + + jest-cli@29.7.0(@types/node@20.14.2): + dependencies: + '@jest/core': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 + chalk: 4.1.2 + create-jest: 29.7.0(@types/node@20.14.2) + exit: 0.1.2 + import-local: 3.1.0 + jest-config: 29.7.0(@types/node@20.14.2) + jest-util: 29.7.0 + jest-validate: 29.7.0 + yargs: 17.7.2 + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + + jest-config@29.7.0(@types/node@20.14.2): + dependencies: + '@babel/core': 7.24.7 + '@jest/test-sequencer': 29.7.0 + '@jest/types': 29.6.3 + babel-jest: 29.7.0(@babel/core@7.24.7) + chalk: 4.1.2 + ci-info: 3.9.0 + deepmerge: 4.3.1 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-circus: 29.7.0 + jest-environment-node: 29.7.0 + jest-get-type: 29.6.3 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-runner: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + micromatch: 4.0.7 + parse-json: 5.2.0 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-json-comments: 3.1.1 + optionalDependencies: + '@types/node': 20.14.2 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + + jest-diff@29.7.0: + dependencies: + chalk: 4.1.2 + diff-sequences: 29.6.3 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + + jest-docblock@29.7.0: + dependencies: + detect-newline: 3.1.0 + + jest-each@29.7.0: + dependencies: + '@jest/types': 29.6.3 + chalk: 4.1.2 + jest-get-type: 29.6.3 + jest-util: 29.7.0 + pretty-format: 29.7.0 + + jest-environment-node@29.7.0: + dependencies: + '@jest/environment': 29.7.0 + '@jest/fake-timers': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.14.2 + jest-mock: 29.7.0 + jest-util: 29.7.0 + + jest-get-type@29.6.3: {} + + jest-haste-map@29.7.0: + dependencies: + '@jest/types': 29.6.3 + '@types/graceful-fs': 4.1.9 + '@types/node': 20.14.2 + anymatch: 3.1.3 + fb-watchman: 2.0.2 + graceful-fs: 4.2.11 + jest-regex-util: 29.6.3 + jest-util: 29.7.0 + jest-worker: 29.7.0 + micromatch: 4.0.7 + walker: 1.0.8 + optionalDependencies: + fsevents: 2.3.3 + + jest-leak-detector@29.7.0: + dependencies: + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + + jest-matcher-utils@29.7.0: + dependencies: + chalk: 4.1.2 + jest-diff: 29.7.0 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + + jest-message-util@29.7.0: + dependencies: + '@babel/code-frame': 7.24.7 + '@jest/types': 29.6.3 + '@types/stack-utils': 2.0.3 + chalk: 4.1.2 + graceful-fs: 4.2.11 + micromatch: 4.0.7 + pretty-format: 29.7.0 + slash: 3.0.0 + stack-utils: 2.0.6 + + jest-mock@29.7.0: + dependencies: + '@jest/types': 29.6.3 + '@types/node': 20.14.2 + jest-util: 29.7.0 + + jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): + optionalDependencies: + jest-resolve: 29.7.0 + + jest-regex-util@29.6.3: {} + + jest-resolve-dependencies@29.7.0: + dependencies: + jest-regex-util: 29.6.3 + jest-snapshot: 29.7.0 + transitivePeerDependencies: + - supports-color + + jest-resolve@29.7.0: + dependencies: + chalk: 4.1.2 + graceful-fs: 4.2.11 + jest-haste-map: 29.7.0 + jest-pnp-resolver: 1.2.3(jest-resolve@29.7.0) + jest-util: 29.7.0 + jest-validate: 29.7.0 + resolve: 1.22.8 + resolve.exports: 2.0.2 + slash: 3.0.0 + + jest-runner@29.7.0: + dependencies: + '@jest/console': 29.7.0 + '@jest/environment': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.14.2 + chalk: 4.1.2 + emittery: 0.13.1 + graceful-fs: 4.2.11 + jest-docblock: 29.7.0 + jest-environment-node: 29.7.0 + jest-haste-map: 29.7.0 + jest-leak-detector: 29.7.0 + jest-message-util: 29.7.0 + jest-resolve: 29.7.0 + jest-runtime: 29.7.0 + jest-util: 29.7.0 + jest-watcher: 29.7.0 + jest-worker: 29.7.0 + p-limit: 3.1.0 + source-map-support: 0.5.13 + transitivePeerDependencies: + - supports-color + + jest-runtime@29.7.0: + dependencies: + '@jest/environment': 29.7.0 + '@jest/fake-timers': 29.7.0 + '@jest/globals': 29.7.0 + '@jest/source-map': 29.6.3 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.14.2 + chalk: 4.1.2 + cjs-module-lexer: 1.3.1 + collect-v8-coverage: 1.0.2 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-haste-map: 29.7.0 + jest-message-util: 29.7.0 + jest-mock: 29.7.0 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 + slash: 3.0.0 + strip-bom: 4.0.0 + transitivePeerDependencies: + - supports-color + + jest-snapshot@29.7.0: + dependencies: + '@babel/core': 7.24.7 + '@babel/generator': 7.24.7 + '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-syntax-typescript': 7.24.7(@babel/core@7.24.7) + '@babel/types': 7.24.7 + '@jest/expect-utils': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.7) + chalk: 4.1.2 + expect: 29.7.0 + graceful-fs: 4.2.11 + jest-diff: 29.7.0 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + natural-compare: 1.4.0 + pretty-format: 29.7.0 + semver: 7.6.2 + transitivePeerDependencies: + - supports-color + + jest-util@29.7.0: + dependencies: + '@jest/types': 29.6.3 + '@types/node': 20.14.2 + chalk: 4.1.2 + ci-info: 3.9.0 + graceful-fs: 4.2.11 + picomatch: 2.3.1 + + jest-validate@29.7.0: + dependencies: + '@jest/types': 29.6.3 + camelcase: 6.3.0 + chalk: 4.1.2 + jest-get-type: 29.6.3 + leven: 3.1.0 + pretty-format: 29.7.0 + + jest-watcher@29.7.0: + dependencies: + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.14.2 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + emittery: 0.13.1 + jest-util: 29.7.0 + string-length: 4.0.2 + + jest-worker@29.7.0: + dependencies: + '@types/node': 20.14.2 + jest-util: 29.7.0 + merge-stream: 2.0.0 + supports-color: 8.1.1 + + jest@29.7.0(@types/node@20.14.2): + dependencies: + '@jest/core': 29.7.0 + '@jest/types': 29.6.3 + import-local: 3.1.0 + jest-cli: 29.7.0(@types/node@20.14.2) + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + + js-tokens@4.0.0: {} + + js-yaml@3.14.1: + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + + jsesc@2.5.2: {} + + json-parse-even-better-errors@2.3.1: {} + + json5@2.2.3: {} + + kleur@3.0.3: {} + + leven@3.1.0: {} + + lines-and-columns@1.2.4: {} + + locate-path@5.0.0: + dependencies: + p-locate: 4.1.0 + + lru-cache@10.2.2: {} + + lru-cache@5.1.1: + dependencies: + yallist: 3.1.1 + + make-dir@4.0.0: + dependencies: + semver: 7.6.2 + + makeerror@1.0.12: + dependencies: + tmpl: 1.0.5 + + merge-stream@2.0.0: {} + + merge2@1.4.1: {} + + micromatch@4.0.7: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + + mimic-fn@2.1.0: {} + + minimatch@3.1.2: + dependencies: + brace-expansion: 1.1.11 + + minimatch@9.0.4: + dependencies: + brace-expansion: 2.0.1 + + minipass@7.1.2: {} + + ms@2.1.2: {} + + natural-compare@1.4.0: {} + + node-int64@0.4.0: {} + + node-releases@2.0.14: {} + + normalize-path@3.0.0: {} + + npm-run-path@4.0.1: + dependencies: + path-key: 3.1.1 + + once@1.4.0: + dependencies: + wrappy: 1.0.2 + + onetime@5.1.2: + dependencies: + mimic-fn: 2.1.0 + + p-limit@2.3.0: + dependencies: + p-try: 2.2.0 + + p-limit@3.1.0: + dependencies: + yocto-queue: 0.1.0 + + p-locate@4.1.0: + dependencies: + p-limit: 2.3.0 + + p-try@2.2.0: {} + + parse-json@5.2.0: + dependencies: + '@babel/code-frame': 7.24.7 + error-ex: 1.3.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + + path-exists@4.0.0: {} + + path-is-absolute@1.0.1: {} + + path-key@3.1.1: {} + + path-parse@1.0.7: {} + + path-scurry@1.11.1: + dependencies: + lru-cache: 10.2.2 + minipass: 7.1.2 + + path-type@4.0.0: {} + + picocolors@1.0.1: {} + + picomatch@2.3.1: {} + + pirates@4.0.6: {} + + pkg-dir@4.2.0: + dependencies: + find-up: 4.1.0 + + prettier@3.3.2: {} + + pretty-format@29.7.0: + dependencies: + '@jest/schemas': 29.6.3 + ansi-styles: 5.2.0 + react-is: 18.3.1 + + prompts@2.4.2: + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 + + pure-rand@6.1.0: {} + + queue-microtask@1.2.3: {} + + react-is@18.3.1: {} + + require-directory@2.1.1: {} + + resolve-cwd@3.0.0: + dependencies: + resolve-from: 5.0.0 + + resolve-from@5.0.0: {} + + resolve.exports@2.0.2: {} + + resolve@1.22.8: + dependencies: + is-core-module: 2.13.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + reusify@1.0.4: {} + + rimraf@5.0.7: + dependencies: + glob: 10.4.1 + + run-parallel@1.2.0: + dependencies: + queue-microtask: 1.2.3 + + semver@6.3.1: {} + + semver@7.6.2: {} + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@3.0.0: {} + + signal-exit@3.0.7: {} + + signal-exit@4.1.0: {} + + sisteransi@1.0.5: {} + + slash@3.0.0: {} + + source-map-support@0.5.13: + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + + source-map@0.6.1: {} + + sprintf-js@1.0.3: {} + + stack-utils@2.0.6: + dependencies: + escape-string-regexp: 2.0.0 + + string-length@4.0.2: + dependencies: + char-regex: 1.0.2 + strip-ansi: 6.0.1 + + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + string-width@5.1.2: + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.0 + + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + + strip-ansi@7.1.0: + dependencies: + ansi-regex: 6.0.1 + + strip-bom@4.0.0: {} + + strip-final-newline@2.0.0: {} + + strip-json-comments@3.1.1: {} + + supports-color@5.5.0: + dependencies: + has-flag: 3.0.0 + + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + supports-color@8.1.1: + dependencies: + has-flag: 4.0.0 + + supports-preserve-symlinks-flag@1.0.0: {} + + test-exclude@6.0.0: + dependencies: + '@istanbuljs/schema': 0.1.3 + glob: 7.2.3 + minimatch: 3.1.2 + + tmp@0.2.3: {} + + tmpl@1.0.5: {} + + to-fast-properties@2.0.0: {} + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + ts-api-utils@1.3.0(typescript@5.4.5): + dependencies: + typescript: 5.4.5 + + type-detect@4.0.8: {} + + type-fest@0.21.3: {} + + typescript@5.4.5: {} + + undici-types@5.26.5: {} + + update-browserslist-db@1.0.16(browserslist@4.23.1): + dependencies: + browserslist: 4.23.1 + escalade: 3.1.2 + picocolors: 1.0.1 + + v8-to-istanbul@9.2.0: + dependencies: + '@jridgewell/trace-mapping': 0.3.25 + '@types/istanbul-lib-coverage': 2.0.6 + convert-source-map: 2.0.0 + + walker@1.0.8: + dependencies: + makeerror: 1.0.12 + + which@2.0.2: + dependencies: + isexe: 2.0.0 + + wrap-ansi@7.0.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrap-ansi@8.1.0: + dependencies: + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.1.0 + + wrappy@1.0.2: {} + + write-file-atomic@4.0.2: + dependencies: + imurmurhash: 0.1.4 + signal-exit: 3.0.7 + + y18n@5.0.8: {} + + yallist@3.1.1: {} + + yargs-parser@21.1.1: {} + + yargs@17.7.2: + dependencies: + cliui: 8.0.1 + escalade: 3.1.2 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + + yocto-queue@0.1.0: {} diff --git a/packages/typescript-estree/src/create-program/createProjectService.ts b/packages/typescript-estree/src/create-program/createProjectService.ts index 0ac0af6dcad1..20a7b5bc3937 100644 --- a/packages/typescript-estree/src/create-program/createProjectService.ts +++ b/packages/typescript-estree/src/create-program/createProjectService.ts @@ -6,6 +6,10 @@ import type * as ts from 'typescript/lib/tsserverlibrary'; import type { ProjectServiceOptions } from '../parser-options'; import { getParsedConfigFile } from './getParsedConfigFile'; +import { + saveDirectoryWatchCallback, + saveFileWatchCallback, +} from './getWatchesForProjectService'; import { validateDefaultProjectForFilesGlob } from './validateDefaultProjectForFilesGlob'; const log = debug('typescript-eslint:typescript-estree:createProjectService'); @@ -24,10 +28,6 @@ const logTsserverEvent = debug( const doNothing = (): void => {}; -const createStubFileWatcher = (): ts.FileWatcher => ({ - close: doNothing, -}); - export type TypeScriptProjectService = ts.server.ProjectService; export interface ProjectServiceSettings { @@ -64,8 +64,8 @@ export function createProjectService( clearTimeout, setImmediate, setTimeout, - watchDirectory: createStubFileWatcher, - watchFile: createStubFileWatcher, + watchDirectory: saveDirectoryWatchCallback, + watchFile: saveFileWatchCallback, }; const logger: ts.server.Logger = { @@ -111,13 +111,17 @@ export function createProjectService( useSingleInferredProject: false, useInferredProjectPerProjectRoot: false, logger, - eventHandler: (e): void => { - logTsserverEvent(e); - }, + eventHandler: logTsserverEvent.enabled + ? (e): void => { + logTsserverEvent(e); + } + : undefined, session: undefined, + canUseWatchEvents: true, jsDocParsingMode, }); + log('TEST: %o', parseSettings); if (parseSettings?.extraFileExtensions?.length) { log( 'Enabling extra file extensions: %s', diff --git a/packages/typescript-estree/src/create-program/getWatchesForProjectService.ts b/packages/typescript-estree/src/create-program/getWatchesForProjectService.ts new file mode 100644 index 000000000000..a82356037dfb --- /dev/null +++ b/packages/typescript-estree/src/create-program/getWatchesForProjectService.ts @@ -0,0 +1,129 @@ +/* eslint-disable @typescript-eslint/no-non-null-assertion */ +import path from 'node:path'; + +import { debug } from 'debug'; +import * as ts from 'typescript'; + +const log = debug( + 'typescript-eslint:typescript-estree:getWatchesForProjectService', +); + +export class Watcher implements ts.FileWatcher { + constructor( + private readonly node: TrieNode, + public readonly callback: () => void, + ) {} + + close(): void { + log('closing %s', this.node.path); + this.node.value = null; + } +} + +export class TrieNode { + children: Map>; + value: T | null; + constructor(public readonly path: string) { + this.children = new Map(); + this.value = null; + } +} + +export class Trie { + root: TrieNode; + count: number; + + constructor() { + this.root = new TrieNode(''); + this.count = 1; + } + + insert(filePath: string): TrieNode { + // implicitly blocks a watch on the root of the file system + const parts = path.resolve(filePath).split(path.sep).slice(1); + const { currentNode } = parts.reduce( + ({ currentNode, rootPath }, part) => { + const currentPath = path.join(rootPath, part); + if (!currentNode.children.has(part)) { + currentNode.children.set(part, new TrieNode(currentPath)); + this.count++; + } + return { + currentNode: currentNode.children.get(part)!, + rootPath: currentPath, + }; + }, + { + currentNode: this.root, + rootPath: this.root.path, + }, + ); + log('Inserted (%d): %s', this.count, filePath); + return currentNode; + } + + get(filePath: string): TrieNode | null { + const parts = path.resolve(filePath).split(path.sep).slice(1); + const { lastNodeWithValue } = parts.reduce( + ({ currentNode, lastNodeWithValue }, part) => { + if (!currentNode.children.has(part)) { + return { currentNode: currentNode, lastNodeWithValue }; + } + const childNode = currentNode.children.get(part)!; + return { + currentNode: childNode, + lastNodeWithValue: + childNode.value != null ? childNode : lastNodeWithValue, + }; + }, + { + currentNode: this.root, + lastNodeWithValue: null as TrieNode | null, + }, + ); + log( + 'Retrieved (%d): %s: %s', + this.count, + filePath, + lastNodeWithValue?.path, + ); + return lastNodeWithValue; + } +} + +export const watches = new Trie(); + +export const saveFileWatchCallback = ( + path: string, + callback: ts.FileWatcherCallback, + _pollingInterval?: number, + _options?: ts.WatchOptions, +): ts.FileWatcher => { + const node = watches.insert(path); + if (node.value != null) { + return node.value; + } + const watcher = new Watcher(node, () => { + // edits are sent through script info, this is only used for new files + callback(path, ts.FileWatcherEventKind.Created, new Date()); + }); + node.value = watcher; + return watcher; +}; + +export const saveDirectoryWatchCallback = ( + path: string, + callback: ts.DirectoryWatcherCallback, + _recursive?: boolean, + _options?: ts.WatchOptions, +): ts.FileWatcher => { + const node = watches.insert(path); + if (node.value != null) { + return node.value; + } + const watcher = new Watcher(node, () => { + callback(path); + }); + node.value = watcher; + return watcher; +}; diff --git a/packages/typescript-estree/src/useProgramFromProjectService.ts b/packages/typescript-estree/src/useProgramFromProjectService.ts index ec64513bf0a6..1da3f6c5859e 100644 --- a/packages/typescript-estree/src/useProgramFromProjectService.ts +++ b/packages/typescript-estree/src/useProgramFromProjectService.ts @@ -7,6 +7,7 @@ import type * as ts from 'typescript'; import { createProjectProgram } from './create-program/createProjectProgram'; import type { ProjectServiceSettings } from './create-program/createProjectService'; +import { watches } from './create-program/getWatchesForProjectService'; import type { ASTAndDefiniteProgram } from './create-program/shared'; import { DEFAULT_PROJECT_FILES_ERROR_EXPLANATION } from './create-program/validateDefaultProjectForFilesGlob'; import type { MutableParseSettings } from './parseSettings'; @@ -18,7 +19,10 @@ const logEdits = debug( 'typescript-eslint:typescript-estree:useProgramFromProjectService:editContent', ); -const makeOpenedFilesCache = ( +// "@typescript-eslint/types": "higherorderfunctor/typescript-eslint#patches2upstream&path:packages/types", +// "@typescript-eslint/typescript-estree": "higherorderfunctor/typescript-eslint#patches2upstream&path:packages/typescript-estree", + +const getOrCreateOpenedFilesCache = ( service: ts.server.ProjectService & { __opened_lru_cache?: Map; }, @@ -59,85 +63,27 @@ interface ContentEdit { end: number; content: string; } + const makeEdits = (oldContent: string, newContent: string): ContentEdit[] => { - // log('OLD', oldContent); - // log('NEW', newContent) const changes = diffChars(oldContent, newContent); - // log(changes); const edits: ContentEdit[] = []; let offset = 0; changes.forEach(change => { - if (change.removed && change.count !== undefined) { - edits.push({ - start: offset, - end: offset + change.count, - content: '', - }); + if (change.count === undefined) { return; - // offset += change.count; // Update offset for removed content } - if (change.added) { - edits.push({ - start: offset, - end: offset, - content: change.value, - }); - } - if (change.count !== undefined) { - edits.push({ - start: offset, - end: offset + change.count, - content: change.value, - }); - offset += change.count; // Update offset for unchanged content + edits.push({ + start: offset, + end: change.added ? offset : offset + change.count, + content: change.removed ? '' : change.value, + }); + if (!change.removed) { + offset += change.count; } }); - // log('EDITS', edits); return edits; }; -// const makeEdits = (oldContent: string, newContent: string): ContentEdit[] => { -// const changes = diffChars(oldContent, newContent); -// // const edits: ContentEdit[] = []; -// let offset = 0; -// return changes.map(change => { -// const edit = { -// start: offset, -// end: change.added ? offset : offset + (change.count ?? 0), -// content: change.value, -// }; -// if (!(change.added || change.removed)) { -// offset += change.count ?? 0; -// } -// return edit; -// }); -// // delete -// // if (change.removed && change.count !== undefined) { -// // edits.push({ -// // start: offset, -// // end: offset + change.count, -// // content: change.value, //'', -// // }); -// // return; -// // } -// // // insert -// // if (change.added) { -// // edits.push({ -// // start: offset, -// // end: offset, -// // content: change.value, -// // }); -// // } -// // if (change.count !== undefined) { -// // edits.push({ -// // start: offset, -// // end: offset + change.count, -// // content: change.value, -// // }); -// // offset += change.count; -// // } -// // return edits; -// }; export function useProgramFromProjectService( { @@ -151,7 +97,7 @@ export function useProgramFromProjectService( hasFullTypeInformation: boolean, defaultProjectMatchedFiles: Set, ): ASTAndDefiniteProgram | undefined { - const openedFilesCache = makeOpenedFilesCache(service, { + const openedFilesCache = getOrCreateOpenedFilesCache(service, { max: maximumOpenFiles, }); @@ -159,11 +105,6 @@ export function useProgramFromProjectService( // See https://github.com/typescript-eslint/typescript-eslint/issues/8519 const filePathAbsolute = absolutify(parseSettings.filePath); - const isFileInConfiguredProject = filePathMatchedByConfiguredProject( - service, - filePathAbsolute, - ); - log( 'Opening project service file for: %s at absolute path %s', parseSettings.filePath, @@ -171,23 +112,23 @@ export function useProgramFromProjectService( ); const isOpened = openedFilesCache.has(filePathAbsolute); - // if (!isOpened) { - // if ( - // !isFileInConfiguredProject( - // service, - // ts.server.toNormalizedPath(filePathAbsolute), - // ) - // ) { - // log('Orphaned file: %s', filePathAbsolute); - // const watcher = watches.get(filePathAbsolute); - // if (watcher?.value != null) { - // log('Triggering watcher: %s', watcher.path); - // watcher.value.callback(); - // } else { - // log('No watcher found for: %s', filePathAbsolute); - // } - // } - // } + if (!isOpened) { + if (!filePathMatchedByConfiguredProject(service, filePathAbsolute)) { + log('Orphaned file: %s', filePathAbsolute); + const watcher = watches.get(filePathAbsolute); + if (watcher?.value != null) { + log('Triggering watcher: %s', watcher.path); + watcher.value.callback(); + } else { + log('No watcher found for: %s', filePathAbsolute); + } + } + } + + const isFileInConfiguredProject = filePathMatchedByConfiguredProject( + service, + filePathAbsolute, + ); // when reusing an openClientFile handler, we need to ensure that // the file is still open and manually update its contents @@ -214,16 +155,20 @@ export function useProgramFromProjectService( content: parseSettings.codeFullText, }, ]; - if (incremental) { - edits.forEach(({ start, end, content }) => { - logEdits('Sending edit for: %s: %o', filePathAbsolute, { + + edits.forEach(({ start, end, content }) => { + logEdits( + 'Sending %s edit for: %s: %o', + incremental ? 'incremental' : 'full', + filePathAbsolute, + { start, end, content, - }); - cachedScriptInfo.editContent(start, end, content); - }); - } + }, + ); + cachedScriptInfo.editContent(start, end, content); + }); } const opened = isOpened @@ -250,6 +195,24 @@ export function useProgramFromProjectService( opened, ); + // FIXME: can at least notify the user instead of getting stuck waiting + if (opened.configFileName === undefined) { + // parse settings does not always contain extraFileExtensions when set and re-running seems to fix + // could just be my complex config file, by trying to catch to track + debug.enable( + 'typescript-eslint:typescript-estree:useProgramFromProjectService', + ); + log( + 'Inferred project issue, try re-running eslint: %s: isFileInConfiguredProject=%s: %o: %o', + filePathAbsolute, + isFileInConfiguredProject, + parseSettings, + cachedScriptInfo, + ); + // eslint-disable-next-line no-process-exit + process.exit(1); + } + if (hasFullTypeInformation) { log( 'Project service type information enabled; checking for file path match on: %o', diff --git a/yarn.lock b/yarn.lock index f51397a26e53..5aa3bf46fcad 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5839,6 +5839,12 @@ __metadata: languageName: unknown linkType: soft +"@typescript-eslint/types@link:../types::locator=%40typescript-eslint%2Ftypescript-estree%40workspace%3Apackages%2Ftypescript-estree": + version: 0.0.0-use.local + resolution: "@typescript-eslint/types@link:../types::locator=%40typescript-eslint%2Ftypescript-estree%40workspace%3Apackages%2Ftypescript-estree" + languageName: node + linkType: soft + "@typescript-eslint/types@npm:5.62.0": version: 5.62.0 resolution: "@typescript-eslint/types@npm:5.62.0" @@ -5981,8 +5987,8 @@ __metadata: dependencies: "@jest/types": 29.6.3 "@types/diff": ^5.2.1 - "@typescript-eslint/types": "workspace:^" - "@typescript-eslint/visitor-keys": "workspace:^" + "@typescript-eslint/types": "link:../types" + "@typescript-eslint/visitor-keys": "link:../visitor-keys" debug: ^4.3.4 diff: ^5.2.0 glob: "*" @@ -6056,6 +6062,12 @@ __metadata: languageName: unknown linkType: soft +"@typescript-eslint/visitor-keys@link:../visitor-keys::locator=%40typescript-eslint%2Ftypescript-estree%40workspace%3Apackages%2Ftypescript-estree": + version: 0.0.0-use.local + resolution: "@typescript-eslint/visitor-keys@link:../visitor-keys::locator=%40typescript-eslint%2Ftypescript-estree%40workspace%3Apackages%2Ftypescript-estree" + languageName: node + linkType: soft + "@typescript-eslint/visitor-keys@npm:5.62.0": version: 5.62.0 resolution: "@typescript-eslint/visitor-keys@npm:5.62.0" From 92d7b7200fa9e7c6998224a6a9b5a8c93b68b44e Mon Sep 17 00:00:00 2001 From: Christopher Aubut Date: Wed, 12 Jun 2024 18:46:30 -0600 Subject: [PATCH 27/36] chore: update some logging --- .../createProjectService.d.ts.map | 2 +- .../create-program/createProjectService.js | 6 ++++-- .../createProjectService.js.map | 2 +- .../getWatchesForProjectService.d.ts.map | 2 +- .../getWatchesForProjectService.js.map | 2 +- .../createParseSettings.d.ts.map | 2 +- .../dist/parseSettings/createParseSettings.js | 1 + .../parseSettings/createParseSettings.js.map | 2 +- .../useProgramFromProjectService.d.ts.map | 2 +- .../dist/useProgramFromProjectService.js | 13 ++++++------ .../dist/useProgramFromProjectService.js.map | 2 +- .../create-program/createProjectService.ts | 2 +- .../src/parseSettings/createParseSettings.ts | 1 + .../src/useProgramFromProjectService.ts | 20 +++++++++---------- 14 files changed, 32 insertions(+), 27 deletions(-) diff --git a/packages/typescript-estree/dist/create-program/createProjectService.d.ts.map b/packages/typescript-estree/dist/create-program/createProjectService.d.ts.map index 49e0d29ea5ff..9fd31e3240f3 100644 --- a/packages/typescript-estree/dist/create-program/createProjectService.d.ts.map +++ b/packages/typescript-estree/dist/create-program/createProjectService.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"createProjectService.d.ts","sourceRoot":"","sources":["../../src/create-program/createProjectService.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAE1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAwB/D,MAAM,MAAM,wBAAwB,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC;AAEhE,MAAM,WAAW,sBAAsB;IACrC,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,mCAAmC,EAAE,MAAM,CAAC;IAC5C,OAAO,EAAE,wBAAwB,CAAC;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,2BAA2B;IAC1C,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,QAAQ,CAAC,qBAAqB,CAAC,EACxC,gBAAgB,EAAE,EAAE,CAAC,gBAAgB,GAAG,SAAS,EACjD,aAAa,CAAC,EAAE,2BAA2B,GAC1C,sBAAsB,CAsHxB"} \ No newline at end of file +{"version":3,"file":"createProjectService.d.ts","sourceRoot":"","sources":["../../src/create-program/createProjectService.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAE1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAwB/D,MAAM,MAAM,wBAAwB,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC;AAEhE,MAAM,WAAW,sBAAsB;IACrC,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,mCAAmC,EAAE,MAAM,CAAC;IAC5C,OAAO,EAAE,wBAAwB,CAAC;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,2BAA2B;IAC1C,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,QAAQ,CAAC,qBAAqB,CAAC,EACxC,gBAAgB,EAAE,EAAE,CAAC,gBAAgB,GAAG,SAAS,EACjD,aAAa,CAAC,EAAE,2BAA2B,GAC1C,sBAAsB,CAwHxB"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/createProjectService.js b/packages/typescript-estree/dist/create-program/createProjectService.js index b28613e45d33..78656fd7fde7 100644 --- a/packages/typescript-estree/dist/create-program/createProjectService.js +++ b/packages/typescript-estree/dist/create-program/createProjectService.js @@ -77,13 +77,15 @@ function createProjectService(options, jsDocParsingMode, parseSettings) { useInferredProjectPerProjectRoot: false, logger, eventHandler: logTsserverEvent.enabled - ? (e) => { logTsserverEvent(e); } + ? (e) => { + logTsserverEvent(e); + } : undefined, session: undefined, canUseWatchEvents: true, jsDocParsingMode, }); - log("TEST: %o", parseSettings); + log('Parse Settings: %o', parseSettings); if (parseSettings?.extraFileExtensions?.length) { log('Enabling extra file extensions: %s', parseSettings.extraFileExtensions); service.setHostConfiguration({ diff --git a/packages/typescript-estree/dist/create-program/createProjectService.js.map b/packages/typescript-estree/dist/create-program/createProjectService.js.map index 9700268faa96..37df4f5ae94d 100644 --- a/packages/typescript-estree/dist/create-program/createProjectService.js.map +++ b/packages/typescript-estree/dist/create-program/createProjectService.js.map @@ -1 +1 @@ -{"version":3,"file":"createProjectService.js","sourceRoot":"","sources":["../../src/create-program/createProjectService.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"createProjectService.js","sourceRoot":"","sources":["../../src/create-program/createProjectService.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/getWatchesForProjectService.d.ts.map b/packages/typescript-estree/dist/create-program/getWatchesForProjectService.d.ts.map index 2933c40bad1a..539a6404c897 100644 --- a/packages/typescript-estree/dist/create-program/getWatchesForProjectService.d.ts.map +++ b/packages/typescript-estree/dist/create-program/getWatchesForProjectService.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"getWatchesForProjectService.d.ts","sourceRoot":"","sources":["../../src/create-program/getWatchesForProjectService.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAMjC,qBAAa,OAAQ,YAAW,EAAE,CAAC,WAAW;IAE1C,OAAO,CAAC,QAAQ,CAAC,IAAI;aACL,QAAQ,EAAE,MAAM,IAAI;gBADnB,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,EACxB,QAAQ,EAAE,MAAM,IAAI;IAGtC,KAAK,IAAI,IAAI;CAId;AAED,qBAAa,QAAQ,CAAC,CAAC;aAGO,IAAI,EAAE,MAAM;IAFxC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;gBACY,IAAI,EAAE,MAAM;CAIzC;AAED,qBAAa,IAAI,CAAC,CAAC;IACjB,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;;IAOd,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC;IAwBrC,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI;CAsB1C;AAED,eAAO,MAAM,OAAO,eAAsB,CAAC;AAE3C,eAAO,MAAM,qBAAqB,SAC1B,MAAM,YACF,GAAG,mBAAmB,qBACb,MAAM,aACd,GAAG,YAAY,KACzB,GAAG,WAWL,CAAC;AAEF,eAAO,MAAM,0BAA0B,SAC/B,MAAM,YACF,GAAG,wBAAwB,eACxB,OAAO,aACT,GAAG,YAAY,KACzB,GAAG,WAUL,CAAC"} \ No newline at end of file +{"version":3,"file":"getWatchesForProjectService.d.ts","sourceRoot":"","sources":["../../src/create-program/getWatchesForProjectService.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAMjC,qBAAa,OAAQ,YAAW,EAAE,CAAC,WAAW;IAE1C,OAAO,CAAC,QAAQ,CAAC,IAAI;aACL,QAAQ,EAAE,MAAM,IAAI;gBADnB,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,EACxB,QAAQ,EAAE,MAAM,IAAI;IAGtC,KAAK,IAAI,IAAI;CAId;AAED,qBAAa,QAAQ,CAAC,CAAC;aAGO,IAAI,EAAE,MAAM;IAFxC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;gBACY,IAAI,EAAE,MAAM;CAIzC;AAED,qBAAa,IAAI,CAAC,CAAC;IACjB,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;;IAOd,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC;IAwBrC,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI;CA2B1C;AAED,eAAO,MAAM,OAAO,eAAsB,CAAC;AAE3C,eAAO,MAAM,qBAAqB,SAC1B,MAAM,YACF,GAAG,mBAAmB,qBACb,MAAM,aACd,GAAG,YAAY,KACzB,GAAG,WAWL,CAAC;AAEF,eAAO,MAAM,0BAA0B,SAC/B,MAAM,YACF,GAAG,wBAAwB,eACxB,OAAO,aACT,GAAG,YAAY,KACzB,GAAG,WAUL,CAAC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/getWatchesForProjectService.js.map b/packages/typescript-estree/dist/create-program/getWatchesForProjectService.js.map index 8c323e3f9433..71c31a5537c3 100644 --- a/packages/typescript-estree/dist/create-program/getWatchesForProjectService.js.map +++ b/packages/typescript-estree/dist/create-program/getWatchesForProjectService.js.map @@ -1 +1 @@ -{"version":3,"file":"getWatchesForProjectService.js","sourceRoot":"","sources":["../../src/create-program/getWatchesForProjectService.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"getWatchesForProjectService.js","sourceRoot":"","sources":["../../src/create-program/getWatchesForProjectService.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/createParseSettings.d.ts.map b/packages/typescript-estree/dist/parseSettings/createParseSettings.d.ts.map index 66a0bad25f74..d2b76b37e4f6 100644 --- a/packages/typescript-estree/dist/parseSettings/createParseSettings.d.ts.map +++ b/packages/typescript-estree/dist/parseSettings/createParseSettings.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"createParseSettings.d.ts","sourceRoot":"","sources":["../../src/parseSettings/createParseSettings.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAKjC,OAAO,KAAK,EAAyB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAOhF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AA2BpD,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,EAAE,CAAC,UAAU,GAAG,MAAM,EAC5B,eAAe,GAAE,OAAO,CAAC,eAAe,CAAM,GAC7C,oBAAoB,CA2JtB;AAED,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C;AAED,wBAAgB,2BAA2B,IAAI,IAAI,CAElD"} \ No newline at end of file +{"version":3,"file":"createParseSettings.d.ts","sourceRoot":"","sources":["../../src/parseSettings/createParseSettings.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAKjC,OAAO,KAAK,EAAyB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAOhF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AA2BpD,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,EAAE,CAAC,UAAU,GAAG,MAAM,EAC5B,eAAe,GAAE,OAAO,CAAC,eAAe,CAAM,GAC7C,oBAAoB,CA4JtB;AAED,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C;AAED,wBAAgB,2BAA2B,IAAI,IAAI,CAElD"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/createParseSettings.js b/packages/typescript-estree/dist/parseSettings/createParseSettings.js index 435a9254d2f7..897984a9c69b 100644 --- a/packages/typescript-estree/dist/parseSettings/createParseSettings.js +++ b/packages/typescript-estree/dist/parseSettings/createParseSettings.js @@ -72,6 +72,7 @@ function createParseSettings(code, tsestreeOptions = {}) { return JSDocParsingMode.ParseAll; } })(); + log('Extra file extensions:', tsestreeOptions.extraFileExtensions); const extraFileExtensions = Array.isArray(tsestreeOptions.extraFileExtensions) && tsestreeOptions.extraFileExtensions.every(ext => typeof ext === 'string') ? tsestreeOptions.extraFileExtensions diff --git a/packages/typescript-estree/dist/parseSettings/createParseSettings.js.map b/packages/typescript-estree/dist/parseSettings/createParseSettings.js.map index 7fb1fa7bc613..6f9f90bf0d53 100644 --- a/packages/typescript-estree/dist/parseSettings/createParseSettings.js.map +++ b/packages/typescript-estree/dist/parseSettings/createParseSettings.js.map @@ -1 +1 @@ -{"version":3,"file":"createParseSettings.js","sourceRoot":"","sources":["../../src/parseSettings/createParseSettings.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"createParseSettings.js","sourceRoot":"","sources":["../../src/parseSettings/createParseSettings.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/useProgramFromProjectService.d.ts.map b/packages/typescript-estree/dist/useProgramFromProjectService.d.ts.map index 1b81f38f8557..224a2e88b30a 100644 --- a/packages/typescript-estree/dist/useProgramFromProjectService.d.ts.map +++ b/packages/typescript-estree/dist/useProgramFromProjectService.d.ts.map @@ -1 +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,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAErE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AA2E5D,wBAAgB,4BAA4B,CAC1C,EACE,mBAAmB,EACnB,mCAAmC,EACnC,gBAAgB,EAChB,WAAW,EACX,OAAO,GACR,EAAE,sBAAsB,EACzB,aAAa,EAAE,QAAQ,CAAC,oBAAoB,CAAC,EAC7C,sBAAsB,EAAE,OAAO,EAC/B,0BAA0B,EAAE,GAAG,CAAC,MAAM,CAAC,GACtC,qBAAqB,GAAG,SAAS,CAyLnC"} \ No newline at end of file +{"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,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAErE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AA2E5D,wBAAgB,4BAA4B,CAC1C,EACE,mBAAmB,EACnB,mCAAmC,EACnC,gBAAgB,EAChB,WAAW,EACX,OAAO,GACR,EAAE,sBAAsB,EACzB,aAAa,EAAE,QAAQ,CAAC,oBAAoB,CAAC,EAC7C,sBAAsB,EAAE,OAAO,EAC/B,0BAA0B,EAAE,GAAG,CAAC,MAAM,CAAC,GACtC,qBAAqB,GAAG,SAAS,CA0LnC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/useProgramFromProjectService.js b/packages/typescript-estree/dist/useProgramFromProjectService.js index 1594bcccecd6..53e004b6c68a 100644 --- a/packages/typescript-estree/dist/useProgramFromProjectService.js +++ b/packages/typescript-estree/dist/useProgramFromProjectService.js @@ -118,12 +118,13 @@ function useProgramFromProjectService({ allowDefaultProject, maximumDefaultProje : 'Opened project service file', service.openFiles.size, maximumOpenFiles, opened); // FIXME: can at least notify the user instead of getting stuck waiting if (opened.configFileName === undefined) { - // parse settings does not always contain extraFileExtensions when set and re-running seems to fix - // could just be my complex config file, by trying to catch to track - debug_1.default.enable("typescript-eslint:typescript-estree:useProgramFromProjectService"); - log('Inferred project issue, try re-running eslint: %s: isFileInConfiguredProject=%s: %o: %o', filePathAbsolute, isFileInConfiguredProject, parseSettings, cachedScriptInfo); - // eslint-disable-next-line no-process-exit - process.exit(1); + const namespaces = debug_1.default.disable(); // capture currently enabled loggers + debug_1.default.enable(log.name); // enable just this logger + log('Inferred Project Context: %s: %o', filePathAbsolute, { isFileInConfiguredProject }, parseSettings); + log('WARNING: Possible inferred project issue: %s', filePathAbsolute); + log('Try re-running if file should NOT be using default compiler options: %s'); + debug_1.default.disable(); // disable this logger + debug_1.default.enable(namespaces); // re-enable original logger } if (hasFullTypeInformation) { log('Project service type information enabled; checking for file path match on: %o', allowDefaultProject); diff --git a/packages/typescript-estree/dist/useProgramFromProjectService.js.map b/packages/typescript-estree/dist/useProgramFromProjectService.js.map index 5cae6b6a3c10..1964248ee8b4 100644 --- a/packages/typescript-estree/dist/useProgramFromProjectService.js.map +++ b/packages/typescript-estree/dist/useProgramFromProjectService.js.map @@ -1 +1 @@ -{"version":3,"file":"useProgramFromProjectService.js","sourceRoot":"","sources":["../src/useProgramFromProjectService.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"useProgramFromProjectService.js","sourceRoot":"","sources":["../src/useProgramFromProjectService.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/typescript-estree/src/create-program/createProjectService.ts b/packages/typescript-estree/src/create-program/createProjectService.ts index 20a7b5bc3937..d28f2ffb6141 100644 --- a/packages/typescript-estree/src/create-program/createProjectService.ts +++ b/packages/typescript-estree/src/create-program/createProjectService.ts @@ -121,7 +121,7 @@ export function createProjectService( jsDocParsingMode, }); - log('TEST: %o', parseSettings); + log('Parse Settings: %o', parseSettings); if (parseSettings?.extraFileExtensions?.length) { log( 'Enabling extra file extensions: %s', diff --git a/packages/typescript-estree/src/parseSettings/createParseSettings.ts b/packages/typescript-estree/src/parseSettings/createParseSettings.ts index e3b7876d46c9..db612bd8be1e 100644 --- a/packages/typescript-estree/src/parseSettings/createParseSettings.ts +++ b/packages/typescript-estree/src/parseSettings/createParseSettings.ts @@ -64,6 +64,7 @@ export function createParseSettings( return JSDocParsingMode.ParseAll; } })(); + log('Extra file extensions:', tsestreeOptions.extraFileExtensions); const extraFileExtensions = Array.isArray(tsestreeOptions.extraFileExtensions) && tsestreeOptions.extraFileExtensions.every(ext => typeof ext === 'string') diff --git a/packages/typescript-estree/src/useProgramFromProjectService.ts b/packages/typescript-estree/src/useProgramFromProjectService.ts index 1da3f6c5859e..f9b1ea57dfb5 100644 --- a/packages/typescript-estree/src/useProgramFromProjectService.ts +++ b/packages/typescript-estree/src/useProgramFromProjectService.ts @@ -197,20 +197,20 @@ export function useProgramFromProjectService( // FIXME: can at least notify the user instead of getting stuck waiting if (opened.configFileName === undefined) { - // parse settings does not always contain extraFileExtensions when set and re-running seems to fix - // could just be my complex config file, by trying to catch to track - debug.enable( - 'typescript-eslint:typescript-estree:useProgramFromProjectService', - ); + const namespaces = debug.disable(); // capture currently enabled loggers + debug.enable(log.name); // enable just this logger log( - 'Inferred project issue, try re-running eslint: %s: isFileInConfiguredProject=%s: %o: %o', + 'Inferred Project Context: %s: %o', filePathAbsolute, - isFileInConfiguredProject, + { isFileInConfiguredProject }, parseSettings, - cachedScriptInfo, ); - // eslint-disable-next-line no-process-exit - process.exit(1); + log('WARNING: Possible inferred project issue: %s', filePathAbsolute); + log( + 'Try re-running if file should NOT be using default compiler options: %s', + ); + debug.disable(); // disable this logger + debug.enable(namespaces); // re-enable original logger } if (hasFullTypeInformation) { From 9b71f4680463089a499875939e67be459ede9a83 Mon Sep 17 00:00:00 2001 From: Christopher Aubut Date: Wed, 12 Jun 2024 22:18:52 -0600 Subject: [PATCH 28/36] chore: cached file extensions --- .../create-program/createProjectService.d.ts | 1 + .../createProjectService.d.ts.map | 2 +- .../create-program/createProjectService.js | 23 ++++---- .../createProjectService.js.map | 2 +- .../createParseSettings.d.ts.map | 2 +- .../dist/parseSettings/createParseSettings.js | 1 - .../parseSettings/createParseSettings.js.map | 2 +- .../useProgramFromProjectService.d.ts.map | 2 +- .../dist/useProgramFromProjectService.js | 49 +++++++++++++---- .../dist/useProgramFromProjectService.js.map | 2 +- .../create-program/createProjectService.ts | 28 ++++++---- .../src/parseSettings/createParseSettings.ts | 1 - .../src/useProgramFromProjectService.ts | 55 ++++++++++++------- 13 files changed, 113 insertions(+), 57 deletions(-) diff --git a/packages/typescript-estree/dist/create-program/createProjectService.d.ts b/packages/typescript-estree/dist/create-program/createProjectService.d.ts index 15d230f4a5fd..db3e958d6d90 100644 --- a/packages/typescript-estree/dist/create-program/createProjectService.d.ts +++ b/packages/typescript-estree/dist/create-program/createProjectService.d.ts @@ -11,5 +11,6 @@ export interface ProjectServiceSettings { export interface ProjectServiceParseSettings { extraFileExtensions?: string[]; } +export declare const updateExtraFileExtensions: (service: TypeScriptProjectService, extraFileExtensions: string[], scriptKind: ts.ScriptKind) => void; export declare function createProjectService(options: Required, jsDocParsingMode: ts.JSDocParsingMode | undefined, parseSettings?: ProjectServiceParseSettings): ProjectServiceSettings; //# sourceMappingURL=createProjectService.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/createProjectService.d.ts.map b/packages/typescript-estree/dist/create-program/createProjectService.d.ts.map index 9fd31e3240f3..cd0d901cc5a6 100644 --- a/packages/typescript-estree/dist/create-program/createProjectService.d.ts.map +++ b/packages/typescript-estree/dist/create-program/createProjectService.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"createProjectService.d.ts","sourceRoot":"","sources":["../../src/create-program/createProjectService.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAE1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAwB/D,MAAM,MAAM,wBAAwB,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC;AAEhE,MAAM,WAAW,sBAAsB;IACrC,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,mCAAmC,EAAE,MAAM,CAAC;IAC5C,OAAO,EAAE,wBAAwB,CAAC;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,2BAA2B;IAC1C,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,QAAQ,CAAC,qBAAqB,CAAC,EACxC,gBAAgB,EAAE,EAAE,CAAC,gBAAgB,GAAG,SAAS,EACjD,aAAa,CAAC,EAAE,2BAA2B,GAC1C,sBAAsB,CAwHxB"} \ No newline at end of file +{"version":3,"file":"createProjectService.d.ts","sourceRoot":"","sources":["../../src/create-program/createProjectService.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAE1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAwB/D,MAAM,MAAM,wBAAwB,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC;AAEhE,MAAM,WAAW,sBAAsB;IACrC,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,mCAAmC,EAAE,MAAM,CAAC;IAC5C,OAAO,EAAE,wBAAwB,CAAC;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,2BAA2B;IAC1C,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AAED,eAAO,MAAM,yBAAyB,YAC3B,wBAAwB,uBACZ,MAAM,EAAE,cACjB,GAAG,UAAU,KACxB,IAYF,CAAA;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,QAAQ,CAAC,qBAAqB,CAAC,EACxC,gBAAgB,EAAE,EAAE,CAAC,gBAAgB,GAAG,SAAS,EACjD,aAAa,CAAC,EAAE,2BAA2B,GAC1C,sBAAsB,CA6GxB"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/createProjectService.js b/packages/typescript-estree/dist/create-program/createProjectService.js index 78656fd7fde7..5e4538c3144e 100644 --- a/packages/typescript-estree/dist/create-program/createProjectService.js +++ b/packages/typescript-estree/dist/create-program/createProjectService.js @@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); -exports.createProjectService = void 0; +exports.createProjectService = exports.updateExtraFileExtensions = void 0; /* eslint-disable @typescript-eslint/no-empty-function -- for TypeScript APIs*/ const node_path_1 = __importDefault(require("node:path")); const debug_1 = __importDefault(require("debug")); @@ -16,6 +16,17 @@ const logTsserverInfo = (0, debug_1.default)('typescript-eslint:typescript-estre const logTsserverPerf = (0, debug_1.default)('typescript-eslint:typescript-estree:tsserver:perf'); const logTsserverEvent = (0, debug_1.default)('typescript-eslint:typescript-estree:tsserver:event'); const doNothing = () => { }; +const updateExtraFileExtensions = (service, extraFileExtensions, scriptKind) => { + log('Updating extra file extensions: %s', extraFileExtensions); + service.setHostConfiguration({ + extraFileExtensions: extraFileExtensions.map(extension => ({ + extension, + isMixedContent: false, + scriptKind, + })), + }); +}; +exports.updateExtraFileExtensions = updateExtraFileExtensions; function createProjectService(options, jsDocParsingMode, parseSettings) { (0, validateDefaultProjectForFilesGlob_1.validateDefaultProjectForFilesGlob)(options); // We import this lazily to avoid its cost for users who don't use the service @@ -85,16 +96,8 @@ function createProjectService(options, jsDocParsingMode, parseSettings) { canUseWatchEvents: true, jsDocParsingMode, }); - log('Parse Settings: %o', parseSettings); if (parseSettings?.extraFileExtensions?.length) { - log('Enabling extra file extensions: %s', parseSettings.extraFileExtensions); - service.setHostConfiguration({ - extraFileExtensions: parseSettings.extraFileExtensions.map(extension => ({ - extension, - isMixedContent: false, - scriptKind: tsserver.ScriptKind.Deferred, - })), - }); + (0, exports.updateExtraFileExtensions)(service, parseSettings.extraFileExtensions, tsserver.ScriptKind.Deferred); } if (options.defaultProject) { log('Enabling default project: %s', options.defaultProject); diff --git a/packages/typescript-estree/dist/create-program/createProjectService.js.map b/packages/typescript-estree/dist/create-program/createProjectService.js.map index 37df4f5ae94d..87ee3346ece6 100644 --- a/packages/typescript-estree/dist/create-program/createProjectService.js.map +++ b/packages/typescript-estree/dist/create-program/createProjectService.js.map @@ -1 +1 @@ -{"version":3,"file":"createProjectService.js","sourceRoot":"","sources":["../../src/create-program/createProjectService.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"createProjectService.js","sourceRoot":"","sources":["../../src/create-program/createProjectService.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/createParseSettings.d.ts.map b/packages/typescript-estree/dist/parseSettings/createParseSettings.d.ts.map index d2b76b37e4f6..66a0bad25f74 100644 --- a/packages/typescript-estree/dist/parseSettings/createParseSettings.d.ts.map +++ b/packages/typescript-estree/dist/parseSettings/createParseSettings.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"createParseSettings.d.ts","sourceRoot":"","sources":["../../src/parseSettings/createParseSettings.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAKjC,OAAO,KAAK,EAAyB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAOhF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AA2BpD,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,EAAE,CAAC,UAAU,GAAG,MAAM,EAC5B,eAAe,GAAE,OAAO,CAAC,eAAe,CAAM,GAC7C,oBAAoB,CA4JtB;AAED,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C;AAED,wBAAgB,2BAA2B,IAAI,IAAI,CAElD"} \ No newline at end of file +{"version":3,"file":"createParseSettings.d.ts","sourceRoot":"","sources":["../../src/parseSettings/createParseSettings.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAKjC,OAAO,KAAK,EAAyB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAOhF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AA2BpD,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,EAAE,CAAC,UAAU,GAAG,MAAM,EAC5B,eAAe,GAAE,OAAO,CAAC,eAAe,CAAM,GAC7C,oBAAoB,CA2JtB;AAED,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C;AAED,wBAAgB,2BAA2B,IAAI,IAAI,CAElD"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/createParseSettings.js b/packages/typescript-estree/dist/parseSettings/createParseSettings.js index 897984a9c69b..435a9254d2f7 100644 --- a/packages/typescript-estree/dist/parseSettings/createParseSettings.js +++ b/packages/typescript-estree/dist/parseSettings/createParseSettings.js @@ -72,7 +72,6 @@ function createParseSettings(code, tsestreeOptions = {}) { return JSDocParsingMode.ParseAll; } })(); - log('Extra file extensions:', tsestreeOptions.extraFileExtensions); const extraFileExtensions = Array.isArray(tsestreeOptions.extraFileExtensions) && tsestreeOptions.extraFileExtensions.every(ext => typeof ext === 'string') ? tsestreeOptions.extraFileExtensions diff --git a/packages/typescript-estree/dist/parseSettings/createParseSettings.js.map b/packages/typescript-estree/dist/parseSettings/createParseSettings.js.map index 6f9f90bf0d53..7fb1fa7bc613 100644 --- a/packages/typescript-estree/dist/parseSettings/createParseSettings.js.map +++ b/packages/typescript-estree/dist/parseSettings/createParseSettings.js.map @@ -1 +1 @@ -{"version":3,"file":"createParseSettings.js","sourceRoot":"","sources":["../../src/parseSettings/createParseSettings.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"createParseSettings.js","sourceRoot":"","sources":["../../src/parseSettings/createParseSettings.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/useProgramFromProjectService.d.ts.map b/packages/typescript-estree/dist/useProgramFromProjectService.d.ts.map index 224a2e88b30a..451366a21a05 100644 --- a/packages/typescript-estree/dist/useProgramFromProjectService.d.ts.map +++ b/packages/typescript-estree/dist/useProgramFromProjectService.d.ts.map @@ -1 +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,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAErE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AA2E5D,wBAAgB,4BAA4B,CAC1C,EACE,mBAAmB,EACnB,mCAAmC,EACnC,gBAAgB,EAChB,WAAW,EACX,OAAO,GACR,EAAE,sBAAsB,EACzB,aAAa,EAAE,QAAQ,CAAC,oBAAoB,CAAC,EAC7C,sBAAsB,EAAE,OAAO,EAC/B,0BAA0B,EAAE,GAAG,CAAC,MAAM,CAAC,GACtC,qBAAqB,GAAG,SAAS,CA0LnC"} \ No newline at end of file +{"version":3,"file":"useProgramFromProjectService.d.ts","sourceRoot":"","sources":["../src/useProgramFromProjectService.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAGpF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAErE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAqG5D,wBAAgB,4BAA4B,CAC1C,EACE,mBAAmB,EACnB,mCAAmC,EACnC,gBAAgB,EAChB,WAAW,EACX,OAAO,GACR,EAAE,sBAAsB,EACzB,aAAa,EAAE,QAAQ,CAAC,oBAAoB,CAAC,EAC7C,sBAAsB,EAAE,OAAO,EAC/B,0BAA0B,EAAE,GAAG,CAAC,MAAM,CAAC,GACtC,qBAAqB,GAAG,SAAS,CAiLnC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/useProgramFromProjectService.js b/packages/typescript-estree/dist/useProgramFromProjectService.js index 53e004b6c68a..7f0abf50b58b 100644 --- a/packages/typescript-estree/dist/useProgramFromProjectService.js +++ b/packages/typescript-estree/dist/useProgramFromProjectService.js @@ -1,4 +1,27 @@ "use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; @@ -9,7 +32,9 @@ const diff_1 = require("diff"); const lru_cache_1 = require("lru-cache"); const minimatch_1 = require("minimatch"); const path_1 = __importDefault(require("path")); +const ts = __importStar(require("typescript")); const createProjectProgram_1 = require("./create-program/createProjectProgram"); +const createProjectService_1 = require("./create-program/createProjectService"); const getWatchesForProjectService_1 = require("./create-program/getWatchesForProjectService"); const validateDefaultProjectForFilesGlob_1 = require("./create-program/validateDefaultProjectForFilesGlob"); const log = (0, debug_1.default)('typescript-eslint:typescript-estree:useProgramFromProjectService'); @@ -28,6 +53,19 @@ const getOrCreateOpenedFilesCache = (service, options) => { } return service.__opened_lru_cache; }; +const union = (self, other) => new Set([...self, ...other]); +const difference = (self, other) => new Set([...self].filter(elem => !other.has(elem))); +const symmetricDifference = (self, other) => union(difference(self, other), difference(other, self)); +const updateExtraFileExtensionsIfNeeded = (service, extraFileExtensions) => { + if (!service.__extra_file_extensions) { + service.__extra_file_extensions = new Set(); + } + if (symmetricDifference(service.__extra_file_extensions, new Set(extraFileExtensions)).size > 0) { + service.__extra_file_extensions = new Set(extraFileExtensions); + log('Extra file extensions updated: %o', service.__extra_file_extensions); + (0, createProjectService_1.updateExtraFileExtensions)(service, extraFileExtensions, ts.ScriptKind.Deferred); + } +}; const filePathMatchedByConfiguredProject = (service, filePath) => { const configuredProjects = service.configuredProjects; for (const project of configuredProjects.values()) { @@ -60,6 +98,7 @@ function useProgramFromProjectService({ allowDefaultProject, maximumDefaultProje const openedFilesCache = getOrCreateOpenedFilesCache(service, { max: maximumOpenFiles, }); + updateExtraFileExtensionsIfNeeded(service, parseSettings.extraFileExtensions); // We don't canonicalize the filename because it caused a performance regression. // See https://github.com/typescript-eslint/typescript-eslint/issues/8519 const filePathAbsolute = absolutify(parseSettings.filePath); @@ -116,16 +155,6 @@ function useProgramFromProjectService({ allowDefaultProject, maximumDefaultProje log('%s (%s/%s): %o', isOpened ? 'Reusing project service file from cache' : 'Opened project service file', service.openFiles.size, maximumOpenFiles, opened); - // FIXME: can at least notify the user instead of getting stuck waiting - if (opened.configFileName === undefined) { - const namespaces = debug_1.default.disable(); // capture currently enabled loggers - debug_1.default.enable(log.name); // enable just this logger - log('Inferred Project Context: %s: %o', filePathAbsolute, { isFileInConfiguredProject }, parseSettings); - log('WARNING: Possible inferred project issue: %s', filePathAbsolute); - log('Try re-running if file should NOT be using default compiler options: %s'); - debug_1.default.disable(); // disable this logger - debug_1.default.enable(namespaces); // re-enable original logger - } if (hasFullTypeInformation) { log('Project service type information enabled; checking for file path match on: %o', allowDefaultProject); const isDefaultProjectAllowedPath = filePathMatchedBy(parseSettings.filePath, allowDefaultProject); diff --git a/packages/typescript-estree/dist/useProgramFromProjectService.js.map b/packages/typescript-estree/dist/useProgramFromProjectService.js.map index 1964248ee8b4..fab63b9429df 100644 --- a/packages/typescript-estree/dist/useProgramFromProjectService.js.map +++ b/packages/typescript-estree/dist/useProgramFromProjectService.js.map @@ -1 +1 @@ -{"version":3,"file":"useProgramFromProjectService.js","sourceRoot":"","sources":["../src/useProgramFromProjectService.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"useProgramFromProjectService.js","sourceRoot":"","sources":["../src/useProgramFromProjectService.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/typescript-estree/src/create-program/createProjectService.ts b/packages/typescript-estree/src/create-program/createProjectService.ts index d28f2ffb6141..d4ca421a3d95 100644 --- a/packages/typescript-estree/src/create-program/createProjectService.ts +++ b/packages/typescript-estree/src/create-program/createProjectService.ts @@ -42,6 +42,21 @@ export interface ProjectServiceParseSettings { extraFileExtensions?: string[]; } +export const updateExtraFileExtensions = ( + service: TypeScriptProjectService, + extraFileExtensions: string[], + scriptKind: ts.ScriptKind, +): void => { + log('Updating extra file extensions: %s', extraFileExtensions); + service.setHostConfiguration({ + extraFileExtensions: extraFileExtensions.map(extension => ({ + extension, + isMixedContent: false, + scriptKind, + })), + }); +}; + export function createProjectService( options: Required, jsDocParsingMode: ts.JSDocParsingMode | undefined, @@ -121,19 +136,12 @@ export function createProjectService( jsDocParsingMode, }); - log('Parse Settings: %o', parseSettings); if (parseSettings?.extraFileExtensions?.length) { - log( - 'Enabling extra file extensions: %s', + updateExtraFileExtensions( + service, parseSettings.extraFileExtensions, + tsserver.ScriptKind.Deferred, ); - service.setHostConfiguration({ - extraFileExtensions: parseSettings.extraFileExtensions.map(extension => ({ - extension, - isMixedContent: false, - scriptKind: tsserver.ScriptKind.Deferred, - })), - }); } if (options.defaultProject) { diff --git a/packages/typescript-estree/src/parseSettings/createParseSettings.ts b/packages/typescript-estree/src/parseSettings/createParseSettings.ts index db612bd8be1e..e3b7876d46c9 100644 --- a/packages/typescript-estree/src/parseSettings/createParseSettings.ts +++ b/packages/typescript-estree/src/parseSettings/createParseSettings.ts @@ -64,7 +64,6 @@ export function createParseSettings( return JSDocParsingMode.ParseAll; } })(); - log('Extra file extensions:', tsestreeOptions.extraFileExtensions); const extraFileExtensions = Array.isArray(tsestreeOptions.extraFileExtensions) && tsestreeOptions.extraFileExtensions.every(ext => typeof ext === 'string') diff --git a/packages/typescript-estree/src/useProgramFromProjectService.ts b/packages/typescript-estree/src/useProgramFromProjectService.ts index f9b1ea57dfb5..5208abb67264 100644 --- a/packages/typescript-estree/src/useProgramFromProjectService.ts +++ b/packages/typescript-estree/src/useProgramFromProjectService.ts @@ -3,10 +3,11 @@ import { diffChars } from 'diff'; import { LRUCache } from 'lru-cache'; import { minimatch } from 'minimatch'; import path from 'path'; -import type * as ts from 'typescript'; +import * as ts from 'typescript'; import { createProjectProgram } from './create-program/createProjectProgram'; import type { ProjectServiceSettings } from './create-program/createProjectService'; +import { updateExtraFileExtensions } from './create-program/createProjectService'; import { watches } from './create-program/getWatchesForProjectService'; import type { ASTAndDefiniteProgram } from './create-program/shared'; import { DEFAULT_PROJECT_FILES_ERROR_EXPLANATION } from './create-program/validateDefaultProjectForFilesGlob'; @@ -45,6 +46,38 @@ const getOrCreateOpenedFilesCache = ( return service.__opened_lru_cache; }; +const union = (self: Set, other: Set): Set => + new Set([...self, ...other]); +const difference = (self: Set, other: Set): Set => + new Set([...self].filter(elem => !other.has(elem))); +const symmetricDifference = (self: Set, other: Set): Set => + union(difference(self, other), difference(other, self)); + +const updateExtraFileExtensionsIfNeeded = ( + service: ts.server.ProjectService & { + __extra_file_extensions?: Set; + }, + extraFileExtensions: string[], +): void => { + if (!service.__extra_file_extensions) { + service.__extra_file_extensions = new Set(); + } + if ( + symmetricDifference( + service.__extra_file_extensions, + new Set(extraFileExtensions), + ).size > 0 + ) { + service.__extra_file_extensions = new Set(extraFileExtensions); + log('Extra file extensions updated: %o', service.__extra_file_extensions); + updateExtraFileExtensions( + service, + extraFileExtensions, + ts.ScriptKind.Deferred, + ); + } +}; + const filePathMatchedByConfiguredProject = ( service: ts.server.ProjectService, filePath: string, @@ -101,6 +134,8 @@ export function useProgramFromProjectService( max: maximumOpenFiles, }); + updateExtraFileExtensionsIfNeeded(service, parseSettings.extraFileExtensions); + // We don't canonicalize the filename because it caused a performance regression. // See https://github.com/typescript-eslint/typescript-eslint/issues/8519 const filePathAbsolute = absolutify(parseSettings.filePath); @@ -195,24 +230,6 @@ export function useProgramFromProjectService( opened, ); - // FIXME: can at least notify the user instead of getting stuck waiting - if (opened.configFileName === undefined) { - const namespaces = debug.disable(); // capture currently enabled loggers - debug.enable(log.name); // enable just this logger - log( - 'Inferred Project Context: %s: %o', - filePathAbsolute, - { isFileInConfiguredProject }, - parseSettings, - ); - log('WARNING: Possible inferred project issue: %s', filePathAbsolute); - log( - 'Try re-running if file should NOT be using default compiler options: %s', - ); - debug.disable(); // disable this logger - debug.enable(namespaces); // re-enable original logger - } - if (hasFullTypeInformation) { log( 'Project service type information enabled; checking for file path match on: %o', From 8f80b475c60c3498484123e50324e62a047f811a Mon Sep 17 00:00:00 2001 From: Christopher Aubut Date: Thu, 13 Jun 2024 15:51:31 -0600 Subject: [PATCH 29/36] chore: apply updates from 9337 --- docs/packages/TypeScript_ESTree.mdx | 4 +++- .../dist/create-program/createProjectService.d.ts.map | 2 +- .../dist/create-program/createProjectService.js.map | 2 +- .../dist/useProgramFromProjectService.d.ts.map | 2 +- .../dist/useProgramFromProjectService.js.map | 2 +- .../src/create-program/createProjectService.ts | 2 +- .../tests/lib/createProjectService.test.ts | 8 +++++--- 7 files changed, 13 insertions(+), 9 deletions(-) diff --git a/docs/packages/TypeScript_ESTree.mdx b/docs/packages/TypeScript_ESTree.mdx index b8317ae6f25f..1ac35da35cd5 100644 --- a/docs/packages/TypeScript_ESTree.mdx +++ b/docs/packages/TypeScript_ESTree.mdx @@ -368,4 +368,6 @@ const { ast, services } = parseAndGenerateServices(code, { If you encounter a bug with the parser that you want to investigate, you can turn on the debug logging via setting the environment variable: `DEBUG=typescript-eslint:*`. I.e. in this repo you can run: `DEBUG=typescript-eslint:* yarn lint`. -To include TypeScript server logs when using Project Services, include the following in the environment variable: `DEBUG=TBD` # FIXME: before PR +This will include TypeScript server logs. +To turn off these logs, include `-typescript-eslint:typescript-estree:tsserver:*` when setting the environment variable. +I.e. for this repo change to: `DEBUG='typescript-eslint:*,-typescript-eslint:typescript-estree:tsserver:*' yarn lint`. diff --git a/packages/typescript-estree/dist/create-program/createProjectService.d.ts.map b/packages/typescript-estree/dist/create-program/createProjectService.d.ts.map index cd0d901cc5a6..7897aec6c727 100644 --- a/packages/typescript-estree/dist/create-program/createProjectService.d.ts.map +++ b/packages/typescript-estree/dist/create-program/createProjectService.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"createProjectService.d.ts","sourceRoot":"","sources":["../../src/create-program/createProjectService.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAE1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAwB/D,MAAM,MAAM,wBAAwB,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC;AAEhE,MAAM,WAAW,sBAAsB;IACrC,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,mCAAmC,EAAE,MAAM,CAAC;IAC5C,OAAO,EAAE,wBAAwB,CAAC;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,2BAA2B;IAC1C,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AAED,eAAO,MAAM,yBAAyB,YAC3B,wBAAwB,uBACZ,MAAM,EAAE,cACjB,GAAG,UAAU,KACxB,IAYF,CAAA;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,QAAQ,CAAC,qBAAqB,CAAC,EACxC,gBAAgB,EAAE,EAAE,CAAC,gBAAgB,GAAG,SAAS,EACjD,aAAa,CAAC,EAAE,2BAA2B,GAC1C,sBAAsB,CA6GxB"} \ No newline at end of file +{"version":3,"file":"createProjectService.d.ts","sourceRoot":"","sources":["../../src/create-program/createProjectService.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAE1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAwB/D,MAAM,MAAM,wBAAwB,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC;AAEhE,MAAM,WAAW,sBAAsB;IACrC,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,mCAAmC,EAAE,MAAM,CAAC;IAC5C,OAAO,EAAE,wBAAwB,CAAC;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,2BAA2B;IAC1C,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AAED,eAAO,MAAM,yBAAyB,YAC3B,wBAAwB,uBACZ,MAAM,EAAE,cACjB,GAAG,UAAU,KACxB,IASF,CAAC;AAEF,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,QAAQ,CAAC,qBAAqB,CAAC,EACxC,gBAAgB,EAAE,EAAE,CAAC,gBAAgB,GAAG,SAAS,EACjD,aAAa,CAAC,EAAE,2BAA2B,GAC1C,sBAAsB,CAiHxB"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/createProjectService.js.map b/packages/typescript-estree/dist/create-program/createProjectService.js.map index 87ee3346ece6..79cbee4ee2cb 100644 --- a/packages/typescript-estree/dist/create-program/createProjectService.js.map +++ b/packages/typescript-estree/dist/create-program/createProjectService.js.map @@ -1 +1 @@ -{"version":3,"file":"createProjectService.js","sourceRoot":"","sources":["../../src/create-program/createProjectService.ts"],"names":[],"mappings":";;;;;;AAAA,+EAA+E;AAC/E,0DAA6B;AAE7B,kDAA0B;AAI1B,+DAA4D;AAC5D,+EAGuC;AACvC,6FAA0F;AAE1F,MAAM,GAAG,GAAG,IAAA,eAAK,EAAC,0DAA0D,CAAC,CAAC;AAC9E,MAAM,cAAc,GAAG,IAAA,eAAK,EAC1B,kDAAkD,CACnD,CAAC;AACF,MAAM,eAAe,GAAG,IAAA,eAAK,EAC3B,mDAAmD,CACpD,CAAC;AACF,MAAM,eAAe,GAAG,IAAA,eAAK,EAC3B,mDAAmD,CACpD,CAAC;AACF,MAAM,gBAAgB,GAAG,IAAA,eAAK,EAC5B,oDAAoD,CACrD,CAAC;AAEF,MAAM,SAAS,GAAG,GAAS,EAAE,GAAE,CAAC,CAAC;AAgB1B,MAAM,yBAAyB,GAAG,CACvC,OAAiC,EACjC,mBAA6B,EAC7B,UAAyB,EACnB,EAAE;IACN,GAAG,CACD,oCAAoC,EACpC,mBAAmB,CACpB,CAAC;IACF,OAAO,CAAC,oBAAoB,CAAC;QAC3B,mBAAmB,EAAE,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YACzD,SAAS;YACT,cAAc,EAAE,KAAK;YACrB,UAAU;SACX,CAAC,CAAC;KACJ,CAAC,CAAC;AACP,CAAC,CAAA;AAhBY,QAAA,yBAAyB,6BAgBrC;AAED,SAAgB,oBAAoB,CAClC,OAAwC,EACxC,gBAAiD,EACjD,aAA2C;IAE3C,IAAA,uEAAkC,EAAC,OAAO,CAAC,CAAC;IAE5C,8EAA8E;IAC9E,iFAAiF;IACjF,iEAAiE;IACjE,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,wDAA0B;QAC1C,SAAS,EAAE,mDAAqB;KACjC,CAAC;IAEF,MAAM,MAAM,GAAqB;QAC/B,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE,SAAS;QACnB,cAAc,EAAE,GAAc,EAAE,CAAC,SAAS;QAC1C,8EAA8E;QAC9E,4EAA4E;QAC5E,8EAA8E;QAC9E,uDAAuD;QACvD,QAAQ,EAAE,GAAY,EAAE,CAAC,IAAI;QAC7B,IAAI,CAAC,CAAC;YACJ,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC;QACD,cAAc,EAAE,GAAY,EAAE;QAC5B,qFAAqF;QACrF,eAAe,CAAC,OAAO;YACvB,cAAc,CAAC,OAAO;YACtB,eAAe,CAAC,OAAO;QACzB,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE;YACf,QAAQ,IAAI,EAAE,CAAC;gBACb,KAAK,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG;oBAC1B,cAAc,CAAC,CAAC,CAAC,CAAC;oBAClB,MAAM;gBACR,KAAK,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI;oBAC3B,eAAe,CAAC,CAAC,CAAC,CAAC;oBACnB,MAAM;gBACR;oBACE,eAAe,CAAC,CAAC,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;QACD,OAAO,CAAC,CAAC;YACP,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC;QACD,UAAU,EAAE,SAAS;KACtB,CAAC;IAEF,GAAG,CAAC,0BAA0B,CAAC,CAAC;IAEhC,MAAM,OAAO,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC;QACjD,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;QACN,YAAY,EAAE,gBAAgB,CAAC,OAAO;YACpC,CAAC,CAAC,CAAC,CAAC,EAAQ,EAAE;gBACV,gBAAgB,CAAC,CAAC,CAAC,CAAC;YACtB,CAAC;YACH,CAAC,CAAC,SAAS;QACb,OAAO,EAAE,SAAS;QAClB,iBAAiB,EAAE,IAAI;QACvB,gBAAgB;KACjB,CAAC,CAAC;IAEH,IAAI,aAAa,EAAE,mBAAmB,EAAE,MAAM,EAAE,CAAC;QAC/C,IAAA,iCAAyB,EAAC,OAAO,EAAE,aAAa,CAAC,mBAAmB,EAAE,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACtG,CAAC;IAED,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QAC3B,GAAG,CAAC,8BAA8B,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;QAC5D,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,IAAA,yCAAmB,EACpC,OAAO,CAAC,cAAc,EACtB,mBAAI,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CACrC,CAAC;YACF,OAAO,CAAC,qCAAqC;YAC3C,mFAAmF;YACnF,uFAAuF;YACvF,gFAAgF;YAChF,yHAAyH;YACzH,qGAAqG;YACrG,UAAU,CAAC,OAA4D,CACxE,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,oCAAoC,OAAO,CAAC,cAAc,MAAO,KAAe,CAAC,OAAO,EAAE,CAC3F,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO;QACL,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;QAChD,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,mCAAmC,EACjC,OAAO,CAAC,+DAA+D;QACzE,OAAO;KACR,CAAC;AACJ,CAAC;AAjHD,oDAiHC"} \ No newline at end of file +{"version":3,"file":"createProjectService.js","sourceRoot":"","sources":["../../src/create-program/createProjectService.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/useProgramFromProjectService.d.ts.map b/packages/typescript-estree/dist/useProgramFromProjectService.d.ts.map index 451366a21a05..2c0b343254e3 100644 --- a/packages/typescript-estree/dist/useProgramFromProjectService.d.ts.map +++ b/packages/typescript-estree/dist/useProgramFromProjectService.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"useProgramFromProjectService.d.ts","sourceRoot":"","sources":["../src/useProgramFromProjectService.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAGpF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAErE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAqG5D,wBAAgB,4BAA4B,CAC1C,EACE,mBAAmB,EACnB,mCAAmC,EACnC,gBAAgB,EAChB,WAAW,EACX,OAAO,GACR,EAAE,sBAAsB,EACzB,aAAa,EAAE,QAAQ,CAAC,oBAAoB,CAAC,EAC7C,sBAAsB,EAAE,OAAO,EAC/B,0BAA0B,EAAE,GAAG,CAAC,MAAM,CAAC,GACtC,qBAAqB,GAAG,SAAS,CAiLnC"} \ No newline at end of file +{"version":3,"file":"useProgramFromProjectService.d.ts","sourceRoot":"","sources":["../src/useProgramFromProjectService.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAGpF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAErE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AA2G5D,wBAAgB,4BAA4B,CAC1C,EACE,mBAAmB,EACnB,mCAAmC,EACnC,gBAAgB,EAChB,WAAW,EACX,OAAO,GACR,EAAE,sBAAsB,EACzB,aAAa,EAAE,QAAQ,CAAC,oBAAoB,CAAC,EAC7C,sBAAsB,EAAE,OAAO,EAC/B,0BAA0B,EAAE,GAAG,CAAC,MAAM,CAAC,GACtC,qBAAqB,GAAG,SAAS,CAiLnC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/useProgramFromProjectService.js.map b/packages/typescript-estree/dist/useProgramFromProjectService.js.map index fab63b9429df..6383d34d4bbd 100644 --- a/packages/typescript-estree/dist/useProgramFromProjectService.js.map +++ b/packages/typescript-estree/dist/useProgramFromProjectService.js.map @@ -1 +1 @@ -{"version":3,"file":"useProgramFromProjectService.js","sourceRoot":"","sources":["../src/useProgramFromProjectService.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"useProgramFromProjectService.js","sourceRoot":"","sources":["../src/useProgramFromProjectService.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/typescript-estree/src/create-program/createProjectService.ts b/packages/typescript-estree/src/create-program/createProjectService.ts index d4ca421a3d95..3b6fd1b250bb 100644 --- a/packages/typescript-estree/src/create-program/createProjectService.ts +++ b/packages/typescript-estree/src/create-program/createProjectService.ts @@ -118,7 +118,7 @@ export function createProjectService( startGroup: doNothing, }; - log('Creating Project Service'); + log('Creating project service with: %o', options); const service = new tsserver.server.ProjectService({ host: system, diff --git a/packages/typescript-estree/tests/lib/createProjectService.test.ts b/packages/typescript-estree/tests/lib/createProjectService.test.ts index 86a37a8a292e..dff53769ffe7 100644 --- a/packages/typescript-estree/tests/lib/createProjectService.test.ts +++ b/packages/typescript-estree/tests/lib/createProjectService.test.ts @@ -37,9 +37,11 @@ describe('createProjectService', () => { ) { this.logger = args[0].logger; this.eventHandler = args[0].eventHandler; - this.eventHandler!({ - eventName: 'projectLoadingStart', - } as ts.server.ProjectLoadingStartEvent); + if (this.eventHandler) { + this.eventHandler({ + eventName: 'projectLoadingStart', + } as ts.server.ProjectLoadingStartEvent); + } } setCompilerOptionsForInferredProjects = mockSetCompilerOptionsForInferredProjects; From e2a6e7c790e533e69c5d1ecae8b53c5ab30f7271 Mon Sep 17 00:00:00 2001 From: Christopher Aubut Date: Thu, 13 Jun 2024 15:58:43 -0600 Subject: [PATCH 30/36] chore: revert gitignore --- .gitignore | 4 - packages/types/dist/generated/ast-spec.d.ts | 1964 ------------- .../types/dist/generated/ast-spec.d.ts.map | 1 - packages/types/dist/generated/ast-spec.js | 203 -- packages/types/dist/generated/ast-spec.js.map | 1 - packages/types/dist/index.d.ts | 5 - packages/types/dist/index.d.ts.map | 1 - packages/types/dist/index.js | 24 - packages/types/dist/index.js.map | 1 - packages/types/dist/lib.d.ts | 3 - packages/types/dist/lib.d.ts.map | 1 - packages/types/dist/lib.js | 7 - packages/types/dist/lib.js.map | 1 - packages/types/dist/parser-options.d.ts | 72 - packages/types/dist/parser-options.d.ts.map | 1 - packages/types/dist/parser-options.js | 3 - packages/types/dist/parser-options.js.map | 1 - packages/types/dist/ts-estree.d.ts | 14 - packages/types/dist/ts-estree.d.ts.map | 1 - packages/types/dist/ts-estree.js | 28 - packages/types/dist/ts-estree.js.map | 1 - .../typescript-estree/dist/ast-converter.d.ts | 9 - .../dist/ast-converter.d.ts.map | 1 - .../typescript-estree/dist/ast-converter.js | 62 - .../dist/ast-converter.js.map | 1 - .../typescript-estree/dist/clear-caches.d.ts | 10 - .../dist/clear-caches.d.ts.map | 1 - .../typescript-estree/dist/clear-caches.js | 26 - .../dist/clear-caches.js.map | 1 - .../dist/convert-comments.d.ts | 11 - .../dist/convert-comments.d.ts.map | 1 - .../dist/convert-comments.js | 63 - .../dist/convert-comments.js.map | 1 - packages/typescript-estree/dist/convert.d.ts | 137 - .../typescript-estree/dist/convert.d.ts.map | 1 - packages/typescript-estree/dist/convert.js | 2609 ----------------- .../typescript-estree/dist/convert.js.map | 1 - .../WatchCompilerHostOfConfigFile.d.ts | 13 - .../WatchCompilerHostOfConfigFile.d.ts.map | 1 - .../WatchCompilerHostOfConfigFile.js | 6 - .../WatchCompilerHostOfConfigFile.js.map | 1 - .../create-program/createIsolatedProgram.d.ts | 8 - .../createIsolatedProgram.d.ts.map | 1 - .../create-program/createIsolatedProgram.js | 88 - .../createIsolatedProgram.js.map | 1 - .../create-program/createProjectProgram.d.ts | 10 - .../createProjectProgram.d.ts.map | 1 - .../create-program/createProjectProgram.js | 100 - .../createProjectProgram.js.map | 1 - .../create-program/createProjectService.d.ts | 16 - .../createProjectService.d.ts.map | 1 - .../create-program/createProjectService.js | 127 - .../createProjectService.js.map | 1 - .../dist/create-program/createSourceFile.d.ts | 7 - .../create-program/createSourceFile.d.ts.map | 1 - .../dist/create-program/createSourceFile.js | 53 - .../create-program/createSourceFile.js.map | 1 - .../dist/create-program/describeFilePath.d.ts | 2 - .../create-program/describeFilePath.d.ts.map | 1 - .../dist/create-program/describeFilePath.js | 32 - .../create-program/describeFilePath.js.map | 1 - .../create-program/getParsedConfigFile.d.ts | 10 - .../getParsedConfigFile.d.ts.map | 1 - .../create-program/getParsedConfigFile.js | 72 - .../create-program/getParsedConfigFile.js.map | 1 - .../dist/create-program/getScriptKind.d.ts | 5 - .../create-program/getScriptKind.d.ts.map | 1 - .../dist/create-program/getScriptKind.js | 72 - .../dist/create-program/getScriptKind.js.map | 1 - .../getWatchProgramsForProjects.d.ts | 15 - .../getWatchProgramsForProjects.d.ts.map | 1 - .../getWatchProgramsForProjects.js | 372 --- .../getWatchProgramsForProjects.js.map | 1 - .../getWatchesForProjectService.d.ts | 24 - .../getWatchesForProjectService.d.ts.map | 1 - .../getWatchesForProjectService.js | 132 - .../getWatchesForProjectService.js.map | 1 - .../dist/create-program/shared.d.ts | 32 - .../dist/create-program/shared.d.ts.map | 1 - .../dist/create-program/shared.js | 124 - .../dist/create-program/shared.js.map | 1 - .../create-program/useProvidedPrograms.d.ts | 16 - .../useProvidedPrograms.d.ts.map | 1 - .../create-program/useProvidedPrograms.js | 70 - .../create-program/useProvidedPrograms.js.map | 1 - .../validateDefaultProjectForFilesGlob.d.ts | 4 - ...alidateDefaultProjectForFilesGlob.d.ts.map | 1 - .../validateDefaultProjectForFilesGlob.js | 24 - .../validateDefaultProjectForFilesGlob.js.map | 1 - .../dist/createParserServices.d.ts | 5 - .../dist/createParserServices.d.ts.map | 1 - .../dist/createParserServices.js | 29 - .../dist/createParserServices.js.map | 1 - .../typescript-estree/dist/getModifiers.d.ts | 4 - .../dist/getModifiers.d.ts.map | 1 - .../typescript-estree/dist/getModifiers.js | 66 - .../dist/getModifiers.js.map | 1 - packages/typescript-estree/dist/index.d.ts | 14 - .../typescript-estree/dist/index.d.ts.map | 1 - packages/typescript-estree/dist/index.js | 40 - packages/typescript-estree/dist/index.js.map | 1 - .../dist/jsx/xhtml-entities.d.ts | 2 - .../dist/jsx/xhtml-entities.d.ts.map | 1 - .../dist/jsx/xhtml-entities.js | 259 -- .../dist/jsx/xhtml-entities.js.map | 1 - .../typescript-estree/dist/node-utils.d.ts | 249 -- .../dist/node-utils.d.ts.map | 1 - packages/typescript-estree/dist/node-utils.js | 789 ----- .../typescript-estree/dist/node-utils.js.map | 1 - .../dist/parseSettings/ExpiringCache.d.ts | 17 - .../dist/parseSettings/ExpiringCache.d.ts.map | 1 - .../dist/parseSettings/ExpiringCache.js | 47 - .../dist/parseSettings/ExpiringCache.js.map | 1 - .../parseSettings/createParseSettings.d.ts | 7 - .../createParseSettings.d.ts.map | 1 - .../dist/parseSettings/createParseSettings.js | 206 -- .../parseSettings/createParseSettings.js.map | 1 - .../parseSettings/getProjectConfigFiles.d.ts | 13 - .../getProjectConfigFiles.d.ts.map | 1 - .../parseSettings/getProjectConfigFiles.js | 74 - .../getProjectConfigFiles.js.map | 1 - .../dist/parseSettings/index.d.ts | 120 - .../dist/parseSettings/index.d.ts.map | 1 - .../dist/parseSettings/index.js | 3 - .../dist/parseSettings/index.js.map | 1 - .../dist/parseSettings/inferSingleRun.d.ts | 15 - .../parseSettings/inferSingleRun.d.ts.map | 1 - .../dist/parseSettings/inferSingleRun.js | 60 - .../dist/parseSettings/inferSingleRun.js.map | 1 - .../parseSettings/resolveProjectList.d.ts | 19 - .../parseSettings/resolveProjectList.d.ts.map | 1 - .../dist/parseSettings/resolveProjectList.js | 103 - .../parseSettings/resolveProjectList.js.map | 1 - .../parseSettings/warnAboutTSVersion.d.ts | 3 - .../parseSettings/warnAboutTSVersion.d.ts.map | 1 - .../dist/parseSettings/warnAboutTSVersion.js | 69 - .../parseSettings/warnAboutTSVersion.js.map | 1 - .../dist/parser-options.d.ts | 199 -- .../dist/parser-options.d.ts.map | 1 - .../typescript-estree/dist/parser-options.js | 3 - .../dist/parser-options.js.map | 1 - packages/typescript-estree/dist/parser.d.ts | 19 - .../typescript-estree/dist/parser.d.ts.map | 1 - packages/typescript-estree/dist/parser.js | 183 -- packages/typescript-estree/dist/parser.js.map | 1 - .../dist/semantic-or-syntactic-errors.d.ts | 13 - .../semantic-or-syntactic-errors.d.ts.map | 1 - .../dist/semantic-or-syntactic-errors.js | 96 - .../dist/semantic-or-syntactic-errors.js.map | 1 - .../dist/simple-traverse.d.ts | 12 - .../dist/simple-traverse.d.ts.map | 1 - .../typescript-estree/dist/simple-traverse.js | 60 - .../dist/simple-traverse.js.map | 1 - .../typescript-estree/dist/source-files.d.ts | 4 - .../dist/source-files.d.ts.map | 1 - .../typescript-estree/dist/source-files.js | 41 - .../dist/source-files.js.map | 1 - .../ts-estree/estree-to-ts-node-types.d.ts | 179 -- .../estree-to-ts-node-types.d.ts.map | 1 - .../dist/ts-estree/estree-to-ts-node-types.js | 3 - .../ts-estree/estree-to-ts-node-types.js.map | 1 - .../dist/ts-estree/index.d.ts | 4 - .../dist/ts-estree/index.d.ts.map | 1 - .../typescript-estree/dist/ts-estree/index.js | 25 - .../dist/ts-estree/index.js.map | 1 - .../dist/ts-estree/ts-nodes.d.ts | 18 - .../dist/ts-estree/ts-nodes.d.ts.map | 1 - .../dist/ts-estree/ts-nodes.js | 3 - .../dist/ts-estree/ts-nodes.js.map | 1 - .../dist/use-at-your-own-risk.d.ts | 7 - .../dist/use-at-your-own-risk.d.ts.map | 1 - .../dist/use-at-your-own-risk.js | 28 - .../dist/use-at-your-own-risk.js.map | 1 - .../dist/useProgramFromProjectService.d.ts | 5 - .../useProgramFromProjectService.d.ts.map | 1 - .../dist/useProgramFromProjectService.js | 207 -- .../dist/useProgramFromProjectService.js.map | 1 - .../typescript-estree/dist/version-check.d.ts | 3 - .../dist/version-check.d.ts.map | 1 - .../typescript-estree/dist/version-check.js | 49 - .../dist/version-check.js.map | 1 - .../dist/withoutProjectParserOptions.d.ts | 11 - .../dist/withoutProjectParserOptions.d.ts.map | 1 - .../dist/withoutProjectParserOptions.js | 18 - .../dist/withoutProjectParserOptions.js.map | 1 - 185 files changed, 10183 deletions(-) delete mode 100644 packages/types/dist/generated/ast-spec.d.ts delete mode 100644 packages/types/dist/generated/ast-spec.d.ts.map delete mode 100644 packages/types/dist/generated/ast-spec.js delete mode 100644 packages/types/dist/generated/ast-spec.js.map delete mode 100644 packages/types/dist/index.d.ts delete mode 100644 packages/types/dist/index.d.ts.map delete mode 100644 packages/types/dist/index.js delete mode 100644 packages/types/dist/index.js.map delete mode 100644 packages/types/dist/lib.d.ts delete mode 100644 packages/types/dist/lib.d.ts.map delete mode 100644 packages/types/dist/lib.js delete mode 100644 packages/types/dist/lib.js.map delete mode 100644 packages/types/dist/parser-options.d.ts delete mode 100644 packages/types/dist/parser-options.d.ts.map delete mode 100644 packages/types/dist/parser-options.js delete mode 100644 packages/types/dist/parser-options.js.map delete mode 100644 packages/types/dist/ts-estree.d.ts delete mode 100644 packages/types/dist/ts-estree.d.ts.map delete mode 100644 packages/types/dist/ts-estree.js delete mode 100644 packages/types/dist/ts-estree.js.map delete mode 100644 packages/typescript-estree/dist/ast-converter.d.ts delete mode 100644 packages/typescript-estree/dist/ast-converter.d.ts.map delete mode 100644 packages/typescript-estree/dist/ast-converter.js delete mode 100644 packages/typescript-estree/dist/ast-converter.js.map delete mode 100644 packages/typescript-estree/dist/clear-caches.d.ts delete mode 100644 packages/typescript-estree/dist/clear-caches.d.ts.map delete mode 100644 packages/typescript-estree/dist/clear-caches.js delete mode 100644 packages/typescript-estree/dist/clear-caches.js.map delete mode 100644 packages/typescript-estree/dist/convert-comments.d.ts delete mode 100644 packages/typescript-estree/dist/convert-comments.d.ts.map delete mode 100644 packages/typescript-estree/dist/convert-comments.js delete mode 100644 packages/typescript-estree/dist/convert-comments.js.map delete mode 100644 packages/typescript-estree/dist/convert.d.ts delete mode 100644 packages/typescript-estree/dist/convert.d.ts.map delete mode 100644 packages/typescript-estree/dist/convert.js delete mode 100644 packages/typescript-estree/dist/convert.js.map delete mode 100644 packages/typescript-estree/dist/create-program/WatchCompilerHostOfConfigFile.d.ts delete mode 100644 packages/typescript-estree/dist/create-program/WatchCompilerHostOfConfigFile.d.ts.map delete mode 100644 packages/typescript-estree/dist/create-program/WatchCompilerHostOfConfigFile.js delete mode 100644 packages/typescript-estree/dist/create-program/WatchCompilerHostOfConfigFile.js.map delete mode 100644 packages/typescript-estree/dist/create-program/createIsolatedProgram.d.ts delete mode 100644 packages/typescript-estree/dist/create-program/createIsolatedProgram.d.ts.map delete mode 100644 packages/typescript-estree/dist/create-program/createIsolatedProgram.js delete mode 100644 packages/typescript-estree/dist/create-program/createIsolatedProgram.js.map delete mode 100644 packages/typescript-estree/dist/create-program/createProjectProgram.d.ts delete mode 100644 packages/typescript-estree/dist/create-program/createProjectProgram.d.ts.map delete mode 100644 packages/typescript-estree/dist/create-program/createProjectProgram.js delete mode 100644 packages/typescript-estree/dist/create-program/createProjectProgram.js.map delete mode 100644 packages/typescript-estree/dist/create-program/createProjectService.d.ts delete mode 100644 packages/typescript-estree/dist/create-program/createProjectService.d.ts.map delete mode 100644 packages/typescript-estree/dist/create-program/createProjectService.js delete mode 100644 packages/typescript-estree/dist/create-program/createProjectService.js.map delete mode 100644 packages/typescript-estree/dist/create-program/createSourceFile.d.ts delete mode 100644 packages/typescript-estree/dist/create-program/createSourceFile.d.ts.map delete mode 100644 packages/typescript-estree/dist/create-program/createSourceFile.js delete mode 100644 packages/typescript-estree/dist/create-program/createSourceFile.js.map delete mode 100644 packages/typescript-estree/dist/create-program/describeFilePath.d.ts delete mode 100644 packages/typescript-estree/dist/create-program/describeFilePath.d.ts.map delete mode 100644 packages/typescript-estree/dist/create-program/describeFilePath.js delete mode 100644 packages/typescript-estree/dist/create-program/describeFilePath.js.map delete mode 100644 packages/typescript-estree/dist/create-program/getParsedConfigFile.d.ts delete mode 100644 packages/typescript-estree/dist/create-program/getParsedConfigFile.d.ts.map delete mode 100644 packages/typescript-estree/dist/create-program/getParsedConfigFile.js delete mode 100644 packages/typescript-estree/dist/create-program/getParsedConfigFile.js.map delete mode 100644 packages/typescript-estree/dist/create-program/getScriptKind.d.ts delete mode 100644 packages/typescript-estree/dist/create-program/getScriptKind.d.ts.map delete mode 100644 packages/typescript-estree/dist/create-program/getScriptKind.js delete mode 100644 packages/typescript-estree/dist/create-program/getScriptKind.js.map delete mode 100644 packages/typescript-estree/dist/create-program/getWatchProgramsForProjects.d.ts delete mode 100644 packages/typescript-estree/dist/create-program/getWatchProgramsForProjects.d.ts.map delete mode 100644 packages/typescript-estree/dist/create-program/getWatchProgramsForProjects.js delete mode 100644 packages/typescript-estree/dist/create-program/getWatchProgramsForProjects.js.map delete mode 100644 packages/typescript-estree/dist/create-program/getWatchesForProjectService.d.ts delete mode 100644 packages/typescript-estree/dist/create-program/getWatchesForProjectService.d.ts.map delete mode 100644 packages/typescript-estree/dist/create-program/getWatchesForProjectService.js delete mode 100644 packages/typescript-estree/dist/create-program/getWatchesForProjectService.js.map delete mode 100644 packages/typescript-estree/dist/create-program/shared.d.ts delete mode 100644 packages/typescript-estree/dist/create-program/shared.d.ts.map delete mode 100644 packages/typescript-estree/dist/create-program/shared.js delete mode 100644 packages/typescript-estree/dist/create-program/shared.js.map delete mode 100644 packages/typescript-estree/dist/create-program/useProvidedPrograms.d.ts delete mode 100644 packages/typescript-estree/dist/create-program/useProvidedPrograms.d.ts.map delete mode 100644 packages/typescript-estree/dist/create-program/useProvidedPrograms.js delete mode 100644 packages/typescript-estree/dist/create-program/useProvidedPrograms.js.map delete mode 100644 packages/typescript-estree/dist/create-program/validateDefaultProjectForFilesGlob.d.ts delete mode 100644 packages/typescript-estree/dist/create-program/validateDefaultProjectForFilesGlob.d.ts.map delete mode 100644 packages/typescript-estree/dist/create-program/validateDefaultProjectForFilesGlob.js delete mode 100644 packages/typescript-estree/dist/create-program/validateDefaultProjectForFilesGlob.js.map delete mode 100644 packages/typescript-estree/dist/createParserServices.d.ts delete mode 100644 packages/typescript-estree/dist/createParserServices.d.ts.map delete mode 100644 packages/typescript-estree/dist/createParserServices.js delete mode 100644 packages/typescript-estree/dist/createParserServices.js.map delete mode 100644 packages/typescript-estree/dist/getModifiers.d.ts delete mode 100644 packages/typescript-estree/dist/getModifiers.d.ts.map delete mode 100644 packages/typescript-estree/dist/getModifiers.js delete mode 100644 packages/typescript-estree/dist/getModifiers.js.map delete mode 100644 packages/typescript-estree/dist/index.d.ts delete mode 100644 packages/typescript-estree/dist/index.d.ts.map delete mode 100644 packages/typescript-estree/dist/index.js delete mode 100644 packages/typescript-estree/dist/index.js.map delete mode 100644 packages/typescript-estree/dist/jsx/xhtml-entities.d.ts delete mode 100644 packages/typescript-estree/dist/jsx/xhtml-entities.d.ts.map delete mode 100644 packages/typescript-estree/dist/jsx/xhtml-entities.js delete mode 100644 packages/typescript-estree/dist/jsx/xhtml-entities.js.map delete mode 100644 packages/typescript-estree/dist/node-utils.d.ts delete mode 100644 packages/typescript-estree/dist/node-utils.d.ts.map delete mode 100644 packages/typescript-estree/dist/node-utils.js delete mode 100644 packages/typescript-estree/dist/node-utils.js.map delete mode 100644 packages/typescript-estree/dist/parseSettings/ExpiringCache.d.ts delete mode 100644 packages/typescript-estree/dist/parseSettings/ExpiringCache.d.ts.map delete mode 100644 packages/typescript-estree/dist/parseSettings/ExpiringCache.js delete mode 100644 packages/typescript-estree/dist/parseSettings/ExpiringCache.js.map delete mode 100644 packages/typescript-estree/dist/parseSettings/createParseSettings.d.ts delete mode 100644 packages/typescript-estree/dist/parseSettings/createParseSettings.d.ts.map delete mode 100644 packages/typescript-estree/dist/parseSettings/createParseSettings.js delete mode 100644 packages/typescript-estree/dist/parseSettings/createParseSettings.js.map delete mode 100644 packages/typescript-estree/dist/parseSettings/getProjectConfigFiles.d.ts delete mode 100644 packages/typescript-estree/dist/parseSettings/getProjectConfigFiles.d.ts.map delete mode 100644 packages/typescript-estree/dist/parseSettings/getProjectConfigFiles.js delete mode 100644 packages/typescript-estree/dist/parseSettings/getProjectConfigFiles.js.map delete mode 100644 packages/typescript-estree/dist/parseSettings/index.d.ts delete mode 100644 packages/typescript-estree/dist/parseSettings/index.d.ts.map delete mode 100644 packages/typescript-estree/dist/parseSettings/index.js delete mode 100644 packages/typescript-estree/dist/parseSettings/index.js.map delete mode 100644 packages/typescript-estree/dist/parseSettings/inferSingleRun.d.ts delete mode 100644 packages/typescript-estree/dist/parseSettings/inferSingleRun.d.ts.map delete mode 100644 packages/typescript-estree/dist/parseSettings/inferSingleRun.js delete mode 100644 packages/typescript-estree/dist/parseSettings/inferSingleRun.js.map delete mode 100644 packages/typescript-estree/dist/parseSettings/resolveProjectList.d.ts delete mode 100644 packages/typescript-estree/dist/parseSettings/resolveProjectList.d.ts.map delete mode 100644 packages/typescript-estree/dist/parseSettings/resolveProjectList.js delete mode 100644 packages/typescript-estree/dist/parseSettings/resolveProjectList.js.map delete mode 100644 packages/typescript-estree/dist/parseSettings/warnAboutTSVersion.d.ts delete mode 100644 packages/typescript-estree/dist/parseSettings/warnAboutTSVersion.d.ts.map delete mode 100644 packages/typescript-estree/dist/parseSettings/warnAboutTSVersion.js delete mode 100644 packages/typescript-estree/dist/parseSettings/warnAboutTSVersion.js.map delete mode 100644 packages/typescript-estree/dist/parser-options.d.ts delete mode 100644 packages/typescript-estree/dist/parser-options.d.ts.map delete mode 100644 packages/typescript-estree/dist/parser-options.js delete mode 100644 packages/typescript-estree/dist/parser-options.js.map delete mode 100644 packages/typescript-estree/dist/parser.d.ts delete mode 100644 packages/typescript-estree/dist/parser.d.ts.map delete mode 100644 packages/typescript-estree/dist/parser.js delete mode 100644 packages/typescript-estree/dist/parser.js.map delete mode 100644 packages/typescript-estree/dist/semantic-or-syntactic-errors.d.ts delete mode 100644 packages/typescript-estree/dist/semantic-or-syntactic-errors.d.ts.map delete mode 100644 packages/typescript-estree/dist/semantic-or-syntactic-errors.js delete mode 100644 packages/typescript-estree/dist/semantic-or-syntactic-errors.js.map delete mode 100644 packages/typescript-estree/dist/simple-traverse.d.ts delete mode 100644 packages/typescript-estree/dist/simple-traverse.d.ts.map delete mode 100644 packages/typescript-estree/dist/simple-traverse.js delete mode 100644 packages/typescript-estree/dist/simple-traverse.js.map delete mode 100644 packages/typescript-estree/dist/source-files.d.ts delete mode 100644 packages/typescript-estree/dist/source-files.d.ts.map delete mode 100644 packages/typescript-estree/dist/source-files.js delete mode 100644 packages/typescript-estree/dist/source-files.js.map delete mode 100644 packages/typescript-estree/dist/ts-estree/estree-to-ts-node-types.d.ts delete mode 100644 packages/typescript-estree/dist/ts-estree/estree-to-ts-node-types.d.ts.map delete mode 100644 packages/typescript-estree/dist/ts-estree/estree-to-ts-node-types.js delete mode 100644 packages/typescript-estree/dist/ts-estree/estree-to-ts-node-types.js.map delete mode 100644 packages/typescript-estree/dist/ts-estree/index.d.ts delete mode 100644 packages/typescript-estree/dist/ts-estree/index.d.ts.map delete mode 100644 packages/typescript-estree/dist/ts-estree/index.js delete mode 100644 packages/typescript-estree/dist/ts-estree/index.js.map delete mode 100644 packages/typescript-estree/dist/ts-estree/ts-nodes.d.ts delete mode 100644 packages/typescript-estree/dist/ts-estree/ts-nodes.d.ts.map delete mode 100644 packages/typescript-estree/dist/ts-estree/ts-nodes.js delete mode 100644 packages/typescript-estree/dist/ts-estree/ts-nodes.js.map delete mode 100644 packages/typescript-estree/dist/use-at-your-own-risk.d.ts delete mode 100644 packages/typescript-estree/dist/use-at-your-own-risk.d.ts.map delete mode 100644 packages/typescript-estree/dist/use-at-your-own-risk.js delete mode 100644 packages/typescript-estree/dist/use-at-your-own-risk.js.map delete mode 100644 packages/typescript-estree/dist/useProgramFromProjectService.d.ts delete mode 100644 packages/typescript-estree/dist/useProgramFromProjectService.d.ts.map delete mode 100644 packages/typescript-estree/dist/useProgramFromProjectService.js delete mode 100644 packages/typescript-estree/dist/useProgramFromProjectService.js.map delete mode 100644 packages/typescript-estree/dist/version-check.d.ts delete mode 100644 packages/typescript-estree/dist/version-check.d.ts.map delete mode 100644 packages/typescript-estree/dist/version-check.js delete mode 100644 packages/typescript-estree/dist/version-check.js.map delete mode 100644 packages/typescript-estree/dist/withoutProjectParserOptions.d.ts delete mode 100644 packages/typescript-estree/dist/withoutProjectParserOptions.d.ts.map delete mode 100644 packages/typescript-estree/dist/withoutProjectParserOptions.js delete mode 100644 packages/typescript-estree/dist/withoutProjectParserOptions.js.map diff --git a/.gitignore b/.gitignore index 5c9c74c375b5..cd2f6495f7bf 100644 --- a/.gitignore +++ b/.gitignore @@ -97,7 +97,3 @@ packages/**/.yarn !.yarn/versions .nx/cache -.nx/workspace-data - -!packages/typescript-estree/dist -!packages/types/dist diff --git a/packages/types/dist/generated/ast-spec.d.ts b/packages/types/dist/generated/ast-spec.d.ts deleted file mode 100644 index c2c96f68eee0..000000000000 --- a/packages/types/dist/generated/ast-spec.d.ts +++ /dev/null @@ -1,1964 +0,0 @@ -/********************************************** - * DO NOT MODIFY THIS FILE MANUALLY * - * * - * THIS FILE HAS BEEN COPIED FROM ast-spec. * - * ANY CHANGES WILL BE LOST ON THE NEXT BUILD * - * * - * MAKE CHANGES TO ast-spec AND THEN RUN * - * yarn build * - **********************************************/ -import type { SyntaxKind } from 'typescript'; -export declare type Accessibility = 'private' | 'protected' | 'public'; -export declare type AccessorProperty = AccessorPropertyComputedName | AccessorPropertyNonComputedName; -export declare interface AccessorPropertyComputedName extends PropertyDefinitionComputedNameBase { - type: AST_NODE_TYPES.AccessorProperty; -} -export declare interface AccessorPropertyNonComputedName extends PropertyDefinitionNonComputedNameBase { - type: AST_NODE_TYPES.AccessorProperty; -} -export declare interface ArrayExpression extends BaseNode { - type: AST_NODE_TYPES.ArrayExpression; - /** - * an element will be `null` in the case of a sparse array: `[1, ,3]` - */ - elements: (Expression | SpreadElement | null)[]; -} -export declare interface ArrayPattern extends BaseNode { - type: AST_NODE_TYPES.ArrayPattern; - elements: (DestructuringPattern | null)[]; - typeAnnotation: TSTypeAnnotation | undefined; - optional: boolean; - decorators: Decorator[]; -} -export declare interface ArrowFunctionExpression extends BaseNode { - type: AST_NODE_TYPES.ArrowFunctionExpression; - generator: boolean; - id: null; - params: Parameter[]; - body: BlockStatement | Expression; - async: boolean; - expression: boolean; - returnType: TSTypeAnnotation | undefined; - typeParameters: TSTypeParameterDeclaration | undefined; -} -export declare interface AssignmentExpression extends BaseNode { - type: AST_NODE_TYPES.AssignmentExpression; - operator: ValueOf; - left: Expression; - right: Expression; -} -export declare interface AssignmentOperatorToText { - [SyntaxKind.EqualsToken]: '='; - [SyntaxKind.PlusEqualsToken]: '+='; - [SyntaxKind.MinusEqualsToken]: '-='; - [SyntaxKind.AsteriskEqualsToken]: '*='; - [SyntaxKind.AsteriskAsteriskEqualsToken]: '**='; - [SyntaxKind.SlashEqualsToken]: '/='; - [SyntaxKind.PercentEqualsToken]: '%='; - [SyntaxKind.LessThanLessThanEqualsToken]: '<<='; - [SyntaxKind.GreaterThanGreaterThanEqualsToken]: '>>='; - [SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken]: '>>>='; - [SyntaxKind.AmpersandEqualsToken]: '&='; - [SyntaxKind.BarEqualsToken]: '|='; - [SyntaxKind.BarBarEqualsToken]: '||='; - [SyntaxKind.AmpersandAmpersandEqualsToken]: '&&='; - [SyntaxKind.QuestionQuestionEqualsToken]: '??='; - [SyntaxKind.CaretEqualsToken]: '^='; -} -export declare interface AssignmentPattern extends BaseNode { - type: AST_NODE_TYPES.AssignmentPattern; - left: BindingName; - right: Expression; - typeAnnotation: TSTypeAnnotation | undefined; - optional: boolean; - decorators: Decorator[]; -} -export declare enum AST_NODE_TYPES { - AccessorProperty = "AccessorProperty", - ArrayExpression = "ArrayExpression", - ArrayPattern = "ArrayPattern", - ArrowFunctionExpression = "ArrowFunctionExpression", - AssignmentExpression = "AssignmentExpression", - AssignmentPattern = "AssignmentPattern", - AwaitExpression = "AwaitExpression", - BinaryExpression = "BinaryExpression", - BlockStatement = "BlockStatement", - BreakStatement = "BreakStatement", - CallExpression = "CallExpression", - CatchClause = "CatchClause", - ChainExpression = "ChainExpression", - ClassBody = "ClassBody", - ClassDeclaration = "ClassDeclaration", - ClassExpression = "ClassExpression", - ConditionalExpression = "ConditionalExpression", - ContinueStatement = "ContinueStatement", - DebuggerStatement = "DebuggerStatement", - Decorator = "Decorator", - DoWhileStatement = "DoWhileStatement", - EmptyStatement = "EmptyStatement", - ExportAllDeclaration = "ExportAllDeclaration", - ExportDefaultDeclaration = "ExportDefaultDeclaration", - ExportNamedDeclaration = "ExportNamedDeclaration", - ExportSpecifier = "ExportSpecifier", - ExpressionStatement = "ExpressionStatement", - ForInStatement = "ForInStatement", - ForOfStatement = "ForOfStatement", - ForStatement = "ForStatement", - FunctionDeclaration = "FunctionDeclaration", - FunctionExpression = "FunctionExpression", - Identifier = "Identifier", - IfStatement = "IfStatement", - ImportAttribute = "ImportAttribute", - ImportDeclaration = "ImportDeclaration", - ImportDefaultSpecifier = "ImportDefaultSpecifier", - ImportExpression = "ImportExpression", - ImportNamespaceSpecifier = "ImportNamespaceSpecifier", - ImportSpecifier = "ImportSpecifier", - JSXAttribute = "JSXAttribute", - JSXClosingElement = "JSXClosingElement", - JSXClosingFragment = "JSXClosingFragment", - JSXElement = "JSXElement", - JSXEmptyExpression = "JSXEmptyExpression", - JSXExpressionContainer = "JSXExpressionContainer", - JSXFragment = "JSXFragment", - JSXIdentifier = "JSXIdentifier", - JSXMemberExpression = "JSXMemberExpression", - JSXNamespacedName = "JSXNamespacedName", - JSXOpeningElement = "JSXOpeningElement", - JSXOpeningFragment = "JSXOpeningFragment", - JSXSpreadAttribute = "JSXSpreadAttribute", - JSXSpreadChild = "JSXSpreadChild", - JSXText = "JSXText", - LabeledStatement = "LabeledStatement", - Literal = "Literal", - LogicalExpression = "LogicalExpression", - MemberExpression = "MemberExpression", - MetaProperty = "MetaProperty", - MethodDefinition = "MethodDefinition", - NewExpression = "NewExpression", - ObjectExpression = "ObjectExpression", - ObjectPattern = "ObjectPattern", - PrivateIdentifier = "PrivateIdentifier", - Program = "Program", - Property = "Property", - PropertyDefinition = "PropertyDefinition", - RestElement = "RestElement", - ReturnStatement = "ReturnStatement", - SequenceExpression = "SequenceExpression", - SpreadElement = "SpreadElement", - StaticBlock = "StaticBlock", - Super = "Super", - SwitchCase = "SwitchCase", - SwitchStatement = "SwitchStatement", - TaggedTemplateExpression = "TaggedTemplateExpression", - TemplateElement = "TemplateElement", - TemplateLiteral = "TemplateLiteral", - ThisExpression = "ThisExpression", - ThrowStatement = "ThrowStatement", - TryStatement = "TryStatement", - UnaryExpression = "UnaryExpression", - UpdateExpression = "UpdateExpression", - VariableDeclaration = "VariableDeclaration", - VariableDeclarator = "VariableDeclarator", - WhileStatement = "WhileStatement", - WithStatement = "WithStatement", - YieldExpression = "YieldExpression", - /** - * TS-prefixed nodes - */ - TSAbstractAccessorProperty = "TSAbstractAccessorProperty", - TSAbstractKeyword = "TSAbstractKeyword", - TSAbstractMethodDefinition = "TSAbstractMethodDefinition", - TSAbstractPropertyDefinition = "TSAbstractPropertyDefinition", - TSAnyKeyword = "TSAnyKeyword", - TSArrayType = "TSArrayType", - TSAsExpression = "TSAsExpression", - TSAsyncKeyword = "TSAsyncKeyword", - TSBigIntKeyword = "TSBigIntKeyword", - TSBooleanKeyword = "TSBooleanKeyword", - TSCallSignatureDeclaration = "TSCallSignatureDeclaration", - TSClassImplements = "TSClassImplements", - TSConditionalType = "TSConditionalType", - TSConstructorType = "TSConstructorType", - TSConstructSignatureDeclaration = "TSConstructSignatureDeclaration", - TSDeclareFunction = "TSDeclareFunction", - TSDeclareKeyword = "TSDeclareKeyword", - TSEmptyBodyFunctionExpression = "TSEmptyBodyFunctionExpression", - TSEnumDeclaration = "TSEnumDeclaration", - TSEnumBody = "TSEnumBody", - TSEnumMember = "TSEnumMember", - TSExportAssignment = "TSExportAssignment", - TSExportKeyword = "TSExportKeyword", - TSExternalModuleReference = "TSExternalModuleReference", - TSFunctionType = "TSFunctionType", - TSInstantiationExpression = "TSInstantiationExpression", - TSImportEqualsDeclaration = "TSImportEqualsDeclaration", - TSImportType = "TSImportType", - TSIndexedAccessType = "TSIndexedAccessType", - TSIndexSignature = "TSIndexSignature", - TSInferType = "TSInferType", - TSInterfaceBody = "TSInterfaceBody", - TSInterfaceDeclaration = "TSInterfaceDeclaration", - TSInterfaceHeritage = "TSInterfaceHeritage", - TSIntersectionType = "TSIntersectionType", - TSIntrinsicKeyword = "TSIntrinsicKeyword", - TSLiteralType = "TSLiteralType", - TSMappedType = "TSMappedType", - TSMethodSignature = "TSMethodSignature", - TSModuleBlock = "TSModuleBlock", - TSModuleDeclaration = "TSModuleDeclaration", - TSNamedTupleMember = "TSNamedTupleMember", - TSNamespaceExportDeclaration = "TSNamespaceExportDeclaration", - TSNeverKeyword = "TSNeverKeyword", - TSNonNullExpression = "TSNonNullExpression", - TSNullKeyword = "TSNullKeyword", - TSNumberKeyword = "TSNumberKeyword", - TSObjectKeyword = "TSObjectKeyword", - TSOptionalType = "TSOptionalType", - TSParameterProperty = "TSParameterProperty", - TSPrivateKeyword = "TSPrivateKeyword", - TSPropertySignature = "TSPropertySignature", - TSProtectedKeyword = "TSProtectedKeyword", - TSPublicKeyword = "TSPublicKeyword", - TSQualifiedName = "TSQualifiedName", - TSReadonlyKeyword = "TSReadonlyKeyword", - TSRestType = "TSRestType", - TSSatisfiesExpression = "TSSatisfiesExpression", - TSStaticKeyword = "TSStaticKeyword", - TSStringKeyword = "TSStringKeyword", - TSSymbolKeyword = "TSSymbolKeyword", - TSTemplateLiteralType = "TSTemplateLiteralType", - TSThisType = "TSThisType", - TSTupleType = "TSTupleType", - TSTypeAliasDeclaration = "TSTypeAliasDeclaration", - TSTypeAnnotation = "TSTypeAnnotation", - TSTypeAssertion = "TSTypeAssertion", - TSTypeLiteral = "TSTypeLiteral", - TSTypeOperator = "TSTypeOperator", - TSTypeParameter = "TSTypeParameter", - TSTypeParameterDeclaration = "TSTypeParameterDeclaration", - TSTypeParameterInstantiation = "TSTypeParameterInstantiation", - TSTypePredicate = "TSTypePredicate", - TSTypeQuery = "TSTypeQuery", - TSTypeReference = "TSTypeReference", - TSUndefinedKeyword = "TSUndefinedKeyword", - TSUnionType = "TSUnionType", - TSUnknownKeyword = "TSUnknownKeyword", - TSVoidKeyword = "TSVoidKeyword" -} -export declare enum AST_TOKEN_TYPES { - Boolean = "Boolean", - Identifier = "Identifier", - JSXIdentifier = "JSXIdentifier", - JSXText = "JSXText", - Keyword = "Keyword", - Null = "Null", - Numeric = "Numeric", - Punctuator = "Punctuator", - RegularExpression = "RegularExpression", - String = "String", - Template = "Template", - Block = "Block", - Line = "Line" -} -export declare interface AwaitExpression extends BaseNode { - type: AST_NODE_TYPES.AwaitExpression; - argument: Expression; -} -export declare interface BaseNode extends NodeOrTokenData { - type: AST_NODE_TYPES; -} -declare interface BaseToken extends NodeOrTokenData { - type: AST_TOKEN_TYPES; - value: string; -} -export declare interface BigIntLiteral extends LiteralBase { - value: bigint | null; - bigint: string; -} -export declare interface BinaryExpression extends BaseNode { - type: AST_NODE_TYPES.BinaryExpression; - operator: ValueOf; - left: Expression | PrivateIdentifier; - right: Expression; -} -export declare interface BinaryOperatorToText { - [SyntaxKind.InstanceOfKeyword]: 'instanceof'; - [SyntaxKind.InKeyword]: 'in'; - [SyntaxKind.AsteriskAsteriskToken]: '**'; - [SyntaxKind.AsteriskToken]: '*'; - [SyntaxKind.SlashToken]: '/'; - [SyntaxKind.PercentToken]: '%'; - [SyntaxKind.PlusToken]: '+'; - [SyntaxKind.MinusToken]: '-'; - [SyntaxKind.AmpersandToken]: '&'; - [SyntaxKind.BarToken]: '|'; - [SyntaxKind.CaretToken]: '^'; - [SyntaxKind.LessThanLessThanToken]: '<<'; - [SyntaxKind.GreaterThanGreaterThanToken]: '>>'; - [SyntaxKind.GreaterThanGreaterThanGreaterThanToken]: '>>>'; - [SyntaxKind.AmpersandAmpersandToken]: '&&'; - [SyntaxKind.BarBarToken]: '||'; - [SyntaxKind.LessThanToken]: '<'; - [SyntaxKind.LessThanEqualsToken]: '<='; - [SyntaxKind.GreaterThanToken]: '>'; - [SyntaxKind.GreaterThanEqualsToken]: '>='; - [SyntaxKind.EqualsEqualsToken]: '=='; - [SyntaxKind.EqualsEqualsEqualsToken]: '==='; - [SyntaxKind.ExclamationEqualsEqualsToken]: '!=='; - [SyntaxKind.ExclamationEqualsToken]: '!='; -} -export declare type BindingName = BindingPattern | Identifier; -export declare type BindingPattern = ArrayPattern | ObjectPattern; -export declare interface BlockComment extends BaseToken { - type: AST_TOKEN_TYPES.Block; -} -export declare interface BlockStatement extends BaseNode { - type: AST_NODE_TYPES.BlockStatement; - body: Statement[]; -} -export declare interface BooleanLiteral extends LiteralBase { - value: boolean; - raw: 'false' | 'true'; -} -export declare interface BooleanToken extends BaseToken { - type: AST_TOKEN_TYPES.Boolean; -} -export declare interface BreakStatement extends BaseNode { - type: AST_NODE_TYPES.BreakStatement; - label: Identifier | null; -} -export declare interface CallExpression extends BaseNode { - type: AST_NODE_TYPES.CallExpression; - callee: Expression; - arguments: CallExpressionArgument[]; - typeArguments: TSTypeParameterInstantiation | undefined; - optional: boolean; -} -export declare type CallExpressionArgument = Expression | SpreadElement; -export declare interface CatchClause extends BaseNode { - type: AST_NODE_TYPES.CatchClause; - param: BindingName | null; - body: BlockStatement; -} -export declare type ChainElement = CallExpression | MemberExpression | TSNonNullExpression; -export declare interface ChainExpression extends BaseNode { - type: AST_NODE_TYPES.ChainExpression; - expression: ChainElement; -} -declare interface ClassBase extends BaseNode { - /** - * Whether the class is an abstract class. - * ``` - * abstract class Foo {...} - * ``` - */ - abstract: boolean; - /** - * The class body. - */ - body: ClassBody; - /** - * Whether the class has been `declare`d: - * ``` - * declare class Foo {...} - * ``` - */ - declare: boolean; - /** - * The decorators declared for the class. - * ``` - * @deco - * class Foo {...} - * ``` - */ - decorators: Decorator[]; - /** - * The class's name. - * - For a `ClassExpression` this may be `null` if the name is omitted. - * - For a `ClassDeclaration` this may be `null` if and only if the parent is - * an `ExportDefaultDeclaration`. - */ - id: Identifier | null; - /** - * The implemented interfaces for the class. - */ - implements: TSClassImplements[]; - /** - * The super class this class extends. - */ - superClass: LeftHandSideExpression | null; - /** - * The generic type parameters passed to the superClass. - */ - superTypeArguments: TSTypeParameterInstantiation | undefined; - /** - * The generic type parameters declared for the class. - */ - typeParameters: TSTypeParameterDeclaration | undefined; -} -export declare interface ClassBody extends BaseNode { - type: AST_NODE_TYPES.ClassBody; - body: ClassElement[]; -} -export declare type ClassDeclaration = ClassDeclarationWithName | ClassDeclarationWithOptionalName; -declare interface ClassDeclarationBase extends ClassBase { - type: AST_NODE_TYPES.ClassDeclaration; -} -export declare interface ClassDeclarationWithName extends ClassDeclarationBase { - id: Identifier; -} -export declare interface ClassDeclarationWithOptionalName extends ClassDeclarationBase { - id: Identifier | null; -} -export declare type ClassElement = AccessorProperty | MethodDefinition | PropertyDefinition | StaticBlock | TSAbstractAccessorProperty | TSAbstractMethodDefinition | TSAbstractPropertyDefinition | TSIndexSignature; -export declare interface ClassExpression extends ClassBase { - type: AST_NODE_TYPES.ClassExpression; - abstract: false; - declare: false; -} -declare interface ClassMethodDefinitionNonComputedNameBase extends MethodDefinitionBase { - key: ClassPropertyNameNonComputed; - computed: false; -} -declare interface ClassPropertyDefinitionNonComputedNameBase extends PropertyDefinitionBase { - key: ClassPropertyNameNonComputed; - computed: false; -} -export declare type ClassPropertyNameNonComputed = PrivateIdentifier | PropertyNameNonComputed; -export declare type Comment = BlockComment | LineComment; -export declare interface ConditionalExpression extends BaseNode { - type: AST_NODE_TYPES.ConditionalExpression; - test: Expression; - consequent: Expression; - alternate: Expression; -} -export declare interface ContinueStatement extends BaseNode { - type: AST_NODE_TYPES.ContinueStatement; - label: Identifier | null; -} -export declare interface DebuggerStatement extends BaseNode { - type: AST_NODE_TYPES.DebuggerStatement; -} -export declare type DeclarationStatement = ClassDeclaration | ClassExpression | ExportAllDeclaration | ExportDefaultDeclaration | ExportNamedDeclaration | FunctionDeclaration | TSDeclareFunction | TSEnumDeclaration | TSImportEqualsDeclaration | TSInterfaceDeclaration | TSModuleDeclaration | TSNamespaceExportDeclaration | TSTypeAliasDeclaration; -export declare interface Decorator extends BaseNode { - type: AST_NODE_TYPES.Decorator; - expression: LeftHandSideExpression; -} -export declare type DefaultExportDeclarations = ClassDeclarationWithOptionalName | Expression | FunctionDeclarationWithName | FunctionDeclarationWithOptionalName | TSDeclareFunction | TSEnumDeclaration | TSInterfaceDeclaration | TSModuleDeclaration | TSTypeAliasDeclaration | VariableDeclaration; -export declare type DestructuringPattern = ArrayPattern | AssignmentPattern | Identifier | MemberExpression | ObjectPattern | RestElement; -export declare interface DoWhileStatement extends BaseNode { - type: AST_NODE_TYPES.DoWhileStatement; - test: Expression; - body: Statement; -} -export declare interface EmptyStatement extends BaseNode { - type: AST_NODE_TYPES.EmptyStatement; -} -export declare type EntityName = Identifier | ThisExpression | TSQualifiedName; -export declare interface ExportAllDeclaration extends BaseNode { - type: AST_NODE_TYPES.ExportAllDeclaration; - /** - * The assertions declared for the export. - * ``` - * export * from 'mod' assert { type: 'json' }; - * ``` - * @deprecated -- Replaced with {@link `attributes`}. - */ - assertions: ImportAttribute[]; - /** - * The attributes declared for the export. - * ``` - * export * from 'mod' assert { type: 'json' }; - * ``` - */ - attributes: ImportAttribute[]; - /** - * The name for the exported items. `null` if no name is assigned. - */ - exported: Identifier | null; - /** - * The kind of the export. - */ - exportKind: ExportKind; - /** - * The source module being exported from. - */ - source: StringLiteral; -} -declare type ExportAndImportKind = 'type' | 'value'; -export declare type ExportDeclaration = DefaultExportDeclarations | NamedExportDeclarations; -export declare interface ExportDefaultDeclaration extends BaseNode { - type: AST_NODE_TYPES.ExportDefaultDeclaration; - /** - * The declaration being exported. - */ - declaration: DefaultExportDeclarations; - /** - * The kind of the export. - */ - exportKind: ExportKind; -} -declare type ExportKind = ExportAndImportKind; -export declare type ExportNamedDeclaration = ExportNamedDeclarationWithoutSourceWithMultiple | ExportNamedDeclarationWithoutSourceWithSingle | ExportNamedDeclarationWithSource; -declare interface ExportNamedDeclarationBase extends BaseNode { - type: AST_NODE_TYPES.ExportNamedDeclaration; - /** - * The assertions declared for the export. - * ``` - * export { foo } from 'mod' assert { type: 'json' }; - * ``` - * This will be an empty array if `source` is `null` - * @deprecated Replaced with {@link `attributes`}. - */ - assertions: ImportAttribute[]; - /** - * The attributes declared for the export. - * ``` - * export { foo } from 'mod' assert { type: 'json' }; - * ``` - * This will be an empty array if `source` is `null` - */ - attributes: ImportAttribute[]; - /** - * The exported declaration. - * ``` - * export const x = 1; - * ``` - * This will be `null` if `source` is not `null`, or if there are `specifiers` - */ - declaration: NamedExportDeclarations | null; - /** - * The kind of the export. - */ - exportKind: ExportKind; - /** - * The source module being exported from. - */ - source: StringLiteral | null; - /** - * The specifiers being exported. - * ``` - * export { a, b }; - * ``` - * This will be an empty array if `declaration` is not `null` - */ - specifiers: ExportSpecifier[]; -} -export declare interface ExportNamedDeclarationWithoutSourceWithMultiple extends ExportNamedDeclarationBase { - /** - * This will always be an empty array. - * @deprecated Replaced with {@link `attributes`}. - */ - assertions: ImportAttribute[]; - /** - * This will always be an empty array. - */ - attributes: ImportAttribute[]; - declaration: null; - source: null; - specifiers: ExportSpecifier[]; -} -export declare interface ExportNamedDeclarationWithoutSourceWithSingle extends ExportNamedDeclarationBase { - /** - * This will always be an empty array. - * @deprecated Replaced with {@link `attributes`}. - */ - assertions: ImportAttribute[]; - /** - * This will always be an empty array. - */ - attributes: ImportAttribute[]; - declaration: NamedExportDeclarations; - source: null; - specifiers: ExportSpecifier[]; -} -export declare interface ExportNamedDeclarationWithSource extends ExportNamedDeclarationBase { - /** - * This will always be an empty array. - * @deprecated Replaced with {@link `attributes`}. - */ - assertions: ImportAttribute[]; - /** - * This will always be an empty array. - */ - attributes: ImportAttribute[]; - declaration: null; - source: StringLiteral; - specifiers: ExportSpecifier[]; -} -export declare interface ExportSpecifier extends BaseNode { - type: AST_NODE_TYPES.ExportSpecifier; - local: Identifier; - exported: Identifier; - exportKind: ExportKind; -} -export declare type Expression = ArrayExpression | ArrayPattern | ArrowFunctionExpression | AssignmentExpression | AwaitExpression | BinaryExpression | CallExpression | ChainExpression | ClassExpression | ConditionalExpression | FunctionExpression | Identifier | ImportExpression | JSXElement | JSXFragment | LiteralExpression | LogicalExpression | MemberExpression | MetaProperty | NewExpression | ObjectExpression | ObjectPattern | SequenceExpression | Super | TaggedTemplateExpression | TemplateLiteral | ThisExpression | TSAsExpression | TSInstantiationExpression | TSNonNullExpression | TSSatisfiesExpression | TSTypeAssertion | UnaryExpression | UpdateExpression | YieldExpression; -export declare interface ExpressionStatement extends BaseNode { - type: AST_NODE_TYPES.ExpressionStatement; - expression: Expression; - directive: string | undefined; -} -export declare type ForInitialiser = Expression | LetOrConstOrVarDeclaration; -export declare interface ForInStatement extends BaseNode { - type: AST_NODE_TYPES.ForInStatement; - left: ForInitialiser; - right: Expression; - body: Statement; -} -declare type ForOfInitialiser = Expression | LetOrConstOrVarDeclaration | UsingInForOfDeclaration; -export declare interface ForOfStatement extends BaseNode { - type: AST_NODE_TYPES.ForOfStatement; - left: ForOfInitialiser; - right: Expression; - body: Statement; - await: boolean; -} -export declare interface ForStatement extends BaseNode { - type: AST_NODE_TYPES.ForStatement; - init: Expression | ForInitialiser | null; - test: Expression | null; - update: Expression | null; - body: Statement; -} -declare interface FunctionBase extends BaseNode { - /** - * Whether the function is async: - * ``` - * async function foo(...) {...} - * const x = async function (...) {...} - * const x = async (...) => {...} - * ``` - */ - async: boolean; - /** - * The body of the function. - * - For an `ArrowFunctionExpression` this may be an `Expression` or `BlockStatement`. - * - For a `FunctionDeclaration` or `FunctionExpression` this is always a `BlockStatement. - * - For a `TSDeclareFunction` this is always `undefined`. - * - For a `TSEmptyBodyFunctionExpression` this is always `null`. - */ - body: BlockStatement | Expression | null | undefined; - /** - * This is only `true` if and only if the node is a `TSDeclareFunction` and it has `declare`: - * ``` - * declare function foo(...) {...} - * ``` - */ - declare: boolean; - /** - * This is only ever `true` if and only the node is an `ArrowFunctionExpression` and the body - * is an expression: - * ``` - * (() => 1) - * ``` - */ - expression: boolean; - /** - * Whether the function is a generator function: - * ``` - * function *foo(...) {...} - * const x = function *(...) {...} - * ``` - * This is always `false` for arrow functions as they cannot be generators. - */ - generator: boolean; - /** - * The function's name. - * - For an `ArrowFunctionExpression` this is always `null`. - * - For a `FunctionExpression` this may be `null` if the name is omitted. - * - For a `FunctionDeclaration` or `TSDeclareFunction` this may be `null` if - * and only if the parent is an `ExportDefaultDeclaration`. - */ - id: Identifier | null; - /** - * The list of parameters declared for the function. - */ - params: Parameter[]; - /** - * The return type annotation for the function. - */ - returnType: TSTypeAnnotation | undefined; - /** - * The generic type parameter declaration for the function. - */ - typeParameters: TSTypeParameterDeclaration | undefined; -} -export declare type FunctionDeclaration = FunctionDeclarationWithName | FunctionDeclarationWithOptionalName; -declare interface FunctionDeclarationBase extends FunctionBase { - type: AST_NODE_TYPES.FunctionDeclaration; - body: BlockStatement; - declare: false; - expression: false; -} -export declare interface FunctionDeclarationWithName extends FunctionDeclarationBase { - id: Identifier; -} -export declare interface FunctionDeclarationWithOptionalName extends FunctionDeclarationBase { - id: Identifier | null; -} -export declare interface FunctionExpression extends FunctionBase { - type: AST_NODE_TYPES.FunctionExpression; - body: BlockStatement; - expression: false; -} -export declare type FunctionLike = ArrowFunctionExpression | FunctionDeclaration | FunctionExpression | TSDeclareFunction | TSEmptyBodyFunctionExpression; -export declare interface Identifier extends BaseNode { - type: AST_NODE_TYPES.Identifier; - name: string; - typeAnnotation: TSTypeAnnotation | undefined; - optional: boolean; - decorators: Decorator[]; -} -export declare interface IdentifierToken extends BaseToken { - type: AST_TOKEN_TYPES.Identifier; -} -export declare interface IfStatement extends BaseNode { - type: AST_NODE_TYPES.IfStatement; - test: Expression; - consequent: Statement; - alternate: Statement | null; -} -export declare interface ImportAttribute extends BaseNode { - type: AST_NODE_TYPES.ImportAttribute; - key: Identifier | Literal; - value: Literal; -} -export declare type ImportClause = ImportDefaultSpecifier | ImportNamespaceSpecifier | ImportSpecifier; -export declare interface ImportDeclaration extends BaseNode { - type: AST_NODE_TYPES.ImportDeclaration; - /** - * The assertions declared for the export. - * ``` - * import * from 'mod' assert { type: 'json' }; - * ``` - * @deprecated -- Replaced with {@link `attributes`}. - */ - assertions: ImportAttribute[]; - /** - * The attributes declared for the export. - * ``` - * import * from 'mod' with { type: 'json' }; - * ``` - */ - attributes: ImportAttribute[]; - /** - * The kind of the import. - */ - importKind: ImportKind; - /** - * The source module being imported from. - */ - source: StringLiteral; - /** - * The specifiers being imported. - * If this is an empty array then either there are no specifiers: - * ``` - * import {} from 'mod'; - * ``` - * Or it is a side-effect import: - * ``` - * import 'mod'; - * ``` - */ - specifiers: ImportClause[]; -} -export declare interface ImportDefaultSpecifier extends BaseNode { - type: AST_NODE_TYPES.ImportDefaultSpecifier; - local: Identifier; -} -export declare interface ImportExpression extends BaseNode { - type: AST_NODE_TYPES.ImportExpression; - source: Expression; - attributes: Expression | null; -} -declare type ImportKind = ExportAndImportKind; -export declare interface ImportNamespaceSpecifier extends BaseNode { - type: AST_NODE_TYPES.ImportNamespaceSpecifier; - local: Identifier; -} -export declare interface ImportSpecifier extends BaseNode { - type: AST_NODE_TYPES.ImportSpecifier; - local: Identifier; - imported: Identifier; - importKind: ImportKind; -} -export declare type IterationStatement = DoWhileStatement | ForInStatement | ForOfStatement | ForStatement | WhileStatement; -export declare interface JSXAttribute extends BaseNode { - type: AST_NODE_TYPES.JSXAttribute; - name: JSXIdentifier | JSXNamespacedName; - value: JSXElement | JSXExpression | Literal | null; -} -export declare type JSXChild = JSXElement | JSXExpression | JSXFragment | JSXText; -export declare interface JSXClosingElement extends BaseNode { - type: AST_NODE_TYPES.JSXClosingElement; - name: JSXTagNameExpression; -} -export declare interface JSXClosingFragment extends BaseNode { - type: AST_NODE_TYPES.JSXClosingFragment; -} -export declare interface JSXElement extends BaseNode { - type: AST_NODE_TYPES.JSXElement; - openingElement: JSXOpeningElement; - closingElement: JSXClosingElement | null; - children: JSXChild[]; -} -export declare interface JSXEmptyExpression extends BaseNode { - type: AST_NODE_TYPES.JSXEmptyExpression; -} -export declare type JSXExpression = JSXExpressionContainer | JSXSpreadChild; -export declare interface JSXExpressionContainer extends BaseNode { - type: AST_NODE_TYPES.JSXExpressionContainer; - expression: Expression | JSXEmptyExpression; -} -export declare interface JSXFragment extends BaseNode { - type: AST_NODE_TYPES.JSXFragment; - openingFragment: JSXOpeningFragment; - closingFragment: JSXClosingFragment; - children: JSXChild[]; -} -export declare interface JSXIdentifier extends BaseNode { - type: AST_NODE_TYPES.JSXIdentifier; - name: string; -} -export declare interface JSXIdentifierToken extends BaseToken { - type: AST_TOKEN_TYPES.JSXIdentifier; -} -export declare interface JSXMemberExpression extends BaseNode { - type: AST_NODE_TYPES.JSXMemberExpression; - object: JSXTagNameExpression; - property: JSXIdentifier; -} -export declare interface JSXNamespacedName extends BaseNode { - type: AST_NODE_TYPES.JSXNamespacedName; - namespace: JSXIdentifier; - name: JSXIdentifier; -} -export declare interface JSXOpeningElement extends BaseNode { - type: AST_NODE_TYPES.JSXOpeningElement; - typeArguments: TSTypeParameterInstantiation | undefined; - selfClosing: boolean; - name: JSXTagNameExpression; - attributes: (JSXAttribute | JSXSpreadAttribute)[]; -} -export declare interface JSXOpeningFragment extends BaseNode { - type: AST_NODE_TYPES.JSXOpeningFragment; -} -export declare interface JSXSpreadAttribute extends BaseNode { - type: AST_NODE_TYPES.JSXSpreadAttribute; - argument: Expression; -} -export declare interface JSXSpreadChild extends BaseNode { - type: AST_NODE_TYPES.JSXSpreadChild; - expression: Expression | JSXEmptyExpression; -} -export declare type JSXTagNameExpression = JSXIdentifier | JSXMemberExpression | JSXNamespacedName; -export declare interface JSXText extends BaseNode { - type: AST_NODE_TYPES.JSXText; - value: string; - raw: string; -} -export declare interface JSXTextToken extends BaseToken { - type: AST_TOKEN_TYPES.JSXText; -} -export declare interface KeywordToken extends BaseToken { - type: AST_TOKEN_TYPES.Keyword; -} -export declare interface LabeledStatement extends BaseNode { - type: AST_NODE_TYPES.LabeledStatement; - label: Identifier; - body: Statement; -} -export declare type LeftHandSideExpression = ArrayExpression | ArrayPattern | ArrowFunctionExpression | CallExpression | ClassExpression | FunctionExpression | Identifier | JSXElement | JSXFragment | LiteralExpression | MemberExpression | MetaProperty | ObjectExpression | ObjectPattern | SequenceExpression | Super | TaggedTemplateExpression | ThisExpression | TSAsExpression | TSNonNullExpression | TSTypeAssertion; -export declare interface LetOrConstOrVarDeclaration extends BaseNode { - type: AST_NODE_TYPES.VariableDeclaration; - /** - * The variables declared by this declaration. - * Note that there may be 0 declarations (i.e. `const;`). - * ``` - * let x; - * let y, z; - * ``` - */ - declarations: LetOrConstOrVarDeclarator[]; - /** - * Whether the declaration is `declare`d - * ``` - * declare const x = 1; - * ``` - */ - declare: boolean; - /** - * The keyword used to declare the variable(s) - * ``` - * const x = 1; - * let y = 2; - * var z = 3; - * ``` - */ - kind: 'const' | 'let' | 'var'; -} -export declare interface LetOrConstOrVarDeclarator extends BaseNode { - type: AST_NODE_TYPES.VariableDeclarator; - id: BindingName; - init: Expression | null; - definite: boolean; -} -export declare interface LineComment extends BaseToken { - type: AST_TOKEN_TYPES.Line; -} -export declare type Literal = BigIntLiteral | BooleanLiteral | NullLiteral | NumberLiteral | RegExpLiteral | StringLiteral; -declare interface LiteralBase extends BaseNode { - type: AST_NODE_TYPES.Literal; - raw: string; - value: RegExp | bigint | boolean | number | string | null; -} -export declare type LiteralExpression = Literal | TemplateLiteral; -export declare interface LogicalExpression extends BaseNode { - type: AST_NODE_TYPES.LogicalExpression; - operator: '??' | '&&' | '||'; - left: Expression; - right: Expression; -} -export declare type MemberExpression = MemberExpressionComputedName | MemberExpressionNonComputedName; -declare interface MemberExpressionBase extends BaseNode { - object: Expression; - property: Expression | Identifier | PrivateIdentifier; - computed: boolean; - optional: boolean; -} -export declare interface MemberExpressionComputedName extends MemberExpressionBase { - type: AST_NODE_TYPES.MemberExpression; - property: Expression; - computed: true; -} -export declare interface MemberExpressionNonComputedName extends MemberExpressionBase { - type: AST_NODE_TYPES.MemberExpression; - property: Identifier | PrivateIdentifier; - computed: false; -} -export declare interface MetaProperty extends BaseNode { - type: AST_NODE_TYPES.MetaProperty; - meta: Identifier; - property: Identifier; -} -export declare type MethodDefinition = MethodDefinitionComputedName | MethodDefinitionNonComputedName; -/** this should not be directly used - instead use MethodDefinitionComputedNameBase or MethodDefinitionNonComputedNameBase */ -declare interface MethodDefinitionBase extends BaseNode { - key: PropertyName; - value: FunctionExpression | TSEmptyBodyFunctionExpression; - computed: boolean; - static: boolean; - kind: 'constructor' | 'get' | 'method' | 'set'; - optional: boolean; - decorators: Decorator[]; - accessibility: Accessibility | undefined; - override: boolean; -} -export declare interface MethodDefinitionComputedName extends MethodDefinitionComputedNameBase { - type: AST_NODE_TYPES.MethodDefinition; -} -declare interface MethodDefinitionComputedNameBase extends MethodDefinitionBase { - key: PropertyNameComputed; - computed: true; -} -export declare interface MethodDefinitionNonComputedName extends ClassMethodDefinitionNonComputedNameBase { - type: AST_NODE_TYPES.MethodDefinition; -} -declare interface MethodDefinitionNonComputedNameBase extends MethodDefinitionBase { - key: PropertyNameNonComputed; - computed: false; -} -export declare type NamedExportDeclarations = ClassDeclarationWithName | ClassDeclarationWithOptionalName | FunctionDeclarationWithName | FunctionDeclarationWithOptionalName | TSDeclareFunction | TSEnumDeclaration | TSImportEqualsDeclaration | TSInterfaceDeclaration | TSModuleDeclaration | TSTypeAliasDeclaration | VariableDeclaration; -export declare interface NewExpression extends BaseNode { - type: AST_NODE_TYPES.NewExpression; - callee: Expression; - arguments: CallExpressionArgument[]; - typeArguments: TSTypeParameterInstantiation | undefined; -} -export declare type Node = AccessorProperty | ArrayExpression | ArrayPattern | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BinaryExpression | BlockStatement | BreakStatement | CallExpression | CatchClause | ChainExpression | ClassBody | ClassDeclaration | ClassExpression | ConditionalExpression | ContinueStatement | DebuggerStatement | Decorator | DoWhileStatement | EmptyStatement | ExportAllDeclaration | ExportDefaultDeclaration | ExportNamedDeclaration | ExportSpecifier | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | FunctionDeclaration | FunctionExpression | Identifier | IfStatement | ImportAttribute | ImportDeclaration | ImportDefaultSpecifier | ImportExpression | ImportNamespaceSpecifier | ImportSpecifier | JSXAttribute | JSXClosingElement | JSXClosingFragment | JSXElement | JSXEmptyExpression | JSXExpressionContainer | JSXFragment | JSXIdentifier | JSXMemberExpression | JSXNamespacedName | JSXOpeningElement | JSXOpeningFragment | JSXSpreadAttribute | JSXSpreadChild | JSXText | LabeledStatement | Literal | LogicalExpression | MemberExpression | MetaProperty | MethodDefinition | NewExpression | ObjectExpression | ObjectPattern | PrivateIdentifier | Program | Property | PropertyDefinition | RestElement | ReturnStatement | SequenceExpression | SpreadElement | StaticBlock | Super | SwitchCase | SwitchStatement | TaggedTemplateExpression | TemplateElement | TemplateLiteral | ThisExpression | ThrowStatement | TryStatement | TSAbstractAccessorProperty | TSAbstractKeyword | TSAbstractMethodDefinition | TSAbstractPropertyDefinition | TSAnyKeyword | TSArrayType | TSAsExpression | TSAsyncKeyword | TSBigIntKeyword | TSBooleanKeyword | TSCallSignatureDeclaration | TSClassImplements | TSConditionalType | TSConstructorType | TSConstructSignatureDeclaration | TSDeclareFunction | TSDeclareKeyword | TSEmptyBodyFunctionExpression | TSEnumBody | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSExportKeyword | TSExternalModuleReference | TSFunctionType | TSImportEqualsDeclaration | TSImportType | TSIndexedAccessType | TSIndexSignature | TSInferType | TSInstantiationExpression | TSInterfaceBody | TSInterfaceDeclaration | TSInterfaceHeritage | TSIntersectionType | TSIntrinsicKeyword | TSLiteralType | TSMappedType | TSMethodSignature | TSModuleBlock | TSModuleDeclaration | TSNamedTupleMember | TSNamespaceExportDeclaration | TSNeverKeyword | TSNonNullExpression | TSNullKeyword | TSNumberKeyword | TSObjectKeyword | TSOptionalType | TSParameterProperty | TSPrivateKeyword | TSPropertySignature | TSProtectedKeyword | TSPublicKeyword | TSQualifiedName | TSReadonlyKeyword | TSRestType | TSSatisfiesExpression | TSStaticKeyword | TSStringKeyword | TSSymbolKeyword | TSTemplateLiteralType | TSThisType | TSTupleType | TSTypeAliasDeclaration | TSTypeAnnotation | TSTypeAssertion | TSTypeLiteral | TSTypeOperator | TSTypeParameter | TSTypeParameterDeclaration | TSTypeParameterInstantiation | TSTypePredicate | TSTypeQuery | TSTypeReference | TSUndefinedKeyword | TSUnionType | TSUnknownKeyword | TSVoidKeyword | UnaryExpression | UpdateExpression | VariableDeclaration | VariableDeclarator | WhileStatement | WithStatement | YieldExpression; -export declare interface NodeOrTokenData { - /** - * The source location information of the node. - * - * The loc property is defined as nullable by ESTree, but ESLint requires this property. - * - * @see {SourceLocation} - */ - loc: SourceLocation; - /** - * @see {Range} - */ - range: Range; - type: string; -} -export declare interface NullLiteral extends LiteralBase { - value: null; - raw: 'null'; -} -export declare interface NullToken extends BaseToken { - type: AST_TOKEN_TYPES.Null; -} -export declare interface NumberLiteral extends LiteralBase { - value: number; -} -export declare interface NumericToken extends BaseToken { - type: AST_TOKEN_TYPES.Numeric; -} -export declare interface ObjectExpression extends BaseNode { - type: AST_NODE_TYPES.ObjectExpression; - properties: ObjectLiteralElement[]; -} -export declare type ObjectLiteralElement = Property | SpreadElement; -export declare type ObjectLiteralElementLike = ObjectLiteralElement; -export declare interface ObjectPattern extends BaseNode { - type: AST_NODE_TYPES.ObjectPattern; - properties: (Property | RestElement)[]; - typeAnnotation: TSTypeAnnotation | undefined; - optional: boolean; - decorators: Decorator[]; -} -export declare type OptionalRangeAndLoc = Pick> & { - range?: Range; - loc?: SourceLocation; -}; -export declare type Parameter = ArrayPattern | AssignmentPattern | Identifier | ObjectPattern | RestElement | TSParameterProperty; -export declare interface Position { - /** - * Line number (1-indexed) - */ - line: number; - /** - * Column number on the line (0-indexed) - */ - column: number; -} -export declare type PrimaryExpression = ArrayExpression | ArrayPattern | ClassExpression | FunctionExpression | Identifier | JSXElement | JSXFragment | JSXOpeningElement | LiteralExpression | MetaProperty | ObjectExpression | ObjectPattern | Super | TemplateLiteral | ThisExpression | TSNullKeyword; -export declare interface PrivateIdentifier extends BaseNode { - type: AST_NODE_TYPES.PrivateIdentifier; - name: string; -} -export declare interface Program extends NodeOrTokenData { - type: AST_NODE_TYPES.Program; - body: ProgramStatement[]; - sourceType: 'module' | 'script'; - comments: Comment[] | undefined; - tokens: Token[] | undefined; -} -export declare type ProgramStatement = ExportAllDeclaration | ExportDefaultDeclaration | ExportNamedDeclaration | ImportDeclaration | Statement | TSImportEqualsDeclaration | TSNamespaceExportDeclaration; -export declare type Property = PropertyComputedName | PropertyNonComputedName; -declare interface PropertyBase extends BaseNode { - type: AST_NODE_TYPES.Property; - key: PropertyName; - value: AssignmentPattern | BindingName | Expression | TSEmptyBodyFunctionExpression; - computed: boolean; - method: boolean; - shorthand: boolean; - optional: boolean; - kind: 'get' | 'init' | 'set'; -} -export declare interface PropertyComputedName extends PropertyBase { - key: PropertyNameComputed; - computed: true; -} -export declare type PropertyDefinition = PropertyDefinitionComputedName | PropertyDefinitionNonComputedName; -declare interface PropertyDefinitionBase extends BaseNode { - key: PropertyName; - value: Expression | null; - computed: boolean; - static: boolean; - declare: boolean; - readonly: boolean; - decorators: Decorator[]; - accessibility: Accessibility | undefined; - optional: boolean; - definite: boolean; - typeAnnotation: TSTypeAnnotation | undefined; - override: boolean; -} -export declare interface PropertyDefinitionComputedName extends PropertyDefinitionComputedNameBase { - type: AST_NODE_TYPES.PropertyDefinition; -} -declare interface PropertyDefinitionComputedNameBase extends PropertyDefinitionBase { - key: PropertyNameComputed; - computed: true; -} -export declare interface PropertyDefinitionNonComputedName extends ClassPropertyDefinitionNonComputedNameBase { - type: AST_NODE_TYPES.PropertyDefinition; -} -declare interface PropertyDefinitionNonComputedNameBase extends PropertyDefinitionBase { - key: PropertyNameNonComputed; - computed: false; -} -export declare type PropertyName = ClassPropertyNameNonComputed | PropertyNameComputed | PropertyNameNonComputed; -export declare type PropertyNameComputed = Expression; -export declare type PropertyNameNonComputed = Identifier | NumberLiteral | StringLiteral; -export declare interface PropertyNonComputedName extends PropertyBase { - key: PropertyNameNonComputed; - computed: false; -} -export declare interface PunctuatorToken extends BaseToken { - type: AST_TOKEN_TYPES.Punctuator; - value: ValueOf; -} -export declare interface PunctuatorTokenToText extends AssignmentOperatorToText { - [SyntaxKind.OpenBraceToken]: '{'; - [SyntaxKind.CloseBraceToken]: '}'; - [SyntaxKind.OpenParenToken]: '('; - [SyntaxKind.CloseParenToken]: ')'; - [SyntaxKind.OpenBracketToken]: '['; - [SyntaxKind.CloseBracketToken]: ']'; - [SyntaxKind.DotToken]: '.'; - [SyntaxKind.DotDotDotToken]: '...'; - [SyntaxKind.SemicolonToken]: ';'; - [SyntaxKind.CommaToken]: ','; - [SyntaxKind.QuestionDotToken]: '?.'; - [SyntaxKind.LessThanToken]: '<'; - [SyntaxKind.LessThanSlashToken]: ''; - [SyntaxKind.LessThanEqualsToken]: '<='; - [SyntaxKind.GreaterThanEqualsToken]: '>='; - [SyntaxKind.EqualsEqualsToken]: '=='; - [SyntaxKind.ExclamationEqualsToken]: '!='; - [SyntaxKind.EqualsEqualsEqualsToken]: '==='; - [SyntaxKind.ExclamationEqualsEqualsToken]: '!=='; - [SyntaxKind.EqualsGreaterThanToken]: '=>'; - [SyntaxKind.PlusToken]: '+'; - [SyntaxKind.MinusToken]: '-'; - [SyntaxKind.AsteriskToken]: '*'; - [SyntaxKind.AsteriskAsteriskToken]: '**'; - [SyntaxKind.SlashToken]: '/'; - [SyntaxKind.PercentToken]: '%'; - [SyntaxKind.PlusPlusToken]: '++'; - [SyntaxKind.MinusMinusToken]: '--'; - [SyntaxKind.LessThanLessThanToken]: '<<'; - [SyntaxKind.GreaterThanGreaterThanToken]: '>>'; - [SyntaxKind.GreaterThanGreaterThanGreaterThanToken]: '>>>'; - [SyntaxKind.AmpersandToken]: '&'; - [SyntaxKind.BarToken]: '|'; - [SyntaxKind.CaretToken]: '^'; - [SyntaxKind.ExclamationToken]: '!'; - [SyntaxKind.TildeToken]: '~'; - [SyntaxKind.AmpersandAmpersandToken]: '&&'; - [SyntaxKind.BarBarToken]: '||'; - [SyntaxKind.QuestionToken]: '?'; - [SyntaxKind.ColonToken]: ':'; - [SyntaxKind.AtToken]: '@'; - [SyntaxKind.QuestionQuestionToken]: '??'; - [SyntaxKind.BacktickToken]: '`'; - [SyntaxKind.HashToken]: '#'; -} -/** - * An array of two numbers. - * Both numbers are a 0-based index which is the position in the array of source code characters. - * The first is the start position of the node, the second is the end position of the node. - */ -export declare type Range = [number, number]; -export declare interface RegExpLiteral extends LiteralBase { - value: RegExp | null; - regex: { - pattern: string; - flags: string; - }; -} -export declare interface RegularExpressionToken extends BaseToken { - type: AST_TOKEN_TYPES.RegularExpression; - regex: { - pattern: string; - flags: string; - }; -} -export declare interface RestElement extends BaseNode { - type: AST_NODE_TYPES.RestElement; - argument: DestructuringPattern; - typeAnnotation: TSTypeAnnotation | undefined; - optional: boolean; - value: AssignmentPattern | undefined; - decorators: Decorator[]; -} -export declare interface ReturnStatement extends BaseNode { - type: AST_NODE_TYPES.ReturnStatement; - argument: Expression | null; -} -export declare interface SequenceExpression extends BaseNode { - type: AST_NODE_TYPES.SequenceExpression; - expressions: Expression[]; -} -export declare interface SourceLocation { - /** - * The position of the first character of the parsed source region - */ - start: Position; - /** - * The position of the first character after the parsed source region - */ - end: Position; -} -export declare interface SpreadElement extends BaseNode { - type: AST_NODE_TYPES.SpreadElement; - argument: Expression; -} -export declare type Statement = BlockStatement | BreakStatement | ClassDeclarationWithName | ContinueStatement | DebuggerStatement | DoWhileStatement | EmptyStatement | ExportAllDeclaration | ExportDefaultDeclaration | ExportNamedDeclaration | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | FunctionDeclarationWithName | IfStatement | ImportDeclaration | LabeledStatement | ReturnStatement | SwitchStatement | ThrowStatement | TryStatement | TSDeclareFunction | TSEnumDeclaration | TSExportAssignment | TSImportEqualsDeclaration | TSInterfaceDeclaration | TSModuleDeclaration | TSNamespaceExportDeclaration | TSTypeAliasDeclaration | VariableDeclaration | WhileStatement | WithStatement; -export declare interface StaticBlock extends BaseNode { - type: AST_NODE_TYPES.StaticBlock; - body: Statement[]; -} -export declare interface StringLiteral extends LiteralBase { - value: string; -} -export declare interface StringToken extends BaseToken { - type: AST_TOKEN_TYPES.String; -} -export declare interface Super extends BaseNode { - type: AST_NODE_TYPES.Super; -} -export declare interface SwitchCase extends BaseNode { - type: AST_NODE_TYPES.SwitchCase; - test: Expression | null; - consequent: Statement[]; -} -export declare interface SwitchStatement extends BaseNode { - type: AST_NODE_TYPES.SwitchStatement; - discriminant: Expression; - cases: SwitchCase[]; -} -export declare interface TaggedTemplateExpression extends BaseNode { - quasi: TemplateLiteral; - tag: Expression; - type: AST_NODE_TYPES.TaggedTemplateExpression; - typeArguments: TSTypeParameterInstantiation | undefined; -} -export declare interface TemplateElement extends BaseNode { - type: AST_NODE_TYPES.TemplateElement; - value: { - raw: string; - cooked: string; - }; - tail: boolean; -} -export declare interface TemplateLiteral extends BaseNode { - type: AST_NODE_TYPES.TemplateLiteral; - quasis: TemplateElement[]; - expressions: Expression[]; -} -export declare interface TemplateToken extends BaseToken { - type: AST_TOKEN_TYPES.Template; -} -export declare interface ThisExpression extends BaseNode { - type: AST_NODE_TYPES.ThisExpression; -} -export declare interface ThrowStatement extends BaseNode { - type: AST_NODE_TYPES.ThrowStatement; - argument: Statement | TSAsExpression | null; -} -export declare type Token = BooleanToken | Comment | IdentifierToken | JSXIdentifierToken | JSXTextToken | KeywordToken | NullToken | NumericToken | PunctuatorToken | RegularExpressionToken | StringToken | TemplateToken; -export declare interface TryStatement extends BaseNode { - type: AST_NODE_TYPES.TryStatement; - block: BlockStatement; - handler: CatchClause | null; - finalizer: BlockStatement | null; -} -export declare type TSAbstractAccessorProperty = TSAbstractAccessorPropertyComputedName | TSAbstractAccessorPropertyNonComputedName; -export declare interface TSAbstractAccessorPropertyComputedName extends PropertyDefinitionComputedNameBase { - type: AST_NODE_TYPES.TSAbstractAccessorProperty; - value: null; -} -export declare interface TSAbstractAccessorPropertyNonComputedName extends PropertyDefinitionNonComputedNameBase { - type: AST_NODE_TYPES.TSAbstractAccessorProperty; - value: null; -} -export declare interface TSAbstractKeyword extends BaseNode { - type: AST_NODE_TYPES.TSAbstractKeyword; -} -export declare type TSAbstractMethodDefinition = TSAbstractMethodDefinitionComputedName | TSAbstractMethodDefinitionNonComputedName; -export declare interface TSAbstractMethodDefinitionComputedName extends MethodDefinitionComputedNameBase { - type: AST_NODE_TYPES.TSAbstractMethodDefinition; -} -export declare interface TSAbstractMethodDefinitionNonComputedName extends MethodDefinitionNonComputedNameBase { - type: AST_NODE_TYPES.TSAbstractMethodDefinition; -} -export declare type TSAbstractPropertyDefinition = TSAbstractPropertyDefinitionComputedName | TSAbstractPropertyDefinitionNonComputedName; -export declare interface TSAbstractPropertyDefinitionComputedName extends PropertyDefinitionComputedNameBase { - type: AST_NODE_TYPES.TSAbstractPropertyDefinition; - value: null; -} -export declare interface TSAbstractPropertyDefinitionNonComputedName extends PropertyDefinitionNonComputedNameBase { - type: AST_NODE_TYPES.TSAbstractPropertyDefinition; - value: null; -} -export declare interface TSAnyKeyword extends BaseNode { - type: AST_NODE_TYPES.TSAnyKeyword; -} -export declare interface TSArrayType extends BaseNode { - type: AST_NODE_TYPES.TSArrayType; - elementType: TypeNode; -} -export declare interface TSAsExpression extends BaseNode { - type: AST_NODE_TYPES.TSAsExpression; - expression: Expression; - typeAnnotation: TypeNode; -} -export declare interface TSAsyncKeyword extends BaseNode { - type: AST_NODE_TYPES.TSAsyncKeyword; -} -export declare interface TSBigIntKeyword extends BaseNode { - type: AST_NODE_TYPES.TSBigIntKeyword; -} -export declare interface TSBooleanKeyword extends BaseNode { - type: AST_NODE_TYPES.TSBooleanKeyword; -} -export declare interface TSCallSignatureDeclaration extends TSFunctionSignatureBase { - type: AST_NODE_TYPES.TSCallSignatureDeclaration; -} -export declare interface TSClassImplements extends TSHeritageBase { - type: AST_NODE_TYPES.TSClassImplements; -} -export declare interface TSConditionalType extends BaseNode { - type: AST_NODE_TYPES.TSConditionalType; - checkType: TypeNode; - extendsType: TypeNode; - trueType: TypeNode; - falseType: TypeNode; -} -export declare interface TSConstructorType extends TSFunctionSignatureBase { - type: AST_NODE_TYPES.TSConstructorType; - abstract: boolean; -} -export declare interface TSConstructSignatureDeclaration extends TSFunctionSignatureBase { - type: AST_NODE_TYPES.TSConstructSignatureDeclaration; -} -export declare type TSDeclareFunction = TSDeclareFunctionNoDeclare | TSDeclareFunctionWithDeclare; -declare interface TSDeclareFunctionBase extends FunctionBase { - type: AST_NODE_TYPES.TSDeclareFunction; - /** - * TS1183: An implementation cannot be declared in ambient contexts. - */ - body: undefined; - /** - * Whether the declaration has `declare` modifier. - */ - declare: boolean; - expression: false; -} -/** - * Function declaration without the `declare` keyword: - * ``` - * function foo(): void; - * ``` - * This can either be an overload signature or a declaration in an ambient context - * (e.g. `declare module`) - */ -export declare interface TSDeclareFunctionNoDeclare extends TSDeclareFunctionBase { - declare: false; - /** - * - TS1221: Generators are not allowed in an ambient context. - * - TS1222: An overload signature cannot be declared as a generator. - */ - generator: false; -} -/** - * Function declaration with the `declare` keyword: - * ``` - * declare function foo(): void; - * ``` - */ -export declare interface TSDeclareFunctionWithDeclare extends TSDeclareFunctionBase { - /** - * TS1040: 'async' modifier cannot be used in an ambient context. - */ - async: false; - declare: true; - /** - * TS1221: Generators are not allowed in an ambient context. - */ - generator: false; -} -export declare interface TSDeclareKeyword extends BaseNode { - type: AST_NODE_TYPES.TSDeclareKeyword; -} -export declare interface TSEmptyBodyFunctionExpression extends FunctionBase { - type: AST_NODE_TYPES.TSEmptyBodyFunctionExpression; - body: null; - id: null; -} -export declare interface TSEnumBody extends BaseNode { - type: AST_NODE_TYPES.TSEnumBody; - members: TSEnumMember[]; - parent: TSEnumDeclaration; -} -export declare interface TSEnumDeclaration extends BaseNode { - type: AST_NODE_TYPES.TSEnumDeclaration; - /** - * The body of the enum. - */ - body: TSEnumBody; - /** - * Whether this is a `const` enum. - * ``` - * const enum Foo {...} - * ``` - */ - const: boolean; - /** - * Whether this is a `declare`d enum. - * ``` - * declare enum Foo {...} - * ``` - */ - declare: boolean; - /** - * The enum name. - */ - id: Identifier; - /** - * The enum members. - * @deprecated Use {@link body} instead. - */ - members: TSEnumMember[]; -} -export declare type TSEnumMember = TSEnumMemberComputedName | TSEnumMemberNonComputedName; -declare interface TSEnumMemberBase extends BaseNode { - type: AST_NODE_TYPES.TSEnumMember; - id: PropertyNameComputed | PropertyNameNonComputed; - initializer: Expression | undefined; - computed: boolean; - parent: TSEnumBody; -} -/** - * this should only really happen in semantically invalid code (errors 1164 and 2452) - * - * VALID: - * enum Foo { ['a'] } - * - * INVALID: - * const x = 'a'; - * enum Foo { [x] } - * enum Bar { ['a' + 'b'] } - */ -export declare interface TSEnumMemberComputedName extends TSEnumMemberBase { - id: PropertyNameComputed; - computed: true; -} -export declare interface TSEnumMemberNonComputedName extends TSEnumMemberBase { - id: PropertyNameNonComputed; - computed: false; -} -export declare interface TSExportAssignment extends BaseNode { - type: AST_NODE_TYPES.TSExportAssignment; - expression: Expression; -} -export declare interface TSExportKeyword extends BaseNode { - type: AST_NODE_TYPES.TSExportKeyword; -} -export declare interface TSExternalModuleReference extends BaseNode { - type: AST_NODE_TYPES.TSExternalModuleReference; - expression: StringLiteral; -} -declare interface TSFunctionSignatureBase extends BaseNode { - params: Parameter[]; - returnType: TSTypeAnnotation | undefined; - typeParameters: TSTypeParameterDeclaration | undefined; -} -export declare interface TSFunctionType extends TSFunctionSignatureBase { - type: AST_NODE_TYPES.TSFunctionType; -} -declare interface TSHeritageBase extends BaseNode { - expression: Expression; - typeArguments: TSTypeParameterInstantiation | undefined; -} -export declare interface TSImportEqualsDeclaration extends BaseNode { - type: AST_NODE_TYPES.TSImportEqualsDeclaration; - /** - * The locally imported name - */ - id: Identifier; - /** - * The value being aliased. - * ``` - * import F1 = A; - * import F2 = A.B.C; - * import F3 = require('mod'); - * ``` - */ - moduleReference: EntityName | TSExternalModuleReference; - importKind: ImportKind; -} -export declare interface TSImportType extends BaseNode { - type: AST_NODE_TYPES.TSImportType; - argument: TypeNode; - qualifier: EntityName | null; - typeArguments: TSTypeParameterInstantiation | null; -} -export declare interface TSIndexedAccessType extends BaseNode { - type: AST_NODE_TYPES.TSIndexedAccessType; - objectType: TypeNode; - indexType: TypeNode; -} -export declare interface TSIndexSignature extends BaseNode { - type: AST_NODE_TYPES.TSIndexSignature; - parameters: Parameter[]; - typeAnnotation: TSTypeAnnotation | undefined; - readonly: boolean; - accessibility: Accessibility | undefined; - static: boolean; -} -export declare interface TSInferType extends BaseNode { - type: AST_NODE_TYPES.TSInferType; - typeParameter: TSTypeParameter; -} -export declare interface TSInstantiationExpression extends BaseNode { - type: AST_NODE_TYPES.TSInstantiationExpression; - expression: Expression; - typeArguments: TSTypeParameterInstantiation; -} -export declare interface TSInterfaceBody extends BaseNode { - type: AST_NODE_TYPES.TSInterfaceBody; - body: TypeElement[]; -} -export declare interface TSInterfaceDeclaration extends BaseNode { - type: AST_NODE_TYPES.TSInterfaceDeclaration; - /** - * The body of the interface - */ - body: TSInterfaceBody; - /** - * Whether the interface was `declare`d, `undefined` otherwise - */ - declare: boolean; - /** - * The types this interface `extends` - */ - extends: TSInterfaceHeritage[]; - /** - * The name of this interface - */ - id: Identifier; - /** - * The generic type parameters declared for the interface. - */ - typeParameters: TSTypeParameterDeclaration | undefined; -} -export declare interface TSInterfaceHeritage extends TSHeritageBase { - type: AST_NODE_TYPES.TSInterfaceHeritage; -} -export declare interface TSIntersectionType extends BaseNode { - type: AST_NODE_TYPES.TSIntersectionType; - types: TypeNode[]; -} -export declare interface TSIntrinsicKeyword extends BaseNode { - type: AST_NODE_TYPES.TSIntrinsicKeyword; -} -export declare interface TSLiteralType extends BaseNode { - type: AST_NODE_TYPES.TSLiteralType; - literal: LiteralExpression | UnaryExpression | UpdateExpression; -} -export declare interface TSMappedType extends BaseNode { - type: AST_NODE_TYPES.TSMappedType; - /** @deprecated Use {@link `constraint`} and {@link `key`} instead. */ - typeParameter: TSTypeParameter; - constraint: TypeNode; - key: Identifier; - readonly: boolean | '-' | '+' | undefined; - optional: boolean | '-' | '+' | undefined; - typeAnnotation: TypeNode | undefined; - nameType: TypeNode | null; -} -export declare type TSMethodSignature = TSMethodSignatureComputedName | TSMethodSignatureNonComputedName; -declare interface TSMethodSignatureBase extends BaseNode { - type: AST_NODE_TYPES.TSMethodSignature; - accessibility: Accessibility | undefined; - computed: boolean; - key: PropertyName; - kind: 'get' | 'method' | 'set'; - optional: boolean; - params: Parameter[]; - readonly: boolean; - returnType: TSTypeAnnotation | undefined; - static: boolean; - typeParameters: TSTypeParameterDeclaration | undefined; -} -export declare interface TSMethodSignatureComputedName extends TSMethodSignatureBase { - key: PropertyNameComputed; - computed: true; -} -export declare interface TSMethodSignatureNonComputedName extends TSMethodSignatureBase { - key: PropertyNameNonComputed; - computed: false; -} -export declare interface TSModuleBlock extends BaseNode { - type: AST_NODE_TYPES.TSModuleBlock; - body: ProgramStatement[]; -} -export declare type TSModuleDeclaration = TSModuleDeclarationGlobal | TSModuleDeclarationModule | TSModuleDeclarationNamespace; -declare interface TSModuleDeclarationBase extends BaseNode { - type: AST_NODE_TYPES.TSModuleDeclaration; - /** - * The name of the module - * ``` - * namespace A {} - * namespace A.B.C {} - * module 'a' {} - * ``` - */ - id: Identifier | Literal | TSQualifiedName; - /** - * The body of the module. - * This can only be `undefined` for the code `declare module 'mod';` - * This will be a `TSModuleDeclaration` if the name is "nested" (`Foo.Bar`). - */ - body?: TSModuleBlock; - /** - * Whether this is a global declaration - * ``` - * declare global {} - * ``` - */ - global: boolean; - /** - * Whether the module is `declare`d - * ``` - * declare namespace F {} - * ``` - */ - declare: boolean; - /** - * The keyword used to define this module declaration - * ``` - * namespace Foo {} - * ^^^^^^^^^ - * - * module 'foo' {} - * ^^^^^^ - * - * declare global {} - * ^^^^^^ - * ``` - */ - kind: TSModuleDeclarationKind; -} -export declare interface TSModuleDeclarationGlobal extends TSModuleDeclarationBase { - kind: 'global'; - body: TSModuleBlock; - id: Identifier; -} -export declare type TSModuleDeclarationKind = 'global' | 'module' | 'namespace'; -export declare type TSModuleDeclarationModule = TSModuleDeclarationModuleWithIdentifierId | TSModuleDeclarationModuleWithStringId; -declare interface TSModuleDeclarationModuleBase extends TSModuleDeclarationBase { - kind: 'module'; -} -export declare interface TSModuleDeclarationModuleWithIdentifierId extends TSModuleDeclarationModuleBase { - kind: 'module'; - id: Identifier; - body: TSModuleBlock; -} -export declare type TSModuleDeclarationModuleWithStringId = TSModuleDeclarationModuleWithStringIdDeclared | TSModuleDeclarationModuleWithStringIdNotDeclared; -export declare interface TSModuleDeclarationModuleWithStringIdDeclared extends TSModuleDeclarationModuleBase { - kind: 'module'; - id: StringLiteral; - declare: true; - body?: TSModuleBlock; -} -export declare interface TSModuleDeclarationModuleWithStringIdNotDeclared extends TSModuleDeclarationModuleBase { - kind: 'module'; - id: StringLiteral; - declare: false; - body: TSModuleBlock; -} -export declare interface TSModuleDeclarationNamespace extends TSModuleDeclarationBase { - kind: 'namespace'; - id: Identifier | TSQualifiedName; - body: TSModuleBlock; -} -export declare interface TSNamedTupleMember extends BaseNode { - type: AST_NODE_TYPES.TSNamedTupleMember; - elementType: TypeNode; - label: Identifier; - optional: boolean; -} -export declare interface TSNamespaceExportDeclaration extends BaseNode { - type: AST_NODE_TYPES.TSNamespaceExportDeclaration; - /** - * The name the global variable being exported to - */ - id: Identifier; -} -export declare interface TSNeverKeyword extends BaseNode { - type: AST_NODE_TYPES.TSNeverKeyword; -} -export declare interface TSNonNullExpression extends BaseNode { - type: AST_NODE_TYPES.TSNonNullExpression; - expression: Expression; -} -export declare interface TSNullKeyword extends BaseNode { - type: AST_NODE_TYPES.TSNullKeyword; -} -export declare interface TSNumberKeyword extends BaseNode { - type: AST_NODE_TYPES.TSNumberKeyword; -} -export declare interface TSObjectKeyword extends BaseNode { - type: AST_NODE_TYPES.TSObjectKeyword; -} -export declare interface TSOptionalType extends BaseNode { - type: AST_NODE_TYPES.TSOptionalType; - typeAnnotation: TypeNode; -} -export declare interface TSParameterProperty extends BaseNode { - type: AST_NODE_TYPES.TSParameterProperty; - accessibility: Accessibility | undefined; - readonly: boolean; - static: boolean; - override: boolean; - parameter: AssignmentPattern | BindingName | RestElement; - decorators: Decorator[]; -} -export declare interface TSPrivateKeyword extends BaseNode { - type: AST_NODE_TYPES.TSPrivateKeyword; -} -export declare type TSPropertySignature = TSPropertySignatureComputedName | TSPropertySignatureNonComputedName; -declare interface TSPropertySignatureBase extends BaseNode { - type: AST_NODE_TYPES.TSPropertySignature; - key: PropertyName; - optional: boolean; - computed: boolean; - typeAnnotation: TSTypeAnnotation | undefined; - readonly: boolean; - static: boolean; - accessibility: Accessibility | undefined; -} -export declare interface TSPropertySignatureComputedName extends TSPropertySignatureBase { - key: PropertyNameComputed; - computed: true; -} -export declare interface TSPropertySignatureNonComputedName extends TSPropertySignatureBase { - key: PropertyNameNonComputed; - computed: false; -} -export declare interface TSProtectedKeyword extends BaseNode { - type: AST_NODE_TYPES.TSProtectedKeyword; -} -export declare interface TSPublicKeyword extends BaseNode { - type: AST_NODE_TYPES.TSPublicKeyword; -} -export declare interface TSQualifiedName extends BaseNode { - type: AST_NODE_TYPES.TSQualifiedName; - left: EntityName; - right: Identifier; -} -export declare interface TSReadonlyKeyword extends BaseNode { - type: AST_NODE_TYPES.TSReadonlyKeyword; -} -export declare interface TSRestType extends BaseNode { - type: AST_NODE_TYPES.TSRestType; - typeAnnotation: TypeNode; -} -export declare interface TSSatisfiesExpression extends BaseNode { - type: AST_NODE_TYPES.TSSatisfiesExpression; - expression: Expression; - typeAnnotation: TypeNode; -} -export declare interface TSStaticKeyword extends BaseNode { - type: AST_NODE_TYPES.TSStaticKeyword; -} -export declare interface TSStringKeyword extends BaseNode { - type: AST_NODE_TYPES.TSStringKeyword; -} -export declare interface TSSymbolKeyword extends BaseNode { - type: AST_NODE_TYPES.TSSymbolKeyword; -} -export declare interface TSTemplateLiteralType extends BaseNode { - type: AST_NODE_TYPES.TSTemplateLiteralType; - quasis: TemplateElement[]; - types: TypeNode[]; -} -export declare interface TSThisType extends BaseNode { - type: AST_NODE_TYPES.TSThisType; -} -export declare interface TSTupleType extends BaseNode { - type: AST_NODE_TYPES.TSTupleType; - elementTypes: TypeNode[]; -} -export declare interface TSTypeAliasDeclaration extends BaseNode { - type: AST_NODE_TYPES.TSTypeAliasDeclaration; - /** - * Whether the type was `declare`d. - * ``` - * declare type T = 1; - * ``` - */ - declare: boolean; - /** - * The name of the type. - */ - id: Identifier; - /** - * The "value" (type) of the declaration - */ - typeAnnotation: TypeNode; - /** - * The generic type parameters declared for the type. - */ - typeParameters: TSTypeParameterDeclaration | undefined; -} -export declare interface TSTypeAnnotation extends BaseNode { - type: AST_NODE_TYPES.TSTypeAnnotation; - typeAnnotation: TypeNode; -} -export declare interface TSTypeAssertion extends BaseNode { - type: AST_NODE_TYPES.TSTypeAssertion; - typeAnnotation: TypeNode; - expression: Expression; -} -export declare interface TSTypeLiteral extends BaseNode { - type: AST_NODE_TYPES.TSTypeLiteral; - members: TypeElement[]; -} -export declare interface TSTypeOperator extends BaseNode { - type: AST_NODE_TYPES.TSTypeOperator; - operator: 'keyof' | 'readonly' | 'unique'; - typeAnnotation: TypeNode | undefined; -} -export declare interface TSTypeParameter extends BaseNode { - type: AST_NODE_TYPES.TSTypeParameter; - name: Identifier; - constraint: TypeNode | undefined; - default: TypeNode | undefined; - in: boolean; - out: boolean; - const: boolean; -} -export declare interface TSTypeParameterDeclaration extends BaseNode { - type: AST_NODE_TYPES.TSTypeParameterDeclaration; - params: TSTypeParameter[]; -} -export declare interface TSTypeParameterInstantiation extends BaseNode { - type: AST_NODE_TYPES.TSTypeParameterInstantiation; - params: TypeNode[]; -} -export declare interface TSTypePredicate extends BaseNode { - type: AST_NODE_TYPES.TSTypePredicate; - asserts: boolean; - parameterName: Identifier | TSThisType; - typeAnnotation: TSTypeAnnotation | null; -} -export declare interface TSTypeQuery extends BaseNode { - type: AST_NODE_TYPES.TSTypeQuery; - exprName: EntityName | TSImportType; - typeArguments: TSTypeParameterInstantiation | undefined; -} -export declare interface TSTypeReference extends BaseNode { - type: AST_NODE_TYPES.TSTypeReference; - typeArguments: TSTypeParameterInstantiation | undefined; - typeName: EntityName; -} -export declare type TSUnaryExpression = AwaitExpression | LeftHandSideExpression | UnaryExpression | UpdateExpression; -export declare interface TSUndefinedKeyword extends BaseNode { - type: AST_NODE_TYPES.TSUndefinedKeyword; -} -export declare interface TSUnionType extends BaseNode { - type: AST_NODE_TYPES.TSUnionType; - types: TypeNode[]; -} -export declare interface TSUnknownKeyword extends BaseNode { - type: AST_NODE_TYPES.TSUnknownKeyword; -} -export declare interface TSVoidKeyword extends BaseNode { - type: AST_NODE_TYPES.TSVoidKeyword; -} -export declare type TypeElement = TSCallSignatureDeclaration | TSConstructSignatureDeclaration | TSIndexSignature | TSMethodSignature | TSPropertySignature; -export declare type TypeNode = TSAbstractKeyword | TSAnyKeyword | TSArrayType | TSAsyncKeyword | TSBigIntKeyword | TSBooleanKeyword | TSConditionalType | TSConstructorType | TSDeclareKeyword | TSExportKeyword | TSFunctionType | TSImportType | TSIndexedAccessType | TSInferType | TSIntersectionType | TSIntrinsicKeyword | TSLiteralType | TSMappedType | TSNamedTupleMember | TSNeverKeyword | TSNullKeyword | TSNumberKeyword | TSObjectKeyword | TSOptionalType | TSPrivateKeyword | TSProtectedKeyword | TSPublicKeyword | TSQualifiedName | TSReadonlyKeyword | TSRestType | TSStaticKeyword | TSStringKeyword | TSSymbolKeyword | TSTemplateLiteralType | TSThisType | TSTupleType | TSTypeLiteral | TSTypeOperator | TSTypePredicate | TSTypeQuery | TSTypeReference | TSUndefinedKeyword | TSUnionType | TSUnknownKeyword | TSVoidKeyword; -export declare interface UnaryExpression extends UnaryExpressionBase { - type: AST_NODE_TYPES.UnaryExpression; - operator: '-' | '!' | '+' | '~' | 'delete' | 'typeof' | 'void'; -} -declare interface UnaryExpressionBase extends BaseNode { - operator: string; - prefix: boolean; - argument: Expression; -} -export declare interface UpdateExpression extends UnaryExpressionBase { - type: AST_NODE_TYPES.UpdateExpression; - operator: '--' | '++'; -} -export declare type UsingDeclaration = UsingInForOfDeclaration | UsingInNormalContextDeclaration; -export declare type UsingDeclarator = UsingInForOfDeclarator | UsingInNomalConextDeclarator; -export declare interface UsingInForOfDeclaration extends BaseNode { - type: AST_NODE_TYPES.VariableDeclaration; - /** - * The variables declared by this declaration. - * Note that there may be 0 declarations (i.e. `const;`). - * ``` - * for(using x of y){} - * ``` - */ - declarations: UsingInForOfDeclarator[]; - /** - * This value will always be `false` - * because 'declare' modifier cannot appear on a 'using' declaration. - */ - declare: false; - /** - * The keyword used to declare the variable(s) - * ``` - * for(using x of y){} - * for(await using x of y){} - * ``` - */ - kind: 'await using' | 'using'; -} -export declare interface UsingInForOfDeclarator extends BaseNode { - type: AST_NODE_TYPES.VariableDeclarator; - id: Identifier; - init: null; - definite: boolean; -} -export declare interface UsingInNomalConextDeclarator extends BaseNode { - type: AST_NODE_TYPES.VariableDeclarator; - id: Identifier; - init: Expression; - definite: boolean; -} -export declare interface UsingInNormalContextDeclaration extends BaseNode { - type: AST_NODE_TYPES.VariableDeclaration; - /** - * The variables declared by this declaration. - * Note that there may be 0 declarations (i.e. `const;`). - * ``` - * using x = 1; - * using y =1, z = 2; - * ``` - */ - declarations: UsingInNomalConextDeclarator[]; - /** - * This value will always be `false` - * because 'declare' modifier cannot appear on a 'using' declaration. - */ - declare: false; - /** - * The keyword used to declare the variable(s) - * ``` - * using x = 1; - * await using y = 2; - * ``` - */ - kind: 'await using' | 'using'; -} -declare type ValueOf = T[keyof T]; -export declare type VariableDeclaration = LetOrConstOrVarDeclaration | UsingDeclaration; -export declare type VariableDeclarator = LetOrConstOrVarDeclarator | UsingDeclarator; -export declare interface WhileStatement extends BaseNode { - type: AST_NODE_TYPES.WhileStatement; - test: Expression; - body: Statement; -} -export declare interface WithStatement extends BaseNode { - type: AST_NODE_TYPES.WithStatement; - object: Expression; - body: Statement; -} -export declare interface YieldExpression extends BaseNode { - type: AST_NODE_TYPES.YieldExpression; - delegate: boolean; - argument: Expression | undefined; -} -export {}; -//# sourceMappingURL=ast-spec.d.ts.map \ No newline at end of file diff --git a/packages/types/dist/generated/ast-spec.d.ts.map b/packages/types/dist/generated/ast-spec.d.ts.map deleted file mode 100644 index 3412fa4517ec..000000000000 --- a/packages/types/dist/generated/ast-spec.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ast-spec.d.ts","sourceRoot":"","sources":["../../src/generated/ast-spec.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/types/dist/generated/ast-spec.js b/packages/types/dist/generated/ast-spec.js deleted file mode 100644 index c4e25603fc4b..000000000000 --- a/packages/types/dist/generated/ast-spec.js +++ /dev/null @@ -1,203 +0,0 @@ -"use strict"; -/********************************************** - * DO NOT MODIFY THIS FILE MANUALLY * - * * - * THIS FILE HAS BEEN COPIED FROM ast-spec. * - * ANY CHANGES WILL BE LOST ON THE NEXT BUILD * - * * - * MAKE CHANGES TO ast-spec AND THEN RUN * - * yarn build * - **********************************************/ -Object.defineProperty(exports, "__esModule", { value: true }); -exports.AST_TOKEN_TYPES = exports.AST_NODE_TYPES = void 0; -var AST_NODE_TYPES; -(function (AST_NODE_TYPES) { - AST_NODE_TYPES["AccessorProperty"] = "AccessorProperty"; - AST_NODE_TYPES["ArrayExpression"] = "ArrayExpression"; - AST_NODE_TYPES["ArrayPattern"] = "ArrayPattern"; - AST_NODE_TYPES["ArrowFunctionExpression"] = "ArrowFunctionExpression"; - AST_NODE_TYPES["AssignmentExpression"] = "AssignmentExpression"; - AST_NODE_TYPES["AssignmentPattern"] = "AssignmentPattern"; - AST_NODE_TYPES["AwaitExpression"] = "AwaitExpression"; - AST_NODE_TYPES["BinaryExpression"] = "BinaryExpression"; - AST_NODE_TYPES["BlockStatement"] = "BlockStatement"; - AST_NODE_TYPES["BreakStatement"] = "BreakStatement"; - AST_NODE_TYPES["CallExpression"] = "CallExpression"; - AST_NODE_TYPES["CatchClause"] = "CatchClause"; - AST_NODE_TYPES["ChainExpression"] = "ChainExpression"; - AST_NODE_TYPES["ClassBody"] = "ClassBody"; - AST_NODE_TYPES["ClassDeclaration"] = "ClassDeclaration"; - AST_NODE_TYPES["ClassExpression"] = "ClassExpression"; - AST_NODE_TYPES["ConditionalExpression"] = "ConditionalExpression"; - AST_NODE_TYPES["ContinueStatement"] = "ContinueStatement"; - AST_NODE_TYPES["DebuggerStatement"] = "DebuggerStatement"; - AST_NODE_TYPES["Decorator"] = "Decorator"; - AST_NODE_TYPES["DoWhileStatement"] = "DoWhileStatement"; - AST_NODE_TYPES["EmptyStatement"] = "EmptyStatement"; - AST_NODE_TYPES["ExportAllDeclaration"] = "ExportAllDeclaration"; - AST_NODE_TYPES["ExportDefaultDeclaration"] = "ExportDefaultDeclaration"; - AST_NODE_TYPES["ExportNamedDeclaration"] = "ExportNamedDeclaration"; - AST_NODE_TYPES["ExportSpecifier"] = "ExportSpecifier"; - AST_NODE_TYPES["ExpressionStatement"] = "ExpressionStatement"; - AST_NODE_TYPES["ForInStatement"] = "ForInStatement"; - AST_NODE_TYPES["ForOfStatement"] = "ForOfStatement"; - AST_NODE_TYPES["ForStatement"] = "ForStatement"; - AST_NODE_TYPES["FunctionDeclaration"] = "FunctionDeclaration"; - AST_NODE_TYPES["FunctionExpression"] = "FunctionExpression"; - AST_NODE_TYPES["Identifier"] = "Identifier"; - AST_NODE_TYPES["IfStatement"] = "IfStatement"; - AST_NODE_TYPES["ImportAttribute"] = "ImportAttribute"; - AST_NODE_TYPES["ImportDeclaration"] = "ImportDeclaration"; - AST_NODE_TYPES["ImportDefaultSpecifier"] = "ImportDefaultSpecifier"; - AST_NODE_TYPES["ImportExpression"] = "ImportExpression"; - AST_NODE_TYPES["ImportNamespaceSpecifier"] = "ImportNamespaceSpecifier"; - AST_NODE_TYPES["ImportSpecifier"] = "ImportSpecifier"; - AST_NODE_TYPES["JSXAttribute"] = "JSXAttribute"; - AST_NODE_TYPES["JSXClosingElement"] = "JSXClosingElement"; - AST_NODE_TYPES["JSXClosingFragment"] = "JSXClosingFragment"; - AST_NODE_TYPES["JSXElement"] = "JSXElement"; - AST_NODE_TYPES["JSXEmptyExpression"] = "JSXEmptyExpression"; - AST_NODE_TYPES["JSXExpressionContainer"] = "JSXExpressionContainer"; - AST_NODE_TYPES["JSXFragment"] = "JSXFragment"; - AST_NODE_TYPES["JSXIdentifier"] = "JSXIdentifier"; - AST_NODE_TYPES["JSXMemberExpression"] = "JSXMemberExpression"; - AST_NODE_TYPES["JSXNamespacedName"] = "JSXNamespacedName"; - AST_NODE_TYPES["JSXOpeningElement"] = "JSXOpeningElement"; - AST_NODE_TYPES["JSXOpeningFragment"] = "JSXOpeningFragment"; - AST_NODE_TYPES["JSXSpreadAttribute"] = "JSXSpreadAttribute"; - AST_NODE_TYPES["JSXSpreadChild"] = "JSXSpreadChild"; - AST_NODE_TYPES["JSXText"] = "JSXText"; - AST_NODE_TYPES["LabeledStatement"] = "LabeledStatement"; - AST_NODE_TYPES["Literal"] = "Literal"; - AST_NODE_TYPES["LogicalExpression"] = "LogicalExpression"; - AST_NODE_TYPES["MemberExpression"] = "MemberExpression"; - AST_NODE_TYPES["MetaProperty"] = "MetaProperty"; - AST_NODE_TYPES["MethodDefinition"] = "MethodDefinition"; - AST_NODE_TYPES["NewExpression"] = "NewExpression"; - AST_NODE_TYPES["ObjectExpression"] = "ObjectExpression"; - AST_NODE_TYPES["ObjectPattern"] = "ObjectPattern"; - AST_NODE_TYPES["PrivateIdentifier"] = "PrivateIdentifier"; - AST_NODE_TYPES["Program"] = "Program"; - AST_NODE_TYPES["Property"] = "Property"; - AST_NODE_TYPES["PropertyDefinition"] = "PropertyDefinition"; - AST_NODE_TYPES["RestElement"] = "RestElement"; - AST_NODE_TYPES["ReturnStatement"] = "ReturnStatement"; - AST_NODE_TYPES["SequenceExpression"] = "SequenceExpression"; - AST_NODE_TYPES["SpreadElement"] = "SpreadElement"; - AST_NODE_TYPES["StaticBlock"] = "StaticBlock"; - AST_NODE_TYPES["Super"] = "Super"; - AST_NODE_TYPES["SwitchCase"] = "SwitchCase"; - AST_NODE_TYPES["SwitchStatement"] = "SwitchStatement"; - AST_NODE_TYPES["TaggedTemplateExpression"] = "TaggedTemplateExpression"; - AST_NODE_TYPES["TemplateElement"] = "TemplateElement"; - AST_NODE_TYPES["TemplateLiteral"] = "TemplateLiteral"; - AST_NODE_TYPES["ThisExpression"] = "ThisExpression"; - AST_NODE_TYPES["ThrowStatement"] = "ThrowStatement"; - AST_NODE_TYPES["TryStatement"] = "TryStatement"; - AST_NODE_TYPES["UnaryExpression"] = "UnaryExpression"; - AST_NODE_TYPES["UpdateExpression"] = "UpdateExpression"; - AST_NODE_TYPES["VariableDeclaration"] = "VariableDeclaration"; - AST_NODE_TYPES["VariableDeclarator"] = "VariableDeclarator"; - AST_NODE_TYPES["WhileStatement"] = "WhileStatement"; - AST_NODE_TYPES["WithStatement"] = "WithStatement"; - AST_NODE_TYPES["YieldExpression"] = "YieldExpression"; - /** - * TS-prefixed nodes - */ - AST_NODE_TYPES["TSAbstractAccessorProperty"] = "TSAbstractAccessorProperty"; - AST_NODE_TYPES["TSAbstractKeyword"] = "TSAbstractKeyword"; - AST_NODE_TYPES["TSAbstractMethodDefinition"] = "TSAbstractMethodDefinition"; - AST_NODE_TYPES["TSAbstractPropertyDefinition"] = "TSAbstractPropertyDefinition"; - AST_NODE_TYPES["TSAnyKeyword"] = "TSAnyKeyword"; - AST_NODE_TYPES["TSArrayType"] = "TSArrayType"; - AST_NODE_TYPES["TSAsExpression"] = "TSAsExpression"; - AST_NODE_TYPES["TSAsyncKeyword"] = "TSAsyncKeyword"; - AST_NODE_TYPES["TSBigIntKeyword"] = "TSBigIntKeyword"; - AST_NODE_TYPES["TSBooleanKeyword"] = "TSBooleanKeyword"; - AST_NODE_TYPES["TSCallSignatureDeclaration"] = "TSCallSignatureDeclaration"; - AST_NODE_TYPES["TSClassImplements"] = "TSClassImplements"; - AST_NODE_TYPES["TSConditionalType"] = "TSConditionalType"; - AST_NODE_TYPES["TSConstructorType"] = "TSConstructorType"; - AST_NODE_TYPES["TSConstructSignatureDeclaration"] = "TSConstructSignatureDeclaration"; - AST_NODE_TYPES["TSDeclareFunction"] = "TSDeclareFunction"; - AST_NODE_TYPES["TSDeclareKeyword"] = "TSDeclareKeyword"; - AST_NODE_TYPES["TSEmptyBodyFunctionExpression"] = "TSEmptyBodyFunctionExpression"; - AST_NODE_TYPES["TSEnumDeclaration"] = "TSEnumDeclaration"; - AST_NODE_TYPES["TSEnumBody"] = "TSEnumBody"; - AST_NODE_TYPES["TSEnumMember"] = "TSEnumMember"; - AST_NODE_TYPES["TSExportAssignment"] = "TSExportAssignment"; - AST_NODE_TYPES["TSExportKeyword"] = "TSExportKeyword"; - AST_NODE_TYPES["TSExternalModuleReference"] = "TSExternalModuleReference"; - AST_NODE_TYPES["TSFunctionType"] = "TSFunctionType"; - AST_NODE_TYPES["TSInstantiationExpression"] = "TSInstantiationExpression"; - AST_NODE_TYPES["TSImportEqualsDeclaration"] = "TSImportEqualsDeclaration"; - AST_NODE_TYPES["TSImportType"] = "TSImportType"; - AST_NODE_TYPES["TSIndexedAccessType"] = "TSIndexedAccessType"; - AST_NODE_TYPES["TSIndexSignature"] = "TSIndexSignature"; - AST_NODE_TYPES["TSInferType"] = "TSInferType"; - AST_NODE_TYPES["TSInterfaceBody"] = "TSInterfaceBody"; - AST_NODE_TYPES["TSInterfaceDeclaration"] = "TSInterfaceDeclaration"; - AST_NODE_TYPES["TSInterfaceHeritage"] = "TSInterfaceHeritage"; - AST_NODE_TYPES["TSIntersectionType"] = "TSIntersectionType"; - AST_NODE_TYPES["TSIntrinsicKeyword"] = "TSIntrinsicKeyword"; - AST_NODE_TYPES["TSLiteralType"] = "TSLiteralType"; - AST_NODE_TYPES["TSMappedType"] = "TSMappedType"; - AST_NODE_TYPES["TSMethodSignature"] = "TSMethodSignature"; - AST_NODE_TYPES["TSModuleBlock"] = "TSModuleBlock"; - AST_NODE_TYPES["TSModuleDeclaration"] = "TSModuleDeclaration"; - AST_NODE_TYPES["TSNamedTupleMember"] = "TSNamedTupleMember"; - AST_NODE_TYPES["TSNamespaceExportDeclaration"] = "TSNamespaceExportDeclaration"; - AST_NODE_TYPES["TSNeverKeyword"] = "TSNeverKeyword"; - AST_NODE_TYPES["TSNonNullExpression"] = "TSNonNullExpression"; - AST_NODE_TYPES["TSNullKeyword"] = "TSNullKeyword"; - AST_NODE_TYPES["TSNumberKeyword"] = "TSNumberKeyword"; - AST_NODE_TYPES["TSObjectKeyword"] = "TSObjectKeyword"; - AST_NODE_TYPES["TSOptionalType"] = "TSOptionalType"; - AST_NODE_TYPES["TSParameterProperty"] = "TSParameterProperty"; - AST_NODE_TYPES["TSPrivateKeyword"] = "TSPrivateKeyword"; - AST_NODE_TYPES["TSPropertySignature"] = "TSPropertySignature"; - AST_NODE_TYPES["TSProtectedKeyword"] = "TSProtectedKeyword"; - AST_NODE_TYPES["TSPublicKeyword"] = "TSPublicKeyword"; - AST_NODE_TYPES["TSQualifiedName"] = "TSQualifiedName"; - AST_NODE_TYPES["TSReadonlyKeyword"] = "TSReadonlyKeyword"; - AST_NODE_TYPES["TSRestType"] = "TSRestType"; - AST_NODE_TYPES["TSSatisfiesExpression"] = "TSSatisfiesExpression"; - AST_NODE_TYPES["TSStaticKeyword"] = "TSStaticKeyword"; - AST_NODE_TYPES["TSStringKeyword"] = "TSStringKeyword"; - AST_NODE_TYPES["TSSymbolKeyword"] = "TSSymbolKeyword"; - AST_NODE_TYPES["TSTemplateLiteralType"] = "TSTemplateLiteralType"; - AST_NODE_TYPES["TSThisType"] = "TSThisType"; - AST_NODE_TYPES["TSTupleType"] = "TSTupleType"; - AST_NODE_TYPES["TSTypeAliasDeclaration"] = "TSTypeAliasDeclaration"; - AST_NODE_TYPES["TSTypeAnnotation"] = "TSTypeAnnotation"; - AST_NODE_TYPES["TSTypeAssertion"] = "TSTypeAssertion"; - AST_NODE_TYPES["TSTypeLiteral"] = "TSTypeLiteral"; - AST_NODE_TYPES["TSTypeOperator"] = "TSTypeOperator"; - AST_NODE_TYPES["TSTypeParameter"] = "TSTypeParameter"; - AST_NODE_TYPES["TSTypeParameterDeclaration"] = "TSTypeParameterDeclaration"; - AST_NODE_TYPES["TSTypeParameterInstantiation"] = "TSTypeParameterInstantiation"; - AST_NODE_TYPES["TSTypePredicate"] = "TSTypePredicate"; - AST_NODE_TYPES["TSTypeQuery"] = "TSTypeQuery"; - AST_NODE_TYPES["TSTypeReference"] = "TSTypeReference"; - AST_NODE_TYPES["TSUndefinedKeyword"] = "TSUndefinedKeyword"; - AST_NODE_TYPES["TSUnionType"] = "TSUnionType"; - AST_NODE_TYPES["TSUnknownKeyword"] = "TSUnknownKeyword"; - AST_NODE_TYPES["TSVoidKeyword"] = "TSVoidKeyword"; -})(AST_NODE_TYPES || (exports.AST_NODE_TYPES = AST_NODE_TYPES = {})); -var AST_TOKEN_TYPES; -(function (AST_TOKEN_TYPES) { - AST_TOKEN_TYPES["Boolean"] = "Boolean"; - AST_TOKEN_TYPES["Identifier"] = "Identifier"; - AST_TOKEN_TYPES["JSXIdentifier"] = "JSXIdentifier"; - AST_TOKEN_TYPES["JSXText"] = "JSXText"; - AST_TOKEN_TYPES["Keyword"] = "Keyword"; - AST_TOKEN_TYPES["Null"] = "Null"; - AST_TOKEN_TYPES["Numeric"] = "Numeric"; - AST_TOKEN_TYPES["Punctuator"] = "Punctuator"; - AST_TOKEN_TYPES["RegularExpression"] = "RegularExpression"; - AST_TOKEN_TYPES["String"] = "String"; - AST_TOKEN_TYPES["Template"] = "Template"; - AST_TOKEN_TYPES["Block"] = "Block"; - AST_TOKEN_TYPES["Line"] = "Line"; -})(AST_TOKEN_TYPES || (exports.AST_TOKEN_TYPES = AST_TOKEN_TYPES = {})); -//# sourceMappingURL=ast-spec.js.map \ No newline at end of file diff --git a/packages/types/dist/generated/ast-spec.js.map b/packages/types/dist/generated/ast-spec.js.map deleted file mode 100644 index 2164abf4e5b4..000000000000 --- a/packages/types/dist/generated/ast-spec.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ast-spec.js","sourceRoot":"","sources":["../../src/generated/ast-spec.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/types/dist/index.d.ts b/packages/types/dist/index.d.ts deleted file mode 100644 index 3d39147f54b1..000000000000 --- a/packages/types/dist/index.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -export { AST_NODE_TYPES, AST_TOKEN_TYPES } from './generated/ast-spec'; -export * from './lib'; -export * from './parser-options'; -export * from './ts-estree'; -//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/packages/types/dist/index.d.ts.map b/packages/types/dist/index.d.ts.map deleted file mode 100644 index 6a86c5376242..000000000000 --- a/packages/types/dist/index.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvE,cAAc,OAAO,CAAC;AACtB,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC"} \ No newline at end of file diff --git a/packages/types/dist/index.js b/packages/types/dist/index.js deleted file mode 100644 index 00ff6a1752ea..000000000000 --- a/packages/types/dist/index.js +++ /dev/null @@ -1,24 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.AST_TOKEN_TYPES = exports.AST_NODE_TYPES = void 0; -var ast_spec_1 = require("./generated/ast-spec"); -Object.defineProperty(exports, "AST_NODE_TYPES", { enumerable: true, get: function () { return ast_spec_1.AST_NODE_TYPES; } }); -Object.defineProperty(exports, "AST_TOKEN_TYPES", { enumerable: true, get: function () { return ast_spec_1.AST_TOKEN_TYPES; } }); -__exportStar(require("./lib"), exports); -__exportStar(require("./parser-options"), exports); -__exportStar(require("./ts-estree"), exports); -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/packages/types/dist/index.js.map b/packages/types/dist/index.js.map deleted file mode 100644 index 075ac156feda..000000000000 --- a/packages/types/dist/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,iDAAuE;AAA9D,0GAAA,cAAc,OAAA;AAAE,2GAAA,eAAe,OAAA;AACxC,wCAAsB;AACtB,mDAAiC;AACjC,8CAA4B"} \ No newline at end of file diff --git a/packages/types/dist/lib.d.ts b/packages/types/dist/lib.d.ts deleted file mode 100644 index 75f07d543b25..000000000000 --- a/packages/types/dist/lib.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -type Lib = 'es5' | 'es6' | 'es2015' | 'es7' | 'es2016' | 'es2017' | 'es2018' | 'es2019' | 'es2020' | 'es2021' | 'es2022' | 'es2023' | 'esnext' | 'dom' | 'dom.iterable' | 'dom.asynciterable' | 'webworker' | 'webworker.importscripts' | 'webworker.iterable' | 'webworker.asynciterable' | 'scripthost' | 'es2015.core' | 'es2015.collection' | 'es2015.generator' | 'es2015.iterable' | 'es2015.promise' | 'es2015.proxy' | 'es2015.reflect' | 'es2015.symbol' | 'es2015.symbol.wellknown' | 'es2016.array.include' | 'es2016.intl' | 'es2017.date' | 'es2017.object' | 'es2017.sharedmemory' | 'es2017.string' | 'es2017.intl' | 'es2017.typedarrays' | 'es2018.asyncgenerator' | 'es2018.asynciterable' | 'es2018.intl' | 'es2018.promise' | 'es2018.regexp' | 'es2019.array' | 'es2019.object' | 'es2019.string' | 'es2019.symbol' | 'es2019.intl' | 'es2020.bigint' | 'es2020.date' | 'es2020.promise' | 'es2020.sharedmemory' | 'es2020.string' | 'es2020.symbol.wellknown' | 'es2020.intl' | 'es2020.number' | 'es2021.promise' | 'es2021.string' | 'es2021.weakref' | 'es2021.intl' | 'es2022.array' | 'es2022.error' | 'es2022.intl' | 'es2022.object' | 'es2022.sharedmemory' | 'es2022.string' | 'es2022.regexp' | 'es2023.array' | 'es2023.collection' | 'esnext.array' | 'esnext.collection' | 'esnext.symbol' | 'esnext.asynciterable' | 'esnext.intl' | 'esnext.disposable' | 'esnext.bigint' | 'esnext.string' | 'esnext.promise' | 'esnext.weakref' | 'esnext.decorators' | 'esnext.object' | 'decorators' | 'decorators.legacy' | 'es2016.full' | 'es2017.full' | 'es2018.full' | 'es2019.full' | 'es2020.full' | 'es2021.full' | 'es2022.full' | 'es2023.full' | 'esnext.full' | 'lib'; -export { Lib }; -//# sourceMappingURL=lib.d.ts.map \ No newline at end of file diff --git a/packages/types/dist/lib.d.ts.map b/packages/types/dist/lib.d.ts.map deleted file mode 100644 index 6b5f6b7c84cb..000000000000 --- a/packages/types/dist/lib.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AAKA,KAAK,GAAG,GACJ,KAAK,GACL,KAAK,GACL,QAAQ,GACR,KAAK,GACL,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,KAAK,GACL,cAAc,GACd,mBAAmB,GACnB,WAAW,GACX,yBAAyB,GACzB,oBAAoB,GACpB,yBAAyB,GACzB,YAAY,GACZ,aAAa,GACb,mBAAmB,GACnB,kBAAkB,GAClB,iBAAiB,GACjB,gBAAgB,GAChB,cAAc,GACd,gBAAgB,GAChB,eAAe,GACf,yBAAyB,GACzB,sBAAsB,GACtB,aAAa,GACb,aAAa,GACb,eAAe,GACf,qBAAqB,GACrB,eAAe,GACf,aAAa,GACb,oBAAoB,GACpB,uBAAuB,GACvB,sBAAsB,GACtB,aAAa,GACb,gBAAgB,GAChB,eAAe,GACf,cAAc,GACd,eAAe,GACf,eAAe,GACf,eAAe,GACf,aAAa,GACb,eAAe,GACf,aAAa,GACb,gBAAgB,GAChB,qBAAqB,GACrB,eAAe,GACf,yBAAyB,GACzB,aAAa,GACb,eAAe,GACf,gBAAgB,GAChB,eAAe,GACf,gBAAgB,GAChB,aAAa,GACb,cAAc,GACd,cAAc,GACd,aAAa,GACb,eAAe,GACf,qBAAqB,GACrB,eAAe,GACf,eAAe,GACf,cAAc,GACd,mBAAmB,GACnB,cAAc,GACd,mBAAmB,GACnB,eAAe,GACf,sBAAsB,GACtB,aAAa,GACb,mBAAmB,GACnB,eAAe,GACf,eAAe,GACf,gBAAgB,GAChB,gBAAgB,GAChB,mBAAmB,GACnB,eAAe,GACf,YAAY,GACZ,mBAAmB,GACnB,aAAa,GACb,aAAa,GACb,aAAa,GACb,aAAa,GACb,aAAa,GACb,aAAa,GACb,aAAa,GACb,aAAa,GACb,aAAa,GACb,KAAK,CAAC;AAEV,OAAO,EAAE,GAAG,EAAE,CAAC"} \ No newline at end of file diff --git a/packages/types/dist/lib.js b/packages/types/dist/lib.js deleted file mode 100644 index 1507d2e68a91..000000000000 --- a/packages/types/dist/lib.js +++ /dev/null @@ -1,7 +0,0 @@ -"use strict"; -// THIS CODE WAS AUTOMATICALLY GENERATED -// DO NOT EDIT THIS CODE BY HAND -// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE: -// npx nx generate-lib @typescript-eslint/repo-tools -Object.defineProperty(exports, "__esModule", { value: true }); -//# sourceMappingURL=lib.js.map \ No newline at end of file diff --git a/packages/types/dist/lib.js.map b/packages/types/dist/lib.js.map deleted file mode 100644 index 23e634e79f14..000000000000 --- a/packages/types/dist/lib.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"lib.js","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":";AAAA,wCAAwC;AACxC,gCAAgC;AAChC,mEAAmE;AACnE,oDAAoD"} \ No newline at end of file diff --git a/packages/types/dist/parser-options.d.ts b/packages/types/dist/parser-options.d.ts deleted file mode 100644 index 1c83e2f347fd..000000000000 --- a/packages/types/dist/parser-options.d.ts +++ /dev/null @@ -1,72 +0,0 @@ -import type { Program } from 'typescript'; -import type { Lib } from './lib'; -type DebugLevel = ('eslint' | 'typescript-eslint' | 'typescript')[] | boolean; -type CacheDurationSeconds = number | 'Infinity'; -type EcmaVersion = 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 | 2021 | 2022 | 2023 | 2024 | 'latest' | undefined; -type SourceTypeClassic = 'module' | 'script'; -type SourceType = SourceTypeClassic | 'commonjs'; -type JSDocParsingMode = 'all' | 'none' | 'type-info'; -/** - * Granular options to configure the project service. - */ -interface ProjectServiceOptions { - /** - * Globs of files to allow running with the default project compiler options - * despite not being matched by the project service. - */ - allowDefaultProject?: string[] | undefined; - /** - * Path to a TSConfig to use instead of TypeScript's default project configuration. - */ - defaultProject?: string | undefined | null; - /** - * Maximum number of files to keep open with the project service. - */ - maximumOpenFiles?: number; - /** - * Send changes to files as diffs instead of replacing the entire files. - */ - incremental?: boolean; - /** - * The maximum number of files {@link allowDefaultProject} may match. - * Each file match slows down linting, so if you do need to use this, please - * file an informative issue on typescript-eslint explaining why - so we can - * help you avoid using it! - * @default 8 - */ - maximumDefaultProjectFileMatchCount_THIS_WILL_SLOW_DOWN_LINTING?: number; -} -interface ParserOptions { - ecmaFeatures?: { - globalReturn?: boolean | undefined; - jsx?: boolean | undefined; - [key: string]: unknown; - } | undefined; - ecmaVersion?: EcmaVersion; - jsxPragma?: string | null; - jsxFragmentName?: string | null; - lib?: Lib[]; - emitDecoratorMetadata?: boolean; - experimentalDecorators?: boolean; - debugLevel?: DebugLevel; - errorOnTypeScriptSyntacticAndSemanticIssues?: boolean; - errorOnUnknownASTType?: boolean; - extraFileExtensions?: string[]; - filePath?: string; - jsDocParsingMode?: JSDocParsingMode; - programs?: Program[] | null; - project?: string[] | string | boolean | null; - projectFolderIgnoreList?: string[]; - projectService?: boolean | ProjectServiceOptions; - range?: boolean; - sourceType?: SourceType | undefined; - tokens?: boolean; - tsconfigRootDir?: string; - warnOnUnsupportedTypeScriptVersion?: boolean; - cacheLifetime?: { - glob?: CacheDurationSeconds; - }; - [additionalProperties: string]: unknown; -} -export { CacheDurationSeconds, DebugLevel, EcmaVersion, JSDocParsingMode, ParserOptions, ProjectServiceOptions, SourceType, }; -//# sourceMappingURL=parser-options.d.ts.map \ No newline at end of file diff --git a/packages/types/dist/parser-options.d.ts.map b/packages/types/dist/parser-options.d.ts.map deleted file mode 100644 index b126b4ddb231..000000000000 --- a/packages/types/dist/parser-options.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"parser-options.d.ts","sourceRoot":"","sources":["../src/parser-options.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/types/dist/parser-options.js b/packages/types/dist/parser-options.js deleted file mode 100644 index 66f40a290d71..000000000000 --- a/packages/types/dist/parser-options.js +++ /dev/null @@ -1,3 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -//# sourceMappingURL=parser-options.js.map \ No newline at end of file diff --git a/packages/types/dist/parser-options.js.map b/packages/types/dist/parser-options.js.map deleted file mode 100644 index 22b7b8ab93f6..000000000000 --- a/packages/types/dist/parser-options.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"parser-options.js","sourceRoot":"","sources":["../src/parser-options.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/packages/types/dist/ts-estree.d.ts b/packages/types/dist/ts-estree.d.ts deleted file mode 100644 index 19cd75d140f0..000000000000 --- a/packages/types/dist/ts-estree.d.ts +++ /dev/null @@ -1,14 +0,0 @@ -import type * as TSESTree from './generated/ast-spec'; -declare module './generated/ast-spec' { - interface BaseNode { - parent: TSESTree.Node; - } - interface Program { - /** - * @remarks This never-used property exists only as a convenience for code that tries to access node parents repeatedly. - */ - parent?: never; - } -} -export * as TSESTree from './generated/ast-spec'; -//# sourceMappingURL=ts-estree.d.ts.map \ No newline at end of file diff --git a/packages/types/dist/ts-estree.d.ts.map b/packages/types/dist/ts-estree.d.ts.map deleted file mode 100644 index 03ee8f1cc472..000000000000 --- a/packages/types/dist/ts-estree.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ts-estree.d.ts","sourceRoot":"","sources":["../src/ts-estree.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,QAAQ,MAAM,sBAAsB,CAAC;AAGtD,OAAO,QAAQ,sBAAsB,CAAC;IACpC,UAAU,QAAQ;QAChB,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC;KACvB;IAED,UAAU,OAAO;QACf;;WAEG;QACH,MAAM,CAAC,EAAE,KAAK,CAAC;KAChB;CACF;AAED,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAC"} \ No newline at end of file diff --git a/packages/types/dist/ts-estree.js b/packages/types/dist/ts-estree.js deleted file mode 100644 index e0dc7c61d3e9..000000000000 --- a/packages/types/dist/ts-estree.js +++ /dev/null @@ -1,28 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.TSESTree = void 0; -exports.TSESTree = __importStar(require("./generated/ast-spec")); -//# sourceMappingURL=ts-estree.js.map \ No newline at end of file diff --git a/packages/types/dist/ts-estree.js.map b/packages/types/dist/ts-estree.js.map deleted file mode 100644 index e5b35fae2da1..000000000000 --- a/packages/types/dist/ts-estree.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ts-estree.js","sourceRoot":"","sources":["../src/ts-estree.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA,iEAAiD"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/ast-converter.d.ts b/packages/typescript-estree/dist/ast-converter.d.ts deleted file mode 100644 index 3c812c655b30..000000000000 --- a/packages/typescript-estree/dist/ast-converter.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -import type { SourceFile } from 'typescript'; -import type { ASTMaps } from './convert'; -import type { ParseSettings } from './parseSettings'; -import type { TSESTree } from './ts-estree'; -export declare function astConverter(ast: SourceFile, parseSettings: ParseSettings, shouldPreserveNodeMaps: boolean): { - estree: TSESTree.Program; - astMaps: ASTMaps; -}; -//# sourceMappingURL=ast-converter.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/ast-converter.d.ts.map b/packages/typescript-estree/dist/ast-converter.d.ts.map deleted file mode 100644 index 94b20cd8a501..000000000000 --- a/packages/typescript-estree/dist/ast-converter.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ast-converter.d.ts","sourceRoot":"","sources":["../src/ast-converter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,wBAAgB,YAAY,CAC1B,GAAG,EAAE,UAAU,EACf,aAAa,EAAE,aAAa,EAC5B,sBAAsB,EAAE,OAAO,GAC9B;IAAE,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CA4DhD"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/ast-converter.js b/packages/typescript-estree/dist/ast-converter.js deleted file mode 100644 index 42b325f3a302..000000000000 --- a/packages/typescript-estree/dist/ast-converter.js +++ /dev/null @@ -1,62 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.astConverter = void 0; -const convert_1 = require("./convert"); -const convert_comments_1 = require("./convert-comments"); -const node_utils_1 = require("./node-utils"); -const simple_traverse_1 = require("./simple-traverse"); -function astConverter(ast, parseSettings, shouldPreserveNodeMaps) { - /** - * The TypeScript compiler produced fundamental parse errors when parsing the - * source. - */ - const { parseDiagnostics } = ast; - if (parseDiagnostics.length) { - throw (0, convert_1.convertError)(parseDiagnostics[0]); - } - /** - * Recursively convert the TypeScript AST into an ESTree-compatible AST - */ - const instance = new convert_1.Converter(ast, { - allowInvalidAST: parseSettings.allowInvalidAST, - errorOnUnknownASTType: parseSettings.errorOnUnknownASTType, - shouldPreserveNodeMaps, - suppressDeprecatedPropertyWarnings: parseSettings.suppressDeprecatedPropertyWarnings, - }); - const estree = instance.convertProgram(); - /** - * Optionally remove range and loc if specified - */ - if (!parseSettings.range || !parseSettings.loc) { - (0, simple_traverse_1.simpleTraverse)(estree, { - enter: node => { - if (!parseSettings.range) { - // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- TS 4.0 made this an error because the types aren't optional - // @ts-expect-error - delete node.range; - } - if (!parseSettings.loc) { - // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- TS 4.0 made this an error because the types aren't optional - // @ts-expect-error - delete node.loc; - } - }, - }); - } - /** - * Optionally convert and include all tokens in the AST - */ - if (parseSettings.tokens) { - estree.tokens = (0, node_utils_1.convertTokens)(ast); - } - /** - * Optionally convert and include all comments in the AST - */ - if (parseSettings.comment) { - estree.comments = (0, convert_comments_1.convertComments)(ast, parseSettings.codeFullText); - } - const astMaps = instance.getASTMaps(); - return { estree, astMaps }; -} -exports.astConverter = astConverter; -//# sourceMappingURL=ast-converter.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/ast-converter.js.map b/packages/typescript-estree/dist/ast-converter.js.map deleted file mode 100644 index 5f9e74e588a4..000000000000 --- a/packages/typescript-estree/dist/ast-converter.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ast-converter.js","sourceRoot":"","sources":["../src/ast-converter.ts"],"names":[],"mappings":";;;AAGA,uCAAoD;AACpD,yDAAqD;AACrD,6CAA6C;AAE7C,uDAAmD;AAGnD,SAAgB,YAAY,CAC1B,GAAe,EACf,aAA4B,EAC5B,sBAA+B;IAE/B;;;OAGG;IACH,MAAM,EAAE,gBAAgB,EAAE,GAAG,GAAG,CAAC;IACjC,IAAI,gBAAgB,CAAC,MAAM,EAAE,CAAC;QAC5B,MAAM,IAAA,sBAAY,EAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,MAAM,QAAQ,GAAG,IAAI,mBAAS,CAAC,GAAG,EAAE;QAClC,eAAe,EAAE,aAAa,CAAC,eAAe;QAC9C,qBAAqB,EAAE,aAAa,CAAC,qBAAqB;QAC1D,sBAAsB;QACtB,kCAAkC,EAChC,aAAa,CAAC,kCAAkC;KACnD,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,QAAQ,CAAC,cAAc,EAAE,CAAC;IAEzC;;OAEG;IACH,IAAI,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;QAC/C,IAAA,gCAAc,EAAC,MAAM,EAAE;YACrB,KAAK,EAAE,IAAI,CAAC,EAAE;gBACZ,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;oBACzB,4HAA4H;oBAC5H,mBAAmB;oBACnB,OAAO,IAAI,CAAC,KAAK,CAAC;gBACpB,CAAC;gBACD,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;oBACvB,4HAA4H;oBAC5H,mBAAmB;oBACnB,OAAO,IAAI,CAAC,GAAG,CAAC;gBAClB,CAAC;YACH,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;QACzB,MAAM,CAAC,MAAM,GAAG,IAAA,0BAAa,EAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;QAC1B,MAAM,CAAC,QAAQ,GAAG,IAAA,kCAAe,EAAC,GAAG,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAC;IAEtC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAC7B,CAAC;AAhED,oCAgEC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/clear-caches.d.ts b/packages/typescript-estree/dist/clear-caches.d.ts deleted file mode 100644 index 184570245898..000000000000 --- a/packages/typescript-estree/dist/clear-caches.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -/** - * Clears all of the internal caches. - * Generally you shouldn't need or want to use this. - * Examples of intended uses: - * - In tests to reset parser state to keep tests isolated. - * - In custom lint tooling that iteratively lints one project at a time to prevent OOMs. - */ -export declare function clearCaches(): void; -export declare const clearProgramCache: typeof clearCaches; -//# sourceMappingURL=clear-caches.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/clear-caches.d.ts.map b/packages/typescript-estree/dist/clear-caches.d.ts.map deleted file mode 100644 index eeec191b4cce..000000000000 --- a/packages/typescript-estree/dist/clear-caches.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"clear-caches.d.ts","sourceRoot":"","sources":["../src/clear-caches.ts"],"names":[],"mappings":"AAWA;;;;;;GAMG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAOlC;AAGD,eAAO,MAAM,iBAAiB,oBAAc,CAAC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/clear-caches.js b/packages/typescript-estree/dist/clear-caches.js deleted file mode 100644 index bf305e768234..000000000000 --- a/packages/typescript-estree/dist/clear-caches.js +++ /dev/null @@ -1,26 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.clearProgramCache = exports.clearCaches = void 0; -const getWatchProgramsForProjects_1 = require("./create-program/getWatchProgramsForProjects"); -const parser_1 = require("./parser"); -const createParseSettings_1 = require("./parseSettings/createParseSettings"); -const resolveProjectList_1 = require("./parseSettings/resolveProjectList"); -/** - * Clears all of the internal caches. - * Generally you shouldn't need or want to use this. - * Examples of intended uses: - * - In tests to reset parser state to keep tests isolated. - * - In custom lint tooling that iteratively lints one project at a time to prevent OOMs. - */ -function clearCaches() { - (0, parser_1.clearDefaultProjectMatchedFiles)(); - (0, parser_1.clearProgramCache)(); - (0, getWatchProgramsForProjects_1.clearWatchCaches)(); - (0, createParseSettings_1.clearTSConfigMatchCache)(); - (0, createParseSettings_1.clearTSServerProjectService)(); - (0, resolveProjectList_1.clearGlobCache)(); -} -exports.clearCaches = clearCaches; -// TODO - delete this in next major -exports.clearProgramCache = clearCaches; -//# sourceMappingURL=clear-caches.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/clear-caches.js.map b/packages/typescript-estree/dist/clear-caches.js.map deleted file mode 100644 index 44ce272807cd..000000000000 --- a/packages/typescript-estree/dist/clear-caches.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"clear-caches.js","sourceRoot":"","sources":["../src/clear-caches.ts"],"names":[],"mappings":";;;AAAA,8FAAgF;AAChF,qCAGkB;AAClB,6EAG6C;AAC7C,2EAAoE;AAEpE;;;;;;GAMG;AACH,SAAgB,WAAW;IACzB,IAAA,wCAA+B,GAAE,CAAC;IAClC,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;AAPD,kCAOC;AAED,mCAAmC;AACtB,QAAA,iBAAiB,GAAG,WAAW,CAAC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/convert-comments.d.ts b/packages/typescript-estree/dist/convert-comments.d.ts deleted file mode 100644 index bdf936910a72..000000000000 --- a/packages/typescript-estree/dist/convert-comments.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import * as ts from 'typescript'; -import type { TSESTree } from './ts-estree'; -/** - * Convert all comments for the given AST. - * @param ast the AST object - * @param code the TypeScript code - * @returns the converted ESTreeComment - * @private - */ -export declare function convertComments(ast: ts.SourceFile, code: string): TSESTree.Comment[]; -//# sourceMappingURL=convert-comments.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/convert-comments.d.ts.map b/packages/typescript-estree/dist/convert-comments.d.ts.map deleted file mode 100644 index 68878b68b7d0..000000000000 --- a/packages/typescript-estree/dist/convert-comments.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"convert-comments.d.ts","sourceRoot":"","sources":["../src/convert-comments.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAGjC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAG5C;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,EAAE,CAAC,UAAU,EAClB,IAAI,EAAE,MAAM,GACX,QAAQ,CAAC,OAAO,EAAE,CAgCpB"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/convert-comments.js b/packages/typescript-estree/dist/convert-comments.js deleted file mode 100644 index 17e425a003a2..000000000000 --- a/packages/typescript-estree/dist/convert-comments.js +++ /dev/null @@ -1,63 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.convertComments = void 0; -const tsutils = __importStar(require("ts-api-utils")); -const ts = __importStar(require("typescript")); -const node_utils_1 = require("./node-utils"); -const ts_estree_1 = require("./ts-estree"); -/** - * Convert all comments for the given AST. - * @param ast the AST object - * @param code the TypeScript code - * @returns the converted ESTreeComment - * @private - */ -function convertComments(ast, code) { - const comments = []; - tsutils.forEachComment(ast, (_, comment) => { - const type = comment.kind === ts.SyntaxKind.SingleLineCommentTrivia - ? ts_estree_1.AST_TOKEN_TYPES.Line - : ts_estree_1.AST_TOKEN_TYPES.Block; - const range = [comment.pos, comment.end]; - const loc = (0, node_utils_1.getLocFor)(range, ast); - // both comments start with 2 characters - /* or // - const textStart = range[0] + 2; - const textEnd = comment.kind === ts.SyntaxKind.SingleLineCommentTrivia - ? // single line comments end at the end - range[1] - textStart - : // multiline comments end 2 characters early - range[1] - textStart - 2; - comments.push({ - type, - value: code.slice(textStart, textStart + textEnd), - range, - loc, - }); - }, ast); - return comments; -} -exports.convertComments = convertComments; -//# sourceMappingURL=convert-comments.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/convert-comments.js.map b/packages/typescript-estree/dist/convert-comments.js.map deleted file mode 100644 index d62c2d5d8733..000000000000 --- a/packages/typescript-estree/dist/convert-comments.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"convert-comments.js","sourceRoot":"","sources":["../src/convert-comments.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sDAAwC;AACxC,+CAAiC;AAEjC,6CAAyC;AAEzC,2CAA8C;AAE9C;;;;;;GAMG;AACH,SAAgB,eAAe,CAC7B,GAAkB,EAClB,IAAY;IAEZ,MAAM,QAAQ,GAAuB,EAAE,CAAC;IAExC,OAAO,CAAC,cAAc,CACpB,GAAG,EACH,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE;QACb,MAAM,IAAI,GACR,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,uBAAuB;YACpD,CAAC,CAAC,2BAAe,CAAC,IAAI;YACtB,CAAC,CAAC,2BAAe,CAAC,KAAK,CAAC;QAC5B,MAAM,KAAK,GAAmB,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QACzD,MAAM,GAAG,GAAG,IAAA,sBAAS,EAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAElC,mDAAmD;QACnD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,OAAO,GACX,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,uBAAuB;YACpD,CAAC,CAAC,sCAAsC;gBACtC,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS;YACtB,CAAC,CAAC,4CAA4C;gBAC5C,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC;QAC/B,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI;YACJ,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC;YACjD,KAAK;YACL,GAAG;SACJ,CAAC,CAAC;IACL,CAAC,EACD,GAAG,CACJ,CAAC;IAEF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAnCD,0CAmCC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/convert.d.ts b/packages/typescript-estree/dist/convert.d.ts deleted file mode 100644 index f4cfdf34ac9f..000000000000 --- a/packages/typescript-estree/dist/convert.d.ts +++ /dev/null @@ -1,137 +0,0 @@ -import * as ts from 'typescript'; -import type { TSError } from './node-utils'; -import type { ParserWeakMap, ParserWeakMapESTreeToTSNode } from './parser-options'; -import type { SemanticOrSyntacticError } from './semantic-or-syntactic-errors'; -import type { TSESTree, TSNode } from './ts-estree'; -export interface ConverterOptions { - allowInvalidAST?: boolean; - errorOnUnknownASTType?: boolean; - shouldPreserveNodeMaps?: boolean; - suppressDeprecatedPropertyWarnings?: boolean; -} -/** - * Extends and formats a given error object - * @param error the error object - * @returns converted error object - */ -export declare function convertError(error: SemanticOrSyntacticError | ts.DiagnosticWithLocation): TSError; -export interface ASTMaps { - esTreeNodeToTSNodeMap: ParserWeakMapESTreeToTSNode; - tsNodeToESTreeNodeMap: ParserWeakMap; -} -export declare class Converter { - #private; - private readonly ast; - private readonly options; - private readonly esTreeNodeToTSNodeMap; - private readonly tsNodeToESTreeNodeMap; - private allowPattern; - /** - * Converts a TypeScript node into an ESTree node - * @param ast the full TypeScript AST - * @param options additional options for the conversion - * @returns the converted ESTreeNode - */ - constructor(ast: ts.SourceFile, options?: ConverterOptions); - getASTMaps(): ASTMaps; - convertProgram(): TSESTree.Program; - /** - * Converts a TypeScript node into an ESTree node. - * @param node the child ts.Node - * @param parent parentNode - * @param allowPattern flag to determine if patterns are allowed - * @returns the converted ESTree node - */ - private converter; - /** - * Fixes the exports of the given ts.Node - * @returns the ESTreeNode with fixed exports - */ - private fixExports; - /** - * Register specific TypeScript node into map with first ESTree node provided - */ - private registerTSNodeInNodeMap; - /** - * Converts a TypeScript node into an ESTree node. - * @param child the child ts.Node - * @param parent parentNode - * @returns the converted ESTree node - */ - private convertPattern; - /** - * Converts a TypeScript node into an ESTree node. - * @param child the child ts.Node - * @param parent parentNode - * @returns the converted ESTree node - */ - private convertChild; - private createNode; - private convertBindingNameWithTypeAnnotation; - /** - * Converts a child into a type annotation. This creates an intermediary - * TypeAnnotation node to match what Flow does. - * @param child The TypeScript AST node to convert. - * @param parent parentNode - * @returns The type annotation node. - */ - private convertTypeAnnotation; - /** - * Coverts body Nodes and add a directive field to StringLiterals - * @param nodes of ts.Node - * @param parent parentNode - * @returns Array of body statements - */ - private convertBodyExpressions; - /** - * Converts a ts.Node's typeArguments to TSTypeParameterInstantiation node - * @param typeArguments ts.NodeArray typeArguments - * @param node parent used to create this node - * @returns TypeParameterInstantiation node - */ - private convertTypeArgumentsToTypeParameterInstantiation; - /** - * Converts a ts.Node's typeParameters to TSTypeParameterDeclaration node - * @param typeParameters ts.Node typeParameters - * @returns TypeParameterDeclaration node - */ - private convertTSTypeParametersToTypeParametersDeclaration; - /** - * Converts an array of ts.Node parameters into an array of ESTreeNode params - * @param parameters An array of ts.Node params to be converted - * @returns an array of converted ESTreeNode params - */ - private convertParameters; - private convertChainExpression; - /** - * For nodes that are copied directly from the TypeScript AST into - * ESTree mostly as-is. The only difference is the addition of a type - * property instead of a kind property. Recursively copies all children. - */ - private deeplyCopy; - private convertJSXIdentifier; - private convertJSXNamespaceOrIdentifier; - /** - * Converts a TypeScript JSX node.tagName into an ESTree node.name - * @param node the tagName object from a JSX ts.Node - * @returns the converted ESTree name object - */ - private convertJSXTagName; - private convertMethodSignature; - private convertImportAttributes; - /** - * Uses the provided range location to adjust the location data of the given Node - * @param result The node that will have its location data mutated - * @param childRange The child node range used to expand location - */ - private fixParentLocation; - private assertModuleSpecifier; - /** - * Converts a TypeScript node into an ESTree node. - * The core of the conversion logic: - * Identify and convert each relevant TypeScript SyntaxKind - * @returns the converted ESTree node - */ - private convertNode; -} -//# sourceMappingURL=convert.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/convert.d.ts.map b/packages/typescript-estree/dist/convert.d.ts.map deleted file mode 100644 index 3a22a2a2e1f8..000000000000 --- a/packages/typescript-estree/dist/convert.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../src/convert.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAGjC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AA6B5C,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;AAKtE,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;AAED,qBAAa,SAAS;;IACpB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAgB;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;IAC3C,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAiB;IACvD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAiB;IAEvD,OAAO,CAAC,YAAY,CAAS;IAE7B;;;;;OAKG;gBACS,GAAG,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,gBAAgB;IAK1D,UAAU,IAAI,OAAO;IAOrB,cAAc,IAAI,QAAQ,CAAC,OAAO;IAIlC;;;;;;OAMG;IACH,OAAO,CAAC,SAAS;IA8BjB;;;OAGG;IACH,OAAO,CAAC,UAAU;IAiFlB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAW/B;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAItB;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,UAAU;IAelB,OAAO,CAAC,oCAAoC;IAe5C;;;;;;OAMG;IACH,OAAO,CAAC,qBAAqB;IAsB7B;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB;IAiC9B;;;;;OAKG;IACH,OAAO,CAAC,gDAAgD;IAexD;;;;OAIG;IACH,OAAO,CAAC,kDAAkD;IAmB1D;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,sBAAsB;IA4C9B;;;;OAIG;IACH,OAAO,CAAC,UAAU;IA0FlB,OAAO,CAAC,oBAAoB;IAW5B,OAAO,CAAC,+BAA+B;IAiDvC;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IA8BzB,OAAO,CAAC,sBAAsB;IAoC9B,OAAO,CAAC,uBAAuB;IAQ/B;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAczB,OAAO,CAAC,qBAAqB;IAsB7B;;;;;OAKG;IACH,OAAO,CAAC,WAAW;CA2vFpB"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/convert.js b/packages/typescript-estree/dist/convert.js deleted file mode 100644 index ffefc6bc5fb2..000000000000 --- a/packages/typescript-estree/dist/convert.js +++ /dev/null @@ -1,2609 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Converter = exports.convertError = void 0; -// There's lots of funny stuff due to the typing of ts.Node -/* eslint-disable @typescript-eslint/no-non-null-assertion, @typescript-eslint/no-unnecessary-condition, @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-member-access */ -const ts = __importStar(require("typescript")); -const getModifiers_1 = require("./getModifiers"); -const node_utils_1 = require("./node-utils"); -const ts_estree_1 = require("./ts-estree"); -const SyntaxKind = ts.SyntaxKind; -/** - * Extends and formats a given error object - * @param error the error object - * @returns converted error object - */ -function convertError(error) { - return (0, node_utils_1.createError)(('message' in error && error.message) || error.messageText, error.file, error.start); -} -exports.convertError = convertError; -class Converter { - ast; - options; - esTreeNodeToTSNodeMap = new WeakMap(); - tsNodeToESTreeNodeMap = new WeakMap(); - allowPattern = false; - /** - * Converts a TypeScript node into an ESTree node - * @param ast the full TypeScript AST - * @param options additional options for the conversion - * @returns the converted ESTreeNode - */ - constructor(ast, options) { - this.ast = ast; - this.options = { ...options }; - } - getASTMaps() { - return { - esTreeNodeToTSNodeMap: this.esTreeNodeToTSNodeMap, - tsNodeToESTreeNodeMap: this.tsNodeToESTreeNodeMap, - }; - } - convertProgram() { - return this.converter(this.ast); - } - /** - * Converts a TypeScript node into an ESTree node. - * @param node the child ts.Node - * @param parent parentNode - * @param allowPattern flag to determine if patterns are allowed - * @returns the converted ESTree node - */ - converter(node, parent, allowPattern) { - /** - * Exit early for null and undefined - */ - if (!node) { - return null; - } - this.#checkModifiers(node); - const pattern = this.allowPattern; - if (allowPattern !== undefined) { - this.allowPattern = allowPattern; - } - const result = this.convertNode(node, (parent ?? node.parent)); - this.registerTSNodeInNodeMap(node, result); - this.allowPattern = pattern; - return result; - } - /** - * Fixes the exports of the given ts.Node - * @returns the ESTreeNode with fixed exports - */ - fixExports(node, result) { - const isNamespaceNode = ts.isModuleDeclaration(node) && - Boolean(node.flags & ts.NodeFlags.Namespace); - const modifiers = isNamespaceNode - ? (0, node_utils_1.getNamespaceModifiers)(node) - : (0, getModifiers_1.getModifiers)(node); - if (modifiers?.[0].kind === SyntaxKind.ExportKeyword) { - /** - * Make sure that original node is registered instead of export - */ - this.registerTSNodeInNodeMap(node, result); - const exportKeyword = modifiers[0]; - const nextModifier = modifiers[1]; - const declarationIsDefault = nextModifier?.kind === SyntaxKind.DefaultKeyword; - const varToken = declarationIsDefault - ? (0, node_utils_1.findNextToken)(nextModifier, this.ast, this.ast) - : (0, node_utils_1.findNextToken)(exportKeyword, this.ast, this.ast); - result.range[0] = varToken.getStart(this.ast); - result.loc = (0, node_utils_1.getLocFor)(result.range, this.ast); - if (declarationIsDefault) { - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.ExportDefaultDeclaration, - declaration: result, - range: [exportKeyword.getStart(this.ast), result.range[1]], - exportKind: 'value', - }); - } - const isType = result.type === ts_estree_1.AST_NODE_TYPES.TSInterfaceDeclaration || - result.type === ts_estree_1.AST_NODE_TYPES.TSTypeAliasDeclaration; - const isDeclare = 'declare' in result && result.declare; - return this.createNode(node, - // @ts-expect-error - TODO, narrow the types here - this.#withDeprecatedAliasGetter({ - type: ts_estree_1.AST_NODE_TYPES.ExportNamedDeclaration, - declaration: result, - specifiers: [], - source: null, - exportKind: isType || isDeclare ? 'type' : 'value', - range: [exportKeyword.getStart(this.ast), result.range[1]], - attributes: [], - }, 'assertions', 'attributes', true)); - } - return result; - } - /** - * Register specific TypeScript node into map with first ESTree node provided - */ - registerTSNodeInNodeMap(node, result) { - if (result && this.options.shouldPreserveNodeMaps) { - if (!this.tsNodeToESTreeNodeMap.has(node)) { - this.tsNodeToESTreeNodeMap.set(node, result); - } - } - } - /** - * Converts a TypeScript node into an ESTree node. - * @param child the child ts.Node - * @param parent parentNode - * @returns the converted ESTree node - */ - convertPattern(child, parent) { - return this.converter(child, parent, true); - } - /** - * Converts a TypeScript node into an ESTree node. - * @param child the child ts.Node - * @param parent parentNode - * @returns the converted ESTree node - */ - convertChild(child, parent) { - return this.converter(child, parent, false); - } - createNode( - // The 'parent' property will be added later if specified - node, data) { - const result = data; - result.range ??= (0, node_utils_1.getRange)(node, this.ast); - result.loc ??= (0, node_utils_1.getLocFor)(result.range, this.ast); - if (result && this.options.shouldPreserveNodeMaps) { - this.esTreeNodeToTSNodeMap.set(result, node); - } - return result; - } - convertBindingNameWithTypeAnnotation(name, tsType, parent) { - const id = this.convertPattern(name); - if (tsType) { - id.typeAnnotation = this.convertTypeAnnotation(tsType, parent); - this.fixParentLocation(id, id.typeAnnotation.range); - } - return id; - } - /** - * Converts a child into a type annotation. This creates an intermediary - * TypeAnnotation node to match what Flow does. - * @param child The TypeScript AST node to convert. - * @param parent parentNode - * @returns The type annotation node. - */ - convertTypeAnnotation(child, parent) { - // in FunctionType and ConstructorType typeAnnotation has 2 characters `=>` and in other places is just colon - const offset = parent?.kind === SyntaxKind.FunctionType || - parent?.kind === SyntaxKind.ConstructorType - ? 2 - : 1; - const annotationStartCol = child.getFullStart() - offset; - const range = [annotationStartCol, child.end]; - const loc = (0, node_utils_1.getLocFor)(range, this.ast); - return { - type: ts_estree_1.AST_NODE_TYPES.TSTypeAnnotation, - loc, - range, - typeAnnotation: this.convertChild(child), - }; - } - /** - * Coverts body Nodes and add a directive field to StringLiterals - * @param nodes of ts.Node - * @param parent parentNode - * @returns Array of body statements - */ - convertBodyExpressions(nodes, parent) { - let allowDirectives = (0, node_utils_1.canContainDirective)(parent); - return (nodes - .map(statement => { - const child = this.convertChild(statement); - if (allowDirectives) { - if (child?.expression && - ts.isExpressionStatement(statement) && - ts.isStringLiteral(statement.expression)) { - const raw = child.expression.raw; - child.directive = raw.slice(1, -1); - return child; // child can be null, but it's filtered below - } - allowDirectives = false; - } - return child; // child can be null, but it's filtered below - }) - // filter out unknown nodes for now - .filter(statement => statement)); - } - /** - * Converts a ts.Node's typeArguments to TSTypeParameterInstantiation node - * @param typeArguments ts.NodeArray typeArguments - * @param node parent used to create this node - * @returns TypeParameterInstantiation node - */ - convertTypeArgumentsToTypeParameterInstantiation(typeArguments, node) { - const greaterThanToken = (0, node_utils_1.findNextToken)(typeArguments, this.ast, this.ast); - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.TSTypeParameterInstantiation, - range: [typeArguments.pos - 1, greaterThanToken.end], - params: typeArguments.map(typeArgument => this.convertChild(typeArgument)), - }); - } - /** - * Converts a ts.Node's typeParameters to TSTypeParameterDeclaration node - * @param typeParameters ts.Node typeParameters - * @returns TypeParameterDeclaration node - */ - convertTSTypeParametersToTypeParametersDeclaration(typeParameters) { - const greaterThanToken = (0, node_utils_1.findNextToken)(typeParameters, this.ast, this.ast); - const range = [ - typeParameters.pos - 1, - greaterThanToken.end, - ]; - return { - type: ts_estree_1.AST_NODE_TYPES.TSTypeParameterDeclaration, - range, - loc: (0, node_utils_1.getLocFor)(range, this.ast), - params: typeParameters.map(typeParameter => this.convertChild(typeParameter)), - }; - } - /** - * Converts an array of ts.Node parameters into an array of ESTreeNode params - * @param parameters An array of ts.Node params to be converted - * @returns an array of converted ESTreeNode params - */ - convertParameters(parameters) { - if (!parameters?.length) { - return []; - } - return parameters.map(param => { - const convertedParam = this.convertChild(param); - convertedParam.decorators = - (0, getModifiers_1.getDecorators)(param)?.map(el => this.convertChild(el)) ?? []; - return convertedParam; - }); - } - convertChainExpression(node, tsNode) { - const { child, isOptional } = (() => { - if (node.type === ts_estree_1.AST_NODE_TYPES.MemberExpression) { - return { child: node.object, isOptional: node.optional }; - } - if (node.type === ts_estree_1.AST_NODE_TYPES.CallExpression) { - return { child: node.callee, isOptional: node.optional }; - } - return { child: node.expression, isOptional: false }; - })(); - const isChildUnwrappable = (0, node_utils_1.isChildUnwrappableOptionalChain)(tsNode, child); - if (!isChildUnwrappable && !isOptional) { - return node; - } - if (isChildUnwrappable && (0, node_utils_1.isChainExpression)(child)) { - // unwrap the chain expression child - const newChild = child.expression; - if (node.type === ts_estree_1.AST_NODE_TYPES.MemberExpression) { - node.object = newChild; - } - else if (node.type === ts_estree_1.AST_NODE_TYPES.CallExpression) { - node.callee = newChild; - } - else { - node.expression = newChild; - } - } - return this.createNode(tsNode, { - type: ts_estree_1.AST_NODE_TYPES.ChainExpression, - expression: node, - }); - } - /** - * For nodes that are copied directly from the TypeScript AST into - * ESTree mostly as-is. The only difference is the addition of a type - * property instead of a kind property. Recursively copies all children. - */ - deeplyCopy(node) { - if (node.kind === ts.SyntaxKind.JSDocFunctionType) { - this.#throwError(node, 'JSDoc types can only be used inside documentation comments.'); - } - const customType = `TS${SyntaxKind[node.kind]}`; - /** - * If the "errorOnUnknownASTType" option is set to true, throw an error, - * otherwise fallback to just including the unknown type as-is. - */ - if (this.options.errorOnUnknownASTType && !ts_estree_1.AST_NODE_TYPES[customType]) { - throw new Error(`Unknown AST_NODE_TYPE: "${customType}"`); - } - const result = this.createNode(node, { - type: customType, - }); - if ('type' in node) { - result.typeAnnotation = - node.type && 'kind' in node.type && ts.isTypeNode(node.type) - ? this.convertTypeAnnotation(node.type, node) - : null; - } - if ('typeArguments' in node) { - result.typeArguments = - node.typeArguments && 'pos' in node.typeArguments - ? this.convertTypeArgumentsToTypeParameterInstantiation(node.typeArguments, node) - : null; - } - if ('typeParameters' in node) { - result.typeParameters = - node.typeParameters && 'pos' in node.typeParameters - ? this.convertTSTypeParametersToTypeParametersDeclaration(node.typeParameters) - : null; - } - const decorators = (0, getModifiers_1.getDecorators)(node); - if (decorators?.length) { - result.decorators = decorators.map(el => this.convertChild(el)); - } - // keys we never want to clone from the base typescript node as they - // introduce garbage into our AST - const KEYS_TO_NOT_COPY = new Set([ - '_children', - 'decorators', - 'end', - 'flags', - 'illegalDecorators', - 'heritageClauses', - 'locals', - 'localSymbol', - 'jsDoc', - 'kind', - 'modifierFlagsCache', - 'modifiers', - 'nextContainer', - 'parent', - 'pos', - 'symbol', - 'transformFlags', - 'type', - 'typeArguments', - 'typeParameters', - ]); - Object.entries(node) - .filter(([key]) => !KEYS_TO_NOT_COPY.has(key)) - .forEach(([key, value]) => { - if (Array.isArray(value)) { - result[key] = value.map(el => this.convertChild(el)); - } - else if (value && typeof value === 'object' && value.kind) { - // need to check node[key].kind to ensure we don't try to convert a symbol - result[key] = this.convertChild(value); - } - else { - result[key] = value; - } - }); - return result; - } - convertJSXIdentifier(node) { - const result = this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.JSXIdentifier, - name: node.getText(), - }); - this.registerTSNodeInNodeMap(node, result); - return result; - } - convertJSXNamespaceOrIdentifier(node) { - // TypeScript@5.1 added in ts.JsxNamespacedName directly - // We prefer using that if it's relevant for this node type - if (node.kind === ts.SyntaxKind.JsxNamespacedName) { - const result = this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.JSXNamespacedName, - namespace: this.createNode(node.namespace, { - type: ts_estree_1.AST_NODE_TYPES.JSXIdentifier, - name: node.namespace.text, - }), - name: this.createNode(node.name, { - type: ts_estree_1.AST_NODE_TYPES.JSXIdentifier, - name: node.name.text, - }), - }); - this.registerTSNodeInNodeMap(node, result); - return result; - } - // TypeScript@<5.1 has to manually parse the JSX attributes - const text = node.getText(); - const colonIndex = text.indexOf(':'); - // this is intentional we can ignore conversion if `:` is in first character - if (colonIndex > 0) { - const range = (0, node_utils_1.getRange)(node, this.ast); - // @ts-expect-error -- TypeScript@<5.1 doesn't have ts.JsxNamespacedName - const result = this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.JSXNamespacedName, - namespace: this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.JSXIdentifier, - name: text.slice(0, colonIndex), - range: [range[0], range[0] + colonIndex], - }), - name: this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.JSXIdentifier, - name: text.slice(colonIndex + 1), - range: [range[0] + colonIndex + 1, range[1]], - }), - range, - }); - this.registerTSNodeInNodeMap(node, result); - return result; - } - return this.convertJSXIdentifier(node); - } - /** - * Converts a TypeScript JSX node.tagName into an ESTree node.name - * @param node the tagName object from a JSX ts.Node - * @returns the converted ESTree name object - */ - convertJSXTagName(node, parent) { - let result; - switch (node.kind) { - case SyntaxKind.PropertyAccessExpression: - if (node.name.kind === SyntaxKind.PrivateIdentifier) { - // This is one of the few times where TS explicitly errors, and doesn't even gracefully handle the syntax. - // So we shouldn't ever get into this state to begin with. - this.#throwError(node.name, 'Non-private identifier expected.'); - } - result = this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.JSXMemberExpression, - object: this.convertJSXTagName(node.expression, parent), - property: this.convertJSXIdentifier(node.name), - }); - break; - case SyntaxKind.ThisKeyword: - case SyntaxKind.Identifier: - default: - return this.convertJSXNamespaceOrIdentifier(node); - } - this.registerTSNodeInNodeMap(node, result); - return result; - } - convertMethodSignature(node) { - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.TSMethodSignature, - accessibility: (0, node_utils_1.getTSNodeAccessibility)(node), - computed: (0, node_utils_1.isComputedProperty)(node.name), - key: this.convertChild(node.name), - kind: (() => { - switch (node.kind) { - case SyntaxKind.GetAccessor: - return 'get'; - case SyntaxKind.SetAccessor: - return 'set'; - case SyntaxKind.MethodSignature: - return 'method'; - } - })(), - optional: (0, node_utils_1.isOptional)(node), - params: this.convertParameters(node.parameters), - returnType: node.type && this.convertTypeAnnotation(node.type, node), - readonly: (0, node_utils_1.hasModifier)(SyntaxKind.ReadonlyKeyword, node), - static: (0, node_utils_1.hasModifier)(SyntaxKind.StaticKeyword, node), - typeParameters: node.typeParameters && - this.convertTSTypeParametersToTypeParametersDeclaration(node.typeParameters), - }); - } - convertImportAttributes(node) { - return node === undefined - ? [] - : node.elements.map(element => this.convertChild(element)); - } - /** - * Uses the provided range location to adjust the location data of the given Node - * @param result The node that will have its location data mutated - * @param childRange The child node range used to expand location - */ - fixParentLocation(result, childRange) { - if (childRange[0] < result.range[0]) { - result.range[0] = childRange[0]; - result.loc.start = (0, node_utils_1.getLineAndCharacterFor)(result.range[0], this.ast); - } - if (childRange[1] > result.range[1]) { - result.range[1] = childRange[1]; - result.loc.end = (0, node_utils_1.getLineAndCharacterFor)(result.range[1], this.ast); - } - } - assertModuleSpecifier(node, allowNull) { - if (!allowNull && node.moduleSpecifier == null) { - this.#throwUnlessAllowInvalidAST(node, 'Module specifier must be a string literal.'); - } - if (node.moduleSpecifier && - node.moduleSpecifier?.kind !== SyntaxKind.StringLiteral) { - this.#throwUnlessAllowInvalidAST(node.moduleSpecifier, 'Module specifier must be a string literal.'); - } - } - /** - * Converts a TypeScript node into an ESTree node. - * The core of the conversion logic: - * Identify and convert each relevant TypeScript SyntaxKind - * @returns the converted ESTree node - */ - convertNode(node, parent) { - switch (node.kind) { - case SyntaxKind.SourceFile: { - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.Program, - body: this.convertBodyExpressions(node.statements, node), - comments: undefined, - range: [node.getStart(this.ast), node.endOfFileToken.end], - sourceType: node.externalModuleIndicator ? 'module' : 'script', - tokens: undefined, - }); - } - case SyntaxKind.Block: { - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.BlockStatement, - body: this.convertBodyExpressions(node.statements, node), - }); - } - case SyntaxKind.Identifier: { - if ((0, node_utils_1.isThisInTypeQuery)(node)) { - // special case for `typeof this.foo` - TS emits an Identifier for `this` - // but we want to treat it as a ThisExpression for consistency - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.ThisExpression, - }); - } - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.Identifier, - decorators: [], - name: node.text, - optional: false, - typeAnnotation: undefined, - }); - } - case SyntaxKind.PrivateIdentifier: { - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.PrivateIdentifier, - // typescript includes the `#` in the text - name: node.text.slice(1), - }); - } - case SyntaxKind.WithStatement: - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.WithStatement, - object: this.convertChild(node.expression), - body: this.convertChild(node.statement), - }); - // Control Flow - case SyntaxKind.ReturnStatement: - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.ReturnStatement, - argument: this.convertChild(node.expression), - }); - case SyntaxKind.LabeledStatement: - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.LabeledStatement, - label: this.convertChild(node.label), - body: this.convertChild(node.statement), - }); - case SyntaxKind.ContinueStatement: - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.ContinueStatement, - label: this.convertChild(node.label), - }); - case SyntaxKind.BreakStatement: - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.BreakStatement, - label: this.convertChild(node.label), - }); - // Choice - case SyntaxKind.IfStatement: - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.IfStatement, - test: this.convertChild(node.expression), - consequent: this.convertChild(node.thenStatement), - alternate: this.convertChild(node.elseStatement), - }); - case SyntaxKind.SwitchStatement: - if (node.caseBlock.clauses.filter(switchCase => switchCase.kind === SyntaxKind.DefaultClause).length > 1) { - this.#throwError(node, "A 'default' clause cannot appear more than once in a 'switch' statement."); - } - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.SwitchStatement, - discriminant: this.convertChild(node.expression), - cases: node.caseBlock.clauses.map(el => this.convertChild(el)), - }); - case SyntaxKind.CaseClause: - case SyntaxKind.DefaultClause: - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.SwitchCase, - // expression is present in case only - test: node.kind === SyntaxKind.CaseClause - ? this.convertChild(node.expression) - : null, - consequent: node.statements.map(el => this.convertChild(el)), - }); - // Exceptions - case SyntaxKind.ThrowStatement: - if (node.expression.end === node.expression.pos) { - this.#throwUnlessAllowInvalidAST(node, 'A throw statement must throw an expression.'); - } - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.ThrowStatement, - argument: this.convertChild(node.expression), - }); - case SyntaxKind.TryStatement: - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.TryStatement, - block: this.convertChild(node.tryBlock), - handler: this.convertChild(node.catchClause), - finalizer: this.convertChild(node.finallyBlock), - }); - case SyntaxKind.CatchClause: - if (node.variableDeclaration?.initializer) { - this.#throwError(node.variableDeclaration.initializer, 'Catch clause variable cannot have an initializer.'); - } - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.CatchClause, - param: node.variableDeclaration - ? this.convertBindingNameWithTypeAnnotation(node.variableDeclaration.name, node.variableDeclaration.type) - : null, - body: this.convertChild(node.block), - }); - // Loops - case SyntaxKind.WhileStatement: - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.WhileStatement, - test: this.convertChild(node.expression), - body: this.convertChild(node.statement), - }); - /** - * Unlike other parsers, TypeScript calls a "DoWhileStatement" - * a "DoStatement" - */ - case SyntaxKind.DoStatement: - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.DoWhileStatement, - test: this.convertChild(node.expression), - body: this.convertChild(node.statement), - }); - case SyntaxKind.ForStatement: - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.ForStatement, - init: this.convertChild(node.initializer), - test: this.convertChild(node.condition), - update: this.convertChild(node.incrementor), - body: this.convertChild(node.statement), - }); - case SyntaxKind.ForInStatement: - this.#checkForStatementDeclaration(node.initializer); - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.ForInStatement, - left: this.convertPattern(node.initializer), - right: this.convertChild(node.expression), - body: this.convertChild(node.statement), - }); - case SyntaxKind.ForOfStatement: - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.ForOfStatement, - left: this.convertPattern(node.initializer), - right: this.convertChild(node.expression), - body: this.convertChild(node.statement), - await: Boolean(node.awaitModifier && - node.awaitModifier.kind === SyntaxKind.AwaitKeyword), - }); - // Declarations - case SyntaxKind.FunctionDeclaration: { - const isDeclare = (0, node_utils_1.hasModifier)(SyntaxKind.DeclareKeyword, node); - const isAsync = (0, node_utils_1.hasModifier)(SyntaxKind.AsyncKeyword, node); - const isGenerator = !!node.asteriskToken; - if (isDeclare) { - if (node.body) { - this.#throwError(node, 'An implementation cannot be declared in ambient contexts.'); - } - else if (isAsync) { - this.#throwError(node, "'async' modifier cannot be used in an ambient context."); - } - else if (isGenerator) { - this.#throwError(node, 'Generators are not allowed in an ambient context.'); - } - } - else { - if (!node.body && isGenerator) { - this.#throwError(node, 'A function signature cannot be declared as a generator.'); - } - } - const result = this.createNode(node, { - // declare implies no body due to the invariant above - type: !node.body - ? ts_estree_1.AST_NODE_TYPES.TSDeclareFunction - : ts_estree_1.AST_NODE_TYPES.FunctionDeclaration, - async: isAsync, - body: this.convertChild(node.body) || undefined, - declare: isDeclare, - expression: false, - generator: isGenerator, - id: this.convertChild(node.name), - params: this.convertParameters(node.parameters), - returnType: node.type && this.convertTypeAnnotation(node.type, node), - typeParameters: node.typeParameters && - this.convertTSTypeParametersToTypeParametersDeclaration(node.typeParameters), - }); - return this.fixExports(node, result); - } - case SyntaxKind.VariableDeclaration: { - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.VariableDeclarator, - definite: !!node.exclamationToken, - id: this.convertBindingNameWithTypeAnnotation(node.name, node.type, node), - init: this.convertChild(node.initializer), - }); - } - case SyntaxKind.VariableStatement: { - const result = this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.VariableDeclaration, - declarations: node.declarationList.declarations.map(el => this.convertChild(el)), - declare: (0, node_utils_1.hasModifier)(SyntaxKind.DeclareKeyword, node), - kind: (0, node_utils_1.getDeclarationKind)(node.declarationList), - }); - if (!result.declarations.length) { - this.#throwUnlessAllowInvalidAST(node, 'A variable declaration list must have at least one variable declarator.'); - } - if (result.kind === 'using' || result.kind === 'await using') { - node.declarationList.declarations.forEach((declaration, i) => { - if (result.declarations[i].init == null) { - this.#throwError(declaration, `'${result.kind}' declarations must be initialized.`); - } - if (result.declarations[i].id.type !== ts_estree_1.AST_NODE_TYPES.Identifier) { - this.#throwError(declaration.name, `'${result.kind}' declarations may not have binding patterns.`); - } - }); - } - /** - * Semantically, decorators are not allowed on variable declarations, - * Pre 4.8 TS would include them in the AST, so we did as well. - * However as of 4.8 TS no longer includes it (as it is, well, invalid). - * - * So for consistency across versions, we no longer include it either. - */ - return this.fixExports(node, result); - } - // mostly for for-of, for-in - case SyntaxKind.VariableDeclarationList: { - const result = this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.VariableDeclaration, - declarations: node.declarations.map(el => this.convertChild(el)), - declare: false, - kind: (0, node_utils_1.getDeclarationKind)(node), - }); - if (result.kind === 'using' || result.kind === 'await using') { - node.declarations.forEach((declaration, i) => { - if (result.declarations[i].init != null) { - this.#throwError(declaration, `'${result.kind}' declarations may not be initialized in for statement.`); - } - if (result.declarations[i].id.type !== ts_estree_1.AST_NODE_TYPES.Identifier) { - this.#throwError(declaration.name, `'${result.kind}' declarations may not have binding patterns.`); - } - }); - } - return result; - } - // Expressions - case SyntaxKind.ExpressionStatement: - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.ExpressionStatement, - directive: undefined, - expression: this.convertChild(node.expression), - }); - case SyntaxKind.ThisKeyword: - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.ThisExpression, - }); - case SyntaxKind.ArrayLiteralExpression: { - // TypeScript uses ArrayLiteralExpression in destructuring assignment, too - if (this.allowPattern) { - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.ArrayPattern, - decorators: [], - elements: node.elements.map(el => this.convertPattern(el)), - optional: false, - typeAnnotation: undefined, - }); - } - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.ArrayExpression, - elements: node.elements.map(el => this.convertChild(el)), - }); - } - case SyntaxKind.ObjectLiteralExpression: { - // TypeScript uses ObjectLiteralExpression in destructuring assignment, too - if (this.allowPattern) { - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.ObjectPattern, - decorators: [], - optional: false, - properties: node.properties.map(el => this.convertPattern(el)), - typeAnnotation: undefined, - }); - } - const properties = []; - for (const property of node.properties) { - if ((property.kind === SyntaxKind.GetAccessor || - property.kind === SyntaxKind.SetAccessor || - property.kind === SyntaxKind.MethodDeclaration) && - !property.body) { - this.#throwUnlessAllowInvalidAST(property.end - 1, "'{' expected."); - } - properties.push(this.convertChild(property)); - } - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.ObjectExpression, - properties, - }); - } - case SyntaxKind.PropertyAssignment: { - // eslint-disable-next-line deprecation/deprecation - const { questionToken, exclamationToken } = node; - if (questionToken) { - this.#throwError(questionToken, 'A property assignment cannot have a question token.'); - } - if (exclamationToken) { - this.#throwError(exclamationToken, 'A property assignment cannot have an exclamation token.'); - } - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.Property, - key: this.convertChild(node.name), - value: this.converter(node.initializer, node, this.allowPattern), - computed: (0, node_utils_1.isComputedProperty)(node.name), - method: false, - optional: false, - shorthand: false, - kind: 'init', - }); - } - case SyntaxKind.ShorthandPropertyAssignment: { - // eslint-disable-next-line deprecation/deprecation - const { modifiers, questionToken, exclamationToken } = node; - if (modifiers) { - this.#throwError(modifiers[0], 'A shorthand property assignment cannot have modifiers.'); - } - if (questionToken) { - this.#throwError(questionToken, 'A shorthand property assignment cannot have a question token.'); - } - if (exclamationToken) { - this.#throwError(exclamationToken, 'A shorthand property assignment cannot have an exclamation token.'); - } - if (node.objectAssignmentInitializer) { - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.Property, - key: this.convertChild(node.name), - value: this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.AssignmentPattern, - decorators: [], - left: this.convertPattern(node.name), - optional: false, - right: this.convertChild(node.objectAssignmentInitializer), - typeAnnotation: undefined, - }), - computed: false, - method: false, - optional: false, - shorthand: true, - kind: 'init', - }); - } - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.Property, - computed: false, - key: this.convertChild(node.name), - kind: 'init', - method: false, - optional: false, - shorthand: true, - value: this.convertChild(node.name), - }); - } - case SyntaxKind.ComputedPropertyName: - return this.convertChild(node.expression); - case SyntaxKind.PropertyDeclaration: { - const isAbstract = (0, node_utils_1.hasModifier)(SyntaxKind.AbstractKeyword, node); - if (isAbstract && node.initializer) { - this.#throwError(node.initializer, `Abstract property cannot have an initializer.`); - } - const isAccessor = (0, node_utils_1.hasModifier)(SyntaxKind.AccessorKeyword, node); - const type = (() => { - if (isAccessor) { - if (isAbstract) { - return ts_estree_1.AST_NODE_TYPES.TSAbstractAccessorProperty; - } - return ts_estree_1.AST_NODE_TYPES.AccessorProperty; - } - if (isAbstract) { - return ts_estree_1.AST_NODE_TYPES.TSAbstractPropertyDefinition; - } - return ts_estree_1.AST_NODE_TYPES.PropertyDefinition; - })(); - const key = this.convertChild(node.name); - return this.createNode(node, { - type, - key, - accessibility: (0, node_utils_1.getTSNodeAccessibility)(node), - value: isAbstract ? null : this.convertChild(node.initializer), - computed: (0, node_utils_1.isComputedProperty)(node.name), - static: (0, node_utils_1.hasModifier)(SyntaxKind.StaticKeyword, node), - readonly: (0, node_utils_1.hasModifier)(SyntaxKind.ReadonlyKeyword, node), - decorators: (0, getModifiers_1.getDecorators)(node)?.map(el => this.convertChild(el)) ?? [], - declare: (0, node_utils_1.hasModifier)(SyntaxKind.DeclareKeyword, node), - override: (0, node_utils_1.hasModifier)(SyntaxKind.OverrideKeyword, node), - typeAnnotation: node.type && this.convertTypeAnnotation(node.type, node), - optional: (key.type === ts_estree_1.AST_NODE_TYPES.Literal || - node.name.kind === SyntaxKind.Identifier || - node.name.kind === SyntaxKind.ComputedPropertyName || - node.name.kind === SyntaxKind.PrivateIdentifier) && - !!node.questionToken, - definite: !!node.exclamationToken, - }); - } - case SyntaxKind.GetAccessor: - case SyntaxKind.SetAccessor: { - if (node.parent.kind === SyntaxKind.InterfaceDeclaration || - node.parent.kind === SyntaxKind.TypeLiteral) { - return this.convertMethodSignature(node); - } - } - // otherwise, it is a non-type accessor - intentional fallthrough - case SyntaxKind.MethodDeclaration: { - const method = this.createNode(node, { - type: !node.body - ? ts_estree_1.AST_NODE_TYPES.TSEmptyBodyFunctionExpression - : ts_estree_1.AST_NODE_TYPES.FunctionExpression, - id: null, - generator: !!node.asteriskToken, - expression: false, // ESTreeNode as ESTreeNode here - async: (0, node_utils_1.hasModifier)(SyntaxKind.AsyncKeyword, node), - body: this.convertChild(node.body), - declare: false, - range: [node.parameters.pos - 1, node.end], - params: [], - returnType: node.type && this.convertTypeAnnotation(node.type, node), - typeParameters: node.typeParameters && - this.convertTSTypeParametersToTypeParametersDeclaration(node.typeParameters), - }); - if (method.typeParameters) { - this.fixParentLocation(method, method.typeParameters.range); - } - let result; - if (parent.kind === SyntaxKind.ObjectLiteralExpression) { - method.params = node.parameters.map(el => this.convertChild(el)); - result = this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.Property, - key: this.convertChild(node.name), - value: method, - computed: (0, node_utils_1.isComputedProperty)(node.name), - optional: !!node.questionToken, - method: node.kind === SyntaxKind.MethodDeclaration, - shorthand: false, - kind: 'init', - }); - } - else { - // class - /** - * Unlike in object literal methods, class method params can have decorators - */ - method.params = this.convertParameters(node.parameters); - /** - * TypeScript class methods can be defined as "abstract" - */ - const methodDefinitionType = (0, node_utils_1.hasModifier)(SyntaxKind.AbstractKeyword, node) - ? ts_estree_1.AST_NODE_TYPES.TSAbstractMethodDefinition - : ts_estree_1.AST_NODE_TYPES.MethodDefinition; - result = this.createNode(node, { - type: methodDefinitionType, - accessibility: (0, node_utils_1.getTSNodeAccessibility)(node), - computed: (0, node_utils_1.isComputedProperty)(node.name), - decorators: (0, getModifiers_1.getDecorators)(node)?.map(el => this.convertChild(el)) ?? [], - key: this.convertChild(node.name), - kind: 'method', - optional: !!node.questionToken, - override: (0, node_utils_1.hasModifier)(SyntaxKind.OverrideKeyword, node), - static: (0, node_utils_1.hasModifier)(SyntaxKind.StaticKeyword, node), - value: method, - }); - } - if (node.kind === SyntaxKind.GetAccessor) { - result.kind = 'get'; - } - else if (node.kind === SyntaxKind.SetAccessor) { - result.kind = 'set'; - } - else if (!result.static && - node.name.kind === SyntaxKind.StringLiteral && - node.name.text === 'constructor' && - result.type !== ts_estree_1.AST_NODE_TYPES.Property) { - result.kind = 'constructor'; - } - return result; - } - // TypeScript uses this even for static methods named "constructor" - case SyntaxKind.Constructor: { - const lastModifier = (0, node_utils_1.getLastModifier)(node); - const constructorToken = (lastModifier && (0, node_utils_1.findNextToken)(lastModifier, node, this.ast)) ?? - node.getFirstToken(); - const constructor = this.createNode(node, { - type: !node.body - ? ts_estree_1.AST_NODE_TYPES.TSEmptyBodyFunctionExpression - : ts_estree_1.AST_NODE_TYPES.FunctionExpression, - async: false, - body: this.convertChild(node.body), - declare: false, - expression: false, // is not present in ESTreeNode - generator: false, - id: null, - params: this.convertParameters(node.parameters), - range: [node.parameters.pos - 1, node.end], - returnType: node.type && this.convertTypeAnnotation(node.type, node), - typeParameters: node.typeParameters && - this.convertTSTypeParametersToTypeParametersDeclaration(node.typeParameters), - }); - if (constructor.typeParameters) { - this.fixParentLocation(constructor, constructor.typeParameters.range); - } - const constructorKey = this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.Identifier, - decorators: [], - name: 'constructor', - optional: false, - range: [constructorToken.getStart(this.ast), constructorToken.end], - typeAnnotation: undefined, - }); - const isStatic = (0, node_utils_1.hasModifier)(SyntaxKind.StaticKeyword, node); - return this.createNode(node, { - type: (0, node_utils_1.hasModifier)(SyntaxKind.AbstractKeyword, node) - ? ts_estree_1.AST_NODE_TYPES.TSAbstractMethodDefinition - : ts_estree_1.AST_NODE_TYPES.MethodDefinition, - accessibility: (0, node_utils_1.getTSNodeAccessibility)(node), - computed: false, - decorators: [], - optional: false, - key: constructorKey, - kind: isStatic ? 'method' : 'constructor', - override: false, - static: isStatic, - value: constructor, - }); - } - case SyntaxKind.FunctionExpression: { - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.FunctionExpression, - async: (0, node_utils_1.hasModifier)(SyntaxKind.AsyncKeyword, node), - body: this.convertChild(node.body), - declare: false, - expression: false, - generator: !!node.asteriskToken, - id: this.convertChild(node.name), - params: this.convertParameters(node.parameters), - returnType: node.type && this.convertTypeAnnotation(node.type, node), - typeParameters: node.typeParameters && - this.convertTSTypeParametersToTypeParametersDeclaration(node.typeParameters), - }); - } - case SyntaxKind.SuperKeyword: - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.Super, - }); - case SyntaxKind.ArrayBindingPattern: - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.ArrayPattern, - decorators: [], - elements: node.elements.map(el => this.convertPattern(el)), - optional: false, - typeAnnotation: undefined, - }); - // occurs with missing array elements like [,] - case SyntaxKind.OmittedExpression: - return null; - case SyntaxKind.ObjectBindingPattern: - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.ObjectPattern, - decorators: [], - optional: false, - properties: node.elements.map(el => this.convertPattern(el)), - typeAnnotation: undefined, - }); - case SyntaxKind.BindingElement: { - if (parent.kind === SyntaxKind.ArrayBindingPattern) { - const arrayItem = this.convertChild(node.name, parent); - if (node.initializer) { - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.AssignmentPattern, - decorators: [], - left: arrayItem, - optional: false, - right: this.convertChild(node.initializer), - typeAnnotation: undefined, - }); - } - else if (node.dotDotDotToken) { - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.RestElement, - argument: arrayItem, - decorators: [], - optional: false, - typeAnnotation: undefined, - value: undefined, - }); - } - return arrayItem; - } - let result; - if (node.dotDotDotToken) { - result = this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.RestElement, - argument: this.convertChild(node.propertyName ?? node.name), - decorators: [], - optional: false, - typeAnnotation: undefined, - value: undefined, - }); - } - else { - result = this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.Property, - key: this.convertChild(node.propertyName ?? node.name), - value: this.convertChild(node.name), - computed: Boolean(node.propertyName && - node.propertyName.kind === SyntaxKind.ComputedPropertyName), - method: false, - optional: false, - shorthand: !node.propertyName, - kind: 'init', - }); - } - if (node.initializer) { - result.value = this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.AssignmentPattern, - decorators: [], - left: this.convertChild(node.name), - optional: false, - range: [node.name.getStart(this.ast), node.initializer.end], - right: this.convertChild(node.initializer), - typeAnnotation: undefined, - }); - } - return result; - } - case SyntaxKind.ArrowFunction: { - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.ArrowFunctionExpression, - generator: false, - id: null, - params: this.convertParameters(node.parameters), - body: this.convertChild(node.body), - async: (0, node_utils_1.hasModifier)(SyntaxKind.AsyncKeyword, node), - expression: node.body.kind !== SyntaxKind.Block, - returnType: node.type && this.convertTypeAnnotation(node.type, node), - typeParameters: node.typeParameters && - this.convertTSTypeParametersToTypeParametersDeclaration(node.typeParameters), - }); - } - case SyntaxKind.YieldExpression: - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.YieldExpression, - delegate: !!node.asteriskToken, - argument: this.convertChild(node.expression), - }); - case SyntaxKind.AwaitExpression: - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.AwaitExpression, - argument: this.convertChild(node.expression), - }); - // Template Literals - case SyntaxKind.NoSubstitutionTemplateLiteral: - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.TemplateLiteral, - quasis: [ - this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.TemplateElement, - value: { - raw: this.ast.text.slice(node.getStart(this.ast) + 1, node.end - 1), - cooked: node.text, - }, - tail: true, - }), - ], - expressions: [], - }); - case SyntaxKind.TemplateExpression: { - const result = this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.TemplateLiteral, - quasis: [this.convertChild(node.head)], - expressions: [], - }); - node.templateSpans.forEach(templateSpan => { - result.expressions.push(this.convertChild(templateSpan.expression)); - result.quasis.push(this.convertChild(templateSpan.literal)); - }); - return result; - } - case SyntaxKind.TaggedTemplateExpression: - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.TaggedTemplateExpression, - typeArguments: node.typeArguments && - this.convertTypeArgumentsToTypeParameterInstantiation(node.typeArguments, node), - tag: this.convertChild(node.tag), - quasi: this.convertChild(node.template), - }); - case SyntaxKind.TemplateHead: - case SyntaxKind.TemplateMiddle: - case SyntaxKind.TemplateTail: { - const tail = node.kind === SyntaxKind.TemplateTail; - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.TemplateElement, - value: { - raw: this.ast.text.slice(node.getStart(this.ast) + 1, node.end - (tail ? 1 : 2)), - cooked: node.text, - }, - tail, - }); - } - // Patterns - case SyntaxKind.SpreadAssignment: - case SyntaxKind.SpreadElement: { - if (this.allowPattern) { - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.RestElement, - argument: this.convertPattern(node.expression), - decorators: [], - optional: false, - typeAnnotation: undefined, - value: undefined, - }); - } - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.SpreadElement, - argument: this.convertChild(node.expression), - }); - } - case SyntaxKind.Parameter: { - let parameter; - let result; - if (node.dotDotDotToken) { - parameter = result = this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.RestElement, - argument: this.convertChild(node.name), - decorators: [], - optional: false, - typeAnnotation: undefined, - value: undefined, - }); - } - else if (node.initializer) { - parameter = this.convertChild(node.name); - result = this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.AssignmentPattern, - decorators: [], - left: parameter, - optional: false, - right: this.convertChild(node.initializer), - typeAnnotation: undefined, - }); - const modifiers = (0, getModifiers_1.getModifiers)(node); - if (modifiers) { - // AssignmentPattern should not contain modifiers in range - result.range[0] = parameter.range[0]; - result.loc = (0, node_utils_1.getLocFor)(result.range, this.ast); - } - } - else { - parameter = result = this.convertChild(node.name, parent); - } - if (node.type) { - parameter.typeAnnotation = this.convertTypeAnnotation(node.type, node); - this.fixParentLocation(parameter, parameter.typeAnnotation.range); - } - if (node.questionToken) { - if (node.questionToken.end > parameter.range[1]) { - parameter.range[1] = node.questionToken.end; - parameter.loc.end = (0, node_utils_1.getLineAndCharacterFor)(parameter.range[1], this.ast); - } - parameter.optional = true; - } - const modifiers = (0, getModifiers_1.getModifiers)(node); - if (modifiers) { - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.TSParameterProperty, - accessibility: (0, node_utils_1.getTSNodeAccessibility)(node), - decorators: [], - override: (0, node_utils_1.hasModifier)(SyntaxKind.OverrideKeyword, node), - parameter: result, - readonly: (0, node_utils_1.hasModifier)(SyntaxKind.ReadonlyKeyword, node), - static: (0, node_utils_1.hasModifier)(SyntaxKind.StaticKeyword, node), - }); - } - return result; - } - // Classes - case SyntaxKind.ClassDeclaration: - if (!node.name && - (!(0, node_utils_1.hasModifier)(ts.SyntaxKind.ExportKeyword, node) || - !(0, node_utils_1.hasModifier)(ts.SyntaxKind.DefaultKeyword, node))) { - this.#throwUnlessAllowInvalidAST(node, "A class declaration without the 'default' modifier must have a name."); - } - /* intentional fallthrough */ - case SyntaxKind.ClassExpression: { - const heritageClauses = node.heritageClauses ?? []; - const classNodeType = node.kind === SyntaxKind.ClassDeclaration - ? ts_estree_1.AST_NODE_TYPES.ClassDeclaration - : ts_estree_1.AST_NODE_TYPES.ClassExpression; - let extendsClause; - let implementsClause; - for (const heritageClause of heritageClauses) { - const { token, types } = heritageClause; - if (types.length === 0) { - this.#throwUnlessAllowInvalidAST(heritageClause, `'${ts.tokenToString(token)}' list cannot be empty.`); - } - if (token === SyntaxKind.ExtendsKeyword) { - if (extendsClause) { - this.#throwUnlessAllowInvalidAST(heritageClause, "'extends' clause already seen."); - } - if (implementsClause) { - this.#throwUnlessAllowInvalidAST(heritageClause, "'extends' clause must precede 'implements' clause."); - } - if (types.length > 1) { - this.#throwUnlessAllowInvalidAST(types[1], 'Classes can only extend a single class.'); - } - extendsClause ??= heritageClause; - } - else if (token === SyntaxKind.ImplementsKeyword) { - if (implementsClause) { - this.#throwUnlessAllowInvalidAST(heritageClause, "'implements' clause already seen."); - } - implementsClause ??= heritageClause; - } - } - const result = this.createNode(node, { - type: classNodeType, - abstract: (0, node_utils_1.hasModifier)(SyntaxKind.AbstractKeyword, node), - body: this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.ClassBody, - body: node.members - .filter(node_utils_1.isESTreeClassMember) - .map(el => this.convertChild(el)), - range: [node.members.pos - 1, node.end], - }), - declare: (0, node_utils_1.hasModifier)(SyntaxKind.DeclareKeyword, node), - decorators: (0, getModifiers_1.getDecorators)(node)?.map(el => this.convertChild(el)) ?? [], - id: this.convertChild(node.name), - implements: implementsClause?.types.map(el => this.convertChild(el)) ?? [], - superClass: extendsClause?.types[0] - ? this.convertChild(extendsClause.types[0].expression) - : null, - superTypeArguments: undefined, - typeParameters: node.typeParameters && - this.convertTSTypeParametersToTypeParametersDeclaration(node.typeParameters), - }); - if (extendsClause?.types[0]?.typeArguments) { - result.superTypeArguments = - this.convertTypeArgumentsToTypeParameterInstantiation(extendsClause.types[0].typeArguments, extendsClause.types[0]); - } - return this.fixExports(node, result); - } - // Modules - case SyntaxKind.ModuleBlock: - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.TSModuleBlock, - body: this.convertBodyExpressions(node.statements, node), - }); - case SyntaxKind.ImportDeclaration: { - this.assertModuleSpecifier(node, false); - const result = this.createNode(node, this.#withDeprecatedAliasGetter({ - type: ts_estree_1.AST_NODE_TYPES.ImportDeclaration, - source: this.convertChild(node.moduleSpecifier), - specifiers: [], - importKind: 'value', - attributes: this.convertImportAttributes( - // eslint-disable-next-line deprecation/deprecation -- TS <5.3 - node.attributes ?? node.assertClause), - }, 'assertions', 'attributes', true)); - if (node.importClause) { - if (node.importClause.isTypeOnly) { - result.importKind = 'type'; - } - if (node.importClause.name) { - result.specifiers.push(this.convertChild(node.importClause)); - } - if (node.importClause.namedBindings) { - switch (node.importClause.namedBindings.kind) { - case SyntaxKind.NamespaceImport: - result.specifiers.push(this.convertChild(node.importClause.namedBindings)); - break; - case SyntaxKind.NamedImports: - result.specifiers = result.specifiers.concat(node.importClause.namedBindings.elements.map(el => this.convertChild(el))); - break; - } - } - } - return result; - } - case SyntaxKind.NamespaceImport: - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.ImportNamespaceSpecifier, - local: this.convertChild(node.name), - }); - case SyntaxKind.ImportSpecifier: - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.ImportSpecifier, - local: this.convertChild(node.name), - imported: this.convertChild(node.propertyName ?? node.name), - importKind: node.isTypeOnly ? 'type' : 'value', - }); - case SyntaxKind.ImportClause: { - const local = this.convertChild(node.name); - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.ImportDefaultSpecifier, - local, - range: local.range, - }); - } - case SyntaxKind.ExportDeclaration: { - if (node.exportClause?.kind === SyntaxKind.NamedExports) { - this.assertModuleSpecifier(node, true); - return this.createNode(node, this.#withDeprecatedAliasGetter({ - type: ts_estree_1.AST_NODE_TYPES.ExportNamedDeclaration, - source: this.convertChild(node.moduleSpecifier), - specifiers: node.exportClause.elements.map(el => this.convertChild(el)), - exportKind: node.isTypeOnly ? 'type' : 'value', - declaration: null, - attributes: this.convertImportAttributes( - // eslint-disable-next-line deprecation/deprecation -- TS <5.3 - node.attributes ?? node.assertClause), - }, 'assertions', 'attributes', true)); - } - this.assertModuleSpecifier(node, false); - return this.createNode(node, this.#withDeprecatedAliasGetter({ - type: ts_estree_1.AST_NODE_TYPES.ExportAllDeclaration, - source: this.convertChild(node.moduleSpecifier), - exportKind: node.isTypeOnly ? 'type' : 'value', - exported: node.exportClause?.kind === SyntaxKind.NamespaceExport - ? this.convertChild(node.exportClause.name) - : null, - attributes: this.convertImportAttributes( - // eslint-disable-next-line deprecation/deprecation -- TS <5.3 - node.attributes ?? node.assertClause), - }, 'assertions', 'attributes', true)); - } - case SyntaxKind.ExportSpecifier: - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.ExportSpecifier, - local: this.convertChild(node.propertyName ?? node.name), - exported: this.convertChild(node.name), - exportKind: node.isTypeOnly ? 'type' : 'value', - }); - case SyntaxKind.ExportAssignment: - if (node.isExportEquals) { - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.TSExportAssignment, - expression: this.convertChild(node.expression), - }); - } - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.ExportDefaultDeclaration, - declaration: this.convertChild(node.expression), - exportKind: 'value', - }); - // Unary Operations - case SyntaxKind.PrefixUnaryExpression: - case SyntaxKind.PostfixUnaryExpression: { - const operator = (0, node_utils_1.getTextForTokenKind)(node.operator); - /** - * ESTree uses UpdateExpression for ++/-- - */ - if (operator === '++' || operator === '--') { - if (!(0, node_utils_1.isValidAssignmentTarget)(node.operand)) { - this.#throwUnlessAllowInvalidAST(node.operand, 'Invalid left-hand side expression in unary operation'); - } - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.UpdateExpression, - operator, - prefix: node.kind === SyntaxKind.PrefixUnaryExpression, - argument: this.convertChild(node.operand), - }); - } - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.UnaryExpression, - operator, - prefix: node.kind === SyntaxKind.PrefixUnaryExpression, - argument: this.convertChild(node.operand), - }); - } - case SyntaxKind.DeleteExpression: - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.UnaryExpression, - operator: 'delete', - prefix: true, - argument: this.convertChild(node.expression), - }); - case SyntaxKind.VoidExpression: - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.UnaryExpression, - operator: 'void', - prefix: true, - argument: this.convertChild(node.expression), - }); - case SyntaxKind.TypeOfExpression: - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.UnaryExpression, - operator: 'typeof', - prefix: true, - argument: this.convertChild(node.expression), - }); - case SyntaxKind.TypeOperator: - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.TSTypeOperator, - operator: (0, node_utils_1.getTextForTokenKind)(node.operator), - typeAnnotation: this.convertChild(node.type), - }); - // Binary Operations - case SyntaxKind.BinaryExpression: { - // TypeScript uses BinaryExpression for sequences as well - if ((0, node_utils_1.isComma)(node.operatorToken)) { - const result = this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.SequenceExpression, - expressions: [], - }); - const left = this.convertChild(node.left); - if (left.type === ts_estree_1.AST_NODE_TYPES.SequenceExpression && - node.left.kind !== SyntaxKind.ParenthesizedExpression) { - result.expressions = result.expressions.concat(left.expressions); - } - else { - result.expressions.push(left); - } - result.expressions.push(this.convertChild(node.right)); - return result; - } - const expressionType = (0, node_utils_1.getBinaryExpressionType)(node.operatorToken); - if (this.allowPattern && - expressionType.type === ts_estree_1.AST_NODE_TYPES.AssignmentExpression) { - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.AssignmentPattern, - decorators: [], - left: this.convertPattern(node.left, node), - optional: false, - right: this.convertChild(node.right), - typeAnnotation: undefined, - }); - } - return this.createNode(node, { - ...expressionType, - left: this.converter(node.left, node, expressionType.type === ts_estree_1.AST_NODE_TYPES.AssignmentExpression), - right: this.convertChild(node.right), - }); - } - case SyntaxKind.PropertyAccessExpression: { - const object = this.convertChild(node.expression); - const property = this.convertChild(node.name); - const computed = false; - const result = this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.MemberExpression, - object, - property, - computed, - optional: node.questionDotToken !== undefined, - }); - return this.convertChainExpression(result, node); - } - case SyntaxKind.ElementAccessExpression: { - const object = this.convertChild(node.expression); - const property = this.convertChild(node.argumentExpression); - const computed = true; - const result = this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.MemberExpression, - object, - property, - computed, - optional: node.questionDotToken !== undefined, - }); - return this.convertChainExpression(result, node); - } - case SyntaxKind.CallExpression: { - if (node.expression.kind === SyntaxKind.ImportKeyword) { - if (node.arguments.length !== 1 && node.arguments.length !== 2) { - this.#throwUnlessAllowInvalidAST(node.arguments[2] ?? node, 'Dynamic import requires exactly one or two arguments.'); - } - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.ImportExpression, - source: this.convertChild(node.arguments[0]), - attributes: node.arguments[1] - ? this.convertChild(node.arguments[1]) - : null, - }); - } - const callee = this.convertChild(node.expression); - const args = node.arguments.map(el => this.convertChild(el)); - const typeArguments = node.typeArguments && - this.convertTypeArgumentsToTypeParameterInstantiation(node.typeArguments, node); - const result = this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.CallExpression, - callee, - arguments: args, - optional: node.questionDotToken !== undefined, - typeArguments, - }); - return this.convertChainExpression(result, node); - } - case SyntaxKind.NewExpression: { - const typeArguments = node.typeArguments && - this.convertTypeArgumentsToTypeParameterInstantiation(node.typeArguments, node); - // NOTE - NewExpression cannot have an optional chain in it - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.NewExpression, - arguments: node.arguments - ? node.arguments.map(el => this.convertChild(el)) - : [], - callee: this.convertChild(node.expression), - typeArguments, - }); - } - case SyntaxKind.ConditionalExpression: - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.ConditionalExpression, - test: this.convertChild(node.condition), - consequent: this.convertChild(node.whenTrue), - alternate: this.convertChild(node.whenFalse), - }); - case SyntaxKind.MetaProperty: { - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.MetaProperty, - meta: this.createNode( - // TODO: do we really want to convert it to Token? - node.getFirstToken(), { - type: ts_estree_1.AST_NODE_TYPES.Identifier, - decorators: [], - name: (0, node_utils_1.getTextForTokenKind)(node.keywordToken), - optional: false, - typeAnnotation: undefined, - }), - property: this.convertChild(node.name), - }); - } - case SyntaxKind.Decorator: { - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.Decorator, - expression: this.convertChild(node.expression), - }); - } - // Literals - case SyntaxKind.StringLiteral: { - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.Literal, - value: parent.kind === SyntaxKind.JsxAttribute - ? (0, node_utils_1.unescapeStringLiteralText)(node.text) - : node.text, - raw: node.getText(), - }); - } - case SyntaxKind.NumericLiteral: { - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.Literal, - value: Number(node.text), - raw: node.getText(), - }); - } - case SyntaxKind.BigIntLiteral: { - const range = (0, node_utils_1.getRange)(node, this.ast); - const rawValue = this.ast.text.slice(range[0], range[1]); - const bigint = rawValue - // remove suffix `n` - .slice(0, -1) - // `BigInt` doesn't accept numeric separator - // and `bigint` property should not include numeric separator - .replace(/_/g, ''); - const value = typeof BigInt !== 'undefined' ? BigInt(bigint) : null; - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.Literal, - raw: rawValue, - value: value, - bigint: value == null ? bigint : String(value), - range, - }); - } - case SyntaxKind.RegularExpressionLiteral: { - const pattern = node.text.slice(1, node.text.lastIndexOf('/')); - const flags = node.text.slice(node.text.lastIndexOf('/') + 1); - let regex = null; - try { - regex = new RegExp(pattern, flags); - } - catch { - // Intentionally blank, so regex stays null - } - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.Literal, - value: regex, - raw: node.text, - regex: { - pattern, - flags, - }, - }); - } - case SyntaxKind.TrueKeyword: - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.Literal, - value: true, - raw: 'true', - }); - case SyntaxKind.FalseKeyword: - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.Literal, - value: false, - raw: 'false', - }); - case SyntaxKind.NullKeyword: { - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.Literal, - value: null, - raw: 'null', - }); - } - case SyntaxKind.EmptyStatement: - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.EmptyStatement, - }); - case SyntaxKind.DebuggerStatement: - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.DebuggerStatement, - }); - // JSX - case SyntaxKind.JsxElement: - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.JSXElement, - openingElement: this.convertChild(node.openingElement), - closingElement: this.convertChild(node.closingElement), - children: node.children.map(el => this.convertChild(el)), - }); - case SyntaxKind.JsxFragment: - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.JSXFragment, - openingFragment: this.convertChild(node.openingFragment), - closingFragment: this.convertChild(node.closingFragment), - children: node.children.map(el => this.convertChild(el)), - }); - case SyntaxKind.JsxSelfClosingElement: { - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.JSXElement, - /** - * Convert SyntaxKind.JsxSelfClosingElement to SyntaxKind.JsxOpeningElement, - * TypeScript does not seem to have the idea of openingElement when tag is self-closing - */ - openingElement: this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.JSXOpeningElement, - typeArguments: node.typeArguments - ? this.convertTypeArgumentsToTypeParameterInstantiation(node.typeArguments, node) - : undefined, - selfClosing: true, - name: this.convertJSXTagName(node.tagName, node), - attributes: node.attributes.properties.map(el => this.convertChild(el)), - range: (0, node_utils_1.getRange)(node, this.ast), - }), - closingElement: null, - children: [], - }); - } - case SyntaxKind.JsxOpeningElement: { - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.JSXOpeningElement, - typeArguments: node.typeArguments && - this.convertTypeArgumentsToTypeParameterInstantiation(node.typeArguments, node), - selfClosing: false, - name: this.convertJSXTagName(node.tagName, node), - attributes: node.attributes.properties.map(el => this.convertChild(el)), - }); - } - case SyntaxKind.JsxClosingElement: - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.JSXClosingElement, - name: this.convertJSXTagName(node.tagName, node), - }); - case SyntaxKind.JsxOpeningFragment: - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.JSXOpeningFragment, - }); - case SyntaxKind.JsxClosingFragment: - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.JSXClosingFragment, - }); - case SyntaxKind.JsxExpression: { - const expression = node.expression - ? this.convertChild(node.expression) - : this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.JSXEmptyExpression, - range: [node.getStart(this.ast) + 1, node.getEnd() - 1], - }); - if (node.dotDotDotToken) { - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.JSXSpreadChild, - expression, - }); - } - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.JSXExpressionContainer, - expression, - }); - } - case SyntaxKind.JsxAttribute: { - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.JSXAttribute, - name: this.convertJSXNamespaceOrIdentifier(node.name), - value: this.convertChild(node.initializer), - }); - } - case SyntaxKind.JsxText: { - const start = node.getFullStart(); - const end = node.getEnd(); - const text = this.ast.text.slice(start, end); - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.JSXText, - value: (0, node_utils_1.unescapeStringLiteralText)(text), - raw: text, - range: [start, end], - }); - } - case SyntaxKind.JsxSpreadAttribute: - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.JSXSpreadAttribute, - argument: this.convertChild(node.expression), - }); - case SyntaxKind.QualifiedName: { - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.TSQualifiedName, - left: this.convertChild(node.left), - right: this.convertChild(node.right), - }); - } - // TypeScript specific - case SyntaxKind.TypeReference: - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.TSTypeReference, - typeName: this.convertChild(node.typeName), - typeArguments: node.typeArguments && - this.convertTypeArgumentsToTypeParameterInstantiation(node.typeArguments, node), - }); - case SyntaxKind.TypeParameter: { - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.TSTypeParameter, - name: this.convertChild(node.name), - constraint: node.constraint && this.convertChild(node.constraint), - default: node.default ? this.convertChild(node.default) : undefined, - in: (0, node_utils_1.hasModifier)(SyntaxKind.InKeyword, node), - out: (0, node_utils_1.hasModifier)(SyntaxKind.OutKeyword, node), - const: (0, node_utils_1.hasModifier)(SyntaxKind.ConstKeyword, node), - }); - } - case SyntaxKind.ThisType: - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.TSThisType, - }); - case SyntaxKind.AnyKeyword: - case SyntaxKind.BigIntKeyword: - case SyntaxKind.BooleanKeyword: - case SyntaxKind.NeverKeyword: - case SyntaxKind.NumberKeyword: - case SyntaxKind.ObjectKeyword: - case SyntaxKind.StringKeyword: - case SyntaxKind.SymbolKeyword: - case SyntaxKind.UnknownKeyword: - case SyntaxKind.VoidKeyword: - case SyntaxKind.UndefinedKeyword: - case SyntaxKind.IntrinsicKeyword: { - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES[`TS${SyntaxKind[node.kind]}`], - }); - } - case SyntaxKind.NonNullExpression: { - const nnExpr = this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.TSNonNullExpression, - expression: this.convertChild(node.expression), - }); - return this.convertChainExpression(nnExpr, node); - } - case SyntaxKind.TypeLiteral: { - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.TSTypeLiteral, - members: node.members.map(el => this.convertChild(el)), - }); - } - case SyntaxKind.ArrayType: { - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.TSArrayType, - elementType: this.convertChild(node.elementType), - }); - } - case SyntaxKind.IndexedAccessType: { - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.TSIndexedAccessType, - objectType: this.convertChild(node.objectType), - indexType: this.convertChild(node.indexType), - }); - } - case SyntaxKind.ConditionalType: { - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.TSConditionalType, - checkType: this.convertChild(node.checkType), - extendsType: this.convertChild(node.extendsType), - trueType: this.convertChild(node.trueType), - falseType: this.convertChild(node.falseType), - }); - } - case SyntaxKind.TypeQuery: - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.TSTypeQuery, - exprName: this.convertChild(node.exprName), - typeArguments: node.typeArguments && - this.convertTypeArgumentsToTypeParameterInstantiation(node.typeArguments, node), - }); - case SyntaxKind.MappedType: { - if (node.members && node.members.length > 0) { - this.#throwUnlessAllowInvalidAST(node.members[0], 'A mapped type may not declare properties or methods.'); - } - return this.createNode(node, this.#withDeprecatedGetter({ - type: ts_estree_1.AST_NODE_TYPES.TSMappedType, - constraint: this.convertChild(node.typeParameter.constraint), - key: this.convertChild(node.typeParameter.name), - nameType: this.convertChild(node.nameType) ?? null, - optional: node.questionToken && - (node.questionToken.kind === SyntaxKind.QuestionToken || - (0, node_utils_1.getTextForTokenKind)(node.questionToken.kind)), - readonly: node.readonlyToken && - (node.readonlyToken.kind === SyntaxKind.ReadonlyKeyword || - (0, node_utils_1.getTextForTokenKind)(node.readonlyToken.kind)), - typeAnnotation: node.type && this.convertChild(node.type), - }, 'typeParameter', "'constraint' and 'key'", this.convertChild(node.typeParameter))); - } - case SyntaxKind.ParenthesizedExpression: - return this.convertChild(node.expression, parent); - case SyntaxKind.TypeAliasDeclaration: { - const result = this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.TSTypeAliasDeclaration, - declare: (0, node_utils_1.hasModifier)(SyntaxKind.DeclareKeyword, node), - id: this.convertChild(node.name), - typeAnnotation: this.convertChild(node.type), - typeParameters: node.typeParameters && - this.convertTSTypeParametersToTypeParametersDeclaration(node.typeParameters), - }); - return this.fixExports(node, result); - } - case SyntaxKind.MethodSignature: { - return this.convertMethodSignature(node); - } - case SyntaxKind.PropertySignature: { - // eslint-disable-next-line deprecation/deprecation - const { initializer } = node; - if (initializer) { - this.#throwError(initializer, 'A property signature cannot have an initializer.'); - } - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.TSPropertySignature, - accessibility: (0, node_utils_1.getTSNodeAccessibility)(node), - computed: (0, node_utils_1.isComputedProperty)(node.name), - key: this.convertChild(node.name), - optional: (0, node_utils_1.isOptional)(node), - readonly: (0, node_utils_1.hasModifier)(SyntaxKind.ReadonlyKeyword, node), - static: (0, node_utils_1.hasModifier)(SyntaxKind.StaticKeyword, node), - typeAnnotation: node.type && this.convertTypeAnnotation(node.type, node), - }); - } - case SyntaxKind.IndexSignature: { - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.TSIndexSignature, - accessibility: (0, node_utils_1.getTSNodeAccessibility)(node), - parameters: node.parameters.map(el => this.convertChild(el)), - readonly: (0, node_utils_1.hasModifier)(SyntaxKind.ReadonlyKeyword, node), - static: (0, node_utils_1.hasModifier)(SyntaxKind.StaticKeyword, node), - typeAnnotation: node.type && this.convertTypeAnnotation(node.type, node), - }); - } - case SyntaxKind.ConstructorType: { - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.TSConstructorType, - abstract: (0, node_utils_1.hasModifier)(SyntaxKind.AbstractKeyword, node), - params: this.convertParameters(node.parameters), - returnType: node.type && this.convertTypeAnnotation(node.type, node), - typeParameters: node.typeParameters && - this.convertTSTypeParametersToTypeParametersDeclaration(node.typeParameters), - }); - } - case SyntaxKind.FunctionType: { - // eslint-disable-next-line deprecation/deprecation - const { modifiers } = node; - if (modifiers) { - this.#throwError(modifiers[0], 'A function type cannot have modifiers.'); - } - } - // intentional fallthrough - case SyntaxKind.ConstructSignature: - case SyntaxKind.CallSignature: { - const type = node.kind === SyntaxKind.ConstructSignature - ? ts_estree_1.AST_NODE_TYPES.TSConstructSignatureDeclaration - : node.kind === SyntaxKind.CallSignature - ? ts_estree_1.AST_NODE_TYPES.TSCallSignatureDeclaration - : ts_estree_1.AST_NODE_TYPES.TSFunctionType; - return this.createNode(node, { - type, - params: this.convertParameters(node.parameters), - returnType: node.type && this.convertTypeAnnotation(node.type, node), - typeParameters: node.typeParameters && - this.convertTSTypeParametersToTypeParametersDeclaration(node.typeParameters), - }); - } - case SyntaxKind.ExpressionWithTypeArguments: { - const parentKind = parent.kind; - const type = parentKind === SyntaxKind.InterfaceDeclaration - ? ts_estree_1.AST_NODE_TYPES.TSInterfaceHeritage - : parentKind === SyntaxKind.HeritageClause - ? ts_estree_1.AST_NODE_TYPES.TSClassImplements - : ts_estree_1.AST_NODE_TYPES.TSInstantiationExpression; - return this.createNode(node, { - type, - expression: this.convertChild(node.expression), - typeArguments: node.typeArguments && - this.convertTypeArgumentsToTypeParameterInstantiation(node.typeArguments, node), - }); - } - case SyntaxKind.InterfaceDeclaration: { - const interfaceHeritageClauses = node.heritageClauses ?? []; - const interfaceExtends = []; - for (const heritageClause of interfaceHeritageClauses) { - if (heritageClause.token !== SyntaxKind.ExtendsKeyword) { - this.#throwError(heritageClause, heritageClause.token === SyntaxKind.ImplementsKeyword - ? "Interface declaration cannot have 'implements' clause." - : 'Unexpected token.'); - } - for (const heritageType of heritageClause.types) { - interfaceExtends.push(this.convertChild(heritageType, node)); - } - } - const result = this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.TSInterfaceDeclaration, - body: this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.TSInterfaceBody, - body: node.members.map(member => this.convertChild(member)), - range: [node.members.pos - 1, node.end], - }), - declare: (0, node_utils_1.hasModifier)(SyntaxKind.DeclareKeyword, node), - extends: interfaceExtends, - id: this.convertChild(node.name), - typeParameters: node.typeParameters && - this.convertTSTypeParametersToTypeParametersDeclaration(node.typeParameters), - }); - return this.fixExports(node, result); - } - case SyntaxKind.TypePredicate: { - const result = this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.TSTypePredicate, - asserts: node.assertsModifier !== undefined, - parameterName: this.convertChild(node.parameterName), - typeAnnotation: null, - }); - /** - * Specific fix for type-guard location data - */ - if (node.type) { - result.typeAnnotation = this.convertTypeAnnotation(node.type, node); - result.typeAnnotation.loc = result.typeAnnotation.typeAnnotation.loc; - result.typeAnnotation.range = - result.typeAnnotation.typeAnnotation.range; - } - return result; - } - case SyntaxKind.ImportType: { - const range = (0, node_utils_1.getRange)(node, this.ast); - if (node.isTypeOf) { - const token = (0, node_utils_1.findNextToken)(node.getFirstToken(), node, this.ast); - range[0] = token.getStart(this.ast); - } - const result = this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.TSImportType, - argument: this.convertChild(node.argument), - qualifier: this.convertChild(node.qualifier), - typeArguments: node.typeArguments - ? this.convertTypeArgumentsToTypeParameterInstantiation(node.typeArguments, node) - : null, - range: range, - }); - if (node.isTypeOf) { - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.TSTypeQuery, - exprName: result, - typeArguments: undefined, - }); - } - return result; - } - case SyntaxKind.EnumDeclaration: { - const members = node.members.map(el => this.convertChild(el)); - const result = this.createNode(node, this.#withDeprecatedGetter({ - type: ts_estree_1.AST_NODE_TYPES.TSEnumDeclaration, - body: this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.TSEnumBody, - members, - range: [node.members.pos - 1, node.end], - }), - const: (0, node_utils_1.hasModifier)(SyntaxKind.ConstKeyword, node), - declare: (0, node_utils_1.hasModifier)(SyntaxKind.DeclareKeyword, node), - id: this.convertChild(node.name), - }, 'members', `'body.members'`, node.members.map(el => this.convertChild(el)))); - return this.fixExports(node, result); - } - case SyntaxKind.EnumMember: { - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.TSEnumMember, - computed: node.name.kind === ts.SyntaxKind.ComputedPropertyName, - id: this.convertChild(node.name), - initializer: node.initializer && this.convertChild(node.initializer), - }); - } - case SyntaxKind.ModuleDeclaration: { - let isDeclare = (0, node_utils_1.hasModifier)(SyntaxKind.DeclareKeyword, node); - const result = this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.TSModuleDeclaration, - ...(() => { - // the constraints checked by this function are syntactically enforced by TS - // the checks mostly exist for type's sake - if (node.flags & ts.NodeFlags.GlobalAugmentation) { - const id = this.convertChild(node.name); - const body = this.convertChild(node.body); - if (body == null || - body.type === ts_estree_1.AST_NODE_TYPES.TSModuleDeclaration) { - this.#throwUnlessAllowInvalidAST(node.body ?? node, 'Expected a valid module body'); - } - if (id.type !== ts_estree_1.AST_NODE_TYPES.Identifier) { - this.#throwUnlessAllowInvalidAST(node.name, 'global module augmentation must have an Identifier id'); - } - return { - kind: 'global', - body: body, - declare: false, - global: false, - id, - }; - } - if (!(node.flags & ts.NodeFlags.Namespace)) { - const body = this.convertChild(node.body); - return { - kind: 'module', - ...(body != null ? { body } : {}), - declare: false, - global: false, - id: this.convertChild(node.name), - }; - } - // Nested module declarations are stored in TypeScript as nested tree nodes. - // We "unravel" them here by making our own nested TSQualifiedName, - // with the innermost node's body as the actual node body. - if (node.body == null) { - this.#throwUnlessAllowInvalidAST(node, 'Expected a module body'); - } - if (node.name.kind !== ts.SyntaxKind.Identifier) { - this.#throwUnlessAllowInvalidAST(node.name, '`namespace`s must have an Identifier id'); - } - let name = this.createNode(node.name, { - decorators: [], - name: node.name.text, - optional: false, - range: [node.name.getStart(this.ast), node.name.getEnd()], - type: ts_estree_1.AST_NODE_TYPES.Identifier, - typeAnnotation: undefined, - }); - while (node.body && - ts.isModuleDeclaration(node.body) && - node.body.name) { - node = node.body; - isDeclare ||= (0, node_utils_1.hasModifier)(SyntaxKind.DeclareKeyword, node); - const nextName = node.name; - const right = this.createNode(nextName, { - decorators: [], - name: nextName.text, - optional: false, - range: [nextName.getStart(this.ast), nextName.getEnd()], - type: ts_estree_1.AST_NODE_TYPES.Identifier, - typeAnnotation: undefined, - }); - name = this.createNode(nextName, { - left: name, - right: right, - range: [name.range[0], right.range[1]], - type: ts_estree_1.AST_NODE_TYPES.TSQualifiedName, - }); - } - return { - kind: 'namespace', - body: this.convertChild(node.body), - declare: false, - global: false, - id: name, - }; - })(), - }); - result.declare = isDeclare; - if (node.flags & ts.NodeFlags.GlobalAugmentation) { - result.global = true; - } - return this.fixExports(node, result); - } - // TypeScript specific types - case SyntaxKind.ParenthesizedType: { - return this.convertChild(node.type); - } - case SyntaxKind.UnionType: { - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.TSUnionType, - types: node.types.map(el => this.convertChild(el)), - }); - } - case SyntaxKind.IntersectionType: { - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.TSIntersectionType, - types: node.types.map(el => this.convertChild(el)), - }); - } - case SyntaxKind.AsExpression: { - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.TSAsExpression, - expression: this.convertChild(node.expression), - typeAnnotation: this.convertChild(node.type), - }); - } - case SyntaxKind.InferType: { - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.TSInferType, - typeParameter: this.convertChild(node.typeParameter), - }); - } - case SyntaxKind.LiteralType: { - if (node.literal.kind === SyntaxKind.NullKeyword) { - // 4.0 started nesting null types inside a LiteralType node - // but our AST is designed around the old way of null being a keyword - return this.createNode(node.literal, { - type: ts_estree_1.AST_NODE_TYPES.TSNullKeyword, - }); - } - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.TSLiteralType, - literal: this.convertChild(node.literal), - }); - } - case SyntaxKind.TypeAssertionExpression: { - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.TSTypeAssertion, - typeAnnotation: this.convertChild(node.type), - expression: this.convertChild(node.expression), - }); - } - case SyntaxKind.ImportEqualsDeclaration: { - return this.fixExports(node, this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.TSImportEqualsDeclaration, - id: this.convertChild(node.name), - importKind: node.isTypeOnly ? 'type' : 'value', - moduleReference: this.convertChild(node.moduleReference), - })); - } - case SyntaxKind.ExternalModuleReference: { - if (node.expression.kind !== SyntaxKind.StringLiteral) { - this.#throwError(node.expression, 'String literal expected.'); - } - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.TSExternalModuleReference, - expression: this.convertChild(node.expression), - }); - } - case SyntaxKind.NamespaceExportDeclaration: { - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.TSNamespaceExportDeclaration, - id: this.convertChild(node.name), - }); - } - case SyntaxKind.AbstractKeyword: { - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.TSAbstractKeyword, - }); - } - // Tuple - case SyntaxKind.TupleType: { - const elementTypes = node.elements.map(el => this.convertChild(el)); - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.TSTupleType, - elementTypes, - }); - } - case SyntaxKind.NamedTupleMember: { - const member = this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.TSNamedTupleMember, - elementType: this.convertChild(node.type, node), - label: this.convertChild(node.name, node), - optional: node.questionToken != null, - }); - if (node.dotDotDotToken) { - // adjust the start to account for the "..." - member.range[0] = member.label.range[0]; - member.loc.start = member.label.loc.start; - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.TSRestType, - typeAnnotation: member, - }); - } - return member; - } - case SyntaxKind.OptionalType: { - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.TSOptionalType, - typeAnnotation: this.convertChild(node.type), - }); - } - case SyntaxKind.RestType: { - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.TSRestType, - typeAnnotation: this.convertChild(node.type), - }); - } - // Template Literal Types - case SyntaxKind.TemplateLiteralType: { - const result = this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.TSTemplateLiteralType, - quasis: [this.convertChild(node.head)], - types: [], - }); - node.templateSpans.forEach(templateSpan => { - result.types.push(this.convertChild(templateSpan.type)); - result.quasis.push(this.convertChild(templateSpan.literal)); - }); - return result; - } - case SyntaxKind.ClassStaticBlockDeclaration: { - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.StaticBlock, - body: this.convertBodyExpressions(node.body.statements, node), - }); - } - // eslint-disable-next-line deprecation/deprecation -- required for backwards-compatibility - case SyntaxKind.AssertEntry: - case SyntaxKind.ImportAttribute: { - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.ImportAttribute, - key: this.convertChild(node.name), - value: this.convertChild(node.value), - }); - } - case SyntaxKind.SatisfiesExpression: { - return this.createNode(node, { - type: ts_estree_1.AST_NODE_TYPES.TSSatisfiesExpression, - expression: this.convertChild(node.expression), - typeAnnotation: this.convertChild(node.type), - }); - } - default: - return this.deeplyCopy(node); - } - } - #checkModifiers(node) { - if (this.options.allowInvalidAST) { - return; - } - // typescript<5.0.0 - if ((0, node_utils_1.nodeHasIllegalDecorators)(node)) { - this.#throwError(node.illegalDecorators[0], 'Decorators are not valid here.'); - } - for (const decorator of (0, getModifiers_1.getDecorators)(node, - /* includeIllegalDecorators */ true) ?? []) { - // `checkGrammarModifiers` function in typescript - if (!(0, node_utils_1.nodeCanBeDecorated)(node)) { - if (ts.isMethodDeclaration(node) && !(0, node_utils_1.nodeIsPresent)(node.body)) { - this.#throwError(decorator, 'A decorator can only decorate a method implementation, not an overload.'); - } - else { - this.#throwError(decorator, 'Decorators are not valid here.'); - } - } - } - for (const modifier of (0, getModifiers_1.getModifiers)(node, - /* includeIllegalModifiers */ true) ?? []) { - if (modifier.kind !== SyntaxKind.ReadonlyKeyword) { - if (node.kind === SyntaxKind.PropertySignature || - node.kind === SyntaxKind.MethodSignature) { - this.#throwError(modifier, `'${ts.tokenToString(modifier.kind)}' modifier cannot appear on a type member`); - } - if (node.kind === SyntaxKind.IndexSignature && - (modifier.kind !== SyntaxKind.StaticKeyword || - !ts.isClassLike(node.parent))) { - this.#throwError(modifier, `'${ts.tokenToString(modifier.kind)}' modifier cannot appear on an index signature`); - } - } - if (modifier.kind !== SyntaxKind.InKeyword && - modifier.kind !== SyntaxKind.OutKeyword && - modifier.kind !== SyntaxKind.ConstKeyword && - node.kind === SyntaxKind.TypeParameter) { - this.#throwError(modifier, `'${ts.tokenToString(modifier.kind)}' modifier cannot appear on a type parameter`); - } - if ((modifier.kind === SyntaxKind.InKeyword || - modifier.kind === SyntaxKind.OutKeyword) && - (node.kind !== SyntaxKind.TypeParameter || - !(ts.isInterfaceDeclaration(node.parent) || - ts.isClassLike(node.parent) || - ts.isTypeAliasDeclaration(node.parent)))) { - this.#throwError(modifier, `'${ts.tokenToString(modifier.kind)}' modifier can only appear on a type parameter of a class, interface or type alias`); - } - if (modifier.kind === SyntaxKind.ReadonlyKeyword && - node.kind !== SyntaxKind.PropertyDeclaration && - node.kind !== SyntaxKind.PropertySignature && - node.kind !== SyntaxKind.IndexSignature && - node.kind !== SyntaxKind.Parameter) { - this.#throwError(modifier, "'readonly' modifier can only appear on a property declaration or index signature."); - } - if (modifier.kind === SyntaxKind.DeclareKeyword && - ts.isClassLike(node.parent) && - !ts.isPropertyDeclaration(node)) { - this.#throwError(modifier, `'${ts.tokenToString(modifier.kind)}' modifier cannot appear on class elements of this kind.`); - } - if (modifier.kind === SyntaxKind.DeclareKeyword && - ts.isVariableStatement(node)) { - const declarationKind = (0, node_utils_1.getDeclarationKind)(node.declarationList); - if (declarationKind === 'using' || declarationKind === 'await using') { - this.#throwError(modifier, `'declare' modifier cannot appear on a '${declarationKind}' declaration.`); - } - } - if (modifier.kind === SyntaxKind.AbstractKeyword && - node.kind !== SyntaxKind.ClassDeclaration && - node.kind !== SyntaxKind.ConstructorType && - node.kind !== SyntaxKind.MethodDeclaration && - node.kind !== SyntaxKind.PropertyDeclaration && - node.kind !== SyntaxKind.GetAccessor && - node.kind !== SyntaxKind.SetAccessor) { - this.#throwError(modifier, `'${ts.tokenToString(modifier.kind)}' modifier can only appear on a class, method, or property declaration.`); - } - if ((modifier.kind === SyntaxKind.StaticKeyword || - modifier.kind === SyntaxKind.PublicKeyword || - modifier.kind === SyntaxKind.ProtectedKeyword || - modifier.kind === SyntaxKind.PrivateKeyword) && - (node.parent.kind === SyntaxKind.ModuleBlock || - node.parent.kind === SyntaxKind.SourceFile)) { - this.#throwError(modifier, `'${ts.tokenToString(modifier.kind)}' modifier cannot appear on a module or namespace element.`); - } - if (modifier.kind === SyntaxKind.AccessorKeyword && - node.kind !== SyntaxKind.PropertyDeclaration) { - this.#throwError(modifier, "'accessor' modifier can only appear on a property declaration."); - } - // `checkGrammarAsyncModifier` function in `typescript` - if (modifier.kind === SyntaxKind.AsyncKeyword && - node.kind !== SyntaxKind.MethodDeclaration && - node.kind !== SyntaxKind.FunctionDeclaration && - node.kind !== SyntaxKind.FunctionExpression && - node.kind !== SyntaxKind.ArrowFunction) { - this.#throwError(modifier, "'async' modifier cannot be used here."); - } - // `checkGrammarModifiers` function in `typescript` - if (node.kind === SyntaxKind.Parameter && - (modifier.kind === SyntaxKind.StaticKeyword || - modifier.kind === SyntaxKind.ExportKeyword || - modifier.kind === SyntaxKind.DeclareKeyword || - modifier.kind === SyntaxKind.AsyncKeyword)) { - this.#throwError(modifier, `'${ts.tokenToString(modifier.kind)}' modifier cannot appear on a parameter.`); - } - // `checkGrammarModifiers` function in `typescript` - if (modifier.kind === SyntaxKind.PublicKeyword || - modifier.kind === SyntaxKind.ProtectedKeyword || - modifier.kind === SyntaxKind.PrivateKeyword) { - for (const anotherModifier of (0, getModifiers_1.getModifiers)(node) ?? []) { - if (anotherModifier !== modifier && - (anotherModifier.kind === SyntaxKind.PublicKeyword || - anotherModifier.kind === SyntaxKind.ProtectedKeyword || - anotherModifier.kind === SyntaxKind.PrivateKeyword)) { - this.#throwError(anotherModifier, `Accessibility modifier already seen.`); - } - } - } - // `checkParameter` function in `typescript` - if (node.kind === SyntaxKind.Parameter && - // In `typescript` package, it's `ts.hasSyntacticModifier(node, ts.ModifierFlags.ParameterPropertyModifier)` - // https://github.com/typescript-eslint/typescript-eslint/pull/6615#discussion_r1136489935 - (modifier.kind === SyntaxKind.PublicKeyword || - modifier.kind === SyntaxKind.PrivateKeyword || - modifier.kind === SyntaxKind.ProtectedKeyword || - modifier.kind === SyntaxKind.ReadonlyKeyword || - modifier.kind === SyntaxKind.OverrideKeyword)) { - const func = (0, node_utils_1.getContainingFunction)(node); - if (!(func.kind === SyntaxKind.Constructor && (0, node_utils_1.nodeIsPresent)(func.body))) { - this.#throwError(modifier, 'A parameter property is only allowed in a constructor implementation.'); - } - } - } - } - #throwUnlessAllowInvalidAST(node, message) { - if (!this.options.allowInvalidAST) { - this.#throwError(node, message); - } - } - /** - * Creates a getter for a property under aliasKey that returns the value under - * valueKey. If suppressDeprecatedPropertyWarnings is not enabled, the - * getter also console warns about the deprecation. - * - * @see https://github.com/typescript-eslint/typescript-eslint/issues/6469 - */ - #withDeprecatedAliasGetter(node, aliasKey, valueKey, suppressWarnings = false) { - let warned = suppressWarnings; - Object.defineProperty(node, aliasKey, { - configurable: true, - get: this.options.suppressDeprecatedPropertyWarnings - ? () => node[valueKey] - : () => { - if (!warned) { - process.emitWarning(`The '${aliasKey}' property is deprecated on ${node.type} nodes. Use '${valueKey}' instead. See https://typescript-eslint.io/linting/troubleshooting#the-key-property-is-deprecated-on-type-nodes-use-key-instead-warnings.`, 'DeprecationWarning'); - warned = true; - } - return node[valueKey]; - }, - set(value) { - Object.defineProperty(node, aliasKey, { - enumerable: true, - writable: true, - value, - }); - }, - }); - return node; - } - #withDeprecatedGetter(node, deprecatedKey, preferredKey, value) { - let warned = false; - Object.defineProperty(node, deprecatedKey, { - configurable: true, - get: this.options.suppressDeprecatedPropertyWarnings - ? () => value - : () => { - if (!warned) { - process.emitWarning(`The '${deprecatedKey}' property is deprecated on ${node.type} nodes. Use ${preferredKey} instead. See https://typescript-eslint.io/linting/troubleshooting#the-key-property-is-deprecated-on-type-nodes-use-key-instead-warnings.`, 'DeprecationWarning'); - warned = true; - } - return value; - }, - set(value) { - Object.defineProperty(node, deprecatedKey, { - enumerable: true, - writable: true, - value, - }); - }, - }); - return node; - } - #throwError(node, message) { - let start; - let end; - if (typeof node === 'number') { - start = end = node; - } - else { - start = node.getStart(this.ast); - end = node.getEnd(); - } - throw (0, node_utils_1.createError)(message, this.ast, start, end); - } - #checkForStatementDeclaration(initializer) { - if (ts.isVariableDeclarationList(initializer)) { - if ((initializer.flags & ts.NodeFlags.Using) !== 0) { - this.#throwError(initializer, "The left-hand side of a 'for...in' statement cannot be a 'using' declaration."); - } - } - } -} -exports.Converter = Converter; -//# sourceMappingURL=convert.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/convert.js.map b/packages/typescript-estree/dist/convert.js.map deleted file mode 100644 index 20343fb6499b..000000000000 --- a/packages/typescript-estree/dist/convert.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"convert.js","sourceRoot":"","sources":["../src/convert.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/WatchCompilerHostOfConfigFile.d.ts b/packages/typescript-estree/dist/create-program/WatchCompilerHostOfConfigFile.d.ts deleted file mode 100644 index bc0e84ed2e2c..000000000000 --- a/packages/typescript-estree/dist/create-program/WatchCompilerHostOfConfigFile.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import type * as ts from 'typescript'; -interface DirectoryStructureHost { - readDirectory?(path: string, extensions?: readonly string[], exclude?: readonly string[], include?: readonly string[], depth?: number): string[]; -} -interface CachedDirectoryStructureHost extends DirectoryStructureHost { - readDirectory(path: string, extensions?: readonly string[], exclude?: readonly string[], include?: readonly string[], depth?: number): string[]; -} -interface WatchCompilerHostOfConfigFile extends ts.WatchCompilerHostOfConfigFile { - onCachedDirectoryStructureHostCreate(host: CachedDirectoryStructureHost): void; - extraFileExtensions?: readonly ts.FileExtensionInfo[]; -} -export { WatchCompilerHostOfConfigFile }; -//# sourceMappingURL=WatchCompilerHostOfConfigFile.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/WatchCompilerHostOfConfigFile.d.ts.map b/packages/typescript-estree/dist/create-program/WatchCompilerHostOfConfigFile.d.ts.map deleted file mode 100644 index 9dc5bfee218b..000000000000 --- a/packages/typescript-estree/dist/create-program/WatchCompilerHostOfConfigFile.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"WatchCompilerHostOfConfigFile.d.ts","sourceRoot":"","sources":["../../src/create-program/WatchCompilerHostOfConfigFile.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAGtC,UAAU,sBAAsB;IAC9B,aAAa,CAAC,CACZ,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,EAC9B,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,EAC3B,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,EAC3B,KAAK,CAAC,EAAE,MAAM,GACb,MAAM,EAAE,CAAC;CACb;AAGD,UAAU,4BAA6B,SAAQ,sBAAsB;IACnE,aAAa,CACX,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,EAC9B,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,EAC3B,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,EAC3B,KAAK,CAAC,EAAE,MAAM,GACb,MAAM,EAAE,CAAC;CACb;AAGD,UAAU,6BAA6B,CAAC,CAAC,SAAS,EAAE,CAAC,cAAc,CACjE,SAAQ,EAAE,CAAC,6BAA6B,CAAC,CAAC,CAAC;IAC3C,oCAAoC,CAClC,IAAI,EAAE,4BAA4B,GACjC,IAAI,CAAC;IACR,mBAAmB,CAAC,EAAE,SAAS,EAAE,CAAC,iBAAiB,EAAE,CAAC;CACvD;AAED,OAAO,EAAE,6BAA6B,EAAE,CAAC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/WatchCompilerHostOfConfigFile.js b/packages/typescript-estree/dist/create-program/WatchCompilerHostOfConfigFile.js deleted file mode 100644 index dcb0712993cd..000000000000 --- a/packages/typescript-estree/dist/create-program/WatchCompilerHostOfConfigFile.js +++ /dev/null @@ -1,6 +0,0 @@ -"use strict"; -// These types are internal to TS. -// They have been trimmed down to only include the relevant bits -// We use some special internal TS apis to help us do our parsing flexibly -Object.defineProperty(exports, "__esModule", { value: true }); -//# sourceMappingURL=WatchCompilerHostOfConfigFile.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/WatchCompilerHostOfConfigFile.js.map b/packages/typescript-estree/dist/create-program/WatchCompilerHostOfConfigFile.js.map deleted file mode 100644 index 757e885ccc53..000000000000 --- a/packages/typescript-estree/dist/create-program/WatchCompilerHostOfConfigFile.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"WatchCompilerHostOfConfigFile.js","sourceRoot":"","sources":["../../src/create-program/WatchCompilerHostOfConfigFile.ts"],"names":[],"mappings":";AAAA,kCAAkC;AAClC,gEAAgE;AAChE,0EAA0E"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/createIsolatedProgram.d.ts b/packages/typescript-estree/dist/create-program/createIsolatedProgram.d.ts deleted file mode 100644 index b39194d9f954..000000000000 --- a/packages/typescript-estree/dist/create-program/createIsolatedProgram.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -import type { ParseSettings } from '../parseSettings'; -import type { ASTAndDefiniteProgram } from './shared'; -/** - * @returns Returns a new source file and program corresponding to the linted code - */ -declare function createIsolatedProgram(parseSettings: ParseSettings): ASTAndDefiniteProgram; -export { createIsolatedProgram }; -//# sourceMappingURL=createIsolatedProgram.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/createIsolatedProgram.d.ts.map b/packages/typescript-estree/dist/create-program/createIsolatedProgram.d.ts.map deleted file mode 100644 index bdbe6ed35fb6..000000000000 --- a/packages/typescript-estree/dist/create-program/createIsolatedProgram.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"createIsolatedProgram.d.ts","sourceRoot":"","sources":["../../src/create-program/createIsolatedProgram.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAKtD;;GAEG;AACH,iBAAS,qBAAqB,CAC5B,aAAa,EAAE,aAAa,GAC3B,qBAAqB,CAoEvB;AAED,OAAO,EAAE,qBAAqB,EAAE,CAAC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/createIsolatedProgram.js b/packages/typescript-estree/dist/create-program/createIsolatedProgram.js deleted file mode 100644 index 49877fbf7476..000000000000 --- a/packages/typescript-estree/dist/create-program/createIsolatedProgram.js +++ /dev/null @@ -1,88 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.createIsolatedProgram = void 0; -const debug_1 = __importDefault(require("debug")); -const ts = __importStar(require("typescript")); -const getScriptKind_1 = require("./getScriptKind"); -const shared_1 = require("./shared"); -const log = (0, debug_1.default)('typescript-eslint:typescript-estree:createIsolatedProgram'); -/** - * @returns Returns a new source file and program corresponding to the linted code - */ -function createIsolatedProgram(parseSettings) { - log('Getting isolated program in %s mode for: %s', parseSettings.jsx ? 'TSX' : 'TS', parseSettings.filePath); - const compilerHost = { - fileExists() { - return true; - }, - getCanonicalFileName() { - return parseSettings.filePath; - }, - getCurrentDirectory() { - return ''; - }, - getDirectories() { - return []; - }, - getDefaultLibFileName() { - return 'lib.d.ts'; - }, - // TODO: Support Windows CRLF - getNewLine() { - return '\n'; - }, - getSourceFile(filename) { - return ts.createSourceFile(filename, parseSettings.codeFullText, ts.ScriptTarget.Latest, - /* setParentNodes */ true, (0, getScriptKind_1.getScriptKind)(parseSettings.filePath, parseSettings.jsx)); - }, - readFile() { - return undefined; - }, - useCaseSensitiveFileNames() { - return true; - }, - writeFile() { - return null; - }, - }; - const program = ts.createProgram([parseSettings.filePath], { - jsDocParsingMode: parseSettings.jsDocParsingMode, - noResolve: true, - target: ts.ScriptTarget.Latest, - jsx: parseSettings.jsx ? ts.JsxEmit.Preserve : undefined, - ...(0, shared_1.createDefaultCompilerOptionsFromExtra)(parseSettings), - }, compilerHost); - const ast = program.getSourceFile(parseSettings.filePath); - if (!ast) { - throw new Error('Expected an ast to be returned for the single-file isolated program.'); - } - return { ast, program }; -} -exports.createIsolatedProgram = createIsolatedProgram; -//# sourceMappingURL=createIsolatedProgram.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/createIsolatedProgram.js.map b/packages/typescript-estree/dist/create-program/createIsolatedProgram.js.map deleted file mode 100644 index b72a48e557a2..000000000000 --- a/packages/typescript-estree/dist/create-program/createIsolatedProgram.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"createIsolatedProgram.js","sourceRoot":"","sources":["../../src/create-program/createIsolatedProgram.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,+CAAiC;AAGjC,mDAAgD;AAEhD,qCAAiE;AAEjE,MAAM,GAAG,GAAG,IAAA,eAAK,EAAC,2DAA2D,CAAC,CAAC;AAE/E;;GAEG;AACH,SAAS,qBAAqB,CAC5B,aAA4B;IAE5B,GAAG,CACD,6CAA6C,EAC7C,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAChC,aAAa,CAAC,QAAQ,CACvB,CAAC;IAEF,MAAM,YAAY,GAAoB;QACpC,UAAU;YACR,OAAO,IAAI,CAAC;QACd,CAAC;QACD,oBAAoB;YAClB,OAAO,aAAa,CAAC,QAAQ,CAAC;QAChC,CAAC;QACD,mBAAmB;YACjB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,cAAc;YACZ,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,qBAAqB;YACnB,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,6BAA6B;QAC7B,UAAU;YACR,OAAO,IAAI,CAAC;QACd,CAAC;QACD,aAAa,CAAC,QAAgB;YAC5B,OAAO,EAAE,CAAC,gBAAgB,CACxB,QAAQ,EACR,aAAa,CAAC,YAAY,EAC1B,EAAE,CAAC,YAAY,CAAC,MAAM;YACtB,oBAAoB,CAAC,IAAI,EACzB,IAAA,6BAAa,EAAC,aAAa,CAAC,QAAQ,EAAE,aAAa,CAAC,GAAG,CAAC,CACzD,CAAC;QACJ,CAAC;QACD,QAAQ;YACN,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,yBAAyB;YACvB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,SAAS;YACP,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CAAC;IAEF,MAAM,OAAO,GAAG,EAAE,CAAC,aAAa,CAC9B,CAAC,aAAa,CAAC,QAAQ,CAAC,EACxB;QACE,gBAAgB,EAAE,aAAa,CAAC,gBAAgB;QAChD,SAAS,EAAE,IAAI;QACf,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM;QAC9B,GAAG,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;QACxD,GAAG,IAAA,8CAAqC,EAAC,aAAa,CAAC;KACxD,EACD,YAAY,CACb,CAAC;IAEF,MAAM,GAAG,GAAG,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC1D,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CACb,sEAAsE,CACvE,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;AAC1B,CAAC;AAEQ,sDAAqB"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/createProjectProgram.d.ts b/packages/typescript-estree/dist/create-program/createProjectProgram.d.ts deleted file mode 100644 index 4b2df1b424a6..000000000000 --- a/packages/typescript-estree/dist/create-program/createProjectProgram.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import * as ts from 'typescript'; -import type { ParseSettings } from '../parseSettings'; -import type { ASTAndDefiniteProgram } from './shared'; -/** - * @param parseSettings Internal settings for parsing the file - * @returns If found, the source file corresponding to the code and the containing program - */ -declare function createProjectProgram(parseSettings: ParseSettings, programsForProjects: readonly ts.Program[]): ASTAndDefiniteProgram; -export { createProjectProgram }; -//# sourceMappingURL=createProjectProgram.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/createProjectProgram.d.ts.map b/packages/typescript-estree/dist/create-program/createProjectProgram.d.ts.map deleted file mode 100644 index f46ad234bbd8..000000000000 --- a/packages/typescript-estree/dist/create-program/createProjectProgram.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"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,CA+EvB;AAED,OAAO,EAAE,oBAAoB,EAAE,CAAC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/createProjectProgram.js b/packages/typescript-estree/dist/create-program/createProjectProgram.js deleted file mode 100644 index 21bcfdd6acf4..000000000000 --- a/packages/typescript-estree/dist/create-program/createProjectProgram.js +++ /dev/null @@ -1,100 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.createProjectProgram = void 0; -const debug_1 = __importDefault(require("debug")); -const path_1 = __importDefault(require("path")); -const ts = __importStar(require("typescript")); -const node_utils_1 = require("../node-utils"); -const describeFilePath_1 = require("./describeFilePath"); -const shared_1 = require("./shared"); -const log = (0, debug_1.default)('typescript-eslint:typescript-estree:createProjectProgram'); -const DEFAULT_EXTRA_FILE_EXTENSIONS = [ - ts.Extension.Ts, - ts.Extension.Tsx, - ts.Extension.Js, - ts.Extension.Jsx, - ts.Extension.Mjs, - ts.Extension.Mts, - ts.Extension.Cjs, - ts.Extension.Cts, -]; -/** - * @param parseSettings Internal settings for parsing the file - * @returns If found, the source file corresponding to the code and the containing program - */ -function createProjectProgram(parseSettings, programsForProjects) { - log('Creating project program for: %s', parseSettings.filePath); - const astAndProgram = (0, node_utils_1.firstDefined)(programsForProjects, currentProgram => (0, shared_1.getAstFromProgram)(currentProgram, parseSettings.filePath)); - // The file was matched within the tsconfig - if (astAndProgram) { - return astAndProgram; - } - const describeProjectFilePath = (projectFile) => (0, describeFilePath_1.describeFilePath)(projectFile, parseSettings.tsconfigRootDir); - const describedFilePath = (0, describeFilePath_1.describeFilePath)(parseSettings.filePath, parseSettings.tsconfigRootDir); - const relativeProjects = Array.from(parseSettings.projects.values()).map(describeProjectFilePath); - const describedPrograms = relativeProjects.length === 1 - ? relativeProjects[0] - : `\n${relativeProjects.map(project => `- ${project}`).join('\n')}`; - const errorLines = [ - `ESLint was configured to run on \`${describedFilePath}\` using \`parserOptions.project\`: ${describedPrograms}`, - ]; - let hasMatchedAnError = false; - const { extraFileExtensions } = parseSettings; - extraFileExtensions.forEach(extraExtension => { - if (!extraExtension.startsWith('.')) { - errorLines.push(`Found unexpected extension \`${extraExtension}\` specified with the \`parserOptions.extraFileExtensions\` option. Did you mean \`.${extraExtension}\`?`); - } - if (DEFAULT_EXTRA_FILE_EXTENSIONS.includes(extraExtension)) { - errorLines.push(`You unnecessarily included the extension \`${extraExtension}\` with the \`parserOptions.extraFileExtensions\` option. This extension is already handled by the parser by default.`); - } - }); - const fileExtension = path_1.default.extname(parseSettings.filePath); - if (!DEFAULT_EXTRA_FILE_EXTENSIONS.includes(fileExtension)) { - const nonStandardExt = `The extension for the file (\`${fileExtension}\`) is non-standard`; - if (extraFileExtensions.length > 0) { - if (!extraFileExtensions.includes(fileExtension)) { - errorLines.push(`${nonStandardExt}. It should be added to your existing \`parserOptions.extraFileExtensions\`.`); - hasMatchedAnError = true; - } - } - else { - errorLines.push(`${nonStandardExt}. You should add \`parserOptions.extraFileExtensions\` to your config.`); - hasMatchedAnError = true; - } - } - if (!hasMatchedAnError) { - const [describedInclusions, describedSpecifiers] = parseSettings.projects.size === 1 - ? ['that TSConfig does not', 'that TSConfig'] - : ['none of those TSConfigs', 'one of those TSConfigs']; - errorLines.push(`However, ${describedInclusions} include this file. Either:`, `- Change ESLint's list of included files to not include this file`, `- Change ${describedSpecifiers} to include this file`, `- Create a new TSConfig that includes this file and include it in your parserOptions.project`, `See the typescript-eslint docs for more info: https://typescript-eslint.io/linting/troubleshooting#i-get-errors-telling-me-eslint-was-configured-to-run--however-that-tsconfig-does-not--none-of-those-tsconfigs-include-this-file`); - } - throw new Error(errorLines.join('\n')); -} -exports.createProjectProgram = createProjectProgram; -//# sourceMappingURL=createProjectProgram.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/createProjectProgram.js.map b/packages/typescript-estree/dist/create-program/createProjectProgram.js.map deleted file mode 100644 index 2b2dfca2f7da..000000000000 --- a/packages/typescript-estree/dist/create-program/createProjectProgram.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"createProjectProgram.js","sourceRoot":"","sources":["../../src/create-program/createProjectProgram.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/createProjectService.d.ts b/packages/typescript-estree/dist/create-program/createProjectService.d.ts deleted file mode 100644 index db3e958d6d90..000000000000 --- a/packages/typescript-estree/dist/create-program/createProjectService.d.ts +++ /dev/null @@ -1,16 +0,0 @@ -import type * as ts from 'typescript/lib/tsserverlibrary'; -import type { ProjectServiceOptions } from '../parser-options'; -export type TypeScriptProjectService = ts.server.ProjectService; -export interface ProjectServiceSettings { - allowDefaultProject: string[]; - maximumDefaultProjectFileMatchCount: number; - service: TypeScriptProjectService; - maximumOpenFiles: number; - incremental: boolean; -} -export interface ProjectServiceParseSettings { - extraFileExtensions?: string[]; -} -export declare const updateExtraFileExtensions: (service: TypeScriptProjectService, extraFileExtensions: string[], scriptKind: ts.ScriptKind) => void; -export declare function createProjectService(options: Required, jsDocParsingMode: ts.JSDocParsingMode | undefined, parseSettings?: ProjectServiceParseSettings): ProjectServiceSettings; -//# sourceMappingURL=createProjectService.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/createProjectService.d.ts.map b/packages/typescript-estree/dist/create-program/createProjectService.d.ts.map deleted file mode 100644 index 7897aec6c727..000000000000 --- a/packages/typescript-estree/dist/create-program/createProjectService.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"createProjectService.d.ts","sourceRoot":"","sources":["../../src/create-program/createProjectService.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAE1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAwB/D,MAAM,MAAM,wBAAwB,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC;AAEhE,MAAM,WAAW,sBAAsB;IACrC,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,mCAAmC,EAAE,MAAM,CAAC;IAC5C,OAAO,EAAE,wBAAwB,CAAC;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,2BAA2B;IAC1C,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AAED,eAAO,MAAM,yBAAyB,YAC3B,wBAAwB,uBACZ,MAAM,EAAE,cACjB,GAAG,UAAU,KACxB,IASF,CAAC;AAEF,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,QAAQ,CAAC,qBAAqB,CAAC,EACxC,gBAAgB,EAAE,EAAE,CAAC,gBAAgB,GAAG,SAAS,EACjD,aAAa,CAAC,EAAE,2BAA2B,GAC1C,sBAAsB,CAiHxB"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/createProjectService.js b/packages/typescript-estree/dist/create-program/createProjectService.js deleted file mode 100644 index 5e4538c3144e..000000000000 --- a/packages/typescript-estree/dist/create-program/createProjectService.js +++ /dev/null @@ -1,127 +0,0 @@ -"use strict"; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.createProjectService = exports.updateExtraFileExtensions = void 0; -/* eslint-disable @typescript-eslint/no-empty-function -- for TypeScript APIs*/ -const node_path_1 = __importDefault(require("node:path")); -const debug_1 = __importDefault(require("debug")); -const getParsedConfigFile_1 = require("./getParsedConfigFile"); -const getWatchesForProjectService_1 = require("./getWatchesForProjectService"); -const validateDefaultProjectForFilesGlob_1 = require("./validateDefaultProjectForFilesGlob"); -const log = (0, debug_1.default)('typescript-eslint:typescript-estree:createProjectService'); -const logTsserverErr = (0, debug_1.default)('typescript-eslint:typescript-estree:tsserver:err'); -const logTsserverInfo = (0, debug_1.default)('typescript-eslint:typescript-estree:tsserver:info'); -const logTsserverPerf = (0, debug_1.default)('typescript-eslint:typescript-estree:tsserver:perf'); -const logTsserverEvent = (0, debug_1.default)('typescript-eslint:typescript-estree:tsserver:event'); -const doNothing = () => { }; -const updateExtraFileExtensions = (service, extraFileExtensions, scriptKind) => { - log('Updating extra file extensions: %s', extraFileExtensions); - service.setHostConfiguration({ - extraFileExtensions: extraFileExtensions.map(extension => ({ - extension, - isMixedContent: false, - scriptKind, - })), - }); -}; -exports.updateExtraFileExtensions = updateExtraFileExtensions; -function createProjectService(options, jsDocParsingMode, parseSettings) { - (0, validateDefaultProjectForFilesGlob_1.validateDefaultProjectForFilesGlob)(options); - // We import this lazily to avoid its cost for users who don't use the service - // TODO: Once we drop support for TS<5.3 we can import from "typescript" directly - // eslint-disable-next-line @typescript-eslint/no-require-imports - const tsserver = require('typescript/lib/tsserverlibrary'); - // TODO: see getWatchProgramsForProjects - // We don't watch the disk, we just refer to these when ESLint calls us - // there's a whole separate update pass in maybeInvalidateProgram at the bottom of getWatchProgramsForProjects - // (this "goes nuclear on TypeScript") - const system = { - ...tsserver.sys, - clearImmediate, - clearTimeout, - setImmediate, - setTimeout, - watchDirectory: getWatchesForProjectService_1.saveDirectoryWatchCallback, - watchFile: getWatchesForProjectService_1.saveFileWatchCallback, - }; - const logger = { - close: doNothing, - endGroup: doNothing, - getLogFileName: () => undefined, - // The debug library doesn't use levels without creating a namespace for each. - // Log levels are not passed to the writer so we wouldn't be able to forward - // to a respective namespace. Supporting would require an additional flag for - // granular control. Defaulting to all levels for now. - hasLevel: () => true, - info(s) { - this.msg(s, tsserver.server.Msg.Info); - }, - loggingEnabled: () => - // if none of the debug namespaces are enabled, then don't enable logging in tsserver - logTsserverInfo.enabled || - logTsserverErr.enabled || - logTsserverPerf.enabled, - msg: (s, type) => { - switch (type) { - case tsserver.server.Msg.Err: - logTsserverErr(s); - break; - case tsserver.server.Msg.Perf: - logTsserverPerf(s); - break; - default: - logTsserverInfo(s); - } - }, - perftrc(s) { - this.msg(s, tsserver.server.Msg.Perf); - }, - startGroup: doNothing, - }; - log('Creating Project Service'); - const service = new tsserver.server.ProjectService({ - host: system, - cancellationToken: { isCancellationRequested: () => false }, - useSingleInferredProject: false, - useInferredProjectPerProjectRoot: false, - logger, - eventHandler: logTsserverEvent.enabled - ? (e) => { - logTsserverEvent(e); - } - : undefined, - session: undefined, - canUseWatchEvents: true, - jsDocParsingMode, - }); - if (parseSettings?.extraFileExtensions?.length) { - (0, exports.updateExtraFileExtensions)(service, parseSettings.extraFileExtensions, tsserver.ScriptKind.Deferred); - } - if (options.defaultProject) { - log('Enabling default project: %s', options.defaultProject); - try { - const configFile = (0, getParsedConfigFile_1.getParsedConfigFile)(options.defaultProject, node_path_1.default.dirname(options.defaultProject)); - service.setCompilerOptionsForInferredProjects( - // NOTE: The inferred projects API is not intended for source files when a tsconfig - // exists. There is no API that generates an InferredProjectCompilerOptions suggesting - // it is meant for hard coded options passed in. Hard casting as a work around. - // See https://github.com/microsoft/TypeScript/blob/27bcd4cb5a98bce46c9cdd749752703ead021a4b/src/server/protocol.ts#L1904 - // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-explicit-any - configFile.options); - } - catch (error) { - throw new Error(`Could not parse default project '${options.defaultProject}': ${error.message}`); - } - } - return { - allowDefaultProject: options.allowDefaultProject, - maximumOpenFiles: options.maximumOpenFiles, - incremental: options.incremental, - maximumDefaultProjectFileMatchCount: options.maximumDefaultProjectFileMatchCount_THIS_WILL_SLOW_DOWN_LINTING, - service, - }; -} -exports.createProjectService = createProjectService; -//# sourceMappingURL=createProjectService.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/createProjectService.js.map b/packages/typescript-estree/dist/create-program/createProjectService.js.map deleted file mode 100644 index 79cbee4ee2cb..000000000000 --- a/packages/typescript-estree/dist/create-program/createProjectService.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"createProjectService.js","sourceRoot":"","sources":["../../src/create-program/createProjectService.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/createSourceFile.d.ts b/packages/typescript-estree/dist/create-program/createSourceFile.d.ts deleted file mode 100644 index c3d994d50cb6..000000000000 --- a/packages/typescript-estree/dist/create-program/createSourceFile.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import * as ts from 'typescript'; -import type { ParseSettings } from '../parseSettings'; -import type { ASTAndNoProgram } from './shared'; -declare function createSourceFile(parseSettings: ParseSettings): ts.SourceFile; -declare function createNoProgram(parseSettings: ParseSettings): ASTAndNoProgram; -export { createSourceFile, createNoProgram }; -//# sourceMappingURL=createSourceFile.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/createSourceFile.d.ts.map b/packages/typescript-estree/dist/create-program/createSourceFile.d.ts.map deleted file mode 100644 index 6eb4e387c213..000000000000 --- a/packages/typescript-estree/dist/create-program/createSourceFile.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"createSourceFile.d.ts","sourceRoot":"","sources":["../../src/create-program/createSourceFile.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAIhD,iBAAS,gBAAgB,CAAC,aAAa,EAAE,aAAa,GAAG,EAAE,CAAC,UAAU,CAmBrE;AAED,iBAAS,eAAe,CAAC,aAAa,EAAE,aAAa,GAAG,eAAe,CAKtE;AAED,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,CAAC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/createSourceFile.js b/packages/typescript-estree/dist/create-program/createSourceFile.js deleted file mode 100644 index 1d230abe667e..000000000000 --- a/packages/typescript-estree/dist/create-program/createSourceFile.js +++ /dev/null @@ -1,53 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.createNoProgram = exports.createSourceFile = void 0; -const debug_1 = __importDefault(require("debug")); -const ts = __importStar(require("typescript")); -const source_files_1 = require("../source-files"); -const getScriptKind_1 = require("./getScriptKind"); -const log = (0, debug_1.default)('typescript-eslint:typescript-estree:createSourceFile'); -function createSourceFile(parseSettings) { - log('Getting AST without type information in %s mode for: %s', parseSettings.jsx ? 'TSX' : 'TS', parseSettings.filePath); - return (0, source_files_1.isSourceFile)(parseSettings.code) - ? parseSettings.code - : ts.createSourceFile(parseSettings.filePath, parseSettings.codeFullText, { - languageVersion: ts.ScriptTarget.Latest, - jsDocParsingMode: parseSettings.jsDocParsingMode, - }, - /* setParentNodes */ true, (0, getScriptKind_1.getScriptKind)(parseSettings.filePath, parseSettings.jsx)); -} -exports.createSourceFile = createSourceFile; -function createNoProgram(parseSettings) { - return { - ast: createSourceFile(parseSettings), - program: null, - }; -} -exports.createNoProgram = createNoProgram; -//# sourceMappingURL=createSourceFile.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/createSourceFile.js.map b/packages/typescript-estree/dist/create-program/createSourceFile.js.map deleted file mode 100644 index cf2961093eb2..000000000000 --- a/packages/typescript-estree/dist/create-program/createSourceFile.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"createSourceFile.js","sourceRoot":"","sources":["../../src/create-program/createSourceFile.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,+CAAiC;AAGjC,kDAA+C;AAC/C,mDAAgD;AAGhD,MAAM,GAAG,GAAG,IAAA,eAAK,EAAC,sDAAsD,CAAC,CAAC;AAE1E,SAAS,gBAAgB,CAAC,aAA4B;IACpD,GAAG,CACD,yDAAyD,EACzD,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAChC,aAAa,CAAC,QAAQ,CACvB,CAAC;IAEF,OAAO,IAAA,2BAAY,EAAC,aAAa,CAAC,IAAI,CAAC;QACrC,CAAC,CAAC,aAAa,CAAC,IAAI;QACpB,CAAC,CAAC,EAAE,CAAC,gBAAgB,CACjB,aAAa,CAAC,QAAQ,EACtB,aAAa,CAAC,YAAY,EAC1B;YACE,eAAe,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM;YACvC,gBAAgB,EAAE,aAAa,CAAC,gBAAgB;SACjD;QACD,oBAAoB,CAAC,IAAI,EACzB,IAAA,6BAAa,EAAC,aAAa,CAAC,QAAQ,EAAE,aAAa,CAAC,GAAG,CAAC,CACzD,CAAC;AACR,CAAC;AASQ,4CAAgB;AAPzB,SAAS,eAAe,CAAC,aAA4B;IACnD,OAAO;QACL,GAAG,EAAE,gBAAgB,CAAC,aAAa,CAAC;QACpC,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC;AAE0B,0CAAe"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/describeFilePath.d.ts b/packages/typescript-estree/dist/create-program/describeFilePath.d.ts deleted file mode 100644 index d46f86aa750e..000000000000 --- a/packages/typescript-estree/dist/create-program/describeFilePath.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export declare function describeFilePath(filePath: string, tsconfigRootDir: string): string; -//# sourceMappingURL=describeFilePath.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/describeFilePath.d.ts.map b/packages/typescript-estree/dist/create-program/describeFilePath.d.ts.map deleted file mode 100644 index 6d049bedbdb9..000000000000 --- a/packages/typescript-estree/dist/create-program/describeFilePath.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"describeFilePath.d.ts","sourceRoot":"","sources":["../../src/create-program/describeFilePath.ts"],"names":[],"mappings":"AAEA,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,MAAM,GACtB,MAAM,CAyBR"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/describeFilePath.js b/packages/typescript-estree/dist/create-program/describeFilePath.js deleted file mode 100644 index ba35361527e7..000000000000 --- a/packages/typescript-estree/dist/create-program/describeFilePath.js +++ /dev/null @@ -1,32 +0,0 @@ -"use strict"; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.describeFilePath = void 0; -const path_1 = __importDefault(require("path")); -function describeFilePath(filePath, tsconfigRootDir) { - // If the TSConfig root dir is a parent of the filePath, use - // `` as a prefix for the path. - const relative = path_1.default.relative(tsconfigRootDir, filePath); - if (relative && !relative.startsWith('..') && !path_1.default.isAbsolute(relative)) { - return `/${relative}`; - } - // Root-like Mac/Linux (~/*, ~*) or Windows (C:/*, /) paths that aren't - // relative to the TSConfig root dir should be fully described. - // This avoids strings like /../../../../repo/file.ts. - // https://github.com/typescript-eslint/typescript-eslint/issues/6289 - if (/^[(\w+:)\\/~]/.test(filePath)) { - return filePath; - } - // Similarly, if the relative path would contain a lot of ../.., then - // ignore it and print the file path directly. - if (/\.\.[/\\]\.\./.test(relative)) { - return filePath; - } - // Lastly, since we've eliminated all special cases, we know the cleanest - // path to print is probably the prefixed relative one. - return `/${relative}`; -} -exports.describeFilePath = describeFilePath; -//# sourceMappingURL=describeFilePath.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/describeFilePath.js.map b/packages/typescript-estree/dist/create-program/describeFilePath.js.map deleted file mode 100644 index 3ae6ea12dbea..000000000000 --- a/packages/typescript-estree/dist/create-program/describeFilePath.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"describeFilePath.js","sourceRoot":"","sources":["../../src/create-program/describeFilePath.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAExB,SAAgB,gBAAgB,CAC9B,QAAgB,EAChB,eAAuB;IAEvB,4DAA4D;IAC5D,gDAAgD;IAChD,MAAM,QAAQ,GAAG,cAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;IAC1D,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,cAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzE,OAAO,qBAAqB,QAAQ,EAAE,CAAC;IACzC,CAAC;IAED,uEAAuE;IACvE,+DAA+D;IAC/D,uEAAuE;IACvE,qEAAqE;IACrE,IAAI,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,qEAAqE;IACrE,8CAA8C;IAC9C,IAAI,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,yEAAyE;IACzE,uDAAuD;IACvD,OAAO,qBAAqB,QAAQ,EAAE,CAAC;AACzC,CAAC;AA5BD,4CA4BC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/getParsedConfigFile.d.ts b/packages/typescript-estree/dist/create-program/getParsedConfigFile.d.ts deleted file mode 100644 index a58ad4b8223e..000000000000 --- a/packages/typescript-estree/dist/create-program/getParsedConfigFile.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import type * as ts from 'typescript/lib/tsserverlibrary'; -/** - * Utility offered by parser to help consumers parse a config file. - * - * @param configFile the path to the tsconfig.json file, relative to `projectDirectory` - * @param projectDirectory the project directory to use as the CWD, defaults to `process.cwd()` - */ -declare function getParsedConfigFile(configFile: string, projectDirectory?: string): ts.ParsedCommandLine; -export { getParsedConfigFile }; -//# sourceMappingURL=getParsedConfigFile.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/getParsedConfigFile.d.ts.map b/packages/typescript-estree/dist/create-program/getParsedConfigFile.d.ts.map deleted file mode 100644 index 5f72ddbf24f1..000000000000 --- a/packages/typescript-estree/dist/create-program/getParsedConfigFile.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"getParsedConfigFile.d.ts","sourceRoot":"","sources":["../../src/create-program/getParsedConfigFile.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAI1D;;;;;GAKG;AACH,iBAAS,mBAAmB,CAC1B,UAAU,EAAE,MAAM,EAClB,gBAAgB,CAAC,EAAE,MAAM,GACxB,EAAE,CAAC,iBAAiB,CA8CtB;AAED,OAAO,EAAE,mBAAmB,EAAE,CAAC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/getParsedConfigFile.js b/packages/typescript-estree/dist/create-program/getParsedConfigFile.js deleted file mode 100644 index fd0b27ac5afe..000000000000 --- a/packages/typescript-estree/dist/create-program/getParsedConfigFile.js +++ /dev/null @@ -1,72 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getParsedConfigFile = void 0; -const fs = __importStar(require("fs")); -const path = __importStar(require("path")); -const shared_1 = require("./shared"); -/** - * Utility offered by parser to help consumers parse a config file. - * - * @param configFile the path to the tsconfig.json file, relative to `projectDirectory` - * @param projectDirectory the project directory to use as the CWD, defaults to `process.cwd()` - */ -function getParsedConfigFile(configFile, projectDirectory) { - // We import this lazily to avoid its cost for users who don't use the service - // TODO: Once we drop support for TS<5.3 we can import from "typescript" directly - // eslint-disable-next-line @typescript-eslint/no-require-imports - const tsserver = require('typescript/lib/tsserverlibrary'); - // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition - if (tsserver.sys === undefined) { - throw new Error('`createProgramFromConfigFile` is only supported in a Node-like environment.'); - } - const parsed = tsserver.getParsedCommandLineOfConfigFile(configFile, shared_1.CORE_COMPILER_OPTIONS, { - onUnRecoverableConfigFileDiagnostic: diag => { - throw new Error(formatDiagnostics([diag])); // ensures that `parsed` is defined. - }, - fileExists: fs.existsSync, - getCurrentDirectory: () => (projectDirectory && path.resolve(projectDirectory)) || process.cwd(), - readDirectory: tsserver.sys.readDirectory, - readFile: file => fs.readFileSync(file, 'utf-8'), - useCaseSensitiveFileNames: tsserver.sys.useCaseSensitiveFileNames, - }); - // parsed is not undefined, since we throw on failure. - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - const result = parsed; - if (result.errors.length) { - throw new Error(formatDiagnostics(result.errors)); - } - return result; - // scoped to parent function to use lazy typescript import - function formatDiagnostics(diagnostics) { - return tsserver.formatDiagnostics(diagnostics, { - getCanonicalFileName: f => f, - getCurrentDirectory: process.cwd, - getNewLine: () => '\n', - }); - } -} -exports.getParsedConfigFile = getParsedConfigFile; -//# sourceMappingURL=getParsedConfigFile.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/getParsedConfigFile.js.map b/packages/typescript-estree/dist/create-program/getParsedConfigFile.js.map deleted file mode 100644 index f6f26890b134..000000000000 --- a/packages/typescript-estree/dist/create-program/getParsedConfigFile.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"getParsedConfigFile.js","sourceRoot":"","sources":["../../src/create-program/getParsedConfigFile.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,2CAA6B;AAG7B,qCAAiD;AAEjD;;;;;GAKG;AACH,SAAS,mBAAmB,CAC1B,UAAkB,EAClB,gBAAyB;IAEzB,8EAA8E;IAC9E,iFAAiF;IACjF,iEAAiE;IACjE,MAAM,QAAQ,GAAG,OAAO,CAAC,gCAAgC,CAAc,CAAC;IAExE,uEAAuE;IACvE,IAAI,QAAQ,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CACb,6EAA6E,CAC9E,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,gCAAgC,CACtD,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,QAAQ,CAAC,GAAG,CAAC,aAAa;QACzC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC;QAChD,yBAAyB,EAAE,QAAQ,CAAC,GAAG,CAAC,yBAAyB;KAClE,CACF,CAAC;IAEF,sDAAsD;IACtD,oEAAoE;IACpE,MAAM,MAAM,GAAG,MAAO,CAAC;IACvB,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,OAAO,MAAM,CAAC;IAEd,0DAA0D;IAC1D,SAAS,iBAAiB,CAAC,WAA4B;QACrD,OAAO,QAAQ,CAAC,iBAAiB,CAAC,WAAW,EAAE;YAC7C,oBAAoB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5B,mBAAmB,EAAE,OAAO,CAAC,GAAG;YAChC,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI;SACvB,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAEQ,kDAAmB"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/getScriptKind.d.ts b/packages/typescript-estree/dist/create-program/getScriptKind.d.ts deleted file mode 100644 index 6db505874195..000000000000 --- a/packages/typescript-estree/dist/create-program/getScriptKind.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import * as ts from 'typescript'; -declare function getScriptKind(filePath: string, jsx: boolean): ts.ScriptKind; -declare function getLanguageVariant(scriptKind: ts.ScriptKind): ts.LanguageVariant; -export { getScriptKind, getLanguageVariant }; -//# sourceMappingURL=getScriptKind.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/getScriptKind.d.ts.map b/packages/typescript-estree/dist/create-program/getScriptKind.d.ts.map deleted file mode 100644 index a53274ef91b3..000000000000 --- a/packages/typescript-estree/dist/create-program/getScriptKind.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"getScriptKind.d.ts","sourceRoot":"","sources":["../../src/create-program/getScriptKind.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,iBAAS,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,EAAE,CAAC,UAAU,CA8BpE;AAED,iBAAS,kBAAkB,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,eAAe,CAYzE;AAED,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,CAAC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/getScriptKind.js b/packages/typescript-estree/dist/create-program/getScriptKind.js deleted file mode 100644 index 964439ba2b17..000000000000 --- a/packages/typescript-estree/dist/create-program/getScriptKind.js +++ /dev/null @@ -1,72 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getLanguageVariant = exports.getScriptKind = void 0; -const path_1 = __importDefault(require("path")); -const ts = __importStar(require("typescript")); -function getScriptKind(filePath, jsx) { - const extension = path_1.default.extname(filePath).toLowerCase(); - // note - we only respect the user's jsx setting for unknown extensions - // this is so that we always match TS's internal script kind logic, preventing - // weird errors due to a mismatch. - // https://github.com/microsoft/TypeScript/blob/da00ba67ed1182ad334f7c713b8254fba174aeba/src/compiler/utilities.ts#L6948-L6968 - switch (extension) { - case ts.Extension.Js: - case ts.Extension.Cjs: - case ts.Extension.Mjs: - return ts.ScriptKind.JS; - case ts.Extension.Jsx: - return ts.ScriptKind.JSX; - case ts.Extension.Ts: - case ts.Extension.Cts: - case ts.Extension.Mts: - return ts.ScriptKind.TS; - case ts.Extension.Tsx: - return ts.ScriptKind.TSX; - case ts.Extension.Json: - return ts.ScriptKind.JSON; - default: - // unknown extension, force typescript to ignore the file extension, and respect the user's setting - return jsx ? ts.ScriptKind.TSX : ts.ScriptKind.TS; - } -} -exports.getScriptKind = getScriptKind; -function getLanguageVariant(scriptKind) { - // https://github.com/microsoft/TypeScript/blob/d6e483b8dabd8fd37c00954c3f2184bb7f1eb90c/src/compiler/utilities.ts#L6281-L6285 - switch (scriptKind) { - case ts.ScriptKind.TSX: - case ts.ScriptKind.JSX: - case ts.ScriptKind.JS: - case ts.ScriptKind.JSON: - return ts.LanguageVariant.JSX; - default: - return ts.LanguageVariant.Standard; - } -} -exports.getLanguageVariant = getLanguageVariant; -//# sourceMappingURL=getScriptKind.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/getScriptKind.js.map b/packages/typescript-estree/dist/create-program/getScriptKind.js.map deleted file mode 100644 index 5e3897e3ca5e..000000000000 --- a/packages/typescript-estree/dist/create-program/getScriptKind.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"getScriptKind.js","sourceRoot":"","sources":["../../src/create-program/getScriptKind.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAwB;AACxB,+CAAiC;AAEjC,SAAS,aAAa,CAAC,QAAgB,EAAE,GAAY;IACnD,MAAM,SAAS,GAAG,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAkB,CAAC;IACvE,uEAAuE;IACvE,8EAA8E;IAC9E,kCAAkC;IAClC,8HAA8H;IAC9H,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;QACrB,KAAK,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC;QACtB,KAAK,EAAE,CAAC,SAAS,CAAC,GAAG;YACnB,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;QAE1B,KAAK,EAAE,CAAC,SAAS,CAAC,GAAG;YACnB,OAAO,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;QAE3B,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;QACrB,KAAK,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC;QACtB,KAAK,EAAE,CAAC,SAAS,CAAC,GAAG;YACnB,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;QAE1B,KAAK,EAAE,CAAC,SAAS,CAAC,GAAG;YACnB,OAAO,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;QAE3B,KAAK,EAAE,CAAC,SAAS,CAAC,IAAI;YACpB,OAAO,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;QAE5B;YACE,mGAAmG;YACnG,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;IACtD,CAAC;AACH,CAAC;AAgBQ,sCAAa;AAdtB,SAAS,kBAAkB,CAAC,UAAyB;IACnD,8HAA8H;IAC9H,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;QACvB,KAAK,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;QACvB,KAAK,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;QACtB,KAAK,EAAE,CAAC,UAAU,CAAC,IAAI;YACrB,OAAO,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC;QAEhC;YACE,OAAO,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC;IACvC,CAAC;AACH,CAAC;AAEuB,gDAAkB"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/getWatchProgramsForProjects.d.ts b/packages/typescript-estree/dist/create-program/getWatchProgramsForProjects.d.ts deleted file mode 100644 index 621d9bd645f5..000000000000 --- a/packages/typescript-estree/dist/create-program/getWatchProgramsForProjects.d.ts +++ /dev/null @@ -1,15 +0,0 @@ -import * as ts from 'typescript'; -import type { ParseSettings } from '../parseSettings'; -/** - * Clear all of the parser caches. - * This should only be used in testing to ensure the parser is clean between tests. - */ -declare function clearWatchCaches(): void; -/** - * Calculate project environments using options provided by consumer and paths from config - * @param parseSettings Internal settings for parsing the file - * @returns The programs corresponding to the supplied tsconfig paths - */ -declare function getWatchProgramsForProjects(parseSettings: ParseSettings): ts.Program[]; -export { clearWatchCaches, getWatchProgramsForProjects }; -//# sourceMappingURL=getWatchProgramsForProjects.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/getWatchProgramsForProjects.d.ts.map b/packages/typescript-estree/dist/create-program/getWatchProgramsForProjects.d.ts.map deleted file mode 100644 index 90961e84e8e3..000000000000 --- a/packages/typescript-estree/dist/create-program/getWatchProgramsForProjects.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"getWatchProgramsForProjects.d.ts","sourceRoot":"","sources":["../../src/create-program/getWatchProgramsForProjects.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AA8CtD;;;GAGG;AACH,iBAAS,gBAAgB,IAAI,IAAI,CAOhC;AA4DD;;;;GAIG;AACH,iBAAS,2BAA2B,CAClC,aAAa,EAAE,aAAa,GAC3B,EAAE,CAAC,OAAO,EAAE,CA8Gd;AA6PD,OAAO,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,CAAC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/getWatchProgramsForProjects.js b/packages/typescript-estree/dist/create-program/getWatchProgramsForProjects.js deleted file mode 100644 index 80b59b9df14a..000000000000 --- a/packages/typescript-estree/dist/create-program/getWatchProgramsForProjects.js +++ /dev/null @@ -1,372 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getWatchProgramsForProjects = exports.clearWatchCaches = void 0; -const debug_1 = __importDefault(require("debug")); -const fs_1 = __importDefault(require("fs")); -const ts = __importStar(require("typescript")); -const source_files_1 = require("../source-files"); -const shared_1 = require("./shared"); -const log = (0, debug_1.default)('typescript-eslint:typescript-estree:createWatchProgram'); -/** - * Maps tsconfig paths to their corresponding file contents and resulting watches - */ -const knownWatchProgramMap = new Map(); -/** - * Maps file/folder paths to their set of corresponding watch callbacks - * There may be more than one per file/folder if a file/folder is shared between projects - */ -const fileWatchCallbackTrackingMap = new Map(); -const folderWatchCallbackTrackingMap = new Map(); -/** - * Stores the list of known files for each program - */ -const programFileListCache = new Map(); -/** - * Caches the last modified time of the tsconfig files - */ -const tsconfigLastModifiedTimestampCache = new Map(); -const parsedFilesSeenHash = new Map(); -/** - * Clear all of the parser caches. - * This should only be used in testing to ensure the parser is clean between tests. - */ -function clearWatchCaches() { - knownWatchProgramMap.clear(); - fileWatchCallbackTrackingMap.clear(); - folderWatchCallbackTrackingMap.clear(); - parsedFilesSeenHash.clear(); - programFileListCache.clear(); - tsconfigLastModifiedTimestampCache.clear(); -} -exports.clearWatchCaches = clearWatchCaches; -function saveWatchCallback(trackingMap) { - return (fileName, callback) => { - const normalizedFileName = (0, shared_1.getCanonicalFileName)(fileName); - const watchers = (() => { - let watchers = trackingMap.get(normalizedFileName); - if (!watchers) { - watchers = new Set(); - trackingMap.set(normalizedFileName, watchers); - } - return watchers; - })(); - watchers.add(callback); - return { - close: () => { - watchers.delete(callback); - }, - }; - }; -} -/** - * Holds information about the file currently being linted - */ -const currentLintOperationState = { - code: '', - filePath: '', -}; -/** - * Appropriately report issues found when reading a config file - * @param diagnostic The diagnostic raised when creating a program - */ -function diagnosticReporter(diagnostic) { - throw new Error(ts.flattenDiagnosticMessageText(diagnostic.messageText, ts.sys.newLine)); -} -function updateCachedFileList(tsconfigPath, program) { - const fileList = new Set(program.getRootFileNames().map(f => (0, shared_1.getCanonicalFileName)(f))); - programFileListCache.set(tsconfigPath, fileList); - return fileList; -} -/** - * Calculate project environments using options provided by consumer and paths from config - * @param parseSettings Internal settings for parsing the file - * @returns The programs corresponding to the supplied tsconfig paths - */ -function getWatchProgramsForProjects(parseSettings) { - const filePath = (0, shared_1.getCanonicalFileName)(parseSettings.filePath); - const results = []; - // preserve reference to code and file being linted - currentLintOperationState.code = parseSettings.code; - currentLintOperationState.filePath = filePath; - // Update file version if necessary - const fileWatchCallbacks = fileWatchCallbackTrackingMap.get(filePath); - const codeHash = (0, shared_1.createHash)((0, source_files_1.getCodeText)(parseSettings.code)); - if (parsedFilesSeenHash.get(filePath) !== codeHash && - fileWatchCallbacks && - fileWatchCallbacks.size > 0) { - fileWatchCallbacks.forEach(cb => cb(filePath, ts.FileWatcherEventKind.Changed)); - } - const currentProjectsFromSettings = new Map(parseSettings.projects); - /* - * before we go into the process of attempting to find and update every program - * see if we know of a program that contains this file - */ - for (const [tsconfigPath, existingWatch] of knownWatchProgramMap.entries()) { - if (!currentProjectsFromSettings.has(tsconfigPath)) { - // the current parser run doesn't specify this tsconfig in parserOptions.project - // so we don't want to consider it for caching purposes. - // - // if we did consider it we might return a program for a project - // that wasn't specified in the current parser run (which is obv bad!). - continue; - } - let fileList = programFileListCache.get(tsconfigPath); - let updatedProgram = null; - if (!fileList) { - updatedProgram = existingWatch.getProgram().getProgram(); - fileList = updateCachedFileList(tsconfigPath, updatedProgram); - } - if (fileList.has(filePath)) { - log('Found existing program for file. %s', filePath); - updatedProgram ??= existingWatch.getProgram().getProgram(); - // sets parent pointers in source files - updatedProgram.getTypeChecker(); - return [updatedProgram]; - } - } - log('File did not belong to any existing programs, moving to create/update. %s', filePath); - /* - * We don't know of a program that contains the file, this means that either: - * - the required program hasn't been created yet, or - * - the file is new/renamed, and the program hasn't been updated. - */ - for (const tsconfigPath of parseSettings.projects) { - const existingWatch = knownWatchProgramMap.get(tsconfigPath[0]); - if (existingWatch) { - const updatedProgram = maybeInvalidateProgram(existingWatch, filePath, tsconfigPath[0]); - if (!updatedProgram) { - continue; - } - // sets parent pointers in source files - updatedProgram.getTypeChecker(); - // cache and check the file list - const fileList = updateCachedFileList(tsconfigPath[0], updatedProgram); - if (fileList.has(filePath)) { - log('Found updated program for file. %s', filePath); - // we can return early because we know this program contains the file - return [updatedProgram]; - } - results.push(updatedProgram); - continue; - } - const programWatch = createWatchProgram(tsconfigPath[1], parseSettings); - knownWatchProgramMap.set(tsconfigPath[0], programWatch); - const program = programWatch.getProgram().getProgram(); - // sets parent pointers in source files - program.getTypeChecker(); - // cache and check the file list - const fileList = updateCachedFileList(tsconfigPath[0], program); - if (fileList.has(filePath)) { - log('Found program for file. %s', filePath); - // we can return early because we know this program contains the file - return [program]; - } - results.push(program); - } - return results; -} -exports.getWatchProgramsForProjects = getWatchProgramsForProjects; -function createWatchProgram(tsconfigPath, parseSettings) { - log('Creating watch program for %s.', tsconfigPath); - // create compiler host - const watchCompilerHost = ts.createWatchCompilerHost(tsconfigPath, (0, shared_1.createDefaultCompilerOptionsFromExtra)(parseSettings), ts.sys, ts.createAbstractBuilder, diagnosticReporter, - // TODO: file issue on TypeScript to suggest making optional? - // eslint-disable-next-line @typescript-eslint/no-empty-function - /*reportWatchStatus*/ () => { }); - watchCompilerHost.jsDocParsingMode = parseSettings.jsDocParsingMode; - // ensure readFile reads the code being linted instead of the copy on disk - const oldReadFile = watchCompilerHost.readFile; - watchCompilerHost.readFile = (filePathIn, encoding) => { - const filePath = (0, shared_1.getCanonicalFileName)(filePathIn); - const fileContent = filePath === currentLintOperationState.filePath - ? (0, source_files_1.getCodeText)(currentLintOperationState.code) - : oldReadFile(filePath, encoding); - if (fileContent !== undefined) { - parsedFilesSeenHash.set(filePath, (0, shared_1.createHash)(fileContent)); - } - return fileContent; - }; - // ensure process reports error on failure instead of exiting process immediately - watchCompilerHost.onUnRecoverableConfigFileDiagnostic = diagnosticReporter; - // ensure process doesn't emit programs - watchCompilerHost.afterProgramCreate = (program) => { - // report error if there are any errors in the config file - const configFileDiagnostics = program - .getConfigFileParsingDiagnostics() - .filter(diag => diag.category === ts.DiagnosticCategory.Error && diag.code !== 18003); - if (configFileDiagnostics.length > 0) { - diagnosticReporter(configFileDiagnostics[0]); - } - }; - /* - * From the CLI, the file watchers won't matter, as the files will be parsed once and then forgotten. - * When running from an IDE, these watchers will let us tell typescript about changes. - * - * ESLint IDE plugins will send us unfinished file content as the user types (before it's saved to disk). - * We use the file watchers to tell typescript about this latest file content. - * - * When files are created (or renamed), we won't know about them because we have no filesystem watchers attached. - * We use the folder watchers to tell typescript it needs to go and find new files in the project folders. - */ - watchCompilerHost.watchFile = saveWatchCallback(fileWatchCallbackTrackingMap); - watchCompilerHost.watchDirectory = saveWatchCallback(folderWatchCallbackTrackingMap); - // allow files with custom extensions to be included in program (uses internal ts api) - const oldOnDirectoryStructureHostCreate = watchCompilerHost.onCachedDirectoryStructureHostCreate; - watchCompilerHost.onCachedDirectoryStructureHostCreate = (host) => { - const oldReadDirectory = host.readDirectory; - host.readDirectory = (path, extensions, exclude, include, depth) => oldReadDirectory(path, !extensions - ? undefined - : extensions.concat(parseSettings.extraFileExtensions), exclude, include, depth); - oldOnDirectoryStructureHostCreate(host); - }; - // This works only on 3.9 - watchCompilerHost.extraFileExtensions = parseSettings.extraFileExtensions.map(extension => ({ - extension, - isMixedContent: true, - scriptKind: ts.ScriptKind.Deferred, - })); - watchCompilerHost.trace = log; - // Since we don't want to asynchronously update program we want to disable timeout methods - // So any changes in the program will be delayed and updated when getProgram is called on watch - watchCompilerHost.setTimeout = undefined; - watchCompilerHost.clearTimeout = undefined; - return ts.createWatchProgram(watchCompilerHost); -} -function hasTSConfigChanged(tsconfigPath) { - const stat = fs_1.default.statSync(tsconfigPath); - const lastModifiedAt = stat.mtimeMs; - const cachedLastModifiedAt = tsconfigLastModifiedTimestampCache.get(tsconfigPath); - tsconfigLastModifiedTimestampCache.set(tsconfigPath, lastModifiedAt); - if (cachedLastModifiedAt === undefined) { - return false; - } - return Math.abs(cachedLastModifiedAt - lastModifiedAt) > Number.EPSILON; -} -function maybeInvalidateProgram(existingWatch, filePath, tsconfigPath) { - /* - * By calling watchProgram.getProgram(), it will trigger a resync of the program based on - * whatever new file content we've given it from our input. - */ - let updatedProgram = existingWatch.getProgram().getProgram(); - // In case this change causes problems in larger real world codebases - // Provide an escape hatch so people don't _have_ to revert to an older version - if (process.env.TSESTREE_NO_INVALIDATION === 'true') { - return updatedProgram; - } - if (hasTSConfigChanged(tsconfigPath)) { - /* - * If the stat of the tsconfig has changed, that could mean the include/exclude/files lists has changed - * We need to make sure typescript knows this so it can update appropriately - */ - log('tsconfig has changed - triggering program update. %s', tsconfigPath); - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - fileWatchCallbackTrackingMap - .get(tsconfigPath) - .forEach(cb => cb(tsconfigPath, ts.FileWatcherEventKind.Changed)); - // tsconfig change means that the file list more than likely changed, so clear the cache - programFileListCache.delete(tsconfigPath); - } - let sourceFile = updatedProgram.getSourceFile(filePath); - if (sourceFile) { - return updatedProgram; - } - /* - * Missing source file means our program's folder structure might be out of date. - * So we need to tell typescript it needs to update the correct folder. - */ - log('File was not found in program - triggering folder update. %s', filePath); - // Find the correct directory callback by climbing the folder tree - const currentDir = (0, shared_1.canonicalDirname)(filePath); - let current = null; - let next = currentDir; - let hasCallback = false; - while (current !== next) { - current = next; - const folderWatchCallbacks = folderWatchCallbackTrackingMap.get(current); - if (folderWatchCallbacks) { - for (const cb of folderWatchCallbacks) { - if (currentDir !== current) { - cb(currentDir, ts.FileWatcherEventKind.Changed); - } - cb(current, ts.FileWatcherEventKind.Changed); - } - hasCallback = true; - } - next = (0, shared_1.canonicalDirname)(current); - } - if (!hasCallback) { - /* - * No callback means the paths don't matchup - so no point returning any program - * this will signal to the caller to skip this program - */ - log('No callback found for file, not part of this program. %s', filePath); - return null; - } - // directory update means that the file list more than likely changed, so clear the cache - programFileListCache.delete(tsconfigPath); - // force the immediate resync - updatedProgram = existingWatch.getProgram().getProgram(); - sourceFile = updatedProgram.getSourceFile(filePath); - if (sourceFile) { - return updatedProgram; - } - /* - * At this point we're in one of two states: - * - The file isn't supposed to be in this program due to exclusions - * - The file is new, and was renamed from an old, included filename - * - * For the latter case, we need to tell typescript that the old filename is now deleted - */ - log('File was still not found in program after directory update - checking file deletions. %s', filePath); - const rootFilenames = updatedProgram.getRootFileNames(); - // use find because we only need to "delete" one file to cause typescript to do a full resync - const deletedFile = rootFilenames.find(file => !fs_1.default.existsSync(file)); - if (!deletedFile) { - // There are no deleted files, so it must be the former case of the file not belonging to this program - return null; - } - const fileWatchCallbacks = fileWatchCallbackTrackingMap.get((0, shared_1.getCanonicalFileName)(deletedFile)); - if (!fileWatchCallbacks) { - // shouldn't happen, but just in case - log('Could not find watch callbacks for root file. %s', deletedFile); - return updatedProgram; - } - log('Marking file as deleted. %s', deletedFile); - fileWatchCallbacks.forEach(cb => cb(deletedFile, ts.FileWatcherEventKind.Deleted)); - // deleted files means that the file list _has_ changed, so clear the cache - programFileListCache.delete(tsconfigPath); - updatedProgram = existingWatch.getProgram().getProgram(); - sourceFile = updatedProgram.getSourceFile(filePath); - if (sourceFile) { - return updatedProgram; - } - log('File was still not found in program after deletion check, assuming it is not part of this program. %s', filePath); - return null; -} -//# sourceMappingURL=getWatchProgramsForProjects.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/getWatchProgramsForProjects.js.map b/packages/typescript-estree/dist/create-program/getWatchProgramsForProjects.js.map deleted file mode 100644 index 1439f34a555c..000000000000 --- a/packages/typescript-estree/dist/create-program/getWatchProgramsForProjects.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"getWatchProgramsForProjects.js","sourceRoot":"","sources":["../../src/create-program/getWatchProgramsForProjects.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/getWatchesForProjectService.d.ts b/packages/typescript-estree/dist/create-program/getWatchesForProjectService.d.ts deleted file mode 100644 index 290719cdc2b0..000000000000 --- a/packages/typescript-estree/dist/create-program/getWatchesForProjectService.d.ts +++ /dev/null @@ -1,24 +0,0 @@ -import * as ts from 'typescript'; -export declare class Watcher implements ts.FileWatcher { - private readonly node; - readonly callback: () => void; - constructor(node: TrieNode, callback: () => void); - close(): void; -} -export declare class TrieNode { - readonly path: string; - children: Map>; - value: T | null; - constructor(path: string); -} -export declare class Trie { - root: TrieNode; - count: number; - constructor(); - insert(filePath: string): TrieNode; - get(filePath: string): TrieNode | null; -} -export declare const watches: Trie; -export declare const saveFileWatchCallback: (path: string, callback: ts.FileWatcherCallback, _pollingInterval?: number, _options?: ts.WatchOptions) => ts.FileWatcher; -export declare const saveDirectoryWatchCallback: (path: string, callback: ts.DirectoryWatcherCallback, _recursive?: boolean, _options?: ts.WatchOptions) => ts.FileWatcher; -//# sourceMappingURL=getWatchesForProjectService.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/getWatchesForProjectService.d.ts.map b/packages/typescript-estree/dist/create-program/getWatchesForProjectService.d.ts.map deleted file mode 100644 index 539a6404c897..000000000000 --- a/packages/typescript-estree/dist/create-program/getWatchesForProjectService.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"getWatchesForProjectService.d.ts","sourceRoot":"","sources":["../../src/create-program/getWatchesForProjectService.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAMjC,qBAAa,OAAQ,YAAW,EAAE,CAAC,WAAW;IAE1C,OAAO,CAAC,QAAQ,CAAC,IAAI;aACL,QAAQ,EAAE,MAAM,IAAI;gBADnB,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,EACxB,QAAQ,EAAE,MAAM,IAAI;IAGtC,KAAK,IAAI,IAAI;CAId;AAED,qBAAa,QAAQ,CAAC,CAAC;aAGO,IAAI,EAAE,MAAM;IAFxC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;gBACY,IAAI,EAAE,MAAM;CAIzC;AAED,qBAAa,IAAI,CAAC,CAAC;IACjB,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;;IAOd,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC;IAwBrC,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI;CA2B1C;AAED,eAAO,MAAM,OAAO,eAAsB,CAAC;AAE3C,eAAO,MAAM,qBAAqB,SAC1B,MAAM,YACF,GAAG,mBAAmB,qBACb,MAAM,aACd,GAAG,YAAY,KACzB,GAAG,WAWL,CAAC;AAEF,eAAO,MAAM,0BAA0B,SAC/B,MAAM,YACF,GAAG,wBAAwB,eACxB,OAAO,aACT,GAAG,YAAY,KACzB,GAAG,WAUL,CAAC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/getWatchesForProjectService.js b/packages/typescript-estree/dist/create-program/getWatchesForProjectService.js deleted file mode 100644 index 3d49665898e7..000000000000 --- a/packages/typescript-estree/dist/create-program/getWatchesForProjectService.js +++ /dev/null @@ -1,132 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.saveDirectoryWatchCallback = exports.saveFileWatchCallback = exports.watches = exports.Trie = exports.TrieNode = exports.Watcher = void 0; -/* eslint-disable @typescript-eslint/no-non-null-assertion */ -const node_path_1 = __importDefault(require("node:path")); -const debug_1 = require("debug"); -const ts = __importStar(require("typescript")); -const log = (0, debug_1.debug)('typescript-eslint:typescript-estree:getWatchesForProjectService'); -class Watcher { - node; - callback; - constructor(node, callback) { - this.node = node; - this.callback = callback; - } - close() { - log('closing %s', this.node.path); - this.node.value = null; - } -} -exports.Watcher = Watcher; -class TrieNode { - path; - children; - value; - constructor(path) { - this.path = path; - this.children = new Map(); - this.value = null; - } -} -exports.TrieNode = TrieNode; -class Trie { - root; - count; - constructor() { - this.root = new TrieNode(''); - this.count = 1; - } - insert(filePath) { - // implicitly blocks a watch on the root of the file system - const parts = node_path_1.default.resolve(filePath).split(node_path_1.default.sep).slice(1); - const { currentNode } = parts.reduce(({ currentNode, rootPath }, part) => { - const currentPath = node_path_1.default.join(rootPath, part); - if (!currentNode.children.has(part)) { - currentNode.children.set(part, new TrieNode(currentPath)); - this.count++; - } - return { - currentNode: currentNode.children.get(part), - rootPath: currentPath, - }; - }, { - currentNode: this.root, - rootPath: this.root.path, - }); - log('Inserted (%d): %s', this.count, filePath); - return currentNode; - } - get(filePath) { - const parts = node_path_1.default.resolve(filePath).split(node_path_1.default.sep).slice(1); - const { lastNodeWithValue } = parts.reduce(({ currentNode, lastNodeWithValue }, part) => { - if (!currentNode.children.has(part)) { - return { currentNode: currentNode, lastNodeWithValue }; - } - const childNode = currentNode.children.get(part); - return { - currentNode: childNode, - lastNodeWithValue: childNode.value != null ? childNode : lastNodeWithValue, - }; - }, { - currentNode: this.root, - lastNodeWithValue: null, - }); - log('Retrieved (%d): %s: %s', this.count, filePath, lastNodeWithValue?.path); - return lastNodeWithValue; - } -} -exports.Trie = Trie; -exports.watches = new Trie(); -const saveFileWatchCallback = (path, callback, _pollingInterval, _options) => { - const node = exports.watches.insert(path); - if (node.value != null) { - return node.value; - } - const watcher = new Watcher(node, () => { - // edits are sent through script info, this is only used for new files - callback(path, ts.FileWatcherEventKind.Created, new Date()); - }); - node.value = watcher; - return watcher; -}; -exports.saveFileWatchCallback = saveFileWatchCallback; -const saveDirectoryWatchCallback = (path, callback, _recursive, _options) => { - const node = exports.watches.insert(path); - if (node.value != null) { - return node.value; - } - const watcher = new Watcher(node, () => { - callback(path); - }); - node.value = watcher; - return watcher; -}; -exports.saveDirectoryWatchCallback = saveDirectoryWatchCallback; -//# sourceMappingURL=getWatchesForProjectService.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/getWatchesForProjectService.js.map b/packages/typescript-estree/dist/create-program/getWatchesForProjectService.js.map deleted file mode 100644 index 71c31a5537c3..000000000000 --- a/packages/typescript-estree/dist/create-program/getWatchesForProjectService.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"getWatchesForProjectService.js","sourceRoot":"","sources":["../../src/create-program/getWatchesForProjectService.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/shared.d.ts b/packages/typescript-estree/dist/create-program/shared.d.ts deleted file mode 100644 index d49a59a27399..000000000000 --- a/packages/typescript-estree/dist/create-program/shared.d.ts +++ /dev/null @@ -1,32 +0,0 @@ -import type { Program } from 'typescript'; -import * as ts from 'typescript'; -import type { ParseSettings } from '../parseSettings'; -interface ASTAndNoProgram { - ast: ts.SourceFile; - program: null; -} -interface ASTAndDefiniteProgram { - ast: ts.SourceFile; - program: ts.Program; -} -type ASTAndProgram = ASTAndDefiniteProgram | ASTAndNoProgram; -/** - * Compiler options required to avoid critical functionality issues - */ -declare const CORE_COMPILER_OPTIONS: ts.CompilerOptions; -declare function createDefaultCompilerOptionsFromExtra(parseSettings: ParseSettings): ts.CompilerOptions; -type CanonicalPath = string & { - __brand: unknown; -}; -declare function getCanonicalFileName(filePath: string): CanonicalPath; -declare function ensureAbsolutePath(p: string, tsconfigRootDir: string): string; -declare function canonicalDirname(p: CanonicalPath): CanonicalPath; -declare function getAstFromProgram(currentProgram: Program, filePath: string): ASTAndDefiniteProgram | undefined; -/** - * Hash content for compare content. - * @param content hashed contend - * @returns hashed result - */ -declare function createHash(content: string): string; -export { ASTAndDefiniteProgram, ASTAndNoProgram, ASTAndProgram, CORE_COMPILER_OPTIONS, canonicalDirname, CanonicalPath, createDefaultCompilerOptionsFromExtra, createHash, ensureAbsolutePath, getCanonicalFileName, getAstFromProgram, }; -//# sourceMappingURL=shared.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/shared.d.ts.map b/packages/typescript-estree/dist/create-program/shared.d.ts.map deleted file mode 100644 index aed1fd9ed3c3..000000000000 --- a/packages/typescript-estree/dist/create-program/shared.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"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;AAUnD,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,CAO3C;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"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/shared.js b/packages/typescript-estree/dist/create-program/shared.js deleted file mode 100644 index c42d52c9e232..000000000000 --- a/packages/typescript-estree/dist/create-program/shared.js +++ /dev/null @@ -1,124 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getAstFromProgram = exports.getCanonicalFileName = exports.ensureAbsolutePath = exports.createHash = exports.createDefaultCompilerOptionsFromExtra = exports.canonicalDirname = exports.CORE_COMPILER_OPTIONS = void 0; -const path_1 = __importDefault(require("path")); -const ts = __importStar(require("typescript")); -/** - * Compiler options required to avoid critical functionality issues - */ -const CORE_COMPILER_OPTIONS = { - noEmit: true, // required to avoid parse from causing emit to occur - /** - * Flags required to make no-unused-vars work - */ - noUnusedLocals: true, - noUnusedParameters: true, -}; -exports.CORE_COMPILER_OPTIONS = CORE_COMPILER_OPTIONS; -/** - * Default compiler options for program generation - */ -const DEFAULT_COMPILER_OPTIONS = { - ...CORE_COMPILER_OPTIONS, - allowNonTsExtensions: true, - allowJs: true, - checkJs: true, -}; -function createDefaultCompilerOptionsFromExtra(parseSettings) { - if (parseSettings.debugLevel.has('typescript')) { - return { - ...DEFAULT_COMPILER_OPTIONS, - extendedDiagnostics: true, - }; - } - return DEFAULT_COMPILER_OPTIONS; -} -exports.createDefaultCompilerOptionsFromExtra = createDefaultCompilerOptionsFromExtra; -// typescript doesn't provide a ts.sys implementation for browser environments -const useCaseSensitiveFileNames = -// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -ts.sys !== undefined ? ts.sys.useCaseSensitiveFileNames : true; -const correctPathCasing = useCaseSensitiveFileNames - ? (filePath) => filePath - : (filePath) => filePath.toLowerCase(); -function getCanonicalFileName(filePath) { - let normalized = path_1.default.normalize(filePath); - if (normalized.endsWith(path_1.default.sep)) { - normalized = normalized.slice(0, -1); - } - return correctPathCasing(normalized); -} -exports.getCanonicalFileName = getCanonicalFileName; -function ensureAbsolutePath(p, tsconfigRootDir) { - return path_1.default.isAbsolute(p) - ? p - : path_1.default.join(tsconfigRootDir || process.cwd(), p); -} -exports.ensureAbsolutePath = ensureAbsolutePath; -function canonicalDirname(p) { - return path_1.default.dirname(p); -} -exports.canonicalDirname = canonicalDirname; -const DEFINITION_EXTENSIONS = [ - ts.Extension.Dts, - ts.Extension.Dcts, - ts.Extension.Dmts, -]; -function getExtension(fileName) { - if (!fileName) { - return null; - } - return (DEFINITION_EXTENSIONS.find(definitionExt => fileName.endsWith(definitionExt)) ?? path_1.default.extname(fileName)); -} -function getAstFromProgram(currentProgram, filePath) { - const ast = currentProgram.getSourceFile(filePath); - // working around https://github.com/typescript-eslint/typescript-eslint/issues/1573 - const expectedExt = getExtension(filePath); - const returnedExt = getExtension(ast?.fileName); - if (expectedExt !== returnedExt) { - return undefined; - } - return ast && { ast, program: currentProgram }; -} -exports.getAstFromProgram = getAstFromProgram; -/** - * Hash content for compare content. - * @param content hashed contend - * @returns hashed result - */ -function createHash(content) { - // No ts.sys in browser environments. - // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition - if (ts.sys?.createHash) { - return ts.sys.createHash(content); - } - return content; -} -exports.createHash = createHash; -//# sourceMappingURL=shared.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/shared.js.map b/packages/typescript-estree/dist/create-program/shared.js.map deleted file mode 100644 index e2ab971c5a10..000000000000 --- a/packages/typescript-estree/dist/create-program/shared.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/create-program/shared.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAwB;AAExB,+CAAiC;AAcjC;;GAEG;AACH,MAAM,qBAAqB,GAAuB;IAChD,MAAM,EAAE,IAAI,EAAE,qDAAqD;IAEnE;;OAEG;IACH,cAAc,EAAE,IAAI;IACpB,kBAAkB,EAAE,IAAI;CACzB,CAAC;AAyGA,sDAAqB;AAvGvB;;GAEG;AACH,MAAM,wBAAwB,GAAuB;IACnD,GAAG,qBAAqB;IACxB,oBAAoB,EAAE,IAAI;IAC1B,OAAO,EAAE,IAAI;IACb,OAAO,EAAE,IAAI;CACd,CAAC;AAEF,SAAS,qCAAqC,CAC5C,aAA4B;IAE5B,IAAI,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;QAC/C,OAAO;YACL,GAAG,wBAAwB;YAC3B,mBAAmB,EAAE,IAAI;SAC1B,CAAC;IACJ,CAAC;IAED,OAAO,wBAAwB,CAAC;AAClC,CAAC;AAqFC,sFAAqC;AAhFvC,8EAA8E;AAC9E,MAAM,yBAAyB;AAC7B,uEAAuE;AACvE,EAAE,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,CAAC,IAAI,CAAC;AACjE,MAAM,iBAAiB,GAAG,yBAAyB;IACjD,CAAC,CAAC,CAAC,QAAgB,EAAU,EAAE,CAAC,QAAQ;IACxC,CAAC,CAAC,CAAC,QAAgB,EAAU,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;AAEzD,SAAS,oBAAoB,CAAC,QAAgB;IAC5C,IAAI,UAAU,GAAG,cAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC1C,IAAI,UAAU,CAAC,QAAQ,CAAC,cAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAClC,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,iBAAiB,CAAC,UAAU,CAAkB,CAAC;AACxD,CAAC;AAqEC,oDAAoB;AAnEtB,SAAS,kBAAkB,CAAC,CAAS,EAAE,eAAuB;IAC5D,OAAO,cAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,cAAI,CAAC,IAAI,CAAC,eAAe,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;AACrD,CAAC;AA8DC,gDAAkB;AA5DpB,SAAS,gBAAgB,CAAC,CAAgB;IACxC,OAAO,cAAI,CAAC,OAAO,CAAC,CAAC,CAAkB,CAAC;AAC1C,CAAC;AAsDC,4CAAgB;AApDlB,MAAM,qBAAqB,GAAG;IAC5B,EAAE,CAAC,SAAS,CAAC,GAAG;IAChB,EAAE,CAAC,SAAS,CAAC,IAAI;IACjB,EAAE,CAAC,SAAS,CAAC,IAAI;CACT,CAAC;AACX,SAAS,YAAY,CAAC,QAA4B;IAChD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,qBAAqB,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CACzC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CACjC,IAAI,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAC5B,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CACxB,cAAuB,EACvB,QAAgB;IAEhB,MAAM,GAAG,GAAG,cAAc,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAEnD,oFAAoF;IACpF,MAAM,WAAW,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC3C,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAChD,IAAI,WAAW,KAAK,WAAW,EAAE,CAAC;QAChC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,GAAG,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;AACjD,CAAC;AA2BC,8CAAiB;AAzBnB;;;;GAIG;AACH,SAAS,UAAU,CAAC,OAAe;IACjC,qCAAqC;IACrC,uEAAuE;IACvE,IAAI,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,CAAC;QACvB,OAAO,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAUC,gCAAU"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/useProvidedPrograms.d.ts b/packages/typescript-estree/dist/create-program/useProvidedPrograms.d.ts deleted file mode 100644 index 61161389c5f8..000000000000 --- a/packages/typescript-estree/dist/create-program/useProvidedPrograms.d.ts +++ /dev/null @@ -1,16 +0,0 @@ -import * as ts from 'typescript'; -import type { ASTAndDefiniteProgram } from './shared'; -export interface ProvidedProgramsSettings { - filePath: string; - tsconfigRootDir: string; -} -declare function useProvidedPrograms(programInstances: Iterable, { filePath, tsconfigRootDir }: ProvidedProgramsSettings): ASTAndDefiniteProgram | undefined; -/** - * Utility offered by parser to help consumers construct their own program instance. - * - * @param configFile the path to the tsconfig.json file, relative to `projectDirectory` - * @param projectDirectory the project directory to use as the CWD, defaults to `process.cwd()` - */ -declare function createProgramFromConfigFile(configFile: string, projectDirectory?: string): ts.Program; -export { useProvidedPrograms, createProgramFromConfigFile }; -//# sourceMappingURL=useProvidedPrograms.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/useProvidedPrograms.d.ts.map b/packages/typescript-estree/dist/create-program/useProvidedPrograms.d.ts.map deleted file mode 100644 index 7a7d39be5da3..000000000000 --- a/packages/typescript-estree/dist/create-program/useProvidedPrograms.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"useProvidedPrograms.d.ts","sourceRoot":"","sources":["../../src/create-program/useProvidedPrograms.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAGjC,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,CAIZ;AAED,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,CAAC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/useProvidedPrograms.js b/packages/typescript-estree/dist/create-program/useProvidedPrograms.js deleted file mode 100644 index 6dbb6b766943..000000000000 --- a/packages/typescript-estree/dist/create-program/useProvidedPrograms.js +++ /dev/null @@ -1,70 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.createProgramFromConfigFile = exports.useProvidedPrograms = void 0; -const debug_1 = __importDefault(require("debug")); -const path = __importStar(require("path")); -const ts = __importStar(require("typescript")); -const getParsedConfigFile_1 = require("./getParsedConfigFile"); -const shared_1 = require("./shared"); -const log = (0, debug_1.default)('typescript-eslint:typescript-estree:useProvidedProgram'); -function useProvidedPrograms(programInstances, { filePath, tsconfigRootDir }) { - log('Retrieving ast for %s from provided program instance(s)', filePath); - let astAndProgram; - for (const programInstance of programInstances) { - astAndProgram = (0, shared_1.getAstFromProgram)(programInstance, filePath); - // Stop at the first applicable program instance - if (astAndProgram) { - break; - } - } - if (!astAndProgram) { - const relativeFilePath = path.relative(tsconfigRootDir || process.cwd(), filePath); - const errorLines = [ - '"parserOptions.programs" has been provided for @typescript-eslint/parser.', - `The file was not found in any of the provided program instance(s): ${relativeFilePath}`, - ]; - throw new Error(errorLines.join('\n')); - } - astAndProgram.program.getTypeChecker(); // ensure parent pointers are set in source files - return astAndProgram; -} -exports.useProvidedPrograms = useProvidedPrograms; -/** - * Utility offered by parser to help consumers construct their own program instance. - * - * @param configFile the path to the tsconfig.json file, relative to `projectDirectory` - * @param projectDirectory the project directory to use as the CWD, defaults to `process.cwd()` - */ -function createProgramFromConfigFile(configFile, projectDirectory) { - const parsed = (0, getParsedConfigFile_1.getParsedConfigFile)(configFile, projectDirectory); - const host = ts.createCompilerHost(parsed.options, true); - return ts.createProgram(parsed.fileNames, parsed.options, host); -} -exports.createProgramFromConfigFile = createProgramFromConfigFile; -//# sourceMappingURL=useProvidedPrograms.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/useProvidedPrograms.js.map b/packages/typescript-estree/dist/create-program/useProvidedPrograms.js.map deleted file mode 100644 index 9a6b06419dd2..000000000000 --- a/packages/typescript-estree/dist/create-program/useProvidedPrograms.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"useProvidedPrograms.js","sourceRoot":"","sources":["../../src/create-program/useProvidedPrograms.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,2CAA6B;AAC7B,+CAAiC;AAEjC,+DAA4D;AAE5D,qCAA6C;AAE7C,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,CAAC;QAC/C,aAAa,GAAG,IAAA,0BAAiB,EAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;QAC7D,gDAAgD;QAChD,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM;QACR,CAAC;IACH,CAAC;IAED,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,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;IACzC,CAAC;IAED,aAAa,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,iDAAiD;IAEzF,OAAO,aAAa,CAAC;AACvB,CAAC;AAiBQ,kDAAmB;AAf5B;;;;;GAKG;AACH,SAAS,2BAA2B,CAClC,UAAkB,EAClB,gBAAyB;IAEzB,MAAM,MAAM,GAAG,IAAA,yCAAmB,EAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;IACjE,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;AAE6B,kEAA2B"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/validateDefaultProjectForFilesGlob.d.ts b/packages/typescript-estree/dist/create-program/validateDefaultProjectForFilesGlob.d.ts deleted file mode 100644 index 94d6fee32692..000000000000 --- a/packages/typescript-estree/dist/create-program/validateDefaultProjectForFilesGlob.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -import type { ProjectServiceOptions } from '../parser-options'; -export declare const DEFAULT_PROJECT_FILES_ERROR_EXPLANATION = "\n\nHaving many files run with the default project is known to cause performance issues and slow down linting.\n\nSee https://typescript-eslint.io/troubleshooting/#allowdefaultproject-glob-too-wide\n"; -export declare function validateDefaultProjectForFilesGlob(options: ProjectServiceOptions): void; -//# sourceMappingURL=validateDefaultProjectForFilesGlob.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/validateDefaultProjectForFilesGlob.d.ts.map b/packages/typescript-estree/dist/create-program/validateDefaultProjectForFilesGlob.d.ts.map deleted file mode 100644 index c4993ce85b3c..000000000000 --- a/packages/typescript-estree/dist/create-program/validateDefaultProjectForFilesGlob.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"validateDefaultProjectForFilesGlob.d.ts","sourceRoot":"","sources":["../../src/create-program/validateDefaultProjectForFilesGlob.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE/D,eAAO,MAAM,uCAAuC,4MAKnD,CAAC;AAEF,wBAAgB,kCAAkC,CAChD,OAAO,EAAE,qBAAqB,GAC7B,IAAI,CAiBN"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/validateDefaultProjectForFilesGlob.js b/packages/typescript-estree/dist/create-program/validateDefaultProjectForFilesGlob.js deleted file mode 100644 index 5155633f55c4..000000000000 --- a/packages/typescript-estree/dist/create-program/validateDefaultProjectForFilesGlob.js +++ /dev/null @@ -1,24 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.validateDefaultProjectForFilesGlob = exports.DEFAULT_PROJECT_FILES_ERROR_EXPLANATION = void 0; -exports.DEFAULT_PROJECT_FILES_ERROR_EXPLANATION = ` - -Having many files run with the default project is known to cause performance issues and slow down linting. - -See https://typescript-eslint.io/troubleshooting/#allowdefaultproject-glob-too-wide -`; -function validateDefaultProjectForFilesGlob(options) { - if (!options.allowDefaultProject?.length) { - return; - } - for (const glob of options.allowDefaultProject) { - if (glob === '*') { - throw new Error(`allowDefaultProject contains the overly wide '*'.${exports.DEFAULT_PROJECT_FILES_ERROR_EXPLANATION}`); - } - if (glob.includes('**')) { - throw new Error(`allowDefaultProject glob '${glob}' contains a disallowed '**'.${exports.DEFAULT_PROJECT_FILES_ERROR_EXPLANATION}`); - } - } -} -exports.validateDefaultProjectForFilesGlob = validateDefaultProjectForFilesGlob; -//# sourceMappingURL=validateDefaultProjectForFilesGlob.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/create-program/validateDefaultProjectForFilesGlob.js.map b/packages/typescript-estree/dist/create-program/validateDefaultProjectForFilesGlob.js.map deleted file mode 100644 index 188aea4ad226..000000000000 --- a/packages/typescript-estree/dist/create-program/validateDefaultProjectForFilesGlob.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"validateDefaultProjectForFilesGlob.js","sourceRoot":"","sources":["../../src/create-program/validateDefaultProjectForFilesGlob.ts"],"names":[],"mappings":";;;AAEa,QAAA,uCAAuC,GAAG;;;;;CAKtD,CAAC;AAEF,SAAgB,kCAAkC,CAChD,OAA8B;IAE9B,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,MAAM,EAAE,CAAC;QACzC,OAAO;IACT,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;QAC/C,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CACb,oDAAoD,+CAAuC,EAAE,CAC9F,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CACb,6BAA6B,IAAI,gCAAgC,+CAAuC,EAAE,CAC3G,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAnBD,gFAmBC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/createParserServices.d.ts b/packages/typescript-estree/dist/createParserServices.d.ts deleted file mode 100644 index 28b98fe8339e..000000000000 --- a/packages/typescript-estree/dist/createParserServices.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import type * as ts from 'typescript'; -import type { ASTMaps } from './convert'; -import type { ParserServices } from './parser-options'; -export declare function createParserServices(astMaps: ASTMaps, program: ts.Program | null): ParserServices; -//# sourceMappingURL=createParserServices.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/createParserServices.d.ts.map b/packages/typescript-estree/dist/createParserServices.d.ts.map deleted file mode 100644 index 69157f26140f..000000000000 --- a/packages/typescript-estree/dist/createParserServices.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"createParserServices.d.ts","sourceRoot":"","sources":["../src/createParserServices.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,EAAE,CAAC,OAAO,GAAG,IAAI,GACzB,cAAc,CA2BhB"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/createParserServices.js b/packages/typescript-estree/dist/createParserServices.js deleted file mode 100644 index eefc9f54b995..000000000000 --- a/packages/typescript-estree/dist/createParserServices.js +++ /dev/null @@ -1,29 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.createParserServices = void 0; -function createParserServices(astMaps, program) { - if (!program) { - return { - program, - emitDecoratorMetadata: undefined, - experimentalDecorators: undefined, - // we always return the node maps because - // (a) they don't require type info and - // (b) they can be useful when using some of TS's internal non-type-aware AST utils - ...astMaps, - }; - } - const checker = program.getTypeChecker(); - const compilerOptions = program.getCompilerOptions(); - return { - program, - // not set in the config is the same as off - emitDecoratorMetadata: compilerOptions.emitDecoratorMetadata ?? false, - experimentalDecorators: compilerOptions.experimentalDecorators ?? false, - ...astMaps, - getSymbolAtLocation: node => checker.getSymbolAtLocation(astMaps.esTreeNodeToTSNodeMap.get(node)), - getTypeAtLocation: node => checker.getTypeAtLocation(astMaps.esTreeNodeToTSNodeMap.get(node)), - }; -} -exports.createParserServices = createParserServices; -//# sourceMappingURL=createParserServices.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/createParserServices.js.map b/packages/typescript-estree/dist/createParserServices.js.map deleted file mode 100644 index accc38ac1091..000000000000 --- a/packages/typescript-estree/dist/createParserServices.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"createParserServices.js","sourceRoot":"","sources":["../src/createParserServices.ts"],"names":[],"mappings":";;;AAKA,SAAgB,oBAAoB,CAClC,OAAgB,EAChB,OAA0B;IAE1B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;YACL,OAAO;YACP,qBAAqB,EAAE,SAAS;YAChC,sBAAsB,EAAE,SAAS;YACjC,yCAAyC;YACzC,uCAAuC;YACvC,mFAAmF;YACnF,GAAG,OAAO;SACX,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IACzC,MAAM,eAAe,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAErD,OAAO;QACL,OAAO;QACP,2CAA2C;QAC3C,qBAAqB,EAAE,eAAe,CAAC,qBAAqB,IAAI,KAAK;QACrE,sBAAsB,EAAE,eAAe,CAAC,sBAAsB,IAAI,KAAK;QACvE,GAAG,OAAO;QACV,mBAAmB,EAAE,IAAI,CAAC,EAAE,CAC1B,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtE,iBAAiB,EAAE,IAAI,CAAC,EAAE,CACxB,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;KACrE,CAAC;AACJ,CAAC;AA9BD,oDA8BC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/getModifiers.d.ts b/packages/typescript-estree/dist/getModifiers.d.ts deleted file mode 100644 index c312b154bc9b..000000000000 --- a/packages/typescript-estree/dist/getModifiers.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -import * as ts from 'typescript'; -export declare function getModifiers(node: ts.Node | null | undefined, includeIllegalModifiers?: boolean): ts.Modifier[] | undefined; -export declare function getDecorators(node: ts.Node | null | undefined, includeIllegalDecorators?: boolean): ts.Decorator[] | undefined; -//# sourceMappingURL=getModifiers.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/getModifiers.d.ts.map b/packages/typescript-estree/dist/getModifiers.d.ts.map deleted file mode 100644 index a67408e6533f..000000000000 --- a/packages/typescript-estree/dist/getModifiers.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"getModifiers.d.ts","sourceRoot":"","sources":["../src/getModifiers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAMjC,wBAAgB,YAAY,CAC1B,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,IAAI,GAAG,SAAS,EAChC,uBAAuB,UAAQ,GAC9B,EAAE,CAAC,QAAQ,EAAE,GAAG,SAAS,CAsB3B;AAED,wBAAgB,aAAa,CAC3B,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,IAAI,GAAG,SAAS,EAChC,wBAAwB,UAAQ,GAC/B,EAAE,CAAC,SAAS,EAAE,GAAG,SAAS,CAoB5B"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/getModifiers.js b/packages/typescript-estree/dist/getModifiers.js deleted file mode 100644 index fc6c760bf049..000000000000 --- a/packages/typescript-estree/dist/getModifiers.js +++ /dev/null @@ -1,66 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getDecorators = exports.getModifiers = void 0; -const ts = __importStar(require("typescript")); -const version_check_1 = require("./version-check"); -const isAtLeast48 = version_check_1.typescriptVersionIsAtLeast['4.8']; -function getModifiers(node, includeIllegalModifiers = false) { - if (node == null) { - return undefined; - } - if (isAtLeast48) { - // eslint-disable-next-line deprecation/deprecation -- this is safe as it's guarded - if (includeIllegalModifiers || ts.canHaveModifiers(node)) { - // eslint-disable-next-line deprecation/deprecation -- this is safe as it's guarded - const modifiers = ts.getModifiers(node); - return modifiers ? Array.from(modifiers) : undefined; - } - return undefined; - } - return ( - // @ts-expect-error intentional fallback for older TS versions - node.modifiers?.filter((m) => !ts.isDecorator(m))); -} -exports.getModifiers = getModifiers; -function getDecorators(node, includeIllegalDecorators = false) { - if (node == null) { - return undefined; - } - if (isAtLeast48) { - // eslint-disable-next-line deprecation/deprecation -- this is safe as it's guarded - if (includeIllegalDecorators || ts.canHaveDecorators(node)) { - // eslint-disable-next-line deprecation/deprecation -- this is safe as it's guarded - const decorators = ts.getDecorators(node); - return decorators ? Array.from(decorators) : undefined; - } - return undefined; - } - return ( - // @ts-expect-error intentional fallback for older TS versions - node.decorators?.filter(ts.isDecorator)); -} -exports.getDecorators = getDecorators; -//# sourceMappingURL=getModifiers.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/getModifiers.js.map b/packages/typescript-estree/dist/getModifiers.js.map deleted file mode 100644 index 4416c26b7b39..000000000000 --- a/packages/typescript-estree/dist/getModifiers.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"getModifiers.js","sourceRoot":"","sources":["../src/getModifiers.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAiC;AAEjC,mDAA6D;AAE7D,MAAM,WAAW,GAAG,0CAA0B,CAAC,KAAK,CAAC,CAAC;AAEtD,SAAgB,YAAY,CAC1B,IAAgC,EAChC,uBAAuB,GAAG,KAAK;IAE/B,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACjB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QAChB,mFAAmF;QACnF,IAAI,uBAAuB,IAAI,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;YACzD,mFAAmF;YACnF,MAAM,SAAS,GAAG,EAAE,CAAC,YAAY,CAAC,IAAuB,CAAC,CAAC;YAC3D,OAAO,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACvD,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;IACL,8DAA8D;IAC7D,IAAI,CAAC,SAAuC,EAAE,MAAM,CACnD,CAAC,CAAC,EAAoB,EAAE,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAC5C,CACF,CAAC;AACJ,CAAC;AAzBD,oCAyBC;AAED,SAAgB,aAAa,CAC3B,IAAgC,EAChC,wBAAwB,GAAG,KAAK;IAEhC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACjB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QAChB,mFAAmF;QACnF,IAAI,wBAAwB,IAAI,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3D,mFAAmF;YACnF,MAAM,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,IAAwB,CAAC,CAAC;YAC9D,OAAO,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACzD,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;IACL,8DAA8D;IAC7D,IAAI,CAAC,UAAoC,EAAE,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,CACnE,CAAC;AACJ,CAAC;AAvBD,sCAuBC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/index.d.ts b/packages/typescript-estree/dist/index.d.ts deleted file mode 100644 index 7905430b9c43..000000000000 --- a/packages/typescript-estree/dist/index.d.ts +++ /dev/null @@ -1,14 +0,0 @@ -export { AST, parse, parseAndGenerateServices, ParseAndGenerateServicesResult, } from './parser'; -export { ParserServices, ParserServicesWithTypeInformation, ParserServicesWithoutTypeInformation, TSESTreeOptions, } from './parser-options'; -export { simpleTraverse } from './simple-traverse'; -export * from './ts-estree'; -export { createProgramFromConfigFile as createProgram } from './create-program/useProvidedPrograms'; -export * from './create-program/getScriptKind'; -export { getCanonicalFileName } from './create-program/shared'; -export { typescriptVersionIsAtLeast } from './version-check'; -export * from './getModifiers'; -export { TSError } from './node-utils'; -export * from './clear-caches'; -export { withoutProjectParserOptions } from './withoutProjectParserOptions'; -export declare const version: string; -//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/index.d.ts.map b/packages/typescript-estree/dist/index.d.ts.map deleted file mode 100644 index 83e163d07fc5..000000000000 --- a/packages/typescript-estree/dist/index.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,GAAG,EACH,KAAK,EACL,wBAAwB,EACxB,8BAA8B,GAC/B,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,cAAc,EACd,iCAAiC,EACjC,oCAAoC,EACpC,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,2BAA2B,IAAI,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACpG,cAAc,gCAAgC,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC7D,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAI5E,eAAO,MAAM,OAAO,EAAE,MAA2C,CAAC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/index.js b/packages/typescript-estree/dist/index.js deleted file mode 100644 index ea04bf9d4673..000000000000 --- a/packages/typescript-estree/dist/index.js +++ /dev/null @@ -1,40 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.version = exports.withoutProjectParserOptions = exports.TSError = exports.typescriptVersionIsAtLeast = exports.getCanonicalFileName = exports.createProgram = exports.simpleTraverse = exports.parseAndGenerateServices = exports.parse = void 0; -var parser_1 = require("./parser"); -Object.defineProperty(exports, "parse", { enumerable: true, get: function () { return parser_1.parse; } }); -Object.defineProperty(exports, "parseAndGenerateServices", { enumerable: true, get: function () { return parser_1.parseAndGenerateServices; } }); -var simple_traverse_1 = require("./simple-traverse"); -Object.defineProperty(exports, "simpleTraverse", { enumerable: true, get: function () { return simple_traverse_1.simpleTraverse; } }); -__exportStar(require("./ts-estree"), exports); -var useProvidedPrograms_1 = require("./create-program/useProvidedPrograms"); -Object.defineProperty(exports, "createProgram", { enumerable: true, get: function () { return useProvidedPrograms_1.createProgramFromConfigFile; } }); -__exportStar(require("./create-program/getScriptKind"), exports); -var shared_1 = require("./create-program/shared"); -Object.defineProperty(exports, "getCanonicalFileName", { enumerable: true, get: function () { return shared_1.getCanonicalFileName; } }); -var version_check_1 = require("./version-check"); -Object.defineProperty(exports, "typescriptVersionIsAtLeast", { enumerable: true, get: function () { return version_check_1.typescriptVersionIsAtLeast; } }); -__exportStar(require("./getModifiers"), exports); -var node_utils_1 = require("./node-utils"); -Object.defineProperty(exports, "TSError", { enumerable: true, get: function () { return node_utils_1.TSError; } }); -__exportStar(require("./clear-caches"), exports); -var withoutProjectParserOptions_1 = require("./withoutProjectParserOptions"); -Object.defineProperty(exports, "withoutProjectParserOptions", { enumerable: true, get: function () { return withoutProjectParserOptions_1.withoutProjectParserOptions; } }); -// note - cannot migrate this to an import statement because it will make TSC copy the package.json to the dist folder -// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access -exports.version = require('../package.json').version; -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/index.js.map b/packages/typescript-estree/dist/index.js.map deleted file mode 100644 index 640167174c2e..000000000000 --- a/packages/typescript-estree/dist/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,mCAKkB;AAHhB,+FAAA,KAAK,OAAA;AACL,kHAAA,wBAAwB,OAAA;AAS1B,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AACvB,8CAA4B;AAC5B,4EAAoG;AAA3F,oHAAA,2BAA2B,OAAiB;AACrD,iEAA+C;AAC/C,kDAA+D;AAAtD,8GAAA,oBAAoB,OAAA;AAC7B,iDAA6D;AAApD,2HAAA,0BAA0B,OAAA;AACnC,iDAA+B;AAC/B,2CAAuC;AAA9B,qGAAA,OAAO,OAAA;AAChB,iDAA+B;AAC/B,6EAA4E;AAAnE,0IAAA,2BAA2B,OAAA;AAEpC,sHAAsH;AACtH,+GAA+G;AAClG,QAAA,OAAO,GAAW,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/jsx/xhtml-entities.d.ts b/packages/typescript-estree/dist/jsx/xhtml-entities.d.ts deleted file mode 100644 index 7953cc6fee71..000000000000 --- a/packages/typescript-estree/dist/jsx/xhtml-entities.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export declare const xhtmlEntities: Record; -//# sourceMappingURL=xhtml-entities.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/jsx/xhtml-entities.d.ts.map b/packages/typescript-estree/dist/jsx/xhtml-entities.d.ts.map deleted file mode 100644 index ce45e83d3da8..000000000000 --- a/packages/typescript-estree/dist/jsx/xhtml-entities.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"xhtml-entities.d.ts","sourceRoot":"","sources":["../../src/jsx/xhtml-entities.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA8PhD,CAAC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/jsx/xhtml-entities.js b/packages/typescript-estree/dist/jsx/xhtml-entities.js deleted file mode 100644 index bf58e96574be..000000000000 --- a/packages/typescript-estree/dist/jsx/xhtml-entities.js +++ /dev/null @@ -1,259 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.xhtmlEntities = void 0; -exports.xhtmlEntities = { - quot: '\u0022', - amp: '&', - apos: '\u0027', - lt: '<', - gt: '>', - nbsp: '\u00A0', - iexcl: '\u00A1', - cent: '\u00A2', - pound: '\u00A3', - curren: '\u00A4', - yen: '\u00A5', - brvbar: '\u00A6', - sect: '\u00A7', - uml: '\u00A8', - copy: '\u00A9', - ordf: '\u00AA', - laquo: '\u00AB', - not: '\u00AC', - shy: '\u00AD', - reg: '\u00AE', - macr: '\u00AF', - deg: '\u00B0', - plusmn: '\u00B1', - sup2: '\u00B2', - sup3: '\u00B3', - acute: '\u00B4', - micro: '\u00B5', - para: '\u00B6', - middot: '\u00B7', - cedil: '\u00B8', - sup1: '\u00B9', - ordm: '\u00BA', - raquo: '\u00BB', - frac14: '\u00BC', - frac12: '\u00BD', - frac34: '\u00BE', - iquest: '\u00BF', - Agrave: '\u00C0', - Aacute: '\u00C1', - Acirc: '\u00C2', - Atilde: '\u00C3', - Auml: '\u00C4', - Aring: '\u00C5', - AElig: '\u00C6', - Ccedil: '\u00C7', - Egrave: '\u00C8', - Eacute: '\u00C9', - Ecirc: '\u00CA', - Euml: '\u00CB', - Igrave: '\u00CC', - Iacute: '\u00CD', - Icirc: '\u00CE', - Iuml: '\u00CF', - ETH: '\u00D0', - Ntilde: '\u00D1', - Ograve: '\u00D2', - Oacute: '\u00D3', - Ocirc: '\u00D4', - Otilde: '\u00D5', - Ouml: '\u00D6', - times: '\u00D7', - Oslash: '\u00D8', - Ugrave: '\u00D9', - Uacute: '\u00DA', - Ucirc: '\u00DB', - Uuml: '\u00DC', - Yacute: '\u00DD', - THORN: '\u00DE', - szlig: '\u00DF', - agrave: '\u00E0', - aacute: '\u00E1', - acirc: '\u00E2', - atilde: '\u00E3', - auml: '\u00E4', - aring: '\u00E5', - aelig: '\u00E6', - ccedil: '\u00E7', - egrave: '\u00E8', - eacute: '\u00E9', - ecirc: '\u00EA', - euml: '\u00EB', - igrave: '\u00EC', - iacute: '\u00ED', - icirc: '\u00EE', - iuml: '\u00EF', - eth: '\u00F0', - ntilde: '\u00F1', - ograve: '\u00F2', - oacute: '\u00F3', - ocirc: '\u00F4', - otilde: '\u00F5', - ouml: '\u00F6', - divide: '\u00F7', - oslash: '\u00F8', - ugrave: '\u00F9', - uacute: '\u00FA', - ucirc: '\u00FB', - uuml: '\u00FC', - yacute: '\u00FD', - thorn: '\u00FE', - yuml: '\u00FF', - OElig: '\u0152', - oelig: '\u0153', - Scaron: '\u0160', - scaron: '\u0161', - Yuml: '\u0178', - fnof: '\u0192', - circ: '\u02C6', - tilde: '\u02DC', - Alpha: '\u0391', - Beta: '\u0392', - Gamma: '\u0393', - Delta: '\u0394', - Epsilon: '\u0395', - Zeta: '\u0396', - Eta: '\u0397', - Theta: '\u0398', - Iota: '\u0399', - Kappa: '\u039A', - Lambda: '\u039B', - Mu: '\u039C', - Nu: '\u039D', - Xi: '\u039E', - Omicron: '\u039F', - Pi: '\u03A0', - Rho: '\u03A1', - Sigma: '\u03A3', - Tau: '\u03A4', - Upsilon: '\u03A5', - Phi: '\u03A6', - Chi: '\u03A7', - Psi: '\u03A8', - Omega: '\u03A9', - alpha: '\u03B1', - beta: '\u03B2', - gamma: '\u03B3', - delta: '\u03B4', - epsilon: '\u03B5', - zeta: '\u03B6', - eta: '\u03B7', - theta: '\u03B8', - iota: '\u03B9', - kappa: '\u03BA', - lambda: '\u03BB', - mu: '\u03BC', - nu: '\u03BD', - xi: '\u03BE', - omicron: '\u03BF', - pi: '\u03C0', - rho: '\u03C1', - sigmaf: '\u03C2', - sigma: '\u03C3', - tau: '\u03C4', - upsilon: '\u03C5', - phi: '\u03C6', - chi: '\u03C7', - psi: '\u03C8', - omega: '\u03C9', - thetasym: '\u03D1', - upsih: '\u03D2', - piv: '\u03D6', - ensp: '\u2002', - emsp: '\u2003', - thinsp: '\u2009', - zwnj: '\u200C', - zwj: '\u200D', - lrm: '\u200E', - rlm: '\u200F', - ndash: '\u2013', - mdash: '\u2014', - lsquo: '\u2018', - rsquo: '\u2019', - sbquo: '\u201A', - ldquo: '\u201C', - rdquo: '\u201D', - bdquo: '\u201E', - dagger: '\u2020', - Dagger: '\u2021', - bull: '\u2022', - hellip: '\u2026', - permil: '\u2030', - prime: '\u2032', - Prime: '\u2033', - lsaquo: '\u2039', - rsaquo: '\u203A', - oline: '\u203E', - frasl: '\u2044', - euro: '\u20AC', - image: '\u2111', - weierp: '\u2118', - real: '\u211C', - trade: '\u2122', - alefsym: '\u2135', - larr: '\u2190', - uarr: '\u2191', - rarr: '\u2192', - darr: '\u2193', - harr: '\u2194', - crarr: '\u21B5', - lArr: '\u21D0', - uArr: '\u21D1', - rArr: '\u21D2', - dArr: '\u21D3', - hArr: '\u21D4', - forall: '\u2200', - part: '\u2202', - exist: '\u2203', - empty: '\u2205', - nabla: '\u2207', - isin: '\u2208', - notin: '\u2209', - ni: '\u220B', - prod: '\u220F', - sum: '\u2211', - minus: '\u2212', - lowast: '\u2217', - radic: '\u221A', - prop: '\u221D', - infin: '\u221E', - ang: '\u2220', - and: '\u2227', - or: '\u2228', - cap: '\u2229', - cup: '\u222A', - int: '\u222B', - there4: '\u2234', - sim: '\u223C', - cong: '\u2245', - asymp: '\u2248', - ne: '\u2260', - equiv: '\u2261', - le: '\u2264', - ge: '\u2265', - sub: '\u2282', - sup: '\u2283', - nsub: '\u2284', - sube: '\u2286', - supe: '\u2287', - oplus: '\u2295', - otimes: '\u2297', - perp: '\u22A5', - sdot: '\u22C5', - lceil: '\u2308', - rceil: '\u2309', - lfloor: '\u230A', - rfloor: '\u230B', - lang: '\u2329', - rang: '\u232A', - loz: '\u25CA', - spades: '\u2660', - clubs: '\u2663', - hearts: '\u2665', - diams: '\u2666', -}; -//# sourceMappingURL=xhtml-entities.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/jsx/xhtml-entities.js.map b/packages/typescript-estree/dist/jsx/xhtml-entities.js.map deleted file mode 100644 index 30c14ec78b23..000000000000 --- a/packages/typescript-estree/dist/jsx/xhtml-entities.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"xhtml-entities.js","sourceRoot":"","sources":["../../src/jsx/xhtml-entities.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/node-utils.d.ts b/packages/typescript-estree/dist/node-utils.d.ts deleted file mode 100644 index d6b12545d3d9..000000000000 --- a/packages/typescript-estree/dist/node-utils.d.ts +++ /dev/null @@ -1,249 +0,0 @@ -import * as ts from 'typescript'; -import type { TSESTree, TSNode } from './ts-estree'; -import { AST_NODE_TYPES, AST_TOKEN_TYPES } from './ts-estree'; -declare const SyntaxKind: typeof ts.SyntaxKind; -type LogicalOperatorKind = ts.SyntaxKind.AmpersandAmpersandToken | ts.SyntaxKind.BarBarToken | ts.SyntaxKind.QuestionQuestionToken; -interface TokenToText extends TSESTree.PunctuatorTokenToText, TSESTree.BinaryOperatorToText { - [SyntaxKind.ImportKeyword]: 'import'; - [SyntaxKind.NewKeyword]: 'new'; - [SyntaxKind.KeyOfKeyword]: 'keyof'; - [SyntaxKind.ReadonlyKeyword]: 'readonly'; - [SyntaxKind.UniqueKeyword]: 'unique'; -} -type AssignmentOperatorKind = keyof TSESTree.AssignmentOperatorToText; -type BinaryOperatorKind = keyof TSESTree.BinaryOperatorToText; -type DeclarationKind = TSESTree.VariableDeclaration['kind']; -/** - * Returns true if the given ts.Token is a logical operator - * @param operator the operator token - * @returns is a logical operator - */ -export declare function isLogicalOperator(operator: ts.BinaryOperatorToken): operator is ts.Token; -export declare function isESTreeBinaryOperator(operator: ts.BinaryOperatorToken): operator is ts.Token; -type TokenForTokenKind = T extends keyof TokenToText ? TokenToText[T] : string | undefined; -/** - * Returns the string form of the given TSToken SyntaxKind - * @param kind the token's SyntaxKind - * @returns the token applicable token as a string - */ -export declare function getTextForTokenKind(kind: T): TokenForTokenKind; -/** - * Returns true if the given ts.Node is a valid ESTree class member - * @param node TypeScript AST node - * @returns is valid ESTree class member - */ -export declare function isESTreeClassMember(node: ts.Node): boolean; -/** - * Checks if a ts.Node has a modifier - * @param modifierKind TypeScript SyntaxKind modifier - * @param node TypeScript AST node - * @returns has the modifier specified - */ -export declare function hasModifier(modifierKind: ts.KeywordSyntaxKind, node: ts.Node): boolean; -/** - * Get last last modifier in ast - * @param node TypeScript AST node - * @returns returns last modifier if present or null - */ -export declare function getLastModifier(node: ts.Node): ts.Modifier | null; -/** - * Returns true if the given ts.Token is a comma - * @param token the TypeScript token - * @returns is comma - */ -export declare function isComma(token: ts.Node): token is ts.Token; -/** - * Returns true if the given ts.Node is a comment - * @param node the TypeScript node - * @returns is comment - */ -export declare function isComment(node: ts.Node): boolean; -/** - * Returns the binary expression type of the given ts.Token - * @param operator the operator token - * @returns the binary expression type - */ -export declare function getBinaryExpressionType(operator: ts.BinaryOperatorToken): { - type: AST_NODE_TYPES.AssignmentExpression; - operator: TokenForTokenKind; -} | { - type: AST_NODE_TYPES.BinaryExpression; - operator: TokenForTokenKind; -} | { - type: AST_NODE_TYPES.LogicalExpression; - operator: TokenForTokenKind; -}; -/** - * Returns line and column data for the given positions, - * @param pos position to check - * @param ast the AST object - * @returns line and column - */ -export declare function getLineAndCharacterFor(pos: number, ast: ts.SourceFile): TSESTree.Position; -/** - * Returns line and column data for the given start and end positions, - * for the given AST - * @param range start end data - * @param ast the AST object - * @returns the loc data - */ -export declare function getLocFor(range: TSESTree.Range, ast: ts.SourceFile): TSESTree.SourceLocation; -/** - * Check whatever node can contain directive - * @returns returns true if node can contain directive - */ -export declare function canContainDirective(node: ts.Block | ts.ClassStaticBlockDeclaration | ts.ModuleBlock | ts.SourceFile): boolean; -/** - * Returns range for the given ts.Node - * @param node the ts.Node or ts.Token - * @param ast the AST object - * @returns the range data - */ -export declare function getRange(node: Pick, ast: ts.SourceFile): [number, number]; -/** - * Returns true if a given ts.Node is a JSX token - * @param node ts.Node to be checked - * @returns is a JSX token - */ -export declare function isJSXToken(node: ts.Node): boolean; -/** - * Returns the declaration kind of the given ts.Node - * @param node TypeScript AST node - * @returns declaration kind - */ -export declare function getDeclarationKind(node: ts.VariableDeclarationList): DeclarationKind; -/** - * Gets a ts.Node's accessibility level - * @param node The ts.Node - * @returns accessibility "public", "protected", "private", or null - */ -export declare function getTSNodeAccessibility(node: ts.Node): 'private' | 'protected' | 'public' | undefined; -/** - * Finds the next token based on the previous one and its parent - * Had to copy this from TS instead of using TS's version because theirs doesn't pass the ast to getChildren - * @param previousToken The previous TSToken - * @param parent The parent TSNode - * @param ast The TS AST - * @returns the next TSToken - */ -export declare function findNextToken(previousToken: ts.TextRange, parent: ts.Node, ast: ts.SourceFile): ts.Node | undefined; -/** - * Find the first matching ancestor based on the given predicate function. - * @param node The current ts.Node - * @param predicate The predicate function to apply to each checked ancestor - * @returns a matching parent ts.Node - */ -export declare function findFirstMatchingAncestor(node: ts.Node, predicate: (node: ts.Node) => boolean): ts.Node | undefined; -/** - * Returns true if a given ts.Node has a JSX token within its hierarchy - * @param node ts.Node to be checked - * @returns has JSX ancestor - */ -export declare function hasJSXAncestor(node: ts.Node): boolean; -/** - * Unescape the text content of string literals, e.g. & -> & - * @param text The escaped string literal text. - * @returns The unescaped string literal text. - */ -export declare function unescapeStringLiteralText(text: string): string; -/** - * Returns true if a given ts.Node is a computed property - * @param node ts.Node to be checked - * @returns is Computed Property - */ -export declare function isComputedProperty(node: ts.Node): node is ts.ComputedPropertyName; -/** - * Returns true if a given ts.Node is optional (has QuestionToken) - * @param node ts.Node to be checked - * @returns is Optional - */ -export declare function isOptional(node: { - questionToken?: ts.QuestionToken; -}): boolean; -/** - * Returns true if the node is an optional chain node - */ -export declare function isChainExpression(node: TSESTree.Node): node is TSESTree.ChainExpression; -/** - * Returns true of the child of property access expression is an optional chain - */ -export declare function isChildUnwrappableOptionalChain(node: ts.CallExpression | ts.ElementAccessExpression | ts.NonNullExpression | ts.PropertyAccessExpression, child: TSESTree.Node): boolean; -/** - * Returns the type of a given ts.Token - * @param token the ts.Token - * @returns the token type - */ -export declare function getTokenType(token: ts.Identifier | ts.Token): Exclude; -/** - * Extends and formats a given ts.Token, for a given AST - * @param token the ts.Token - * @param ast the AST object - * @returns the converted Token - */ -export declare function convertToken(token: ts.Token, ast: ts.SourceFile): TSESTree.Token; -/** - * Converts all tokens for the given AST - * @param ast the AST object - * @returns the converted Tokens - */ -export declare function convertTokens(ast: ts.SourceFile): TSESTree.Token[]; -export declare class TSError extends Error { - readonly fileName: string; - readonly location: { - start: { - line: number; - column: number; - offset: number; - }; - end: { - line: number; - column: number; - offset: number; - }; - }; - constructor(message: string, fileName: string, location: { - start: { - line: number; - column: number; - offset: number; - }; - end: { - line: number; - column: number; - offset: number; - }; - }); - get index(): number; - get lineNumber(): number; - get column(): number; -} -/** - * @param message the error message - * @param ast the AST object - * @param startIndex the index at which the error starts - * @param endIndex the index at which the error ends - * @returns converted error object - */ -export declare function createError(message: string, ast: ts.SourceFile, startIndex: number, endIndex?: number): TSError; -export declare function nodeHasIllegalDecorators(node: ts.Node): node is ts.Node & { - illegalDecorators: ts.Node[]; -}; -/** - * @param n the TSNode - * @param ast the TS AST - */ -export declare function nodeHasTokens(n: ts.Node, ast: ts.SourceFile): boolean; -/** - * Like `forEach`, but suitable for use with numbers and strings (which may be falsy). - */ -export declare function firstDefined(array: readonly T[] | undefined, callback: (element: T, index: number) => U | undefined): U | undefined; -export declare function identifierIsThisKeyword(id: ts.Identifier): boolean; -export declare function isThisIdentifier(node: ts.Node | undefined): node is ts.Identifier; -export declare function isThisInTypeQuery(node: ts.Node): boolean; -export declare function nodeIsPresent(node: ts.Node | undefined): node is ts.Node; -export declare function getContainingFunction(node: ts.Node): ts.SignatureDeclaration | undefined; -export declare function nodeCanBeDecorated(node: TSNode): boolean; -export declare function isValidAssignmentTarget(node: ts.Node): boolean; -export declare function getNamespaceModifiers(node: ts.ModuleDeclaration): ts.Modifier[] | undefined; -export {}; -//# sourceMappingURL=node-utils.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/node-utils.d.ts.map b/packages/typescript-estree/dist/node-utils.d.ts.map deleted file mode 100644 index 938d7fc6bb7a..000000000000 --- a/packages/typescript-estree/dist/node-utils.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"node-utils.d.ts","sourceRoot":"","sources":["../src/node-utils.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/node-utils.js b/packages/typescript-estree/dist/node-utils.js deleted file mode 100644 index 0830c400c309..000000000000 --- a/packages/typescript-estree/dist/node-utils.js +++ /dev/null @@ -1,789 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getNamespaceModifiers = exports.isValidAssignmentTarget = exports.nodeCanBeDecorated = exports.getContainingFunction = exports.nodeIsPresent = exports.isThisInTypeQuery = exports.isThisIdentifier = exports.identifierIsThisKeyword = exports.firstDefined = exports.nodeHasTokens = exports.nodeHasIllegalDecorators = exports.createError = exports.TSError = exports.convertTokens = exports.convertToken = exports.getTokenType = exports.isChildUnwrappableOptionalChain = exports.isChainExpression = exports.isOptional = exports.isComputedProperty = exports.unescapeStringLiteralText = exports.hasJSXAncestor = exports.findFirstMatchingAncestor = exports.findNextToken = exports.getTSNodeAccessibility = exports.getDeclarationKind = exports.isJSXToken = exports.getRange = exports.canContainDirective = exports.getLocFor = exports.getLineAndCharacterFor = exports.getBinaryExpressionType = exports.isComment = exports.isComma = exports.getLastModifier = exports.hasModifier = exports.isESTreeClassMember = exports.getTextForTokenKind = exports.isESTreeBinaryOperator = exports.isLogicalOperator = void 0; -const ts = __importStar(require("typescript")); -const getModifiers_1 = require("./getModifiers"); -const xhtml_entities_1 = require("./jsx/xhtml-entities"); -const ts_estree_1 = require("./ts-estree"); -const version_check_1 = require("./version-check"); -const isAtLeast50 = version_check_1.typescriptVersionIsAtLeast['5.0']; -const SyntaxKind = ts.SyntaxKind; -const LOGICAL_OPERATORS = new Set([ - SyntaxKind.BarBarToken, - SyntaxKind.AmpersandAmpersandToken, - SyntaxKind.QuestionQuestionToken, -]); -const ASSIGNMENT_OPERATORS = new Set([ - ts.SyntaxKind.EqualsToken, - ts.SyntaxKind.PlusEqualsToken, - ts.SyntaxKind.MinusEqualsToken, - ts.SyntaxKind.AsteriskEqualsToken, - ts.SyntaxKind.AsteriskAsteriskEqualsToken, - ts.SyntaxKind.SlashEqualsToken, - ts.SyntaxKind.PercentEqualsToken, - ts.SyntaxKind.LessThanLessThanEqualsToken, - ts.SyntaxKind.GreaterThanGreaterThanEqualsToken, - ts.SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken, - ts.SyntaxKind.AmpersandEqualsToken, - ts.SyntaxKind.BarEqualsToken, - ts.SyntaxKind.BarBarEqualsToken, - ts.SyntaxKind.AmpersandAmpersandEqualsToken, - ts.SyntaxKind.QuestionQuestionEqualsToken, - ts.SyntaxKind.CaretEqualsToken, -]); -const BINARY_OPERATORS = new Set([ - SyntaxKind.InstanceOfKeyword, - SyntaxKind.InKeyword, - SyntaxKind.AsteriskAsteriskToken, - SyntaxKind.AsteriskToken, - SyntaxKind.SlashToken, - SyntaxKind.PercentToken, - SyntaxKind.PlusToken, - SyntaxKind.MinusToken, - SyntaxKind.AmpersandToken, - SyntaxKind.BarToken, - SyntaxKind.CaretToken, - SyntaxKind.LessThanLessThanToken, - SyntaxKind.GreaterThanGreaterThanToken, - SyntaxKind.GreaterThanGreaterThanGreaterThanToken, - SyntaxKind.AmpersandAmpersandToken, - SyntaxKind.BarBarToken, - SyntaxKind.LessThanToken, - SyntaxKind.LessThanEqualsToken, - SyntaxKind.GreaterThanToken, - SyntaxKind.GreaterThanEqualsToken, - SyntaxKind.EqualsEqualsToken, - SyntaxKind.EqualsEqualsEqualsToken, - SyntaxKind.ExclamationEqualsEqualsToken, - SyntaxKind.ExclamationEqualsToken, -]); -/** - * Returns true if the given ts.Token is the assignment operator - * @param operator the operator token - */ -function isAssignmentOperator(operator) { - return ASSIGNMENT_OPERATORS.has(operator.kind); -} -/** - * Returns true if the given ts.Token is a logical operator - * @param operator the operator token - * @returns is a logical operator - */ -function isLogicalOperator(operator) { - return LOGICAL_OPERATORS.has(operator.kind); -} -exports.isLogicalOperator = isLogicalOperator; -function isESTreeBinaryOperator(operator) { - return BINARY_OPERATORS.has(operator.kind); -} -exports.isESTreeBinaryOperator = isESTreeBinaryOperator; -/** - * Returns the string form of the given TSToken SyntaxKind - * @param kind the token's SyntaxKind - * @returns the token applicable token as a string - */ -function getTextForTokenKind(kind) { - return ts.tokenToString(kind); -} -exports.getTextForTokenKind = getTextForTokenKind; -/** - * Returns true if the given ts.Node is a valid ESTree class member - * @param node TypeScript AST node - * @returns is valid ESTree class member - */ -function isESTreeClassMember(node) { - return node.kind !== SyntaxKind.SemicolonClassElement; -} -exports.isESTreeClassMember = isESTreeClassMember; -/** - * Checks if a ts.Node has a modifier - * @param modifierKind TypeScript SyntaxKind modifier - * @param node TypeScript AST node - * @returns has the modifier specified - */ -function hasModifier(modifierKind, node) { - const modifiers = (0, getModifiers_1.getModifiers)(node); - return modifiers?.some(modifier => modifier.kind === modifierKind) === true; -} -exports.hasModifier = hasModifier; -/** - * Get last last modifier in ast - * @param node TypeScript AST node - * @returns returns last modifier if present or null - */ -function getLastModifier(node) { - const modifiers = (0, getModifiers_1.getModifiers)(node); - if (modifiers == null) { - return null; - } - return modifiers[modifiers.length - 1] ?? null; -} -exports.getLastModifier = getLastModifier; -/** - * Returns true if the given ts.Token is a comma - * @param token the TypeScript token - * @returns is comma - */ -function isComma(token) { - return token.kind === SyntaxKind.CommaToken; -} -exports.isComma = isComma; -/** - * Returns true if the given ts.Node is a comment - * @param node the TypeScript node - * @returns is comment - */ -function isComment(node) { - return (node.kind === SyntaxKind.SingleLineCommentTrivia || - node.kind === SyntaxKind.MultiLineCommentTrivia); -} -exports.isComment = isComment; -/** - * Returns true if the given ts.Node is a JSDoc comment - * @param node the TypeScript node - */ -function isJSDocComment(node) { - // eslint-disable-next-line deprecation/deprecation -- SyntaxKind.JSDoc was only added in TS4.7 so we can't use it yet - return node.kind === SyntaxKind.JSDocComment; -} -/** - * Returns the binary expression type of the given ts.Token - * @param operator the operator token - * @returns the binary expression type - */ -function getBinaryExpressionType(operator) { - if (isAssignmentOperator(operator)) { - return { - type: ts_estree_1.AST_NODE_TYPES.AssignmentExpression, - operator: getTextForTokenKind(operator.kind), - }; - } - else if (isLogicalOperator(operator)) { - return { - type: ts_estree_1.AST_NODE_TYPES.LogicalExpression, - operator: getTextForTokenKind(operator.kind), - }; - } - else if (isESTreeBinaryOperator(operator)) { - return { - type: ts_estree_1.AST_NODE_TYPES.BinaryExpression, - operator: getTextForTokenKind(operator.kind), - }; - } - throw new Error(`Unexpected binary operator ${ts.tokenToString(operator.kind)}`); -} -exports.getBinaryExpressionType = getBinaryExpressionType; -/** - * Returns line and column data for the given positions, - * @param pos position to check - * @param ast the AST object - * @returns line and column - */ -function getLineAndCharacterFor(pos, ast) { - const loc = ast.getLineAndCharacterOfPosition(pos); - return { - line: loc.line + 1, - column: loc.character, - }; -} -exports.getLineAndCharacterFor = getLineAndCharacterFor; -/** - * Returns line and column data for the given start and end positions, - * for the given AST - * @param range start end data - * @param ast the AST object - * @returns the loc data - */ -function getLocFor(range, ast) { - const [start, end] = range.map(pos => getLineAndCharacterFor(pos, ast)); - return { start, end }; -} -exports.getLocFor = getLocFor; -/** - * Check whatever node can contain directive - * @returns returns true if node can contain directive - */ -function canContainDirective(node) { - if (node.kind === ts.SyntaxKind.Block) { - switch (node.parent.kind) { - case ts.SyntaxKind.Constructor: - case ts.SyntaxKind.GetAccessor: - case ts.SyntaxKind.SetAccessor: - case ts.SyntaxKind.ArrowFunction: - case ts.SyntaxKind.FunctionExpression: - case ts.SyntaxKind.FunctionDeclaration: - case ts.SyntaxKind.MethodDeclaration: - return true; - default: - return false; - } - } - return true; -} -exports.canContainDirective = canContainDirective; -/** - * Returns range for the given ts.Node - * @param node the ts.Node or ts.Token - * @param ast the AST object - * @returns the range data - */ -function getRange(node, ast) { - return [node.getStart(ast), node.getEnd()]; -} -exports.getRange = getRange; -/** - * Returns true if a given ts.Node is a token - * @param node the ts.Node - * @returns is a token - */ -function isToken(node) { - return (node.kind >= SyntaxKind.FirstToken && node.kind <= SyntaxKind.LastToken); -} -/** - * Returns true if a given ts.Node is a JSX token - * @param node ts.Node to be checked - * @returns is a JSX token - */ -function isJSXToken(node) { - return (node.kind >= SyntaxKind.JsxElement && node.kind <= SyntaxKind.JsxAttribute); -} -exports.isJSXToken = isJSXToken; -/** - * Returns the declaration kind of the given ts.Node - * @param node TypeScript AST node - * @returns declaration kind - */ -function getDeclarationKind(node) { - if (node.flags & ts.NodeFlags.Let) { - return 'let'; - } - // eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison - if ((node.flags & ts.NodeFlags.AwaitUsing) === ts.NodeFlags.AwaitUsing) { - return 'await using'; - } - if (node.flags & ts.NodeFlags.Const) { - return 'const'; - } - if (node.flags & ts.NodeFlags.Using) { - return 'using'; - } - return 'var'; -} -exports.getDeclarationKind = getDeclarationKind; -/** - * Gets a ts.Node's accessibility level - * @param node The ts.Node - * @returns accessibility "public", "protected", "private", or null - */ -function getTSNodeAccessibility(node) { - const modifiers = (0, getModifiers_1.getModifiers)(node); - if (modifiers == null) { - return undefined; - } - for (const modifier of modifiers) { - switch (modifier.kind) { - case SyntaxKind.PublicKeyword: - return 'public'; - case SyntaxKind.ProtectedKeyword: - return 'protected'; - case SyntaxKind.PrivateKeyword: - return 'private'; - default: - break; - } - } - return undefined; -} -exports.getTSNodeAccessibility = getTSNodeAccessibility; -/** - * Finds the next token based on the previous one and its parent - * Had to copy this from TS instead of using TS's version because theirs doesn't pass the ast to getChildren - * @param previousToken The previous TSToken - * @param parent The parent TSNode - * @param ast The TS AST - * @returns the next TSToken - */ -function findNextToken(previousToken, parent, ast) { - return find(parent); - function find(n) { - if (ts.isToken(n) && n.pos === previousToken.end) { - // this is token that starts at the end of previous token - return it - return n; - } - return firstDefined(n.getChildren(ast), (child) => { - const shouldDiveInChildNode = - // previous token is enclosed somewhere in the child - (child.pos <= previousToken.pos && child.end > previousToken.end) || - // previous token ends exactly at the beginning of child - child.pos === previousToken.end; - return shouldDiveInChildNode && nodeHasTokens(child, ast) - ? find(child) - : undefined; - }); - } -} -exports.findNextToken = findNextToken; -/** - * Find the first matching ancestor based on the given predicate function. - * @param node The current ts.Node - * @param predicate The predicate function to apply to each checked ancestor - * @returns a matching parent ts.Node - */ -function findFirstMatchingAncestor(node, predicate) { - let current = node; - while (current) { - if (predicate(current)) { - return current; - } - current = current.parent; - } - return undefined; -} -exports.findFirstMatchingAncestor = findFirstMatchingAncestor; -/** - * Returns true if a given ts.Node has a JSX token within its hierarchy - * @param node ts.Node to be checked - * @returns has JSX ancestor - */ -function hasJSXAncestor(node) { - return !!findFirstMatchingAncestor(node, isJSXToken); -} -exports.hasJSXAncestor = hasJSXAncestor; -/** - * Unescape the text content of string literals, e.g. & -> & - * @param text The escaped string literal text. - * @returns The unescaped string literal text. - */ -function unescapeStringLiteralText(text) { - return text.replace(/&(?:#\d+|#x[\da-fA-F]+|[0-9a-zA-Z]+);/g, entity => { - const item = entity.slice(1, -1); - if (item[0] === '#') { - const codePoint = item[1] === 'x' - ? parseInt(item.slice(2), 16) - : parseInt(item.slice(1), 10); - return codePoint > 0x10ffff // RangeError: Invalid code point - ? entity - : String.fromCodePoint(codePoint); - } - return xhtml_entities_1.xhtmlEntities[item] || entity; - }); -} -exports.unescapeStringLiteralText = unescapeStringLiteralText; -/** - * Returns true if a given ts.Node is a computed property - * @param node ts.Node to be checked - * @returns is Computed Property - */ -function isComputedProperty(node) { - return node.kind === SyntaxKind.ComputedPropertyName; -} -exports.isComputedProperty = isComputedProperty; -/** - * Returns true if a given ts.Node is optional (has QuestionToken) - * @param node ts.Node to be checked - * @returns is Optional - */ -function isOptional(node) { - return !!node.questionToken; -} -exports.isOptional = isOptional; -/** - * Returns true if the node is an optional chain node - */ -function isChainExpression(node) { - return node.type === ts_estree_1.AST_NODE_TYPES.ChainExpression; -} -exports.isChainExpression = isChainExpression; -/** - * Returns true of the child of property access expression is an optional chain - */ -function isChildUnwrappableOptionalChain(node, child) { - return (isChainExpression(child) && - // (x?.y).z is semantically different, and as such .z is no longer optional - node.expression.kind !== ts.SyntaxKind.ParenthesizedExpression); -} -exports.isChildUnwrappableOptionalChain = isChildUnwrappableOptionalChain; -/** - * Returns the type of a given ts.Token - * @param token the ts.Token - * @returns the token type - */ -function getTokenType(token) { - let keywordKind; - if (isAtLeast50 && token.kind === SyntaxKind.Identifier) { - keywordKind = ts.identifierToKeywordKind(token); - } - else if ('originalKeywordKind' in token) { - // eslint-disable-next-line deprecation/deprecation -- intentional fallback for older TS versions - keywordKind = token.originalKeywordKind; - } - if (keywordKind) { - if (keywordKind === SyntaxKind.NullKeyword) { - return ts_estree_1.AST_TOKEN_TYPES.Null; - } - else if (keywordKind >= SyntaxKind.FirstFutureReservedWord && - keywordKind <= SyntaxKind.LastKeyword) { - return ts_estree_1.AST_TOKEN_TYPES.Identifier; - } - return ts_estree_1.AST_TOKEN_TYPES.Keyword; - } - if (token.kind >= SyntaxKind.FirstKeyword && - token.kind <= SyntaxKind.LastFutureReservedWord) { - if (token.kind === SyntaxKind.FalseKeyword || - token.kind === SyntaxKind.TrueKeyword) { - return ts_estree_1.AST_TOKEN_TYPES.Boolean; - } - return ts_estree_1.AST_TOKEN_TYPES.Keyword; - } - if (token.kind >= SyntaxKind.FirstPunctuation && - token.kind <= SyntaxKind.LastPunctuation) { - return ts_estree_1.AST_TOKEN_TYPES.Punctuator; - } - if (token.kind >= SyntaxKind.NoSubstitutionTemplateLiteral && - token.kind <= SyntaxKind.TemplateTail) { - return ts_estree_1.AST_TOKEN_TYPES.Template; - } - switch (token.kind) { - case SyntaxKind.NumericLiteral: - return ts_estree_1.AST_TOKEN_TYPES.Numeric; - case SyntaxKind.JsxText: - return ts_estree_1.AST_TOKEN_TYPES.JSXText; - case SyntaxKind.StringLiteral: - // A TypeScript-StringLiteral token with a TypeScript-JsxAttribute or TypeScript-JsxElement parent, - // must actually be an ESTree-JSXText token - if (token.parent.kind === SyntaxKind.JsxAttribute || - token.parent.kind === SyntaxKind.JsxElement) { - return ts_estree_1.AST_TOKEN_TYPES.JSXText; - } - return ts_estree_1.AST_TOKEN_TYPES.String; - case SyntaxKind.RegularExpressionLiteral: - return ts_estree_1.AST_TOKEN_TYPES.RegularExpression; - case SyntaxKind.Identifier: - case SyntaxKind.ConstructorKeyword: - case SyntaxKind.GetKeyword: - case SyntaxKind.SetKeyword: - // intentional fallthrough - default: - } - // Some JSX tokens have to be determined based on their parent - if (token.kind === SyntaxKind.Identifier) { - if (isJSXToken(token.parent)) { - return ts_estree_1.AST_TOKEN_TYPES.JSXIdentifier; - } - if (token.parent.kind === SyntaxKind.PropertyAccessExpression && - hasJSXAncestor(token)) { - return ts_estree_1.AST_TOKEN_TYPES.JSXIdentifier; - } - } - return ts_estree_1.AST_TOKEN_TYPES.Identifier; -} -exports.getTokenType = getTokenType; -/** - * Extends and formats a given ts.Token, for a given AST - * @param token the ts.Token - * @param ast the AST object - * @returns the converted Token - */ -function convertToken(token, ast) { - const start = token.kind === SyntaxKind.JsxText - ? token.getFullStart() - : token.getStart(ast); - const end = token.getEnd(); - const value = ast.text.slice(start, end); - const tokenType = getTokenType(token); - const range = [start, end]; - const loc = getLocFor(range, ast); - if (tokenType === ts_estree_1.AST_TOKEN_TYPES.RegularExpression) { - return { - type: tokenType, - value, - range, - loc, - regex: { - pattern: value.slice(1, value.lastIndexOf('/')), - flags: value.slice(value.lastIndexOf('/') + 1), - }, - }; - } - // @ts-expect-error TS is complaining about `value` not being the correct - // type but it is - return { - type: tokenType, - value, - range, - loc, - }; -} -exports.convertToken = convertToken; -/** - * Converts all tokens for the given AST - * @param ast the AST object - * @returns the converted Tokens - */ -function convertTokens(ast) { - const result = []; - /** - * @param node the ts.Node - */ - function walk(node) { - // TypeScript generates tokens for types in JSDoc blocks. Comment tokens - // and their children should not be walked or added to the resulting tokens list. - if (isComment(node) || isJSDocComment(node)) { - return; - } - if (isToken(node) && node.kind !== SyntaxKind.EndOfFileToken) { - result.push(convertToken(node, ast)); - } - else { - node.getChildren(ast).forEach(walk); - } - } - walk(ast); - return result; -} -exports.convertTokens = convertTokens; -class TSError extends Error { - fileName; - location; - constructor(message, fileName, location) { - super(message); - this.fileName = fileName; - this.location = location; - Object.defineProperty(this, 'name', { - value: new.target.name, - enumerable: false, - configurable: true, - }); - } - // For old version of ESLint https://github.com/typescript-eslint/typescript-eslint/pull/6556#discussion_r1123237311 - get index() { - return this.location.start.offset; - } - // https://github.com/eslint/eslint/blob/b09a512107249a4eb19ef5a37b0bd672266eafdb/lib/linter/linter.js#L853 - get lineNumber() { - return this.location.start.line; - } - // https://github.com/eslint/eslint/blob/b09a512107249a4eb19ef5a37b0bd672266eafdb/lib/linter/linter.js#L854 - get column() { - return this.location.start.column; - } -} -exports.TSError = TSError; -/** - * @param message the error message - * @param ast the AST object - * @param startIndex the index at which the error starts - * @param endIndex the index at which the error ends - * @returns converted error object - */ -function createError(message, ast, startIndex, endIndex = startIndex) { - const [start, end] = [startIndex, endIndex].map(offset => { - const { line, character: column } = ast.getLineAndCharacterOfPosition(offset); - return { line: line + 1, column, offset }; - }); - return new TSError(message, ast.fileName, { start, end }); -} -exports.createError = createError; -function nodeHasIllegalDecorators(node) { - return !!('illegalDecorators' in node && - node.illegalDecorators?.length); -} -exports.nodeHasIllegalDecorators = nodeHasIllegalDecorators; -/** - * @param n the TSNode - * @param ast the TS AST - */ -function nodeHasTokens(n, ast) { - // If we have a token or node that has a non-zero width, it must have tokens. - // Note: getWidth() does not take trivia into account. - return n.kind === SyntaxKind.EndOfFileToken - ? !!n.jsDoc - : n.getWidth(ast) !== 0; -} -exports.nodeHasTokens = nodeHasTokens; -/** - * Like `forEach`, but suitable for use with numbers and strings (which may be falsy). - */ -function firstDefined(array, callback) { - if (array === undefined) { - return undefined; - } - for (let i = 0; i < array.length; i++) { - const result = callback(array[i], i); - if (result !== undefined) { - return result; - } - } - return undefined; -} -exports.firstDefined = firstDefined; -function identifierIsThisKeyword(id) { - return ( - // eslint-disable-next-line deprecation/deprecation -- intentional for older TS versions - (isAtLeast50 ? ts.identifierToKeywordKind(id) : id.originalKeywordKind) === - SyntaxKind.ThisKeyword); -} -exports.identifierIsThisKeyword = identifierIsThisKeyword; -function isThisIdentifier(node) { - return (!!node && - node.kind === SyntaxKind.Identifier && - identifierIsThisKeyword(node)); -} -exports.isThisIdentifier = isThisIdentifier; -function isThisInTypeQuery(node) { - if (!isThisIdentifier(node)) { - return false; - } - while (ts.isQualifiedName(node.parent) && node.parent.left === node) { - node = node.parent; - } - return node.parent.kind === SyntaxKind.TypeQuery; -} -exports.isThisInTypeQuery = isThisInTypeQuery; -// `ts.nodeIsMissing` -function nodeIsMissing(node) { - if (node === undefined) { - return true; - } - return (node.pos === node.end && - node.pos >= 0 && - node.kind !== SyntaxKind.EndOfFileToken); -} -// `ts.nodeIsPresent` -function nodeIsPresent(node) { - return !nodeIsMissing(node); -} -exports.nodeIsPresent = nodeIsPresent; -// `ts.getContainingFunction` -function getContainingFunction(node) { - return ts.findAncestor(node.parent, ts.isFunctionLike); -} -exports.getContainingFunction = getContainingFunction; -// `ts.hasAbstractModifier` -function hasAbstractModifier(node) { - return hasModifier(SyntaxKind.AbstractKeyword, node); -} -// `ts.getThisParameter` -function getThisParameter(signature) { - if (signature.parameters.length && !ts.isJSDocSignature(signature)) { - const thisParameter = signature.parameters[0]; - if (parameterIsThisKeyword(thisParameter)) { - return thisParameter; - } - } - return null; -} -// `ts.parameterIsThisKeyword` -function parameterIsThisKeyword(parameter) { - return isThisIdentifier(parameter.name); -} -// Rewrite version of `ts.nodeCanBeDecorated` -// Returns `true` for both `useLegacyDecorators: true` and `useLegacyDecorators: false` -function nodeCanBeDecorated(node) { - switch (node.kind) { - case SyntaxKind.ClassDeclaration: - return true; - case SyntaxKind.ClassExpression: - // `ts.nodeCanBeDecorated` returns `false` if `useLegacyDecorators: true` - return true; - case SyntaxKind.PropertyDeclaration: { - const { parent } = node; - // `ts.nodeCanBeDecorated` uses this if `useLegacyDecorators: true` - if (ts.isClassDeclaration(parent)) { - return true; - } - // `ts.nodeCanBeDecorated` uses this if `useLegacyDecorators: false` - if (ts.isClassLike(parent) && !hasAbstractModifier(node)) { - return true; - } - return false; - } - case SyntaxKind.GetAccessor: - case SyntaxKind.SetAccessor: - case SyntaxKind.MethodDeclaration: { - const { parent } = node; - // In `ts.nodeCanBeDecorated` - // when `useLegacyDecorators: true` uses `ts.isClassDeclaration` - // when `useLegacyDecorators: true` uses `ts.isClassLike` - return (Boolean(node.body) && - (ts.isClassDeclaration(parent) || ts.isClassLike(parent))); - } - case SyntaxKind.Parameter: { - // `ts.nodeCanBeDecorated` returns `false` if `useLegacyDecorators: false` - const { parent } = node; - const grandparent = parent.parent; - return (Boolean(parent) && - 'body' in parent && - Boolean(parent.body) && - (parent.kind === SyntaxKind.Constructor || - parent.kind === SyntaxKind.MethodDeclaration || - parent.kind === SyntaxKind.SetAccessor) && - getThisParameter(parent) !== node && - Boolean(grandparent) && - grandparent.kind === SyntaxKind.ClassDeclaration); - } - } - return false; -} -exports.nodeCanBeDecorated = nodeCanBeDecorated; -function isValidAssignmentTarget(node) { - switch (node.kind) { - case SyntaxKind.Identifier: - return true; - case SyntaxKind.PropertyAccessExpression: - case SyntaxKind.ElementAccessExpression: - if (node.flags & ts.NodeFlags.OptionalChain) { - return false; - } - return true; - case SyntaxKind.ParenthesizedExpression: - case SyntaxKind.TypeAssertionExpression: - case SyntaxKind.AsExpression: - case SyntaxKind.SatisfiesExpression: - case SyntaxKind.NonNullExpression: - return isValidAssignmentTarget(node.expression); - default: - return false; - } -} -exports.isValidAssignmentTarget = isValidAssignmentTarget; -function getNamespaceModifiers(node) { - // For following nested namespaces, use modifiers given to the topmost namespace - // export declare namespace foo.bar.baz {} - let modifiers = (0, getModifiers_1.getModifiers)(node); - let moduleDeclaration = node; - while ((!modifiers || modifiers.length === 0) && - ts.isModuleDeclaration(moduleDeclaration.parent)) { - const parentModifiers = (0, getModifiers_1.getModifiers)(moduleDeclaration.parent); - if (parentModifiers?.length) { - modifiers = parentModifiers; - } - moduleDeclaration = moduleDeclaration.parent; - } - return modifiers; -} -exports.getNamespaceModifiers = getNamespaceModifiers; -//# sourceMappingURL=node-utils.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/node-utils.js.map b/packages/typescript-estree/dist/node-utils.js.map deleted file mode 100644 index 9b6fa85172d5..000000000000 --- a/packages/typescript-estree/dist/node-utils.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"node-utils.js","sourceRoot":"","sources":["../src/node-utils.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/ExpiringCache.d.ts b/packages/typescript-estree/dist/parseSettings/ExpiringCache.d.ts deleted file mode 100644 index 20993107d72a..000000000000 --- a/packages/typescript-estree/dist/parseSettings/ExpiringCache.d.ts +++ /dev/null @@ -1,17 +0,0 @@ -import type { CacheDurationSeconds } from '@typescript-eslint/types'; -export declare const DEFAULT_TSCONFIG_CACHE_DURATION_SECONDS = 30; -export interface CacheLike { - get(key: Key): Value | undefined; - set(key: Key, value: Value): this; -} -/** - * A map with key-level expiration. - */ -export declare class ExpiringCache implements CacheLike { - #private; - constructor(cacheDurationSeconds: CacheDurationSeconds); - set(key: Key, value: Value): this; - get(key: Key): Value | undefined; - clear(): void; -} -//# sourceMappingURL=ExpiringCache.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/ExpiringCache.d.ts.map b/packages/typescript-estree/dist/parseSettings/ExpiringCache.d.ts.map deleted file mode 100644 index ddbd63c4c4b5..000000000000 --- a/packages/typescript-estree/dist/parseSettings/ExpiringCache.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ExpiringCache.d.ts","sourceRoot":"","sources":["../../src/parseSettings/ExpiringCache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAErE,eAAO,MAAM,uCAAuC,KAAK,CAAC;AAG1D,MAAM,WAAW,SAAS,CAAC,GAAG,EAAE,KAAK;IACnC,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,KAAK,GAAG,SAAS,CAAC;IACjC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACnC;AAED;;GAEG;AACH,qBAAa,aAAa,CAAC,GAAG,EAAE,KAAK,CAAE,YAAW,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC;;gBAWzD,oBAAoB,EAAE,oBAAoB;IAItD,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;IAYjC,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,KAAK,GAAG,SAAS;IAmBhC,KAAK,IAAI,IAAI;CAGd"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/ExpiringCache.js b/packages/typescript-estree/dist/parseSettings/ExpiringCache.js deleted file mode 100644 index 4e8e0d9e3200..000000000000 --- a/packages/typescript-estree/dist/parseSettings/ExpiringCache.js +++ /dev/null @@ -1,47 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.ExpiringCache = exports.DEFAULT_TSCONFIG_CACHE_DURATION_SECONDS = void 0; -exports.DEFAULT_TSCONFIG_CACHE_DURATION_SECONDS = 30; -const ZERO_HR_TIME = [0, 0]; -/** - * A map with key-level expiration. - */ -class ExpiringCache { - #cacheDurationSeconds; - #map = new Map(); - constructor(cacheDurationSeconds) { - this.#cacheDurationSeconds = cacheDurationSeconds; - } - set(key, value) { - this.#map.set(key, { - value, - lastSeen: this.#cacheDurationSeconds === 'Infinity' - ? // no need to waste time calculating the hrtime in infinity mode as there's no expiry - ZERO_HR_TIME - : process.hrtime(), - }); - return this; - } - get(key) { - const entry = this.#map.get(key); - if (entry?.value != null) { - if (this.#cacheDurationSeconds === 'Infinity') { - return entry.value; - } - const ageSeconds = process.hrtime(entry.lastSeen)[0]; - if (ageSeconds < this.#cacheDurationSeconds) { - // cache hit woo! - return entry.value; - } - // key has expired - clean it up to free up memory - this.#map.delete(key); - } - // no hit :'( - return undefined; - } - clear() { - this.#map.clear(); - } -} -exports.ExpiringCache = ExpiringCache; -//# sourceMappingURL=ExpiringCache.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/ExpiringCache.js.map b/packages/typescript-estree/dist/parseSettings/ExpiringCache.js.map deleted file mode 100644 index e363cd05b715..000000000000 --- a/packages/typescript-estree/dist/parseSettings/ExpiringCache.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ExpiringCache.js","sourceRoot":"","sources":["../../src/parseSettings/ExpiringCache.ts"],"names":[],"mappings":";;;AAEa,QAAA,uCAAuC,GAAG,EAAE,CAAC;AAC1D,MAAM,YAAY,GAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAO9C;;GAEG;AACH,MAAa,aAAa;IACf,qBAAqB,CAAuB;IAE5C,IAAI,GAAG,IAAI,GAAG,EAMpB,CAAC;IAEJ,YAAY,oBAA0C;QACpD,IAAI,CAAC,qBAAqB,GAAG,oBAAoB,CAAC;IACpD,CAAC;IAED,GAAG,CAAC,GAAQ,EAAE,KAAY;QACxB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE;YACjB,KAAK;YACL,QAAQ,EACN,IAAI,CAAC,qBAAqB,KAAK,UAAU;gBACvC,CAAC,CAAC,qFAAqF;oBACrF,YAAY;gBACd,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE;SACvB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,GAAG,CAAC,GAAQ;QACV,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,KAAK,EAAE,KAAK,IAAI,IAAI,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,qBAAqB,KAAK,UAAU,EAAE,CAAC;gBAC9C,OAAO,KAAK,CAAC,KAAK,CAAC;YACrB,CAAC;YAED,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACrD,IAAI,UAAU,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC5C,iBAAiB;gBACjB,OAAO,KAAK,CAAC,KAAK,CAAC;YACrB,CAAC;YACD,kDAAkD;YAClD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;QACD,aAAa;QACb,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC;CACF;AAjDD,sCAiDC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/createParseSettings.d.ts b/packages/typescript-estree/dist/parseSettings/createParseSettings.d.ts deleted file mode 100644 index 855b5c9bb324..000000000000 --- a/packages/typescript-estree/dist/parseSettings/createParseSettings.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import * as ts from 'typescript'; -import type { TSESTreeOptions } from '../parser-options'; -import type { MutableParseSettings } from './index'; -export declare function createParseSettings(code: ts.SourceFile | string, tsestreeOptions?: Partial): MutableParseSettings; -export declare function clearTSConfigMatchCache(): void; -export declare function clearTSServerProjectService(): void; -//# sourceMappingURL=createParseSettings.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/createParseSettings.d.ts.map b/packages/typescript-estree/dist/parseSettings/createParseSettings.d.ts.map deleted file mode 100644 index 66a0bad25f74..000000000000 --- a/packages/typescript-estree/dist/parseSettings/createParseSettings.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"createParseSettings.d.ts","sourceRoot":"","sources":["../../src/parseSettings/createParseSettings.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAKjC,OAAO,KAAK,EAAyB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAOhF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AA2BpD,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,EAAE,CAAC,UAAU,GAAG,MAAM,EAC5B,eAAe,GAAE,OAAO,CAAC,eAAe,CAAM,GAC7C,oBAAoB,CA2JtB;AAED,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C;AAED,wBAAgB,2BAA2B,IAAI,IAAI,CAElD"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/createParseSettings.js b/packages/typescript-estree/dist/parseSettings/createParseSettings.js deleted file mode 100644 index 435a9254d2f7..000000000000 --- a/packages/typescript-estree/dist/parseSettings/createParseSettings.js +++ /dev/null @@ -1,206 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.clearTSServerProjectService = exports.clearTSConfigMatchCache = exports.createParseSettings = void 0; -const debug_1 = __importDefault(require("debug")); -const ts = __importStar(require("typescript")); -const createProjectService_1 = require("../create-program/createProjectService"); -const shared_1 = require("../create-program/shared"); -const source_files_1 = require("../source-files"); -const ExpiringCache_1 = require("./ExpiringCache"); -const getProjectConfigFiles_1 = require("./getProjectConfigFiles"); -const inferSingleRun_1 = require("./inferSingleRun"); -const resolveProjectList_1 = require("./resolveProjectList"); -const warnAboutTSVersion_1 = require("./warnAboutTSVersion"); -const log = (0, debug_1.default)('typescript-eslint:typescript-estree:parser:parseSettings:createParseSettings'); -let TSCONFIG_MATCH_CACHE; -let TSSERVER_PROJECT_SERVICE = null; -const DEFAULT_PROJECT_MATCHED_FILES_THRESHOLD = 8; -const DEFAULT_PROJECT_OPENED_FILES_THRESHOLD = 16; -// NOTE - we intentionally use "unnecessary" `?.` here because in TS<5.3 this enum doesn't exist -// This object exists so we can centralize these for tracking and so we don't proliferate these across the file -// https://github.com/microsoft/TypeScript/issues/56579 -/* eslint-disable @typescript-eslint/no-unnecessary-condition */ -const JSDocParsingMode = { - ParseAll: ts.JSDocParsingMode?.ParseAll, - ParseNone: ts.JSDocParsingMode?.ParseNone, - ParseForTypeErrors: ts.JSDocParsingMode?.ParseForTypeErrors, - ParseForTypeInfo: ts.JSDocParsingMode?.ParseForTypeInfo, -}; -/* eslint-enable @typescript-eslint/no-unnecessary-condition */ -function createParseSettings(code, tsestreeOptions = {}) { - const codeFullText = enforceCodeString(code); - const singleRun = (0, inferSingleRun_1.inferSingleRun)(tsestreeOptions); - const tsconfigRootDir = typeof tsestreeOptions.tsconfigRootDir === 'string' - ? tsestreeOptions.tsconfigRootDir - : process.cwd(); - const passedLoggerFn = typeof tsestreeOptions.loggerFn === 'function'; - const jsDocParsingMode = (() => { - switch (tsestreeOptions.jsDocParsingMode) { - case 'all': - return JSDocParsingMode.ParseAll; - case 'none': - return JSDocParsingMode.ParseNone; - case 'type-info': - return JSDocParsingMode.ParseForTypeInfo; - default: - return JSDocParsingMode.ParseAll; - } - })(); - const extraFileExtensions = Array.isArray(tsestreeOptions.extraFileExtensions) && - tsestreeOptions.extraFileExtensions.every(ext => typeof ext === 'string') - ? tsestreeOptions.extraFileExtensions - : []; - const projectService = { - allowDefaultProject: [], - defaultProject: null, - maximumOpenFiles: DEFAULT_PROJECT_OPENED_FILES_THRESHOLD, - incremental: false, - maximumDefaultProjectFileMatchCount_THIS_WILL_SLOW_DOWN_LINTING: DEFAULT_PROJECT_MATCHED_FILES_THRESHOLD, - ...(typeof tsestreeOptions.projectService === 'object' - ? tsestreeOptions.projectService - : {}), - }; - const parseSettings = { - allowInvalidAST: tsestreeOptions.allowInvalidAST === true, - code, - codeFullText, - comment: tsestreeOptions.comment === true, - comments: [], - debugLevel: tsestreeOptions.debugLevel === true - ? new Set(['typescript-eslint']) - : Array.isArray(tsestreeOptions.debugLevel) - ? new Set(tsestreeOptions.debugLevel) - : new Set(), - errorOnTypeScriptSyntacticAndSemanticIssues: false, - errorOnUnknownASTType: tsestreeOptions.errorOnUnknownASTType === true, - extraFileExtensions, - filePath: (0, shared_1.ensureAbsolutePath)(typeof tsestreeOptions.filePath === 'string' && - tsestreeOptions.filePath !== '' - ? tsestreeOptions.filePath - : getFileName(tsestreeOptions.jsx), tsconfigRootDir), - jsDocParsingMode, - jsx: tsestreeOptions.jsx === true, - loc: tsestreeOptions.loc === true, - log: typeof tsestreeOptions.loggerFn === 'function' - ? tsestreeOptions.loggerFn - : tsestreeOptions.loggerFn === false - ? () => { } // eslint-disable-line @typescript-eslint/no-empty-function - : console.log, // eslint-disable-line no-console - preserveNodeMaps: tsestreeOptions.preserveNodeMaps !== false, - programs: Array.isArray(tsestreeOptions.programs) - ? tsestreeOptions.programs - : null, - projects: new Map(), - projectService: tsestreeOptions.projectService || - (tsestreeOptions.project && - tsestreeOptions.projectService !== false && - process.env.TYPESCRIPT_ESLINT_PROJECT_SERVICE === 'true') - ? (TSSERVER_PROJECT_SERVICE ??= (0, createProjectService_1.createProjectService)(projectService, jsDocParsingMode, { extraFileExtensions })) - : undefined, - range: tsestreeOptions.range === true, - singleRun, - suppressDeprecatedPropertyWarnings: tsestreeOptions.suppressDeprecatedPropertyWarnings ?? - process.env.NODE_ENV !== 'test', - tokens: tsestreeOptions.tokens === true ? [] : null, - tsconfigMatchCache: (TSCONFIG_MATCH_CACHE ??= new ExpiringCache_1.ExpiringCache(singleRun - ? 'Infinity' - : tsestreeOptions.cacheLifetime?.glob ?? - ExpiringCache_1.DEFAULT_TSCONFIG_CACHE_DURATION_SECONDS)), - tsconfigRootDir, - }; - // debug doesn't support multiple `enable` calls, so have to do it all at once - if (parseSettings.debugLevel.size > 0) { - const namespaces = []; - if (parseSettings.debugLevel.has('typescript-eslint')) { - namespaces.push('typescript-eslint:*'); - } - if (parseSettings.debugLevel.has('eslint') || - // make sure we don't turn off the eslint debug if it was enabled via --debug - debug_1.default.enabled('eslint:*,-eslint:code-path')) { - // https://github.com/eslint/eslint/blob/9dfc8501fb1956c90dc11e6377b4cb38a6bea65d/bin/eslint.js#L25 - namespaces.push('eslint:*,-eslint:code-path'); - } - debug_1.default.enable(namespaces.join(',')); - } - if (Array.isArray(tsestreeOptions.programs)) { - if (!tsestreeOptions.programs.length) { - throw new Error(`You have set parserOptions.programs to an empty array. This will cause all files to not be found in existing programs. Either provide one or more existing TypeScript Program instances in the array, or remove the parserOptions.programs setting.`); - } - log('parserOptions.programs was provided, so parserOptions.project will be ignored.'); - } - // Providing a program or project service overrides project resolution - if (!parseSettings.programs && !parseSettings.projectService) { - parseSettings.projects = (0, resolveProjectList_1.resolveProjectList)({ - cacheLifetime: tsestreeOptions.cacheLifetime, - project: (0, getProjectConfigFiles_1.getProjectConfigFiles)(parseSettings, tsestreeOptions.project), - projectFolderIgnoreList: tsestreeOptions.projectFolderIgnoreList, - singleRun: parseSettings.singleRun, - tsconfigRootDir: tsconfigRootDir, - }); - } - // No type-aware linting which means that cross-file (or even same-file) JSDoc is useless - // So in this specific case we default to 'none' if no value was provided - if (tsestreeOptions.jsDocParsingMode == null && - parseSettings.projects.size === 0 && - parseSettings.programs == null && - parseSettings.projectService == null) { - parseSettings.jsDocParsingMode = JSDocParsingMode.ParseNone; - } - (0, warnAboutTSVersion_1.warnAboutTSVersion)(parseSettings, passedLoggerFn); - return parseSettings; -} -exports.createParseSettings = createParseSettings; -function clearTSConfigMatchCache() { - TSCONFIG_MATCH_CACHE?.clear(); -} -exports.clearTSConfigMatchCache = clearTSConfigMatchCache; -function clearTSServerProjectService() { - TSSERVER_PROJECT_SERVICE = null; -} -exports.clearTSServerProjectService = clearTSServerProjectService; -/** - * Ensures source code is a string. - */ -function enforceCodeString(code) { - return (0, source_files_1.isSourceFile)(code) - ? code.getFullText(code) - : typeof code === 'string' - ? code - : String(code); -} -/** - * Compute the filename based on the parser options. - * - * Even if jsx option is set in typescript compiler, filename still has to - * contain .tsx file extension. - */ -function getFileName(jsx) { - return jsx ? 'estree.tsx' : 'estree.ts'; -} -//# sourceMappingURL=createParseSettings.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/createParseSettings.js.map b/packages/typescript-estree/dist/parseSettings/createParseSettings.js.map deleted file mode 100644 index 7fb1fa7bc613..000000000000 --- a/packages/typescript-estree/dist/parseSettings/createParseSettings.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"createParseSettings.js","sourceRoot":"","sources":["../../src/parseSettings/createParseSettings.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/getProjectConfigFiles.d.ts b/packages/typescript-estree/dist/parseSettings/getProjectConfigFiles.d.ts deleted file mode 100644 index 76103cf88653..000000000000 --- a/packages/typescript-estree/dist/parseSettings/getProjectConfigFiles.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import type { TSESTreeOptions } from '../parser-options'; -import type { ParseSettings } from './index'; -/** - * Checks for a matching TSConfig to a file including its parent directories, - * permanently caching results under each directory it checks. - * - * @remarks - * We don't (yet!) have a way to attach file watchers on disk, but still need to - * cache file checks for rapid subsequent calls to fs.existsSync. See discussion - * in https://github.com/typescript-eslint/typescript-eslint/issues/101. - */ -export declare function getProjectConfigFiles(parseSettings: Pick, project: TSESTreeOptions['project']): string[] | null; -//# sourceMappingURL=getProjectConfigFiles.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/getProjectConfigFiles.d.ts.map b/packages/typescript-estree/dist/parseSettings/getProjectConfigFiles.d.ts.map deleted file mode 100644 index bf99e5dd4f98..000000000000 --- a/packages/typescript-estree/dist/parseSettings/getProjectConfigFiles.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"getProjectConfigFiles.d.ts","sourceRoot":"","sources":["../../src/parseSettings/getProjectConfigFiles.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAI7C;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,aAAa,EAAE,IAAI,CACjB,aAAa,EACb,UAAU,GAAG,oBAAoB,GAAG,iBAAiB,CACtD,EACD,OAAO,EAAE,eAAe,CAAC,SAAS,CAAC,GAClC,MAAM,EAAE,GAAG,IAAI,CAuCjB"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/getProjectConfigFiles.js b/packages/typescript-estree/dist/parseSettings/getProjectConfigFiles.js deleted file mode 100644 index 47b99e146304..000000000000 --- a/packages/typescript-estree/dist/parseSettings/getProjectConfigFiles.js +++ /dev/null @@ -1,74 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getProjectConfigFiles = void 0; -const debug_1 = __importDefault(require("debug")); -const fs = __importStar(require("fs")); -const path = __importStar(require("path")); -const log = (0, debug_1.default)('typescript-eslint:typescript-estree:getProjectConfigFiles'); -/** - * Checks for a matching TSConfig to a file including its parent directories, - * permanently caching results under each directory it checks. - * - * @remarks - * We don't (yet!) have a way to attach file watchers on disk, but still need to - * cache file checks for rapid subsequent calls to fs.existsSync. See discussion - * in https://github.com/typescript-eslint/typescript-eslint/issues/101. - */ -function getProjectConfigFiles(parseSettings, project) { - if (project !== true) { - if (project == null || project === false) { - return null; - } - if (Array.isArray(project)) { - return project; - } - return [project]; - } - log('Looking for tsconfig.json at or above file: %s', parseSettings.filePath); - let directory = path.dirname(parseSettings.filePath); - const checkedDirectories = [directory]; - do { - log('Checking tsconfig.json path: %s', directory); - const tsconfigPath = path.join(directory, 'tsconfig.json'); - const cached = parseSettings.tsconfigMatchCache.get(directory) ?? - (fs.existsSync(tsconfigPath) && tsconfigPath); - if (cached) { - for (const directory of checkedDirectories) { - parseSettings.tsconfigMatchCache.set(directory, cached); - } - return [cached]; - } - directory = path.dirname(directory); - checkedDirectories.push(directory); - } while (directory.length > 1 && - directory.length >= parseSettings.tsconfigRootDir.length); - throw new Error(`project was set to \`true\` but couldn't find any tsconfig.json relative to '${parseSettings.filePath}' within '${parseSettings.tsconfigRootDir}'.`); -} -exports.getProjectConfigFiles = getProjectConfigFiles; -//# sourceMappingURL=getProjectConfigFiles.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/getProjectConfigFiles.js.map b/packages/typescript-estree/dist/parseSettings/getProjectConfigFiles.js.map deleted file mode 100644 index 70fafb28eea9..000000000000 --- a/packages/typescript-estree/dist/parseSettings/getProjectConfigFiles.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"getProjectConfigFiles.js","sourceRoot":"","sources":["../../src/parseSettings/getProjectConfigFiles.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,uCAAyB;AACzB,2CAA6B;AAK7B,MAAM,GAAG,GAAG,IAAA,eAAK,EAAC,2DAA2D,CAAC,CAAC;AAE/E;;;;;;;;GAQG;AACH,SAAgB,qBAAqB,CACnC,aAGC,EACD,OAAmC;IAEnC,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;YACzC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,OAAO,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;IAED,GAAG,CAAC,gDAAgD,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC9E,IAAI,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACrD,MAAM,kBAAkB,GAAG,CAAC,SAAS,CAAC,CAAC;IAEvC,GAAG,CAAC;QACF,GAAG,CAAC,iCAAiC,EAAE,SAAS,CAAC,CAAC;QAClD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;QAC3D,MAAM,MAAM,GACV,aAAa,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC;YAC/C,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC,CAAC;QAEhD,IAAI,MAAM,EAAE,CAAC;YACX,KAAK,MAAM,SAAS,IAAI,kBAAkB,EAAE,CAAC;gBAC3C,aAAa,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAC1D,CAAC;YACD,OAAO,CAAC,MAAM,CAAC,CAAC;QAClB,CAAC;QAED,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACpC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC,QACC,SAAS,CAAC,MAAM,GAAG,CAAC;QACpB,SAAS,CAAC,MAAM,IAAI,aAAa,CAAC,eAAe,CAAC,MAAM,EACxD;IAEF,MAAM,IAAI,KAAK,CACb,gFAAgF,aAAa,CAAC,QAAQ,aAAa,aAAa,CAAC,eAAe,IAAI,CACrJ,CAAC;AACJ,CAAC;AA7CD,sDA6CC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/index.d.ts b/packages/typescript-estree/dist/parseSettings/index.d.ts deleted file mode 100644 index 3ea1fdfb8542..000000000000 --- a/packages/typescript-estree/dist/parseSettings/index.d.ts +++ /dev/null @@ -1,120 +0,0 @@ -import type * as ts from 'typescript'; -import type { ProjectServiceSettings } from '../create-program/createProjectService'; -import type { CanonicalPath } from '../create-program/shared'; -import type { TSESTree } from '../ts-estree'; -import type { CacheLike } from './ExpiringCache'; -type DebugModule = 'eslint' | 'typescript-eslint' | 'typescript'; -declare module 'typescript' { - enum JSDocParsingMode { - } -} -declare module 'typescript/lib/tsserverlibrary' { - enum JSDocParsingMode { - } -} -/** - * Internal settings used by the parser to run on a file. - */ -export interface MutableParseSettings { - /** - * Prevents the parser from throwing an error if it receives an invalid AST from TypeScript. - */ - allowInvalidAST: boolean; - /** - * Code of the file being parsed, or raw source file containing it. - */ - code: ts.SourceFile | string; - /** - * Full text of the file being parsed. - */ - codeFullText: string; - /** - * Whether the `comment` parse option is enabled. - */ - comment: boolean; - /** - * If the `comment` parse option is enabled, retrieved comments. - */ - comments: TSESTree.Comment[]; - /** - * Which debug areas should be logged. - */ - debugLevel: Set; - /** - * Whether to error if TypeScript reports a semantic or syntactic error diagnostic. - */ - errorOnTypeScriptSyntacticAndSemanticIssues: boolean; - /** - * Whether to error if an unknown AST node type is encountered. - */ - errorOnUnknownASTType: boolean; - /** - * Any non-standard file extensions which will be parsed. - */ - extraFileExtensions: string[]; - /** - * Path of the file being parsed. - */ - filePath: string; - /** - * JSDoc parsing style to pass through to TypeScript - */ - jsDocParsingMode: ts.JSDocParsingMode; - /** - * Whether parsing of JSX is enabled. - * - * @remarks The applicable file extension is still required. - */ - jsx: boolean; - /** - * Whether to add `loc` information to each node. - */ - loc: boolean; - /** - * Log function, if not `console.log`. - */ - log: (message: string) => void; - /** - * Whether two-way AST node maps are preserved during the AST conversion process. - */ - preserveNodeMaps?: boolean; - /** - * One or more instances of TypeScript Program objects to be used for type information. - */ - programs: Iterable | null; - /** - * Normalized paths to provided project paths. - */ - projects: ReadonlyMap; - /** - * TypeScript server to power program creation. - */ - projectService: ProjectServiceSettings | undefined; - /** - * Whether to add the `range` property to AST nodes. - */ - range: boolean; - /** - * Whether this is part of a single run, rather than a long-running process. - */ - singleRun: boolean; - /** - * Whether deprecated AST properties should skip calling console.warn on accesses. - */ - suppressDeprecatedPropertyWarnings: boolean; - /** - * If the `tokens` parse option is enabled, retrieved tokens. - */ - tokens: TSESTree.Token[] | null; - /** - * Caches searches for TSConfigs from project directories. - */ - tsconfigMatchCache: CacheLike; - /** - * The absolute path to the root directory for all provided `project`s. - */ - tsconfigRootDir: string; -} -export type ParseSettings = Readonly; -export {}; -//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/index.d.ts.map b/packages/typescript-estree/dist/parseSettings/index.d.ts.map deleted file mode 100644 index 96518bf50902..000000000000 --- a/packages/typescript-estree/dist/parseSettings/index.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"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,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AACrF,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;AAGjE,OAAO,QAAQ,YAAY,CAAC;IAE1B,KAAK,gBAAgB;KAAG;CACzB;AAED,OAAO,QAAQ,gCAAgC,CAAC;IAE9C,KAAK,gBAAgB;KAAG;CACzB;AAED;;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;;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,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAE9B;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,gBAAgB,EAAE,EAAE,CAAC,gBAAgB,CAAC;IAEtC;;;;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,WAAW,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IAE7C;;OAEG;IACH,cAAc,EAAE,sBAAsB,GAAG,SAAS,CAAC;IAEnD;;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"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/index.js b/packages/typescript-estree/dist/parseSettings/index.js deleted file mode 100644 index aa219d8f2aa4..000000000000 --- a/packages/typescript-estree/dist/parseSettings/index.js +++ /dev/null @@ -1,3 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/index.js.map b/packages/typescript-estree/dist/parseSettings/index.js.map deleted file mode 100644 index 66056421d147..000000000000 --- a/packages/typescript-estree/dist/parseSettings/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/parseSettings/index.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/inferSingleRun.d.ts b/packages/typescript-estree/dist/parseSettings/inferSingleRun.d.ts deleted file mode 100644 index 1b28697f5ef9..000000000000 --- a/packages/typescript-estree/dist/parseSettings/inferSingleRun.d.ts +++ /dev/null @@ -1,15 +0,0 @@ -import type { TSESTreeOptions } from '../parser-options'; -/** - * ESLint (and therefore typescript-eslint) is used in both "single run"/one-time contexts, - * such as an ESLint CLI invocation, and long-running sessions (such as continuous feedback - * on a file in an IDE). - * - * When typescript-eslint handles TypeScript Program management behind the scenes, this distinction - * is important because there is significant overhead to managing the so called Watch Programs - * needed for the long-running use-case. We therefore use the following logic to figure out which - * of these contexts applies to the current execution. - * - * @returns Whether this is part of a single run, rather than a long-running process. - */ -export declare function inferSingleRun(options: TSESTreeOptions | undefined): boolean; -//# sourceMappingURL=inferSingleRun.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/inferSingleRun.d.ts.map b/packages/typescript-estree/dist/parseSettings/inferSingleRun.d.ts.map deleted file mode 100644 index d95b606c9604..000000000000 --- a/packages/typescript-estree/dist/parseSettings/inferSingleRun.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"inferSingleRun.d.ts","sourceRoot":"","sources":["../../src/parseSettings/inferSingleRun.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,eAAe,GAAG,SAAS,GAAG,OAAO,CA6C5E"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/inferSingleRun.js b/packages/typescript-estree/dist/parseSettings/inferSingleRun.js deleted file mode 100644 index ad4283b54836..000000000000 --- a/packages/typescript-estree/dist/parseSettings/inferSingleRun.js +++ /dev/null @@ -1,60 +0,0 @@ -"use strict"; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.inferSingleRun = void 0; -const path_1 = __importDefault(require("path")); -/** - * ESLint (and therefore typescript-eslint) is used in both "single run"/one-time contexts, - * such as an ESLint CLI invocation, and long-running sessions (such as continuous feedback - * on a file in an IDE). - * - * When typescript-eslint handles TypeScript Program management behind the scenes, this distinction - * is important because there is significant overhead to managing the so called Watch Programs - * needed for the long-running use-case. We therefore use the following logic to figure out which - * of these contexts applies to the current execution. - * - * @returns Whether this is part of a single run, rather than a long-running process. - */ -function inferSingleRun(options) { - if ( - // single-run implies type-aware linting - no projects means we can't be in single-run mode - options?.project == null || - // programs passed via options means the user should be managing the programs, so we shouldn't - // be creating our own single-run programs accidentally - options.programs != null) { - return false; - } - // Allow users to explicitly inform us of their intent to perform a single run (or not) with TSESTREE_SINGLE_RUN - if (process.env.TSESTREE_SINGLE_RUN === 'false') { - return false; - } - if (process.env.TSESTREE_SINGLE_RUN === 'true') { - return true; - } - // Ideally, we'd like to try to auto-detect CI or CLI usage that lets us infer a single CLI run. - if (!options.disallowAutomaticSingleRunInference) { - const possibleEslintBinPaths = [ - 'node_modules/.bin/eslint', // npm or yarn repo - 'node_modules/eslint/bin/eslint.js', // pnpm repo - ]; - if ( - // Default to single runs for CI processes. CI=true is set by most CI providers by default. - process.env.CI === 'true' || - // This will be true for invocations such as `npx eslint ...` and `./node_modules/.bin/eslint ...` - possibleEslintBinPaths.some(binPath => process.argv[1].endsWith(path_1.default.normalize(binPath)))) { - return true; - } - } - /** - * We default to assuming that this run could be part of a long-running session (e.g. in an IDE) - * and watch programs will therefore be required. - * - * Unless we can reliably infer otherwise, we default to assuming that this run could be part - * of a long-running session (e.g. in an IDE) and watch programs will therefore be required - */ - return false; -} -exports.inferSingleRun = inferSingleRun; -//# sourceMappingURL=inferSingleRun.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/inferSingleRun.js.map b/packages/typescript-estree/dist/parseSettings/inferSingleRun.js.map deleted file mode 100644 index 67256994554e..000000000000 --- a/packages/typescript-estree/dist/parseSettings/inferSingleRun.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"inferSingleRun.js","sourceRoot":"","sources":["../../src/parseSettings/inferSingleRun.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAIxB;;;;;;;;;;;GAWG;AACH,SAAgB,cAAc,CAAC,OAAoC;IACjE;IACE,2FAA2F;IAC3F,OAAO,EAAE,OAAO,IAAI,IAAI;QACxB,8FAA8F;QAC9F,uDAAuD;QACvD,OAAO,CAAC,QAAQ,IAAI,IAAI,EACxB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,gHAAgH;IAChH,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,OAAO,EAAE,CAAC;QAChD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,MAAM,EAAE,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gGAAgG;IAChG,IAAI,CAAC,OAAO,CAAC,mCAAmC,EAAE,CAAC;QACjD,MAAM,sBAAsB,GAAG;YAC7B,0BAA0B,EAAE,mBAAmB;YAC/C,mCAAmC,EAAE,YAAY;SAClD,CAAC;QACF;QACE,2FAA2F;QAC3F,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,MAAM;YACzB,kGAAkG;YAClG,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAClD,EACD,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,OAAO,KAAK,CAAC;AACf,CAAC;AA7CD,wCA6CC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/resolveProjectList.d.ts b/packages/typescript-estree/dist/parseSettings/resolveProjectList.d.ts deleted file mode 100644 index 4067aec9d21b..000000000000 --- a/packages/typescript-estree/dist/parseSettings/resolveProjectList.d.ts +++ /dev/null @@ -1,19 +0,0 @@ -import type { CanonicalPath } from '../create-program/shared'; -import type { TSESTreeOptions } from '../parser-options'; -export declare function clearGlobCache(): void; -/** - * Normalizes, sanitizes, resolves and filters the provided project paths - */ -export declare function resolveProjectList(options: Readonly<{ - cacheLifetime?: TSESTreeOptions['cacheLifetime']; - project: string[] | null; - projectFolderIgnoreList: TSESTreeOptions['projectFolderIgnoreList']; - singleRun: boolean; - tsconfigRootDir: string; -}>): ReadonlyMap; -/** - * Exported for testing purposes only - * @internal - */ -export declare function clearGlobResolutionCache(): void; -//# sourceMappingURL=resolveProjectList.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/resolveProjectList.d.ts.map b/packages/typescript-estree/dist/parseSettings/resolveProjectList.d.ts.map deleted file mode 100644 index ff072e0b5faa..000000000000 --- a/packages/typescript-estree/dist/parseSettings/resolveProjectList.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"resolveProjectList.d.ts","sourceRoot":"","sources":["../../src/parseSettings/resolveProjectList.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAM9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAezD,wBAAgB,cAAc,IAAI,IAAI,CAErC;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,QAAQ,CAAC;IAChB,aAAa,CAAC,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;IACjD,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACzB,uBAAuB,EAAE,eAAe,CAAC,yBAAyB,CAAC,CAAC;IACpE,SAAS,EAAE,OAAO,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC,GACD,WAAW,CAAC,aAAa,EAAE,MAAM,CAAC,CAgFpC;AAuBD;;;GAGG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CAG/C"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/resolveProjectList.js b/packages/typescript-estree/dist/parseSettings/resolveProjectList.js deleted file mode 100644 index 9b1c8e6824db..000000000000 --- a/packages/typescript-estree/dist/parseSettings/resolveProjectList.js +++ /dev/null @@ -1,103 +0,0 @@ -"use strict"; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.clearGlobResolutionCache = exports.resolveProjectList = exports.clearGlobCache = void 0; -const debug_1 = __importDefault(require("debug")); -const globby_1 = require("globby"); -const is_glob_1 = __importDefault(require("is-glob")); -const shared_1 = require("../create-program/shared"); -const ExpiringCache_1 = require("./ExpiringCache"); -const log = (0, debug_1.default)('typescript-eslint:typescript-estree:parser:parseSettings:resolveProjectList'); -let RESOLUTION_CACHE = null; -function clearGlobCache() { - RESOLUTION_CACHE?.clear(); -} -exports.clearGlobCache = clearGlobCache; -/** - * Normalizes, sanitizes, resolves and filters the provided project paths - */ -function resolveProjectList(options) { - const sanitizedProjects = []; - // Normalize and sanitize the project paths - if (options.project != null) { - for (const project of options.project) { - if (typeof project === 'string') { - sanitizedProjects.push(project); - } - } - } - if (sanitizedProjects.length === 0) { - return new Map(); - } - const projectFolderIgnoreList = (options.projectFolderIgnoreList ?? ['**/node_modules/**']) - .reduce((acc, folder) => { - if (typeof folder === 'string') { - acc.push(folder); - } - return acc; - }, []) - // prefix with a ! for not match glob - .map(folder => (folder.startsWith('!') ? folder : `!${folder}`)); - const cacheKey = getHash({ - project: sanitizedProjects, - projectFolderIgnoreList, - tsconfigRootDir: options.tsconfigRootDir, - }); - if (RESOLUTION_CACHE == null) { - // note - we initialize the global cache based on the first config we encounter. - // this does mean that you can't have multiple lifetimes set per folder - // I doubt that anyone will really bother reconfiguring this, let alone - // try to do complicated setups, so we'll deal with this later if ever. - RESOLUTION_CACHE = new ExpiringCache_1.ExpiringCache(options.singleRun - ? 'Infinity' - : options.cacheLifetime?.glob ?? - ExpiringCache_1.DEFAULT_TSCONFIG_CACHE_DURATION_SECONDS); - } - else { - const cached = RESOLUTION_CACHE.get(cacheKey); - if (cached) { - return cached; - } - } - // Transform glob patterns into paths - const nonGlobProjects = sanitizedProjects.filter(project => !(0, is_glob_1.default)(project)); - const globProjects = sanitizedProjects.filter(project => (0, is_glob_1.default)(project)); - const uniqueCanonicalProjectPaths = new Map(nonGlobProjects - .concat(globProjects.length === 0 - ? [] - : (0, globby_1.sync)([...globProjects, ...projectFolderIgnoreList], { - cwd: options.tsconfigRootDir, - dot: true, - })) - .map(project => [ - (0, shared_1.getCanonicalFileName)((0, shared_1.ensureAbsolutePath)(project, options.tsconfigRootDir)), - (0, shared_1.ensureAbsolutePath)(project, options.tsconfigRootDir), - ])); - log('parserOptions.project (excluding ignored) matched projects: %s', uniqueCanonicalProjectPaths); - RESOLUTION_CACHE.set(cacheKey, uniqueCanonicalProjectPaths); - return uniqueCanonicalProjectPaths; -} -exports.resolveProjectList = resolveProjectList; -function getHash({ project, projectFolderIgnoreList, tsconfigRootDir, }) { - // create a stable representation of the config - const hashObject = { - tsconfigRootDir, - // the project order does matter and can impact the resolved globs - project, - // the ignore order won't doesn't ever matter - projectFolderIgnoreList: [...projectFolderIgnoreList].sort(), - }; - return (0, shared_1.createHash)(JSON.stringify(hashObject)); -} -/** - * Exported for testing purposes only - * @internal - */ -function clearGlobResolutionCache() { - RESOLUTION_CACHE?.clear(); - RESOLUTION_CACHE = null; -} -exports.clearGlobResolutionCache = clearGlobResolutionCache; -//# sourceMappingURL=resolveProjectList.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/resolveProjectList.js.map b/packages/typescript-estree/dist/parseSettings/resolveProjectList.js.map deleted file mode 100644 index 5fedec4e3ff5..000000000000 --- a/packages/typescript-estree/dist/parseSettings/resolveProjectList.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"resolveProjectList.js","sourceRoot":"","sources":["../../src/parseSettings/resolveProjectList.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/warnAboutTSVersion.d.ts b/packages/typescript-estree/dist/parseSettings/warnAboutTSVersion.d.ts deleted file mode 100644 index 9f4dbc460a32..000000000000 --- a/packages/typescript-estree/dist/parseSettings/warnAboutTSVersion.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type { ParseSettings } from './index'; -export declare function warnAboutTSVersion(parseSettings: ParseSettings, passedLoggerFn: boolean): void; -//# sourceMappingURL=warnAboutTSVersion.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/warnAboutTSVersion.d.ts.map b/packages/typescript-estree/dist/parseSettings/warnAboutTSVersion.d.ts.map deleted file mode 100644 index 1a8c6c6819fe..000000000000 --- a/packages/typescript-estree/dist/parseSettings/warnAboutTSVersion.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"warnAboutTSVersion.d.ts","sourceRoot":"","sources":["../../src/parseSettings/warnAboutTSVersion.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAsB7C,wBAAgB,kBAAkB,CAChC,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,OAAO,GACtB,IAAI,CA0BN"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/warnAboutTSVersion.js b/packages/typescript-estree/dist/parseSettings/warnAboutTSVersion.js deleted file mode 100644 index dd7d76a29ea2..000000000000 --- a/packages/typescript-estree/dist/parseSettings/warnAboutTSVersion.js +++ /dev/null @@ -1,69 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.warnAboutTSVersion = void 0; -const semver_1 = __importDefault(require("semver")); -const ts = __importStar(require("typescript")); -/** - * This needs to be kept in sync with package.json in the typescript-eslint monorepo - */ -const SUPPORTED_TYPESCRIPT_VERSIONS = '>=4.7.4 <5.5.0'; -/* - * The semver package will ignore prerelease ranges, and we don't want to explicitly document every one - * List them all separately here, so we can automatically create the full string - */ -const SUPPORTED_PRERELEASE_RANGES = []; -const ACTIVE_TYPESCRIPT_VERSION = ts.version; -const isRunningSupportedTypeScriptVersion = semver_1.default.satisfies(ACTIVE_TYPESCRIPT_VERSION, [SUPPORTED_TYPESCRIPT_VERSIONS] - .concat(SUPPORTED_PRERELEASE_RANGES) - .join(' || ')); -let warnedAboutTSVersion = false; -function warnAboutTSVersion(parseSettings, passedLoggerFn) { - if (isRunningSupportedTypeScriptVersion || warnedAboutTSVersion) { - return; - } - if (passedLoggerFn || - // See https://github.com/typescript-eslint/typescript-eslint/issues/7896 - // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition - (typeof process === 'undefined' ? false : process.stdout?.isTTY)) { - const border = '============='; - const versionWarning = [ - border, - 'WARNING: You are currently running a version of TypeScript which is not officially supported by @typescript-eslint/typescript-estree.', - 'You may find that it works just fine, or you may not.', - `SUPPORTED TYPESCRIPT VERSIONS: ${SUPPORTED_TYPESCRIPT_VERSIONS}`, - `YOUR TYPESCRIPT VERSION: ${ACTIVE_TYPESCRIPT_VERSION}`, - 'Please only submit bug reports when using the officially supported version.', - border, - ].join('\n\n'); - parseSettings.log(versionWarning); - } - warnedAboutTSVersion = true; -} -exports.warnAboutTSVersion = warnAboutTSVersion; -//# sourceMappingURL=warnAboutTSVersion.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/parseSettings/warnAboutTSVersion.js.map b/packages/typescript-estree/dist/parseSettings/warnAboutTSVersion.js.map deleted file mode 100644 index 687850f993a8..000000000000 --- a/packages/typescript-estree/dist/parseSettings/warnAboutTSVersion.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"warnAboutTSVersion.js","sourceRoot":"","sources":["../../src/parseSettings/warnAboutTSVersion.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAA4B;AAC5B,+CAAiC;AAIjC;;GAEG;AACH,MAAM,6BAA6B,GAAG,gBAAgB,CAAC;AAEvD;;;GAGG;AACH,MAAM,2BAA2B,GAAa,EAAE,CAAC;AACjD,MAAM,yBAAyB,GAAG,EAAE,CAAC,OAAO,CAAC;AAC7C,MAAM,mCAAmC,GAAG,gBAAM,CAAC,SAAS,CAC1D,yBAAyB,EACzB,CAAC,6BAA6B,CAAC;KAC5B,MAAM,CAAC,2BAA2B,CAAC;KACnC,IAAI,CAAC,MAAM,CAAC,CAChB,CAAC;AAEF,IAAI,oBAAoB,GAAG,KAAK,CAAC;AAEjC,SAAgB,kBAAkB,CAChC,aAA4B,EAC5B,cAAuB;IAEvB,IAAI,mCAAmC,IAAI,oBAAoB,EAAE,CAAC;QAChE,OAAO;IACT,CAAC;IAED,IACE,cAAc;QACd,yEAAyE;QACzE,uEAAuE;QACvE,CAAC,OAAO,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,EAChE,CAAC;QACD,MAAM,MAAM,GAAG,eAAe,CAAC;QAC/B,MAAM,cAAc,GAAG;YACrB,MAAM;YACN,uIAAuI;YACvI,uDAAuD;YACvD,kCAAkC,6BAA6B,EAAE;YACjE,4BAA4B,yBAAyB,EAAE;YACvD,6EAA6E;YAC7E,MAAM;SACP,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEf,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACpC,CAAC;IAED,oBAAoB,GAAG,IAAI,CAAC;AAC9B,CAAC;AA7BD,gDA6BC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/parser-options.d.ts b/packages/typescript-estree/dist/parser-options.d.ts deleted file mode 100644 index e54d6b4fa3a8..000000000000 --- a/packages/typescript-estree/dist/parser-options.d.ts +++ /dev/null @@ -1,199 +0,0 @@ -import type { CacheDurationSeconds, DebugLevel, JSDocParsingMode, ProjectServiceOptions } from '@typescript-eslint/types'; -import type * as ts from 'typescript'; -import type { TSESTree, TSESTreeToTSNode, TSNode, TSToken } from './ts-estree'; -export { ProjectServiceOptions } from '@typescript-eslint/types'; -interface ParseOptions { - /** - * Prevents the parser from throwing an error if it receives an invalid AST from TypeScript. - * This case only usually occurs when attempting to lint invalid code. - */ - allowInvalidAST?: boolean; - /** - * create a top-level comments array containing all comments - */ - comment?: boolean; - /** - * An array of modules to turn explicit debugging on for. - * - 'typescript-eslint' is the same as setting the env var `DEBUG=typescript-eslint:*` - * - 'eslint' is the same as setting the env var `DEBUG=eslint:*` - * - 'typescript' is the same as setting `extendedDiagnostics: true` in your tsconfig compilerOptions - * - * For convenience, also supports a boolean: - * - true === ['typescript-eslint'] - * - false === [] - */ - debugLevel?: DebugLevel; - /** - * Cause the parser to error if it encounters an unknown AST node type (useful for testing). - * This case only usually occurs when TypeScript releases new features. - */ - errorOnUnknownASTType?: boolean; - /** - * Absolute (or relative to `cwd`) path to the file being parsed. - */ - filePath?: string; - /** - * If you are using TypeScript version >=5.3 then this option can be used as a performance optimization. - * - * The valid values for this rule are: - * - `'all'` - parse all JSDoc comments, always. - * - `'none'` - parse no JSDoc comments, ever. - * - `'type-info'` - parse just JSDoc comments that are required to provide correct type-info. TS will always parse JSDoc in non-TS files, but never in TS files. - * - * If you do not rely on JSDoc tags from the TypeScript AST, then you can safely set this to `'none'` to improve performance. - */ - jsDocParsingMode?: JSDocParsingMode; - /** - * Enable parsing of JSX. - * For more details, see https://www.typescriptlang.org/docs/handbook/jsx.html - * - * NOTE: this setting does not effect known file types (.js, .cjs, .mjs, .jsx, .ts, .mts, .cts, .tsx, .json) because the - * TypeScript compiler has its own internal handling for known file extensions. - * - * For the exact behavior, see https://github.com/typescript-eslint/typescript-eslint/tree/main/packages/parser#parseroptionsecmafeaturesjsx - */ - jsx?: boolean; - /** - * Controls whether the `loc` information to each node. - * The `loc` property is an object which contains the exact line/column the node starts/ends on. - * This is similar to the `range` property, except it is line/column relative. - */ - loc?: boolean; - loggerFn?: false | ((message: string) => void); - /** - * Controls whether the `range` property is included on AST nodes. - * The `range` property is a [number, number] which indicates the start/end index of the node in the file contents. - * This is similar to the `loc` property, except this is the absolute index. - */ - range?: boolean; - /** - * Set to true to create a top-level array containing all tokens from the file. - */ - tokens?: boolean; - /** - * Whether deprecated AST properties should skip calling console.warn on accesses. - */ - suppressDeprecatedPropertyWarnings?: boolean; -} -interface ParseAndGenerateServicesOptions extends ParseOptions { - /** - * Granular control of the expiry lifetime of our internal caches. - * You can specify the number of seconds as an integer number, or the string - * 'Infinity' if you never want the cache to expire. - * - * By default cache entries will be evicted after 30 seconds, or will persist - * indefinitely if `disallowAutomaticSingleRunInference = false` AND the parser - * infers that it is a single run. - */ - cacheLifetime?: { - /** - * Glob resolution for `parserOptions.project` values. - */ - glob?: CacheDurationSeconds; - }; - /** - * ESLint (and therefore typescript-eslint) is used in both "single run"/one-time contexts, - * such as an ESLint CLI invocation, and long-running sessions (such as continuous feedback - * on a file in an IDE). - * - * When typescript-eslint handles TypeScript Program management behind the scenes, this distinction - * is important because there is significant overhead to managing the so called Watch Programs - * needed for the long-running use-case. - * - * By default, we will use common heuristics to infer whether ESLint is being - * used as part of a single run. This option disables those heuristics, and - * therefore the performance optimizations gained by them. - * - * In other words, typescript-eslint is faster by default, and this option - * disables an automatic performance optimization. - * - * This setting's default value can be specified by setting a `TSESTREE_SINGLE_RUN` - * environment variable to `"false"` or `"true"`. - * Otherwise, the default value is `false`. - */ - disallowAutomaticSingleRunInference?: boolean; - /** - * Causes the parser to error if the TypeScript compiler returns any unexpected syntax/semantic errors. - */ - errorOnTypeScriptSyntacticAndSemanticIssues?: boolean; - /** - * When `project` is provided, this controls the non-standard file extensions which will be parsed. - * It accepts an array of file extensions, each preceded by a `.`. - */ - extraFileExtensions?: string[]; - /** - * Absolute (or relative to `tsconfigRootDir`) path to the file being parsed. - * When `project` is provided, this is required, as it is used to fetch the file from the TypeScript compiler's cache. - */ - filePath?: string; - /** - * Allows the user to control whether or not two-way AST node maps are preserved - * during the AST conversion process. - * - * By default: the AST node maps are NOT preserved, unless `project` has been specified, - * in which case the maps are made available on the returned `parserServices`. - * - * NOTE: If `preserveNodeMaps` is explicitly set by the user, it will be respected, - * regardless of whether or not `project` is in use. - */ - preserveNodeMaps?: boolean; - /** - * Absolute (or relative to `tsconfigRootDir`) paths to the tsconfig(s), - * or `true` to find the nearest tsconfig.json to the file. - * If this is provided, type information will be returned. - * - * If set to `false`, `null` or `undefined` type information will not be returned. - * - * Note that {@link projectService} is now preferred. - */ - project?: string[] | string | boolean | null; - /** - * If you provide a glob (or globs) to the project option, you can use this option to ignore certain folders from - * being matched by the globs. - * This accepts an array of globs to ignore. - * - * By default, this is set to ["**\/node_modules/**"] - */ - projectFolderIgnoreList?: string[]; - /** - * Whether to create a shared TypeScript project service to power program creation. - */ - projectService?: boolean | ProjectServiceOptions; - /** - * The absolute path to the root directory for all provided `project`s. - */ - tsconfigRootDir?: string; - /** - * An array of one or more instances of TypeScript Program objects to be used for type information. - * This overrides any program or programs that would have been computed from the `project` option. - * All linted files must be part of the provided program(s). - */ - programs?: ts.Program[] | null; -} -export type TSESTreeOptions = ParseAndGenerateServicesOptions; -export interface ParserWeakMap { - get(key: Key): Value; - has(key: unknown): boolean; -} -export interface ParserWeakMapESTreeToTSNode { - get(key: KeyBase): TSESTreeToTSNode; - has(key: unknown): boolean; -} -export interface ParserServicesBase { - emitDecoratorMetadata: boolean | undefined; - experimentalDecorators: boolean | undefined; -} -export interface ParserServicesNodeMaps { - esTreeNodeToTSNodeMap: ParserWeakMapESTreeToTSNode; - tsNodeToESTreeNodeMap: ParserWeakMap; -} -export interface ParserServicesWithTypeInformation extends ParserServicesNodeMaps, ParserServicesBase { - program: ts.Program; - getSymbolAtLocation: (node: TSESTree.Node) => ts.Symbol | undefined; - getTypeAtLocation: (node: TSESTree.Node) => ts.Type; -} -export interface ParserServicesWithoutTypeInformation extends ParserServicesNodeMaps, ParserServicesBase { - program: null; -} -export type ParserServices = ParserServicesWithoutTypeInformation | ParserServicesWithTypeInformation; -//# sourceMappingURL=parser-options.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/parser-options.d.ts.map b/packages/typescript-estree/dist/parser-options.d.ts.map deleted file mode 100644 index a419dc64d67e..000000000000 --- a/packages/typescript-estree/dist/parser-options.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"parser-options.d.ts","sourceRoot":"","sources":["../src/parser-options.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/parser-options.js b/packages/typescript-estree/dist/parser-options.js deleted file mode 100644 index 66f40a290d71..000000000000 --- a/packages/typescript-estree/dist/parser-options.js +++ /dev/null @@ -1,3 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -//# sourceMappingURL=parser-options.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/parser-options.js.map b/packages/typescript-estree/dist/parser-options.js.map deleted file mode 100644 index 22b7b8ab93f6..000000000000 --- a/packages/typescript-estree/dist/parser-options.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"parser-options.js","sourceRoot":"","sources":["../src/parser-options.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/packages/typescript-estree/dist/parser.d.ts b/packages/typescript-estree/dist/parser.d.ts deleted file mode 100644 index 4c8f4250fe06..000000000000 --- a/packages/typescript-estree/dist/parser.d.ts +++ /dev/null @@ -1,19 +0,0 @@ -import type * as ts from 'typescript'; -import type { ParserServices, TSESTreeOptions } from './parser-options'; -import type { TSESTree } from './ts-estree'; -declare function clearProgramCache(): void; -declare function clearDefaultProjectMatchedFiles(): void; -type AST = TSESTree.Program & (T['comment'] extends true ? { - comments: TSESTree.Comment[]; -} : {}) & (T['tokens'] extends true ? { - tokens: TSESTree.Token[]; -} : {}); -interface ParseAndGenerateServicesResult { - ast: AST; - services: ParserServices; -} -declare function parse(code: string, options?: T): AST; -declare function clearParseAndGenerateServicesCalls(): void; -declare function parseAndGenerateServices(code: ts.SourceFile | string, tsestreeOptions: T): ParseAndGenerateServicesResult; -export { AST, parse, parseAndGenerateServices, ParseAndGenerateServicesResult, clearDefaultProjectMatchedFiles, clearProgramCache, clearParseAndGenerateServicesCalls, }; -//# sourceMappingURL=parser.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/parser.d.ts.map b/packages/typescript-estree/dist/parser.d.ts.map deleted file mode 100644 index 9dc8c21f46a8..000000000000 --- a/packages/typescript-estree/dist/parser.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"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,CAgHnC;AAED,OAAO,EACL,GAAG,EACH,KAAK,EACL,wBAAwB,EACxB,8BAA8B,EAC9B,+BAA+B,EAC/B,iBAAiB,EACjB,kCAAkC,GACnC,CAAC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/parser.js b/packages/typescript-estree/dist/parser.js deleted file mode 100644 index 72e0e201c496..000000000000 --- a/packages/typescript-estree/dist/parser.js +++ /dev/null @@ -1,183 +0,0 @@ -"use strict"; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.clearParseAndGenerateServicesCalls = exports.clearProgramCache = exports.clearDefaultProjectMatchedFiles = exports.parseAndGenerateServices = exports.parse = void 0; -const debug_1 = __importDefault(require("debug")); -const ast_converter_1 = require("./ast-converter"); -const convert_1 = require("./convert"); -const createIsolatedProgram_1 = require("./create-program/createIsolatedProgram"); -const createProjectProgram_1 = require("./create-program/createProjectProgram"); -const createSourceFile_1 = require("./create-program/createSourceFile"); -const getWatchProgramsForProjects_1 = require("./create-program/getWatchProgramsForProjects"); -const useProvidedPrograms_1 = require("./create-program/useProvidedPrograms"); -const createParserServices_1 = require("./createParserServices"); -const createParseSettings_1 = require("./parseSettings/createParseSettings"); -const semantic_or_syntactic_errors_1 = require("./semantic-or-syntactic-errors"); -const useProgramFromProjectService_1 = require("./useProgramFromProjectService"); -const log = (0, debug_1.default)('typescript-eslint:typescript-estree:parser'); -/** - * Cache existing programs for the single run use-case. - * - * clearProgramCache() is only intended to be used in testing to ensure the parser is clean between tests. - */ -const existingPrograms = new Map(); -function clearProgramCache() { - existingPrograms.clear(); -} -exports.clearProgramCache = clearProgramCache; -const defaultProjectMatchedFiles = new Set(); -function clearDefaultProjectMatchedFiles() { - defaultProjectMatchedFiles.clear(); -} -exports.clearDefaultProjectMatchedFiles = clearDefaultProjectMatchedFiles; -/** - * @param parseSettings Internal settings for parsing the file - * @param hasFullTypeInformation True if the program should be attempted to be calculated from provided tsconfig files - * @returns Returns a source file and program corresponding to the linted code - */ -function getProgramAndAST(parseSettings, hasFullTypeInformation) { - if (parseSettings.projectService) { - const fromProjectService = (0, useProgramFromProjectService_1.useProgramFromProjectService)(parseSettings.projectService, parseSettings, hasFullTypeInformation, defaultProjectMatchedFiles); - if (fromProjectService) { - return fromProjectService; - } - } - if (parseSettings.programs) { - const fromProvidedPrograms = (0, useProvidedPrograms_1.useProvidedPrograms)(parseSettings.programs, parseSettings); - if (fromProvidedPrograms) { - return fromProvidedPrograms; - } - } - // no need to waste time creating a program as the caller didn't want parser services - // so we can save time and just create a lonesome source file - if (!hasFullTypeInformation) { - return (0, createSourceFile_1.createNoProgram)(parseSettings); - } - return (0, createProjectProgram_1.createProjectProgram)(parseSettings, (0, getWatchProgramsForProjects_1.getWatchProgramsForProjects)(parseSettings)); -} -function parse(code, options) { - const { ast } = parseWithNodeMapsInternal(code, options, false); - return ast; -} -exports.parse = parse; -function parseWithNodeMapsInternal(code, options, shouldPreserveNodeMaps) { - /** - * Reset the parse configuration - */ - const parseSettings = (0, createParseSettings_1.createParseSettings)(code, options); - /** - * Ensure users do not attempt to use parse() when they need parseAndGenerateServices() - */ - if (options?.errorOnTypeScriptSyntacticAndSemanticIssues) { - throw new Error(`"errorOnTypeScriptSyntacticAndSemanticIssues" is only supported for parseAndGenerateServices()`); - } - /** - * Create a ts.SourceFile directly, no ts.Program is needed for a simple parse - */ - const ast = (0, createSourceFile_1.createSourceFile)(parseSettings); - /** - * Convert the TypeScript AST to an ESTree-compatible one - */ - const { estree, astMaps } = (0, ast_converter_1.astConverter)(ast, parseSettings, shouldPreserveNodeMaps); - return { - ast: estree, - esTreeNodeToTSNodeMap: astMaps.esTreeNodeToTSNodeMap, - tsNodeToESTreeNodeMap: astMaps.tsNodeToESTreeNodeMap, - }; -} -let parseAndGenerateServicesCalls = {}; -// Privately exported utility intended for use in typescript-eslint unit tests only -function clearParseAndGenerateServicesCalls() { - parseAndGenerateServicesCalls = {}; -} -exports.clearParseAndGenerateServicesCalls = clearParseAndGenerateServicesCalls; -function parseAndGenerateServices(code, tsestreeOptions) { - /** - * Reset the parse configuration - */ - const parseSettings = (0, createParseSettings_1.createParseSettings)(code, tsestreeOptions); - /** - * If this is a single run in which the user has not provided any existing programs but there - * are programs which need to be created from the provided "project" option, - * create an Iterable which will lazily create the programs as needed by the iteration logic - */ - if (parseSettings.singleRun && - !parseSettings.programs && - parseSettings.projects.size > 0) { - parseSettings.programs = { - *[Symbol.iterator]() { - for (const configFile of parseSettings.projects) { - const existingProgram = existingPrograms.get(configFile[0]); - if (existingProgram) { - yield existingProgram; - } - else { - log('Detected single-run/CLI usage, creating Program once ahead of time for project: %s', configFile); - const newProgram = (0, useProvidedPrograms_1.createProgramFromConfigFile)(configFile[1]); - existingPrograms.set(configFile[0], newProgram); - yield newProgram; - } - } - }, - }; - } - /** - * Generate a full ts.Program or offer provided instances in order to be able to provide parser services, such as type-checking - */ - const hasFullTypeInformation = parseSettings.programs != null || parseSettings.projects.size > 0; - if (typeof tsestreeOptions.errorOnTypeScriptSyntacticAndSemanticIssues === - 'boolean' && - tsestreeOptions.errorOnTypeScriptSyntacticAndSemanticIssues) { - parseSettings.errorOnTypeScriptSyntacticAndSemanticIssues = true; - } - if (parseSettings.errorOnTypeScriptSyntacticAndSemanticIssues && - !hasFullTypeInformation) { - throw new Error('Cannot calculate TypeScript semantic issues without a valid project.'); - } - /** - * If we are in singleRun mode but the parseAndGenerateServices() function has been called more than once for the current file, - * it must mean that we are in the middle of an ESLint automated fix cycle (in which parsing can be performed up to an additional - * 10 times in order to apply all possible fixes for the file). - * - * In this scenario we cannot rely upon the singleRun AOT compiled programs because the SourceFiles will not contain the source - * with the latest fixes applied. Therefore we fallback to creating the quickest possible isolated program from the updated source. - */ - if (parseSettings.singleRun && tsestreeOptions.filePath) { - parseAndGenerateServicesCalls[tsestreeOptions.filePath] = - (parseAndGenerateServicesCalls[tsestreeOptions.filePath] || 0) + 1; - } - const { ast, program } = parseSettings.singleRun && - tsestreeOptions.filePath && - parseAndGenerateServicesCalls[tsestreeOptions.filePath] > 1 - ? (0, createIsolatedProgram_1.createIsolatedProgram)(parseSettings) - : getProgramAndAST(parseSettings, hasFullTypeInformation); - /** - * Convert the TypeScript AST to an ESTree-compatible one, and optionally preserve - * mappings between converted and original AST nodes - */ - const shouldPreserveNodeMaps = typeof parseSettings.preserveNodeMaps === 'boolean' - ? parseSettings.preserveNodeMaps - : true; - const { estree, astMaps } = (0, ast_converter_1.astConverter)(ast, parseSettings, shouldPreserveNodeMaps); - /** - * Even if TypeScript parsed the source code ok, and we had no problems converting the AST, - * there may be other syntactic or semantic issues in the code that we can optionally report on. - */ - if (program && parseSettings.errorOnTypeScriptSyntacticAndSemanticIssues) { - const error = (0, semantic_or_syntactic_errors_1.getFirstSemanticOrSyntacticError)(program, ast); - if (error) { - throw (0, convert_1.convertError)(error); - } - } - /** - * Return the converted AST and additional parser services - */ - return { - ast: estree, - services: (0, createParserServices_1.createParserServices)(astMaps, program), - }; -} -exports.parseAndGenerateServices = parseAndGenerateServices; -//# sourceMappingURL=parser.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/parser.js.map b/packages/typescript-estree/dist/parser.js.map deleted file mode 100644 index 8e9cdc734cc2..000000000000 --- a/packages/typescript-estree/dist/parser.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/semantic-or-syntactic-errors.d.ts b/packages/typescript-estree/dist/semantic-or-syntactic-errors.d.ts deleted file mode 100644 index bd35968c3b78..000000000000 --- a/packages/typescript-estree/dist/semantic-or-syntactic-errors.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import type { Diagnostic, Program, SourceFile } from 'typescript'; -export interface SemanticOrSyntacticError extends Diagnostic { - message: string; -} -/** - * By default, diagnostics from the TypeScript compiler contain all errors - regardless of whether - * they are related to generic ECMAScript standards, or TypeScript-specific constructs. - * - * Therefore, we filter out all diagnostics, except for the ones we explicitly want to consider when - * the user opts in to throwing errors on semantic issues. - */ -export declare function getFirstSemanticOrSyntacticError(program: Program, ast: SourceFile): SemanticOrSyntacticError | undefined; -//# sourceMappingURL=semantic-or-syntactic-errors.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/semantic-or-syntactic-errors.d.ts.map b/packages/typescript-estree/dist/semantic-or-syntactic-errors.d.ts.map deleted file mode 100644 index d17a7ae6623b..000000000000 --- a/packages/typescript-estree/dist/semantic-or-syntactic-errors.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"semantic-or-syntactic-errors.d.ts","sourceRoot":"","sources":["../src/semantic-or-syntactic-errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EAEV,OAAO,EACP,UAAU,EACX,MAAM,YAAY,CAAC;AAGpB,MAAM,WAAW,wBAAyB,SAAQ,UAAU;IAC1D,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;GAMG;AACH,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,UAAU,GACd,wBAAwB,GAAG,SAAS,CAmCtC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/semantic-or-syntactic-errors.js b/packages/typescript-estree/dist/semantic-or-syntactic-errors.js deleted file mode 100644 index 4384f116a3f8..000000000000 --- a/packages/typescript-estree/dist/semantic-or-syntactic-errors.js +++ /dev/null @@ -1,96 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getFirstSemanticOrSyntacticError = void 0; -const typescript_1 = require("typescript"); -/** - * By default, diagnostics from the TypeScript compiler contain all errors - regardless of whether - * they are related to generic ECMAScript standards, or TypeScript-specific constructs. - * - * Therefore, we filter out all diagnostics, except for the ones we explicitly want to consider when - * the user opts in to throwing errors on semantic issues. - */ -function getFirstSemanticOrSyntacticError(program, ast) { - try { - const supportedSyntacticDiagnostics = allowlistSupportedDiagnostics(program.getSyntacticDiagnostics(ast)); - if (supportedSyntacticDiagnostics.length > 0) { - return convertDiagnosticToSemanticOrSyntacticError(supportedSyntacticDiagnostics[0]); - } - const supportedSemanticDiagnostics = allowlistSupportedDiagnostics(program.getSemanticDiagnostics(ast)); - if (supportedSemanticDiagnostics.length > 0) { - return convertDiagnosticToSemanticOrSyntacticError(supportedSemanticDiagnostics[0]); - } - return undefined; - } - catch (e) { - /** - * TypeScript compiler has certain Debug.fail() statements in, which will cause the diagnostics - * retrieval above to throw. - * - * E.g. from ast-alignment-tests - * "Debug Failure. Shouldn't ever directly check a JsxOpeningElement" - * - * For our current use-cases this is undesired behavior, so we just suppress it - * and log a a warning. - */ - /* istanbul ignore next */ - console.warn(`Warning From TSC: "${e.message}`); // eslint-disable-line no-console - /* istanbul ignore next */ - return undefined; - } -} -exports.getFirstSemanticOrSyntacticError = getFirstSemanticOrSyntacticError; -function allowlistSupportedDiagnostics(diagnostics) { - return diagnostics.filter(diagnostic => { - switch (diagnostic.code) { - case 1013: // "A rest parameter or binding pattern may not have a trailing comma." - case 1014: // "A rest parameter must be last in a parameter list." - case 1044: // "'{0}' modifier cannot appear on a module or namespace element." - case 1045: // "A '{0}' modifier cannot be used with an interface declaration." - case 1048: // "A rest parameter cannot have an initializer." - case 1049: // "A 'set' accessor must have exactly one parameter." - case 1070: // "'{0}' modifier cannot appear on a type member." - case 1071: // "'{0}' modifier cannot appear on an index signature." - case 1085: // "Octal literals are not available when targeting ECMAScript 5 and higher. Use the syntax '{0}'." - case 1090: // "'{0}' modifier cannot appear on a parameter." - case 1096: // "An index signature must have exactly one parameter." - case 1097: // "'{0}' list cannot be empty." - case 1098: // "Type parameter list cannot be empty." - case 1099: // "Type argument list cannot be empty." - case 1117: // "An object literal cannot have multiple properties with the same name in strict mode." - case 1121: // "Octal literals are not allowed in strict mode." - case 1123: // "Variable declaration list cannot be empty." - case 1141: // "String literal expected." - case 1162: // "An object member cannot be declared optional." - case 1164: // "Computed property names are not allowed in enums." - case 1172: // "'extends' clause already seen." - case 1173: // "'extends' clause must precede 'implements' clause." - case 1175: // "'implements' clause already seen." - case 1176: // "Interface declaration cannot have 'implements' clause." - case 1190: // "The variable declaration of a 'for...of' statement cannot have an initializer." - case 1196: // "Catch clause variable type annotation must be 'any' or 'unknown' if specified." - case 1200: // "Line terminator not permitted before arrow." - case 1206: // "Decorators are not valid here." - case 1211: // "A class declaration without the 'default' modifier must have a name." - case 1242: // "'abstract' modifier can only appear on a class, method, or property declaration." - case 1246: // "An interface property cannot have an initializer." - case 1255: // "A definite assignment assertion '!' is not permitted in this context." - case 1308: // "'await' expression is only allowed within an async function." - case 2364: // "The left-hand side of an assignment expression must be a variable or a property access." - case 2369: // "A parameter property is only allowed in a constructor implementation." - case 2452: // "An enum member cannot have a numeric name." - case 2462: // "A rest element must be last in a destructuring pattern." - case 8017: // "Octal literal types must use ES2015 syntax. Use the syntax '{0}'." - case 17012: // "'{0}' is not a valid meta-property for keyword '{1}'. Did you mean '{2}'?" - case 17013: // "Meta-property '{0}' is only allowed in the body of a function declaration, function expression, or constructor." - return true; - } - return false; - }); -} -function convertDiagnosticToSemanticOrSyntacticError(diagnostic) { - return { - ...diagnostic, - message: (0, typescript_1.flattenDiagnosticMessageText)(diagnostic.messageText, typescript_1.sys.newLine), - }; -} -//# sourceMappingURL=semantic-or-syntactic-errors.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/semantic-or-syntactic-errors.js.map b/packages/typescript-estree/dist/semantic-or-syntactic-errors.js.map deleted file mode 100644 index f1178d757d71..000000000000 --- a/packages/typescript-estree/dist/semantic-or-syntactic-errors.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"semantic-or-syntactic-errors.js","sourceRoot":"","sources":["../src/semantic-or-syntactic-errors.ts"],"names":[],"mappings":";;;AAMA,2CAA+D;AAM/D;;;;;;GAMG;AACH,SAAgB,gCAAgC,CAC9C,OAAgB,EAChB,GAAe;IAEf,IAAI,CAAC;QACH,MAAM,6BAA6B,GAAG,6BAA6B,CACjE,OAAO,CAAC,uBAAuB,CAAC,GAAG,CAAC,CACrC,CAAC;QACF,IAAI,6BAA6B,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7C,OAAO,2CAA2C,CAChD,6BAA6B,CAAC,CAAC,CAAC,CACjC,CAAC;QACJ,CAAC;QACD,MAAM,4BAA4B,GAAG,6BAA6B,CAChE,OAAO,CAAC,sBAAsB,CAAC,GAAG,CAAC,CACpC,CAAC;QACF,IAAI,4BAA4B,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,OAAO,2CAA2C,CAChD,4BAA4B,CAAC,CAAC,CAAC,CAChC,CAAC;QACJ,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX;;;;;;;;;WASG;QACH,0BAA0B;QAC1B,OAAO,CAAC,IAAI,CAAC,sBAAuB,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,iCAAiC;QAC7F,0BAA0B;QAC1B,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAtCD,4EAsCC;AAED,SAAS,6BAA6B,CACpC,WAA6D;IAE7D,OAAO,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;QACrC,QAAQ,UAAU,CAAC,IAAI,EAAE,CAAC;YACxB,KAAK,IAAI,CAAC,CAAC,uEAAuE;YAClF,KAAK,IAAI,CAAC,CAAC,uDAAuD;YAClE,KAAK,IAAI,CAAC,CAAC,mEAAmE;YAC9E,KAAK,IAAI,CAAC,CAAC,mEAAmE;YAC9E,KAAK,IAAI,CAAC,CAAC,iDAAiD;YAC5D,KAAK,IAAI,CAAC,CAAC,sDAAsD;YACjE,KAAK,IAAI,CAAC,CAAC,mDAAmD;YAC9D,KAAK,IAAI,CAAC,CAAC,wDAAwD;YACnE,KAAK,IAAI,CAAC,CAAC,mGAAmG;YAC9G,KAAK,IAAI,CAAC,CAAC,iDAAiD;YAC5D,KAAK,IAAI,CAAC,CAAC,wDAAwD;YACnE,KAAK,IAAI,CAAC,CAAC,gCAAgC;YAC3C,KAAK,IAAI,CAAC,CAAC,yCAAyC;YACpD,KAAK,IAAI,CAAC,CAAC,wCAAwC;YACnD,KAAK,IAAI,CAAC,CAAC,yFAAyF;YACpG,KAAK,IAAI,CAAC,CAAC,mDAAmD;YAC9D,KAAK,IAAI,CAAC,CAAC,gDAAgD;YAC3D,KAAK,IAAI,CAAC,CAAC,6BAA6B;YACxC,KAAK,IAAI,CAAC,CAAC,kDAAkD;YAC7D,KAAK,IAAI,CAAC,CAAC,sDAAsD;YACjE,KAAK,IAAI,CAAC,CAAC,mCAAmC;YAC9C,KAAK,IAAI,CAAC,CAAC,uDAAuD;YAClE,KAAK,IAAI,CAAC,CAAC,sCAAsC;YACjD,KAAK,IAAI,CAAC,CAAC,2DAA2D;YACtE,KAAK,IAAI,CAAC,CAAC,mFAAmF;YAC9F,KAAK,IAAI,CAAC,CAAC,mFAAmF;YAC9F,KAAK,IAAI,CAAC,CAAC,gDAAgD;YAC3D,KAAK,IAAI,CAAC,CAAC,mCAAmC;YAC9C,KAAK,IAAI,CAAC,CAAC,yEAAyE;YACpF,KAAK,IAAI,CAAC,CAAC,qFAAqF;YAChG,KAAK,IAAI,CAAC,CAAC,sDAAsD;YACjE,KAAK,IAAI,CAAC,CAAC,0EAA0E;YACrF,KAAK,IAAI,CAAC,CAAC,iEAAiE;YAC5E,KAAK,IAAI,CAAC,CAAC,4FAA4F;YACvG,KAAK,IAAI,CAAC,CAAC,0EAA0E;YACrF,KAAK,IAAI,CAAC,CAAC,+CAA+C;YAC1D,KAAK,IAAI,CAAC,CAAC,4DAA4D;YACvE,KAAK,IAAI,CAAC,CAAC,sEAAsE;YACjF,KAAK,KAAK,CAAC,CAAC,8EAA8E;YAC1F,KAAK,KAAK,EAAE,oHAAoH;gBAC9H,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,2CAA2C,CAClD,UAAsB;IAEtB,OAAO;QACL,GAAG,UAAU;QACb,OAAO,EAAE,IAAA,yCAA4B,EAAC,UAAU,CAAC,WAAW,EAAE,gBAAG,CAAC,OAAO,CAAC;KAC3E,CAAC;AACJ,CAAC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/simple-traverse.d.ts b/packages/typescript-estree/dist/simple-traverse.d.ts deleted file mode 100644 index 7a8e276391ec..000000000000 --- a/packages/typescript-estree/dist/simple-traverse.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -import type { VisitorKeys } from '@typescript-eslint/visitor-keys'; -import type { TSESTree } from './ts-estree'; -type SimpleTraverseOptions = Readonly<{ - visitorKeys?: Readonly; - enter: (node: TSESTree.Node, parent: TSESTree.Node | undefined) => void; -} | { - visitorKeys?: Readonly; - visitors: Record void>; -}>; -export declare function simpleTraverse(startingNode: TSESTree.Node, options: SimpleTraverseOptions, setParentPointers?: boolean): void; -export {}; -//# sourceMappingURL=simple-traverse.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/simple-traverse.d.ts.map b/packages/typescript-estree/dist/simple-traverse.d.ts.map deleted file mode 100644 index 8716a5e11a58..000000000000 --- a/packages/typescript-estree/dist/simple-traverse.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"simple-traverse.d.ts","sourceRoot":"","sources":["../src/simple-traverse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAGnE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAmB5C,KAAK,qBAAqB,GAAG,QAAQ,CACjC;IACE,WAAW,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;IACpC,KAAK,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,GAAG,SAAS,KAAK,IAAI,CAAC;CACzE,GACD;IACE,WAAW,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;IACpC,QAAQ,EAAE,MAAM,CACd,MAAM,EACN,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,GAAG,SAAS,KAAK,IAAI,CACjE,CAAC;CACH,CACJ,CAAC;AAiDF,wBAAgB,cAAc,CAC5B,YAAY,EAAE,QAAQ,CAAC,IAAI,EAC3B,OAAO,EAAE,qBAAqB,EAC9B,iBAAiB,UAAQ,GACxB,IAAI,CAKN"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/simple-traverse.js b/packages/typescript-estree/dist/simple-traverse.js deleted file mode 100644 index 312875b19094..000000000000 --- a/packages/typescript-estree/dist/simple-traverse.js +++ /dev/null @@ -1,60 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.simpleTraverse = void 0; -const visitor_keys_1 = require("@typescript-eslint/visitor-keys"); -function isValidNode(x) { - return (typeof x === 'object' && - x != null && - 'type' in x && - typeof x.type === 'string'); -} -function getVisitorKeysForNode(allVisitorKeys, node) { - const keys = allVisitorKeys[node.type]; - return (keys ?? []); -} -class SimpleTraverser { - allVisitorKeys = visitor_keys_1.visitorKeys; - selectors; - setParentPointers; - constructor(selectors, setParentPointers = false) { - this.selectors = selectors; - this.setParentPointers = setParentPointers; - if (selectors.visitorKeys) { - this.allVisitorKeys = selectors.visitorKeys; - } - } - traverse(node, parent) { - if (!isValidNode(node)) { - return; - } - if (this.setParentPointers) { - node.parent = parent; - } - if ('enter' in this.selectors) { - this.selectors.enter(node, parent); - } - else if (node.type in this.selectors.visitors) { - this.selectors.visitors[node.type](node, parent); - } - const keys = getVisitorKeysForNode(this.allVisitorKeys, node); - if (keys.length < 1) { - return; - } - for (const key of keys) { - const childOrChildren = node[key]; - if (Array.isArray(childOrChildren)) { - for (const child of childOrChildren) { - this.traverse(child, node); - } - } - else { - this.traverse(childOrChildren, node); - } - } - } -} -function simpleTraverse(startingNode, options, setParentPointers = false) { - new SimpleTraverser(options, setParentPointers).traverse(startingNode, undefined); -} -exports.simpleTraverse = simpleTraverse; -//# sourceMappingURL=simple-traverse.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/simple-traverse.js.map b/packages/typescript-estree/dist/simple-traverse.js.map deleted file mode 100644 index 4ab1e2f44605..000000000000 --- a/packages/typescript-estree/dist/simple-traverse.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"simple-traverse.js","sourceRoot":"","sources":["../src/simple-traverse.ts"],"names":[],"mappings":";;;AACA,kEAA8D;AAI9D,SAAS,WAAW,CAAC,CAAU;IAC7B,OAAO,CACL,OAAO,CAAC,KAAK,QAAQ;QACrB,CAAC,IAAI,IAAI;QACT,MAAM,IAAI,CAAC;QACX,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAC3B,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAC5B,cAAkC,EAClC,IAAmB;IAEnB,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAU,CAAC;AAC/B,CAAC;AAgBD,MAAM,eAAe;IACF,cAAc,GAA0B,0BAAW,CAAC;IACpD,SAAS,CAAwB;IACjC,iBAAiB,CAAU;IAE5C,YAAY,SAAgC,EAAE,iBAAiB,GAAG,KAAK;QACrE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;YAC1B,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC,WAAW,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,IAAa,EAAE,MAAiC;QACvD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACvB,CAAC;QAED,IAAI,OAAO,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC9B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACrC,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;YAChD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QAC9D,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;YAElC,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;gBACnC,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;oBACpC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAED,SAAgB,cAAc,CAC5B,YAA2B,EAC3B,OAA8B,EAC9B,iBAAiB,GAAG,KAAK;IAEzB,IAAI,eAAe,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC,QAAQ,CACtD,YAAY,EACZ,SAAS,CACV,CAAC;AACJ,CAAC;AATD,wCASC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/source-files.d.ts b/packages/typescript-estree/dist/source-files.d.ts deleted file mode 100644 index 46d2ea25ac15..000000000000 --- a/packages/typescript-estree/dist/source-files.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -import * as ts from 'typescript'; -export declare function isSourceFile(code: unknown): code is ts.SourceFile; -export declare function getCodeText(code: ts.SourceFile | string): string; -//# sourceMappingURL=source-files.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/source-files.d.ts.map b/packages/typescript-estree/dist/source-files.d.ts.map deleted file mode 100644 index cee19bda54aa..000000000000 --- a/packages/typescript-estree/dist/source-files.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"source-files.d.ts","sourceRoot":"","sources":["../src/source-files.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC,UAAU,CAUjE;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,GAAG,MAAM,GAAG,MAAM,CAEhE"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/source-files.js b/packages/typescript-estree/dist/source-files.js deleted file mode 100644 index 3ab4b3fcc7be..000000000000 --- a/packages/typescript-estree/dist/source-files.js +++ /dev/null @@ -1,41 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getCodeText = exports.isSourceFile = void 0; -const ts = __importStar(require("typescript")); -function isSourceFile(code) { - if (typeof code !== 'object' || code == null) { - return false; - } - const maybeSourceFile = code; - return (maybeSourceFile.kind === ts.SyntaxKind.SourceFile && - typeof maybeSourceFile.getFullText === 'function'); -} -exports.isSourceFile = isSourceFile; -function getCodeText(code) { - return isSourceFile(code) ? code.getFullText(code) : code; -} -exports.getCodeText = getCodeText; -//# sourceMappingURL=source-files.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/source-files.js.map b/packages/typescript-estree/dist/source-files.js.map deleted file mode 100644 index 4408dee923f8..000000000000 --- a/packages/typescript-estree/dist/source-files.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"source-files.js","sourceRoot":"","sources":["../src/source-files.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAiC;AAEjC,SAAgB,YAAY,CAAC,IAAa;IACxC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QAC7C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,eAAe,GAAG,IAA8B,CAAC;IACvD,OAAO,CACL,eAAe,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,UAAU;QACjD,OAAO,eAAe,CAAC,WAAW,KAAK,UAAU,CAClD,CAAC;AACJ,CAAC;AAVD,oCAUC;AAED,SAAgB,WAAW,CAAC,IAA4B;IACtD,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5D,CAAC;AAFD,kCAEC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/ts-estree/estree-to-ts-node-types.d.ts b/packages/typescript-estree/dist/ts-estree/estree-to-ts-node-types.d.ts deleted file mode 100644 index b0ed76dfbcd5..000000000000 --- a/packages/typescript-estree/dist/ts-estree/estree-to-ts-node-types.d.ts +++ /dev/null @@ -1,179 +0,0 @@ -import type { AST_NODE_TYPES, TSESTree } from '@typescript-eslint/types'; -import type * as ts from 'typescript'; -import type { TSNode } from './ts-nodes'; -export interface EstreeToTsNodeTypes { - [AST_NODE_TYPES.AccessorProperty]: ts.PropertyDeclaration; - [AST_NODE_TYPES.ArrayExpression]: ts.ArrayLiteralExpression; - [AST_NODE_TYPES.ArrayPattern]: ts.ArrayBindingPattern | ts.ArrayLiteralExpression; - [AST_NODE_TYPES.ArrowFunctionExpression]: ts.ArrowFunction; - [AST_NODE_TYPES.AssignmentExpression]: ts.BinaryExpression; - [AST_NODE_TYPES.AssignmentPattern]: ts.BinaryExpression | ts.BindingElement | ts.ParameterDeclaration | ts.ShorthandPropertyAssignment; - [AST_NODE_TYPES.AwaitExpression]: ts.AwaitExpression; - [AST_NODE_TYPES.BinaryExpression]: ts.BinaryExpression; - [AST_NODE_TYPES.BlockStatement]: ts.Block; - [AST_NODE_TYPES.BreakStatement]: ts.BreakStatement; - [AST_NODE_TYPES.CallExpression]: ts.CallExpression; - [AST_NODE_TYPES.CatchClause]: ts.CatchClause; - [AST_NODE_TYPES.ChainExpression]: ts.CallExpression | ts.ElementAccessExpression | ts.NonNullExpression | ts.PropertyAccessExpression; - [AST_NODE_TYPES.ClassBody]: ts.ClassDeclaration | ts.ClassExpression; - [AST_NODE_TYPES.ClassDeclaration]: ts.ClassDeclaration; - [AST_NODE_TYPES.ClassExpression]: ts.ClassExpression; - [AST_NODE_TYPES.PropertyDefinition]: ts.PropertyDeclaration; - [AST_NODE_TYPES.ConditionalExpression]: ts.ConditionalExpression; - [AST_NODE_TYPES.ContinueStatement]: ts.ContinueStatement; - [AST_NODE_TYPES.DebuggerStatement]: ts.DebuggerStatement; - [AST_NODE_TYPES.Decorator]: ts.Decorator; - [AST_NODE_TYPES.DoWhileStatement]: ts.DoStatement; - [AST_NODE_TYPES.EmptyStatement]: ts.EmptyStatement; - [AST_NODE_TYPES.ExportAllDeclaration]: ts.ExportDeclaration; - [AST_NODE_TYPES.ExportDefaultDeclaration]: ts.ClassDeclaration | ts.ClassExpression | ts.EnumDeclaration | ts.ExportAssignment | ts.FunctionDeclaration | ts.InterfaceDeclaration | ts.ModuleDeclaration | ts.TypeAliasDeclaration | ts.VariableStatement; - [AST_NODE_TYPES.ExportNamedDeclaration]: ts.ClassDeclaration | ts.ClassExpression | ts.EnumDeclaration | ts.ExportDeclaration | ts.FunctionDeclaration | ts.ImportEqualsDeclaration | ts.InterfaceDeclaration | ts.ModuleDeclaration | ts.TypeAliasDeclaration | ts.VariableStatement; - [AST_NODE_TYPES.ExportSpecifier]: ts.ExportSpecifier; - [AST_NODE_TYPES.ExpressionStatement]: ts.ExpressionStatement; - [AST_NODE_TYPES.ForInStatement]: ts.ForInStatement; - [AST_NODE_TYPES.ForOfStatement]: ts.ForOfStatement; - [AST_NODE_TYPES.ForStatement]: ts.ForStatement; - [AST_NODE_TYPES.FunctionDeclaration]: ts.FunctionDeclaration; - [AST_NODE_TYPES.FunctionExpression]: ts.ConstructorDeclaration | ts.FunctionExpression | ts.GetAccessorDeclaration | ts.MethodDeclaration | ts.SetAccessorDeclaration; - [AST_NODE_TYPES.Identifier]: ts.ConstructorDeclaration | ts.Identifier | ts.Token; - [AST_NODE_TYPES.PrivateIdentifier]: ts.PrivateIdentifier; - [AST_NODE_TYPES.IfStatement]: ts.IfStatement; - [AST_NODE_TYPES.ImportAttribute]: 'ImportAttribute' extends keyof typeof ts ? ts.ImportAttribute : ts.AssertEntry; - [AST_NODE_TYPES.ImportDeclaration]: ts.ImportDeclaration; - [AST_NODE_TYPES.ImportDefaultSpecifier]: ts.ImportClause; - [AST_NODE_TYPES.ImportExpression]: ts.CallExpression; - [AST_NODE_TYPES.ImportNamespaceSpecifier]: ts.NamespaceImport; - [AST_NODE_TYPES.ImportSpecifier]: ts.ImportSpecifier; - [AST_NODE_TYPES.JSXAttribute]: ts.JsxAttribute; - [AST_NODE_TYPES.JSXClosingElement]: ts.JsxClosingElement; - [AST_NODE_TYPES.JSXClosingFragment]: ts.JsxClosingFragment; - [AST_NODE_TYPES.JSXElement]: ts.JsxElement | ts.JsxSelfClosingElement; - [AST_NODE_TYPES.JSXEmptyExpression]: ts.JsxExpression; - [AST_NODE_TYPES.JSXExpressionContainer]: ts.JsxExpression; - [AST_NODE_TYPES.JSXFragment]: ts.JsxFragment; - [AST_NODE_TYPES.JSXIdentifier]: ts.Identifier | ts.ThisExpression; - [AST_NODE_TYPES.JSXOpeningElement]: ts.JsxOpeningElement | ts.JsxSelfClosingElement; - [AST_NODE_TYPES.JSXOpeningFragment]: ts.JsxOpeningFragment; - [AST_NODE_TYPES.JSXSpreadAttribute]: ts.JsxSpreadAttribute; - [AST_NODE_TYPES.JSXSpreadChild]: ts.JsxExpression; - [AST_NODE_TYPES.JSXMemberExpression]: ts.PropertyAccessExpression; - [AST_NODE_TYPES.JSXNamespacedName]: ts.JsxNamespacedName; - [AST_NODE_TYPES.JSXText]: ts.JsxText; - [AST_NODE_TYPES.LabeledStatement]: ts.LabeledStatement; - [AST_NODE_TYPES.Literal]: ts.BigIntLiteral | ts.BooleanLiteral | ts.NullLiteral | ts.NumericLiteral | ts.RegularExpressionLiteral | ts.StringLiteral; - [AST_NODE_TYPES.LogicalExpression]: ts.BinaryExpression; - [AST_NODE_TYPES.MemberExpression]: ts.ElementAccessExpression | ts.PropertyAccessExpression; - [AST_NODE_TYPES.MetaProperty]: ts.MetaProperty; - [AST_NODE_TYPES.MethodDefinition]: ts.ConstructorDeclaration | ts.GetAccessorDeclaration | ts.MethodDeclaration | ts.SetAccessorDeclaration; - [AST_NODE_TYPES.NewExpression]: ts.NewExpression; - [AST_NODE_TYPES.ObjectExpression]: ts.ObjectLiteralExpression; - [AST_NODE_TYPES.ObjectPattern]: ts.ObjectBindingPattern | ts.ObjectLiteralExpression; - [AST_NODE_TYPES.Program]: ts.SourceFile; - [AST_NODE_TYPES.Property]: ts.BindingElement | ts.GetAccessorDeclaration | ts.MethodDeclaration | ts.PropertyAssignment | ts.SetAccessorDeclaration | ts.ShorthandPropertyAssignment; - [AST_NODE_TYPES.RestElement]: ts.BindingElement | ts.ParameterDeclaration | ts.SpreadAssignment | ts.SpreadElement; - [AST_NODE_TYPES.ReturnStatement]: ts.ReturnStatement; - [AST_NODE_TYPES.SequenceExpression]: ts.BinaryExpression; - [AST_NODE_TYPES.SpreadElement]: ts.SpreadAssignment | ts.SpreadElement; - [AST_NODE_TYPES.StaticBlock]: ts.ClassStaticBlockDeclaration; - [AST_NODE_TYPES.Super]: ts.SuperExpression; - [AST_NODE_TYPES.SwitchCase]: ts.CaseClause | ts.DefaultClause; - [AST_NODE_TYPES.SwitchStatement]: ts.SwitchStatement; - [AST_NODE_TYPES.TaggedTemplateExpression]: ts.TaggedTemplateExpression; - [AST_NODE_TYPES.TemplateElement]: ts.NoSubstitutionTemplateLiteral | ts.TemplateHead | ts.TemplateMiddle | ts.TemplateTail; - [AST_NODE_TYPES.TemplateLiteral]: ts.NoSubstitutionTemplateLiteral | ts.TemplateExpression; - [AST_NODE_TYPES.ThisExpression]: ts.Identifier | ts.KeywordTypeNode | ts.ThisExpression; - [AST_NODE_TYPES.ThrowStatement]: ts.ThrowStatement; - [AST_NODE_TYPES.TryStatement]: ts.TryStatement; - [AST_NODE_TYPES.TSAbstractAccessorProperty]: ts.PropertyDeclaration; - [AST_NODE_TYPES.TSAbstractPropertyDefinition]: ts.PropertyDeclaration; - [AST_NODE_TYPES.TSAbstractMethodDefinition]: ts.ConstructorDeclaration | ts.GetAccessorDeclaration | ts.MethodDeclaration | ts.SetAccessorDeclaration; - [AST_NODE_TYPES.TSArrayType]: ts.ArrayTypeNode; - [AST_NODE_TYPES.TSAsExpression]: ts.AsExpression; - [AST_NODE_TYPES.TSCallSignatureDeclaration]: ts.CallSignatureDeclaration; - [AST_NODE_TYPES.TSClassImplements]: ts.ExpressionWithTypeArguments; - [AST_NODE_TYPES.TSConditionalType]: ts.ConditionalTypeNode; - [AST_NODE_TYPES.TSConstructorType]: ts.ConstructorTypeNode; - [AST_NODE_TYPES.TSConstructSignatureDeclaration]: ts.ConstructSignatureDeclaration; - [AST_NODE_TYPES.TSDeclareFunction]: ts.FunctionDeclaration; - [AST_NODE_TYPES.TSEnumBody]: ts.EnumDeclaration; - [AST_NODE_TYPES.TSEnumDeclaration]: ts.EnumDeclaration; - [AST_NODE_TYPES.TSEnumMember]: ts.EnumMember; - [AST_NODE_TYPES.TSExportAssignment]: ts.ExportAssignment; - [AST_NODE_TYPES.TSExternalModuleReference]: ts.ExternalModuleReference; - [AST_NODE_TYPES.TSFunctionType]: ts.FunctionTypeNode; - [AST_NODE_TYPES.TSImportEqualsDeclaration]: ts.ImportEqualsDeclaration; - [AST_NODE_TYPES.TSImportType]: ts.ImportTypeNode; - [AST_NODE_TYPES.TSIndexedAccessType]: ts.IndexedAccessTypeNode; - [AST_NODE_TYPES.TSIndexSignature]: ts.IndexSignatureDeclaration; - [AST_NODE_TYPES.TSInferType]: ts.InferTypeNode; - [AST_NODE_TYPES.TSInterfaceDeclaration]: ts.InterfaceDeclaration; - [AST_NODE_TYPES.TSInterfaceBody]: ts.InterfaceDeclaration; - [AST_NODE_TYPES.TSInterfaceHeritage]: ts.ExpressionWithTypeArguments; - [AST_NODE_TYPES.TSIntersectionType]: ts.IntersectionTypeNode; - [AST_NODE_TYPES.TSInstantiationExpression]: ts.ExpressionWithTypeArguments; - [AST_NODE_TYPES.TSSatisfiesExpression]: ts.SatisfiesExpression; - [AST_NODE_TYPES.TSLiteralType]: ts.LiteralTypeNode; - [AST_NODE_TYPES.TSMappedType]: ts.MappedTypeNode; - [AST_NODE_TYPES.TSMethodSignature]: ts.GetAccessorDeclaration | ts.MethodSignature | ts.SetAccessorDeclaration; - [AST_NODE_TYPES.TSModuleBlock]: ts.ModuleBlock; - [AST_NODE_TYPES.TSModuleDeclaration]: ts.ModuleDeclaration; - [AST_NODE_TYPES.TSNamedTupleMember]: ts.NamedTupleMember; - [AST_NODE_TYPES.TSNamespaceExportDeclaration]: ts.NamespaceExportDeclaration; - [AST_NODE_TYPES.TSNonNullExpression]: ts.NonNullExpression; - [AST_NODE_TYPES.TSOptionalType]: ts.OptionalTypeNode; - [AST_NODE_TYPES.TSParameterProperty]: ts.ParameterDeclaration; - [AST_NODE_TYPES.TSPropertySignature]: ts.PropertySignature; - [AST_NODE_TYPES.TSQualifiedName]: ts.Identifier | ts.QualifiedName; - [AST_NODE_TYPES.TSRestType]: ts.NamedTupleMember | ts.RestTypeNode; - [AST_NODE_TYPES.TSThisType]: ts.ThisTypeNode; - [AST_NODE_TYPES.TSTupleType]: ts.TupleTypeNode; - [AST_NODE_TYPES.TSTemplateLiteralType]: ts.TemplateLiteralTypeNode; - [AST_NODE_TYPES.TSTypeAliasDeclaration]: ts.TypeAliasDeclaration; - [AST_NODE_TYPES.TSTypeAnnotation]: undefined; - [AST_NODE_TYPES.TSTypeAssertion]: ts.TypeAssertion; - [AST_NODE_TYPES.TSTypeLiteral]: ts.TypeLiteralNode; - [AST_NODE_TYPES.TSTypeOperator]: ts.TypeOperatorNode; - [AST_NODE_TYPES.TSTypeParameter]: ts.TypeParameterDeclaration; - [AST_NODE_TYPES.TSTypeParameterDeclaration]: undefined; - [AST_NODE_TYPES.TSTypeParameterInstantiation]: ts.CallExpression | ts.ExpressionWithTypeArguments | ts.ImportTypeNode | ts.JsxOpeningElement | ts.JsxSelfClosingElement | ts.NewExpression | ts.TaggedTemplateExpression | ts.TypeQueryNode | ts.TypeReferenceNode; - [AST_NODE_TYPES.TSTypePredicate]: ts.TypePredicateNode; - [AST_NODE_TYPES.TSTypeQuery]: ts.ImportTypeNode | ts.TypeQueryNode; - [AST_NODE_TYPES.TSTypeReference]: ts.TypeReferenceNode; - [AST_NODE_TYPES.TSUnionType]: ts.UnionTypeNode; - [AST_NODE_TYPES.UpdateExpression]: ts.PostfixUnaryExpression | ts.PrefixUnaryExpression; - [AST_NODE_TYPES.UnaryExpression]: ts.DeleteExpression | ts.PostfixUnaryExpression | ts.PrefixUnaryExpression | ts.TypeOfExpression | ts.VoidExpression; - [AST_NODE_TYPES.VariableDeclaration]: ts.VariableDeclarationList | ts.VariableStatement; - [AST_NODE_TYPES.VariableDeclarator]: ts.VariableDeclaration; - [AST_NODE_TYPES.WhileStatement]: ts.WhileStatement; - [AST_NODE_TYPES.WithStatement]: ts.WithStatement; - [AST_NODE_TYPES.YieldExpression]: ts.YieldExpression; - [AST_NODE_TYPES.TSEmptyBodyFunctionExpression]: ts.ConstructorDeclaration | ts.FunctionExpression | ts.GetAccessorDeclaration | ts.MethodDeclaration | ts.SetAccessorDeclaration; - [AST_NODE_TYPES.TSAbstractKeyword]: ts.Token; - [AST_NODE_TYPES.TSNullKeyword]: ts.KeywordTypeNode | ts.NullLiteral; - [AST_NODE_TYPES.TSAnyKeyword]: ts.KeywordTypeNode; - [AST_NODE_TYPES.TSBigIntKeyword]: ts.KeywordTypeNode; - [AST_NODE_TYPES.TSBooleanKeyword]: ts.KeywordTypeNode; - [AST_NODE_TYPES.TSIntrinsicKeyword]: ts.KeywordTypeNode; - [AST_NODE_TYPES.TSNeverKeyword]: ts.KeywordTypeNode; - [AST_NODE_TYPES.TSNumberKeyword]: ts.KeywordTypeNode; - [AST_NODE_TYPES.TSObjectKeyword]: ts.KeywordTypeNode; - [AST_NODE_TYPES.TSStringKeyword]: ts.KeywordTypeNode; - [AST_NODE_TYPES.TSSymbolKeyword]: ts.KeywordTypeNode; - [AST_NODE_TYPES.TSUnknownKeyword]: ts.KeywordTypeNode; - [AST_NODE_TYPES.TSVoidKeyword]: ts.KeywordTypeNode; - [AST_NODE_TYPES.TSUndefinedKeyword]: ts.KeywordTypeNode; - [AST_NODE_TYPES.TSAsyncKeyword]: ts.Token; - [AST_NODE_TYPES.TSDeclareKeyword]: ts.Token; - [AST_NODE_TYPES.TSExportKeyword]: ts.Token; - [AST_NODE_TYPES.TSStaticKeyword]: ts.Token; - [AST_NODE_TYPES.TSPublicKeyword]: ts.Token; - [AST_NODE_TYPES.TSPrivateKeyword]: ts.Token; - [AST_NODE_TYPES.TSProtectedKeyword]: ts.Token; - [AST_NODE_TYPES.TSReadonlyKeyword]: ts.Token; -} -/** - * Maps TSESTree AST Node type to the expected TypeScript AST Node type(s). - * This mapping is based on the internal logic of the parser. - */ -export type TSESTreeToTSNode = Extract | TSNode, EstreeToTsNodeTypes[T['type']]>; -//# sourceMappingURL=estree-to-ts-node-types.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/ts-estree/estree-to-ts-node-types.d.ts.map b/packages/typescript-estree/dist/ts-estree/estree-to-ts-node-types.d.ts.map deleted file mode 100644 index 3c4eddd015b9..000000000000 --- a/packages/typescript-estree/dist/ts-estree/estree-to-ts-node-types.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"estree-to-ts-node-types.d.ts","sourceRoot":"","sources":["../../src/ts-estree/estree-to-ts-node-types.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/ts-estree/estree-to-ts-node-types.js b/packages/typescript-estree/dist/ts-estree/estree-to-ts-node-types.js deleted file mode 100644 index e92a96f286b1..000000000000 --- a/packages/typescript-estree/dist/ts-estree/estree-to-ts-node-types.js +++ /dev/null @@ -1,3 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -//# sourceMappingURL=estree-to-ts-node-types.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/ts-estree/estree-to-ts-node-types.js.map b/packages/typescript-estree/dist/ts-estree/estree-to-ts-node-types.js.map deleted file mode 100644 index a9cfa15f26bb..000000000000 --- a/packages/typescript-estree/dist/ts-estree/estree-to-ts-node-types.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"estree-to-ts-node-types.js","sourceRoot":"","sources":["../../src/ts-estree/estree-to-ts-node-types.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/packages/typescript-estree/dist/ts-estree/index.d.ts b/packages/typescript-estree/dist/ts-estree/index.d.ts deleted file mode 100644 index 37f26a395984..000000000000 --- a/packages/typescript-estree/dist/ts-estree/index.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -export { AST_NODE_TYPES, AST_TOKEN_TYPES, TSESTree, } from '@typescript-eslint/types'; -export * from './ts-nodes'; -export * from './estree-to-ts-node-types'; -//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/ts-estree/index.d.ts.map b/packages/typescript-estree/dist/ts-estree/index.d.ts.map deleted file mode 100644 index 6a839dc66d9b..000000000000 --- a/packages/typescript-estree/dist/ts-estree/index.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ts-estree/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,eAAe,EACf,QAAQ,GACT,MAAM,0BAA0B,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,2BAA2B,CAAC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/ts-estree/index.js b/packages/typescript-estree/dist/ts-estree/index.js deleted file mode 100644 index 6d010024b59c..000000000000 --- a/packages/typescript-estree/dist/ts-estree/index.js +++ /dev/null @@ -1,25 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.TSESTree = exports.AST_TOKEN_TYPES = exports.AST_NODE_TYPES = void 0; -// for simplicity and backwards-compatibility -var types_1 = require("@typescript-eslint/types"); -Object.defineProperty(exports, "AST_NODE_TYPES", { enumerable: true, get: function () { return types_1.AST_NODE_TYPES; } }); -Object.defineProperty(exports, "AST_TOKEN_TYPES", { enumerable: true, get: function () { return types_1.AST_TOKEN_TYPES; } }); -Object.defineProperty(exports, "TSESTree", { enumerable: true, get: function () { return types_1.TSESTree; } }); -__exportStar(require("./ts-nodes"), exports); -__exportStar(require("./estree-to-ts-node-types"), exports); -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/ts-estree/index.js.map b/packages/typescript-estree/dist/ts-estree/index.js.map deleted file mode 100644 index fc698263ac11..000000000000 --- a/packages/typescript-estree/dist/ts-estree/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ts-estree/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6CAA6C;AAC7C,kDAIkC;AAHhC,uGAAA,cAAc,OAAA;AACd,wGAAA,eAAe,OAAA;AACf,iGAAA,QAAQ,OAAA;AAEV,6CAA2B;AAC3B,4DAA0C"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/ts-estree/ts-nodes.d.ts b/packages/typescript-estree/dist/ts-estree/ts-nodes.d.ts deleted file mode 100644 index 7a685aeda1c8..000000000000 --- a/packages/typescript-estree/dist/ts-estree/ts-nodes.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -import type * as ts from 'typescript'; -declare module 'typescript' { - interface AssertClause extends ts.ImportAttributes { - } - interface AssertEntry extends ts.ImportAttribute { - } - interface SatisfiesExpression extends ts.Node { - } - interface JsxNamespacedName extends ts.Node { - } - interface ImportAttribute extends ts.Node { - } - interface ImportAttributes extends ts.Node { - } -} -export type TSToken = ts.Token; -export type TSNode = ts.Modifier | ts.Identifier | ts.ImportAttribute | ts.ImportAttributes | ts.AssertClause | ts.AssertEntry | ts.PrivateIdentifier | ts.QualifiedName | ts.ComputedPropertyName | ts.Decorator | ts.TypeParameterDeclaration | ts.CallSignatureDeclaration | ts.ConstructSignatureDeclaration | ts.VariableDeclaration | ts.VariableDeclarationList | ts.ParameterDeclaration | ts.BindingElement | ts.PropertySignature | ts.PropertyDeclaration | ts.PropertyAssignment | ts.ShorthandPropertyAssignment | ts.SpreadAssignment | ts.ObjectBindingPattern | ts.ArrayBindingPattern | ts.FunctionDeclaration | ts.MethodSignature | ts.MethodDeclaration | ts.ConstructorDeclaration | ts.SemicolonClassElement | ts.GetAccessorDeclaration | ts.SetAccessorDeclaration | ts.IndexSignatureDeclaration | ts.KeywordTypeNode | ts.ImportTypeNode | ts.ThisTypeNode | ts.ClassStaticBlockDeclaration | ts.ConstructorTypeNode | ts.FunctionTypeNode | ts.TypeReferenceNode | ts.TypePredicateNode | ts.TypeQueryNode | ts.TypeLiteralNode | ts.ArrayTypeNode | ts.NamedTupleMember | ts.TupleTypeNode | ts.OptionalTypeNode | ts.RestTypeNode | ts.UnionTypeNode | ts.IntersectionTypeNode | ts.ConditionalTypeNode | ts.InferTypeNode | ts.ParenthesizedTypeNode | ts.TypeOperatorNode | ts.IndexedAccessTypeNode | ts.MappedTypeNode | ts.LiteralTypeNode | ts.StringLiteral | ts.OmittedExpression | ts.PartiallyEmittedExpression | ts.PrefixUnaryExpression | ts.PostfixUnaryExpression | ts.NullLiteral | ts.BooleanLiteral | ts.ThisExpression | ts.SuperExpression | ts.ImportExpression | ts.DeleteExpression | ts.TypeOfExpression | ts.VoidExpression | ts.AwaitExpression | ts.YieldExpression | ts.SyntheticExpression | ts.BinaryExpression | ts.ConditionalExpression | ts.FunctionExpression | ts.ArrowFunction | ts.RegularExpressionLiteral | ts.NoSubstitutionTemplateLiteral | ts.NumericLiteral | ts.BigIntLiteral | ts.TemplateHead | ts.TemplateMiddle | ts.TemplateTail | ts.TemplateExpression | ts.TemplateSpan | ts.ParenthesizedExpression | ts.ArrayLiteralExpression | ts.SpreadElement | ts.ObjectLiteralExpression | ts.PropertyAccessExpression | ts.ElementAccessExpression | ts.CallExpression | ts.ExpressionWithTypeArguments | ts.NewExpression | ts.TaggedTemplateExpression | ts.AsExpression | ts.TypeAssertion | ts.NonNullExpression | ts.MetaProperty | ts.JsxElement | ts.JsxOpeningElement | ts.JsxSelfClosingElement | ts.JsxFragment | ts.JsxOpeningFragment | ts.JsxClosingFragment | ts.JsxAttribute | ts.JsxSpreadAttribute | ts.JsxClosingElement | ts.JsxExpression | ts.JsxNamespacedName | ts.JsxText | ts.NotEmittedStatement | ts.CommaListExpression | ts.EmptyStatement | ts.DebuggerStatement | ts.MissingDeclaration | ts.Block | ts.VariableStatement | ts.ExpressionStatement | ts.IfStatement | ts.DoStatement | ts.WhileStatement | ts.ForStatement | ts.ForInStatement | ts.ForOfStatement | ts.BreakStatement | ts.ContinueStatement | ts.ReturnStatement | ts.WithStatement | ts.SwitchStatement | ts.CaseBlock | ts.CaseClause | ts.DefaultClause | ts.LabeledStatement | ts.ThrowStatement | ts.TryStatement | ts.CatchClause | ts.ClassDeclaration | ts.ClassExpression | ts.InterfaceDeclaration | ts.HeritageClause | ts.TypeAliasDeclaration | ts.EnumMember | ts.EnumDeclaration | ts.ModuleDeclaration | ts.ModuleBlock | ts.ImportEqualsDeclaration | ts.ExternalModuleReference | ts.ImportDeclaration | ts.ImportClause | ts.NamespaceImport | ts.NamespaceExportDeclaration | ts.ExportDeclaration | ts.NamedImports | ts.NamedExports | ts.ImportSpecifier | ts.ExportSpecifier | ts.ExportAssignment | ts.SourceFile | ts.Bundle | ts.InputFiles | ts.UnparsedSource | ts.JsonMinusNumericLiteral | ts.TemplateLiteralTypeNode | ts.SatisfiesExpression | ts.JSDoc | ts.JSDocTypeExpression | ts.JSDocUnknownTag | ts.JSDocAugmentsTag | ts.JSDocClassTag | ts.JSDocEnumTag | ts.JSDocThisTag | ts.JSDocTemplateTag | ts.JSDocReturnTag | ts.JSDocTypeTag | ts.JSDocTypedefTag | ts.JSDocCallbackTag | ts.JSDocSignature | ts.JSDocPropertyTag | ts.JSDocParameterTag | ts.JSDocTypeLiteral | ts.JSDocFunctionType | ts.JSDocAllType | ts.JSDocUnknownType | ts.JSDocNullableType | ts.JSDocNonNullableType | ts.JSDocOptionalType | ts.JSDocVariadicType | ts.JSDocAuthorTag; -//# sourceMappingURL=ts-nodes.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/ts-estree/ts-nodes.d.ts.map b/packages/typescript-estree/dist/ts-estree/ts-nodes.d.ts.map deleted file mode 100644 index e99133daead1..000000000000 --- a/packages/typescript-estree/dist/ts-estree/ts-nodes.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ts-nodes.d.ts","sourceRoot":"","sources":["../../src/ts-estree/ts-nodes.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/ts-estree/ts-nodes.js b/packages/typescript-estree/dist/ts-estree/ts-nodes.js deleted file mode 100644 index ba99b5f136b9..000000000000 --- a/packages/typescript-estree/dist/ts-estree/ts-nodes.js +++ /dev/null @@ -1,3 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -//# sourceMappingURL=ts-nodes.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/ts-estree/ts-nodes.js.map b/packages/typescript-estree/dist/ts-estree/ts-nodes.js.map deleted file mode 100644 index a4fa02c4913b..000000000000 --- a/packages/typescript-estree/dist/ts-estree/ts-nodes.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ts-nodes.js","sourceRoot":"","sources":["../../src/ts-estree/ts-nodes.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/packages/typescript-estree/dist/use-at-your-own-risk.d.ts b/packages/typescript-estree/dist/use-at-your-own-risk.d.ts deleted file mode 100644 index c8e90daf6a74..000000000000 --- a/packages/typescript-estree/dist/use-at-your-own-risk.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -export * from './create-program/getScriptKind'; -export * from './ast-converter'; -export type { ParseSettings } from './parseSettings'; -export * from './getModifiers'; -export { typescriptVersionIsAtLeast } from './version-check'; -export { getCanonicalFileName } from './create-program/shared'; -//# sourceMappingURL=use-at-your-own-risk.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/use-at-your-own-risk.d.ts.map b/packages/typescript-estree/dist/use-at-your-own-risk.d.ts.map deleted file mode 100644 index 2e545be7e2f3..000000000000 --- a/packages/typescript-estree/dist/use-at-your-own-risk.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"use-at-your-own-risk.d.ts","sourceRoot":"","sources":["../src/use-at-your-own-risk.ts"],"names":[],"mappings":"AACA,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iBAAiB,CAAC;AAChC,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGrD,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAG7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/use-at-your-own-risk.js b/packages/typescript-estree/dist/use-at-your-own-risk.js deleted file mode 100644 index 69469f487073..000000000000 --- a/packages/typescript-estree/dist/use-at-your-own-risk.js +++ /dev/null @@ -1,28 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getCanonicalFileName = exports.typescriptVersionIsAtLeast = void 0; -// required by website -__exportStar(require("./create-program/getScriptKind"), exports); -__exportStar(require("./ast-converter"), exports); -// required by packages/utils/src/ts-estree.ts -__exportStar(require("./getModifiers"), exports); -var version_check_1 = require("./version-check"); -Object.defineProperty(exports, "typescriptVersionIsAtLeast", { enumerable: true, get: function () { return version_check_1.typescriptVersionIsAtLeast; } }); -// required by packages/type-utils -var shared_1 = require("./create-program/shared"); -Object.defineProperty(exports, "getCanonicalFileName", { enumerable: true, get: function () { return shared_1.getCanonicalFileName; } }); -//# sourceMappingURL=use-at-your-own-risk.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/use-at-your-own-risk.js.map b/packages/typescript-estree/dist/use-at-your-own-risk.js.map deleted file mode 100644 index 8239312a4908..000000000000 --- a/packages/typescript-estree/dist/use-at-your-own-risk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"use-at-your-own-risk.js","sourceRoot":"","sources":["../src/use-at-your-own-risk.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,sBAAsB;AACtB,iEAA+C;AAC/C,kDAAgC;AAGhC,8CAA8C;AAC9C,iDAA+B;AAC/B,iDAA6D;AAApD,2HAAA,0BAA0B,OAAA;AAEnC,kCAAkC;AAClC,kDAA+D;AAAtD,8GAAA,oBAAoB,OAAA"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/useProgramFromProjectService.d.ts b/packages/typescript-estree/dist/useProgramFromProjectService.d.ts deleted file mode 100644 index f3d706dd2906..000000000000 --- a/packages/typescript-estree/dist/useProgramFromProjectService.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import type { ProjectServiceSettings } from './create-program/createProjectService'; -import type { ASTAndDefiniteProgram } from './create-program/shared'; -import type { MutableParseSettings } from './parseSettings'; -export declare function useProgramFromProjectService({ allowDefaultProject, maximumDefaultProjectFileMatchCount, maximumOpenFiles, incremental, service, }: ProjectServiceSettings, parseSettings: Readonly, hasFullTypeInformation: boolean, defaultProjectMatchedFiles: Set): ASTAndDefiniteProgram | undefined; -//# sourceMappingURL=useProgramFromProjectService.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/useProgramFromProjectService.d.ts.map b/packages/typescript-estree/dist/useProgramFromProjectService.d.ts.map deleted file mode 100644 index 2c0b343254e3..000000000000 --- a/packages/typescript-estree/dist/useProgramFromProjectService.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"useProgramFromProjectService.d.ts","sourceRoot":"","sources":["../src/useProgramFromProjectService.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAGpF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAErE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AA2G5D,wBAAgB,4BAA4B,CAC1C,EACE,mBAAmB,EACnB,mCAAmC,EACnC,gBAAgB,EAChB,WAAW,EACX,OAAO,GACR,EAAE,sBAAsB,EACzB,aAAa,EAAE,QAAQ,CAAC,oBAAoB,CAAC,EAC7C,sBAAsB,EAAE,OAAO,EAC/B,0BAA0B,EAAE,GAAG,CAAC,MAAM,CAAC,GACtC,qBAAqB,GAAG,SAAS,CAiLnC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/useProgramFromProjectService.js b/packages/typescript-estree/dist/useProgramFromProjectService.js deleted file mode 100644 index 7f0abf50b58b..000000000000 --- a/packages/typescript-estree/dist/useProgramFromProjectService.js +++ /dev/null @@ -1,207 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.useProgramFromProjectService = void 0; -const debug_1 = __importDefault(require("debug")); -const diff_1 = require("diff"); -const lru_cache_1 = require("lru-cache"); -const minimatch_1 = require("minimatch"); -const path_1 = __importDefault(require("path")); -const ts = __importStar(require("typescript")); -const createProjectProgram_1 = require("./create-program/createProjectProgram"); -const createProjectService_1 = require("./create-program/createProjectService"); -const getWatchesForProjectService_1 = require("./create-program/getWatchesForProjectService"); -const validateDefaultProjectForFilesGlob_1 = require("./create-program/validateDefaultProjectForFilesGlob"); -const log = (0, debug_1.default)('typescript-eslint:typescript-estree:useProgramFromProjectService'); -const logEdits = (0, debug_1.default)('typescript-eslint:typescript-estree:useProgramFromProjectService:editContent'); -// "@typescript-eslint/types": "higherorderfunctor/typescript-eslint#patches2upstream&path:packages/types", -// "@typescript-eslint/typescript-estree": "higherorderfunctor/typescript-eslint#patches2upstream&path:packages/typescript-estree", -const getOrCreateOpenedFilesCache = (service, options) => { - if (!service.__opened_lru_cache) { - service.__opened_lru_cache = new lru_cache_1.LRUCache({ - max: options.max, - dispose: (_, key) => { - log(`Closing project service file: ${key}`); - service.closeClientFile(key); - }, - }); - } - return service.__opened_lru_cache; -}; -const union = (self, other) => new Set([...self, ...other]); -const difference = (self, other) => new Set([...self].filter(elem => !other.has(elem))); -const symmetricDifference = (self, other) => union(difference(self, other), difference(other, self)); -const updateExtraFileExtensionsIfNeeded = (service, extraFileExtensions) => { - if (!service.__extra_file_extensions) { - service.__extra_file_extensions = new Set(); - } - if (symmetricDifference(service.__extra_file_extensions, new Set(extraFileExtensions)).size > 0) { - service.__extra_file_extensions = new Set(extraFileExtensions); - log('Extra file extensions updated: %o', service.__extra_file_extensions); - (0, createProjectService_1.updateExtraFileExtensions)(service, extraFileExtensions, ts.ScriptKind.Deferred); - } -}; -const filePathMatchedByConfiguredProject = (service, filePath) => { - const configuredProjects = service.configuredProjects; - for (const project of configuredProjects.values()) { - if (project.containsFile(filePath)) { - return true; - } - } - return false; -}; -const makeEdits = (oldContent, newContent) => { - const changes = (0, diff_1.diffChars)(oldContent, newContent); - const edits = []; - let offset = 0; - changes.forEach(change => { - if (change.count === undefined) { - return; - } - edits.push({ - start: offset, - end: change.added ? offset : offset + change.count, - content: change.removed ? '' : change.value, - }); - if (!change.removed) { - offset += change.count; - } - }); - return edits; -}; -function useProgramFromProjectService({ allowDefaultProject, maximumDefaultProjectFileMatchCount, maximumOpenFiles, incremental, service, }, parseSettings, hasFullTypeInformation, defaultProjectMatchedFiles) { - const openedFilesCache = getOrCreateOpenedFilesCache(service, { - max: maximumOpenFiles, - }); - updateExtraFileExtensionsIfNeeded(service, parseSettings.extraFileExtensions); - // We don't canonicalize the filename because it caused a performance regression. - // See https://github.com/typescript-eslint/typescript-eslint/issues/8519 - const filePathAbsolute = absolutify(parseSettings.filePath); - log('Opening project service file for: %s at absolute path %s', parseSettings.filePath, filePathAbsolute); - const isOpened = openedFilesCache.has(filePathAbsolute); - if (!isOpened) { - if (!filePathMatchedByConfiguredProject(service, filePathAbsolute)) { - log('Orphaned file: %s', filePathAbsolute); - const watcher = getWatchesForProjectService_1.watches.get(filePathAbsolute); - if (watcher?.value != null) { - log('Triggering watcher: %s', watcher.path); - watcher.value.callback(); - } - else { - log('No watcher found for: %s', filePathAbsolute); - } - } - } - const isFileInConfiguredProject = filePathMatchedByConfiguredProject(service, filePathAbsolute); - // when reusing an openClientFile handler, we need to ensure that - // the file is still open and manually update its contents - const cachedScriptInfo = !isOpened - ? undefined - : service.getScriptInfo(filePathAbsolute); - if (cachedScriptInfo) { - log('File already opened, sending changes to tsserver: %s', filePathAbsolute); - const snapshot = cachedScriptInfo.getSnapshot(); - const edits = incremental - ? makeEdits(snapshot.getText(0, snapshot.getLength()), parseSettings.codeFullText) - : [ - { - start: 0, - end: snapshot.getLength(), - content: parseSettings.codeFullText, - }, - ]; - edits.forEach(({ start, end, content }) => { - logEdits('Sending %s edit for: %s: %o', incremental ? 'incremental' : 'full', filePathAbsolute, { - start, - end, - content, - }); - cachedScriptInfo.editContent(start, end, content); - }); - } - const opened = isOpened - ? // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - openedFilesCache.get(filePathAbsolute) - : service.openClientFile(filePathAbsolute, parseSettings.codeFullText, - /* scriptKind */ undefined, parseSettings.tsconfigRootDir); - if (!isOpened) { - openedFilesCache.set(filePathAbsolute, opened); - } - log('%s (%s/%s): %o', isOpened - ? 'Reusing project service file from cache' - : 'Opened project service file', service.openFiles.size, maximumOpenFiles, opened); - if (hasFullTypeInformation) { - log('Project service type information enabled; checking for file path match on: %o', allowDefaultProject); - const isDefaultProjectAllowedPath = filePathMatchedBy(parseSettings.filePath, allowDefaultProject); - log('Default project allowed path: %s, based on config file: %s', isDefaultProjectAllowedPath, opened.configFileName); - if (isFileInConfiguredProject && isDefaultProjectAllowedPath) { - throw new Error(`${parseSettings.filePath} was included by allowDefaultProject but also was found in the project service. Consider removing it from allowDefaultProject.`); - } - else if (!isDefaultProjectAllowedPath) { - 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.`); - } - } - log('Retrieving script info and then program for: %s', filePathAbsolute); - const scriptInfo = cachedScriptInfo ?? service.getScriptInfo(filePathAbsolute); - /* eslint-disable @typescript-eslint/no-non-null-assertion */ - const program = service - .getDefaultProjectForFile(scriptInfo.fileName, true) - .getLanguageService(/*ensureSynchronized*/ true) - .getProgram(); - /* eslint-enable @typescript-eslint/no-non-null-assertion */ - if (!program) { - log('Could not find project service program for: %s', filePathAbsolute); - return undefined; - } - if (!opened.configFileName) { - defaultProjectMatchedFiles.add(filePathAbsolute); - } - if (defaultProjectMatchedFiles.size > maximumDefaultProjectFileMatchCount) { - const filePrintLimit = 20; - const filesToPrint = Array.from(defaultProjectMatchedFiles).slice(0, filePrintLimit); - const truncatedFileCount = defaultProjectMatchedFiles.size - filesToPrint.length; - throw new Error(`Too many files (>${maximumDefaultProjectFileMatchCount}) have matched the default project.${validateDefaultProjectForFilesGlob_1.DEFAULT_PROJECT_FILES_ERROR_EXPLANATION} -Matching files: -${filesToPrint.map(file => `- ${file}`).join('\n')} -${truncatedFileCount ? `...and ${truncatedFileCount} more files\n` : ''} -If you absolutely need more files included, set parserOptions.projectService.maximumDefaultProjectFileMatchCount_THIS_WILL_SLOW_DOWN_LINTING to a larger value. -`); - } - log('Found project service program for: %s', filePathAbsolute); - return (0, createProjectProgram_1.createProjectProgram)(parseSettings, [program]); - function absolutify(filePath) { - return path_1.default.isAbsolute(filePath) - ? filePath - : path_1.default.join(service.host.getCurrentDirectory(), filePath); - } -} -exports.useProgramFromProjectService = useProgramFromProjectService; -function filePathMatchedBy(filePath, allowDefaultProject) { - return !!allowDefaultProject?.some(pattern => (0, minimatch_1.minimatch)(filePath, pattern)); -} -//# sourceMappingURL=useProgramFromProjectService.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/useProgramFromProjectService.js.map b/packages/typescript-estree/dist/useProgramFromProjectService.js.map deleted file mode 100644 index 6383d34d4bbd..000000000000 --- a/packages/typescript-estree/dist/useProgramFromProjectService.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"useProgramFromProjectService.js","sourceRoot":"","sources":["../src/useProgramFromProjectService.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/version-check.d.ts b/packages/typescript-estree/dist/version-check.d.ts deleted file mode 100644 index 9423ca961967..000000000000 --- a/packages/typescript-estree/dist/version-check.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -declare const typescriptVersionIsAtLeast: Record<"4.7" | "4.8" | "4.9" | "5.0" | "5.1" | "5.2" | "5.3" | "5.4", boolean>; -export { typescriptVersionIsAtLeast }; -//# sourceMappingURL=version-check.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/version-check.d.ts.map b/packages/typescript-estree/dist/version-check.d.ts.map deleted file mode 100644 index 9e653b434783..000000000000 --- a/packages/typescript-estree/dist/version-check.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"version-check.d.ts","sourceRoot":"","sources":["../src/version-check.ts"],"names":[],"mappings":"AAyBA,QAAA,MAAM,0BAA0B,gFAAkC,CAAC;AAKnE,OAAO,EAAE,0BAA0B,EAAE,CAAC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/version-check.js b/packages/typescript-estree/dist/version-check.js deleted file mode 100644 index cfc06ca17eed..000000000000 --- a/packages/typescript-estree/dist/version-check.js +++ /dev/null @@ -1,49 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.typescriptVersionIsAtLeast = void 0; -const semver = __importStar(require("semver")); -const ts = __importStar(require("typescript")); -function semverCheck(version) { - return semver.satisfies(ts.version, `>= ${version}.0 || >= ${version}.1-rc || >= ${version}.0-beta`, { - includePrerelease: true, - }); -} -const versions = [ - '4.7', - '4.8', - '4.9', - '5.0', - '5.1', - '5.2', - '5.3', - '5.4', -]; -const typescriptVersionIsAtLeast = {}; -exports.typescriptVersionIsAtLeast = typescriptVersionIsAtLeast; -for (const version of versions) { - typescriptVersionIsAtLeast[version] = semverCheck(version); -} -//# sourceMappingURL=version-check.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/version-check.js.map b/packages/typescript-estree/dist/version-check.js.map deleted file mode 100644 index 8ba79e7f820b..000000000000 --- a/packages/typescript-estree/dist/version-check.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"version-check.js","sourceRoot":"","sources":["../src/version-check.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAiC;AACjC,+CAAiC;AAEjC,SAAS,WAAW,CAAC,OAAe;IAClC,OAAO,MAAM,CAAC,SAAS,CACrB,EAAE,CAAC,OAAO,EACV,MAAM,OAAO,YAAY,OAAO,eAAe,OAAO,SAAS,EAC/D;QACE,iBAAiB,EAAE,IAAI;KACxB,CACF,CAAC;AACJ,CAAC;AAED,MAAM,QAAQ,GAAG;IACf,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;CACG,CAAC;AAGX,MAAM,0BAA0B,GAAG,EAA+B,CAAC;AAK1D,gEAA0B;AAJnC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;IAC/B,0BAA0B,CAAC,OAAO,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;AAC7D,CAAC"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/withoutProjectParserOptions.d.ts b/packages/typescript-estree/dist/withoutProjectParserOptions.d.ts deleted file mode 100644 index 8195de9e809b..000000000000 --- a/packages/typescript-estree/dist/withoutProjectParserOptions.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import type { TSESTreeOptions } from './parser-options'; -/** - * Removes options that prompt the parser to parse the project with type - * information. In other words, you can use this if you are invoking the parser - * directly, to ensure that one file will be parsed in isolation, which is much, - * much faster. - * - * @see https://github.com/typescript-eslint/typescript-eslint/issues/8428 - */ -export declare function withoutProjectParserOptions(opts: TSESTreeOptions): TSESTreeOptions; -//# sourceMappingURL=withoutProjectParserOptions.d.ts.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/withoutProjectParserOptions.d.ts.map b/packages/typescript-estree/dist/withoutProjectParserOptions.d.ts.map deleted file mode 100644 index 035068fa17e9..000000000000 --- a/packages/typescript-estree/dist/withoutProjectParserOptions.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"withoutProjectParserOptions.d.ts","sourceRoot":"","sources":["../src/withoutProjectParserOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExD;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,eAAe,GACpB,eAAe,CAMjB"} \ No newline at end of file diff --git a/packages/typescript-estree/dist/withoutProjectParserOptions.js b/packages/typescript-estree/dist/withoutProjectParserOptions.js deleted file mode 100644 index 7b3ab8f299b7..000000000000 --- a/packages/typescript-estree/dist/withoutProjectParserOptions.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.withoutProjectParserOptions = void 0; -/** - * Removes options that prompt the parser to parse the project with type - * information. In other words, you can use this if you are invoking the parser - * directly, to ensure that one file will be parsed in isolation, which is much, - * much faster. - * - * @see https://github.com/typescript-eslint/typescript-eslint/issues/8428 - */ -function withoutProjectParserOptions(opts) { - // eslint-disable-next-line @typescript-eslint/no-unused-vars -- The variables are meant to be omitted - const { EXPERIMENTAL_useProjectService, project, projectService, ...rest } = opts; - return rest; -} -exports.withoutProjectParserOptions = withoutProjectParserOptions; -//# sourceMappingURL=withoutProjectParserOptions.js.map \ No newline at end of file diff --git a/packages/typescript-estree/dist/withoutProjectParserOptions.js.map b/packages/typescript-estree/dist/withoutProjectParserOptions.js.map deleted file mode 100644 index ee1193860b30..000000000000 --- a/packages/typescript-estree/dist/withoutProjectParserOptions.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"withoutProjectParserOptions.js","sourceRoot":"","sources":["../src/withoutProjectParserOptions.ts"],"names":[],"mappings":";;;AAEA;;;;;;;GAOG;AACH,SAAgB,2BAA2B,CACzC,IAAqB;IAErB,sGAAsG;IACtG,MAAM,EAAE,8BAA8B,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,IAAI,EAAE,GACxE,IAA+B,CAAC;IAElC,OAAO,IAAI,CAAC;AACd,CAAC;AARD,kEAQC"} \ No newline at end of file From 0c3095be541bb036bae340e08a3c2f62adcc8e75 Mon Sep 17 00:00:00 2001 From: Christopher Aubut Date: Thu, 13 Jun 2024 16:01:31 -0600 Subject: [PATCH 31/36] chore: missed one in the git ignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index cd2f6495f7bf..5d2aa7bffa74 100644 --- a/.gitignore +++ b/.gitignore @@ -97,3 +97,4 @@ packages/**/.yarn !.yarn/versions .nx/cache +.nx/workspace-data From b5e9d6c0f47badeea90b54c9dab5faa42dda2390 Mon Sep 17 00:00:00 2001 From: Christopher Aubut Date: Thu, 13 Jun 2024 16:08:24 -0600 Subject: [PATCH 32/36] chore: remove hacks for pnpm testing --- packages/ast-spec/package.json | 2 +- packages/eslint-plugin-internal/package.json | 16 +- packages/eslint-plugin/package.json | 16 +- packages/eslint-plugin/tests/docs.test.ts | 19 +- packages/integration-tests/package.json | 2 +- packages/parser/package.json | 10 +- packages/repo-tools/package.json | 12 +- .../package.json | 6 +- packages/rule-tester/package.json | 8 +- packages/scope-manager/package.json | 8 +- packages/type-utils/package.json | 8 +- packages/types/package.json | 2 +- packages/types/pnpm-lock.yaml | 836 ----- packages/typescript-eslint/package.json | 8 +- packages/typescript-estree/package.json | 6 +- packages/typescript-estree/pnpm-lock.yaml | 2898 ----------------- packages/utils/package.json | 8 +- packages/visitor-keys/package.json | 4 +- packages/website-eslint/package.json | 12 +- packages/website/package.json | 18 +- yarn.lock | 250 +- 21 files changed, 198 insertions(+), 3951 deletions(-) delete mode 100644 packages/types/pnpm-lock.yaml delete mode 100644 packages/typescript-estree/pnpm-lock.yaml diff --git a/packages/ast-spec/package.json b/packages/ast-spec/package.json index 21716692d52c..1baecece5e1c 100644 --- a/packages/ast-spec/package.json +++ b/packages/ast-spec/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/ast-spec", - "version": "7.13.0", + "version": "7.12.0", "description": "Complete specification for the TypeScript-ESTree AST", "private": true, "keywords": [ diff --git a/packages/eslint-plugin-internal/package.json b/packages/eslint-plugin-internal/package.json index 0a1d531f58d0..2745f488f422 100644 --- a/packages/eslint-plugin-internal/package.json +++ b/packages/eslint-plugin-internal/package.json @@ -1,24 +1,24 @@ { "name": "@typescript-eslint/eslint-plugin-internal", - "version": "7.13.0", + "version": "7.12.0", "private": true, "main": "dist/index.js", "types": "index.d.ts", "scripts": { - "build": "npx tsc -b tsconfig.build.json", - "clean": "npx tsc -b tsconfig.build.json --clean", + "build": "tsc -b tsconfig.build.json", + "clean": "tsc -b tsconfig.build.json --clean", "postclean": "rimraf dist && rimraf coverage", "format": "prettier --write \"./**/*.{ts,mts,cts,tsx,js,mjs,cjs,jsx,json,md,css}\" --ignore-path ../../.prettierignore", "lint": "npx nx lint", "test": "jest --coverage", - "typecheck": "npx tsc --noEmit" + "typecheck": "tsc --noEmit" }, "dependencies": { "@prettier/sync": "^0.5.1", - "@typescript-eslint/rule-tester": "workspace:^", - "@typescript-eslint/scope-manager": "workspace:^", - "@typescript-eslint/type-utils": "workspace:^", - "@typescript-eslint/utils": "workspace:^", + "@typescript-eslint/rule-tester": "7.12.0", + "@typescript-eslint/scope-manager": "7.12.0", + "@typescript-eslint/type-utils": "7.12.0", + "@typescript-eslint/utils": "7.12.0", "prettier": "^3.2.5" }, "devDependencies": { diff --git a/packages/eslint-plugin/package.json b/packages/eslint-plugin/package.json index 21d808f694ac..2bdb3b4f9507 100644 --- a/packages/eslint-plugin/package.json +++ b/packages/eslint-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/eslint-plugin", - "version": "7.13.0", + "version": "7.12.0", "description": "TypeScript plugin for ESLint", "files": [ "dist", @@ -48,6 +48,8 @@ ], "scripts": { "build": "tsc -b tsconfig.build.json", + "check-docs": "jest tests/docs.test.ts --runTestsByPath --silent --runInBand", + "check-configs": "jest tests/configs.test.ts --runTestsByPath --silent --runInBand", "clean": "tsc -b tsconfig.build.json --clean", "postclean": "rimraf dist && rimraf coverage", "format": "prettier --write \"./**/*.{ts,mts,cts,tsx,js,mjs,cjs,jsx,json,md,css}\" --ignore-path ../../.prettierignore", @@ -60,10 +62,10 @@ }, "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "workspace:^", - "@typescript-eslint/type-utils": "workspace:^", - "@typescript-eslint/utils": "workspace:^", - "@typescript-eslint/visitor-keys": "workspace:^", + "@typescript-eslint/scope-manager": "7.12.0", + "@typescript-eslint/type-utils": "7.12.0", + "@typescript-eslint/utils": "7.12.0", + "@typescript-eslint/visitor-keys": "7.12.0", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", @@ -74,8 +76,8 @@ "@types/marked": "^5.0.2", "@types/mdast": "^4.0.3", "@types/natural-compare": "*", - "@typescript-eslint/rule-schema-to-typescript-types": "workspace:^", - "@typescript-eslint/rule-tester": "workspace:^", + "@typescript-eslint/rule-schema-to-typescript-types": "7.12.0", + "@typescript-eslint/rule-tester": "7.12.0", "ajv": "^6.12.6", "cross-env": "^7.0.3", "cross-fetch": "*", diff --git a/packages/eslint-plugin/tests/docs.test.ts b/packages/eslint-plugin/tests/docs.test.ts index ff9b707d6349..96401ecb2fa5 100644 --- a/packages/eslint-plugin/tests/docs.test.ts +++ b/packages/eslint-plugin/tests/docs.test.ts @@ -8,16 +8,12 @@ import { Linter } from '@typescript-eslint/utils/ts-eslint'; import fs from 'fs'; import { marked } from 'marked'; import type * as mdast from 'mdast'; -import type { fromMarkdown as FromMarkdown } from 'mdast-util-from-markdown' with { 'resolution-mode': - 'import' }; -import type { mdxFromMarkdown as MdxFromMarkdown } from 'mdast-util-mdx' with { 'resolution-mode': - 'import' }; -import type { mdxjs as Mdxjs } from 'micromark-extension-mdxjs' with { 'resolution-mode': - 'import' }; +import type { fromMarkdown as FromMarkdown } from 'mdast-util-from-markdown' with { 'resolution-mode': 'import' }; +import type { mdxFromMarkdown as MdxFromMarkdown } from 'mdast-util-mdx' with { 'resolution-mode': 'import' }; +import type { mdxjs as Mdxjs } from 'micromark-extension-mdxjs' with { 'resolution-mode': 'import' }; import path from 'path'; import { titleCase } from 'title-case'; -import type * as UnistUtilVisit from 'unist-util-visit' with { 'resolution-mode': - 'import' }; +import type * as UnistUtilVisit from 'unist-util-visit' with { 'resolution-mode': 'import' }; import rules from '../src/rules'; import { areOptionsValid } from './areOptionsValid'; @@ -159,7 +155,6 @@ describe('Validating rule docs', () => { 'TEMPLATE.md', // These rule docs were left behind on purpose for legacy reasons. See the // comments in the files for more information. - 'ban-types.md', 'no-duplicate-imports.mdx', 'no-parameter-properties.mdx', 'no-useless-template-literals.mdx', @@ -167,11 +162,7 @@ describe('Validating rule docs', () => { ...oldStylisticRules, ]); - const rulesWithComplexOptions = new Set([ - 'array-type', - 'member-ordering', - 'no-restricted-types', - ]); + const rulesWithComplexOptions = new Set(['array-type', 'member-ordering']); // TODO: whittle this list down to as few as possible const rulesWithComplexOptionHeadings = new Set([ diff --git a/packages/integration-tests/package.json b/packages/integration-tests/package.json index 7825b0a02cda..266414ccc2d9 100644 --- a/packages/integration-tests/package.json +++ b/packages/integration-tests/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/integration-tests", - "version": "7.13.0", + "version": "7.12.0", "private": true, "scripts": { "format": "prettier --write \"./**/*.{ts,mts,cts,tsx,js,mjs,cjs,jsx,json,md,css}\" --ignore-path ../../.prettierignore", diff --git a/packages/parser/package.json b/packages/parser/package.json index 5539e38a6550..de80d3fa7bd7 100644 --- a/packages/parser/package.json +++ b/packages/parser/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/parser", - "version": "7.13.0", + "version": "7.12.0", "description": "An ESLint custom parser which leverages TypeScript ESTree", "files": [ "dist", @@ -52,10 +52,10 @@ "eslint": "^8.57.0 || ^9.0.0" }, "dependencies": { - "@typescript-eslint/scope-manager": "workspace:^", - "@typescript-eslint/types": "workspace:^", - "@typescript-eslint/typescript-estree": "workspace:^", - "@typescript-eslint/visitor-keys": "workspace:^", + "@typescript-eslint/scope-manager": "7.12.0", + "@typescript-eslint/types": "7.12.0", + "@typescript-eslint/typescript-estree": "7.12.0", + "@typescript-eslint/visitor-keys": "7.12.0", "debug": "^4.3.4" }, "devDependencies": { diff --git a/packages/repo-tools/package.json b/packages/repo-tools/package.json index 5bef41b41b95..d1155a5dc1bc 100644 --- a/packages/repo-tools/package.json +++ b/packages/repo-tools/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/repo-tools", - "version": "7.13.0", + "version": "7.12.0", "private": true, "//": "NOTE: intentionally no build step in this package", "scripts": { @@ -18,11 +18,11 @@ "devDependencies": { "@jest/types": "29.6.3", "@nx/devkit": "*", - "@typescript-eslint/eslint-plugin": "workspace:^", - "@typescript-eslint/scope-manager": "workspace:^", - "@typescript-eslint/types": "workspace:^", - "@typescript-eslint/typescript-estree": "workspace:^", - "@typescript-eslint/utils": "workspace:^", + "@typescript-eslint/eslint-plugin": "7.12.0", + "@typescript-eslint/scope-manager": "7.12.0", + "@typescript-eslint/types": "7.12.0", + "@typescript-eslint/typescript-estree": "7.12.0", + "@typescript-eslint/utils": "7.12.0", "cross-fetch": "*", "execa": "*", "prettier": "^3.2.5", diff --git a/packages/rule-schema-to-typescript-types/package.json b/packages/rule-schema-to-typescript-types/package.json index 73e4b612e983..f5412a4e726b 100644 --- a/packages/rule-schema-to-typescript-types/package.json +++ b/packages/rule-schema-to-typescript-types/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/rule-schema-to-typescript-types", - "version": "7.13.0", + "version": "7.12.0", "private": true, "type": "commonjs", "exports": { @@ -34,8 +34,8 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@typescript-eslint/type-utils": "workspace:^", - "@typescript-eslint/utils": "workspace:^", + "@typescript-eslint/type-utils": "7.12.0", + "@typescript-eslint/utils": "7.12.0", "natural-compare": "^1.4.0", "prettier": "^3.2.5" }, diff --git a/packages/rule-tester/package.json b/packages/rule-tester/package.json index 39b2acc26b9e..ab800d15d583 100644 --- a/packages/rule-tester/package.json +++ b/packages/rule-tester/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/rule-tester", - "version": "7.13.0", + "version": "7.12.0", "description": "Tooling to test ESLint rules", "files": [ "dist", @@ -48,8 +48,8 @@ }, "//": "NOTE - AJV is out-of-date, but it's intentionally synced with ESLint - https://github.com/eslint/eslint/blob/ad9dd6a933fd098a0d99c6a9aa059850535c23ee/package.json#L70", "dependencies": { - "@typescript-eslint/typescript-estree": "workspace:^", - "@typescript-eslint/utils": "workspace:^", + "@typescript-eslint/typescript-estree": "7.12.0", + "@typescript-eslint/utils": "7.12.0", "ajv": "^6.12.6", "json-stable-stringify-without-jsonify": "^1.0.1", "lodash.merge": "4.6.2", @@ -63,7 +63,7 @@ "@jest/types": "29.6.3", "@types/json-stable-stringify-without-jsonify": "^1.0.2", "@types/lodash.merge": "4.6.9", - "@typescript-eslint/parser": "workspace:^", + "@typescript-eslint/parser": "7.12.0", "chai": "^4.4.1", "eslint-visitor-keys": "^4.0.0", "espree": "^10.0.1", diff --git a/packages/scope-manager/package.json b/packages/scope-manager/package.json index cef501003c5c..1e451d9e3c8c 100644 --- a/packages/scope-manager/package.json +++ b/packages/scope-manager/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/scope-manager", - "version": "7.13.0", + "version": "7.12.0", "description": "TypeScript scope analyser for ESLint", "files": [ "dist", @@ -46,13 +46,13 @@ "typecheck": "npx nx typecheck" }, "dependencies": { - "@typescript-eslint/types": "workspace:^", - "@typescript-eslint/visitor-keys": "workspace:^" + "@typescript-eslint/types": "7.12.0", + "@typescript-eslint/visitor-keys": "7.12.0" }, "devDependencies": { "@jest/types": "29.6.3", "@types/glob": "*", - "@typescript-eslint/typescript-estree": "workspace:^", + "@typescript-eslint/typescript-estree": "7.12.0", "glob": "*", "jest-specific-snapshot": "*", "make-dir": "*", diff --git a/packages/type-utils/package.json b/packages/type-utils/package.json index 3ecb0ddfd523..0f3548dd0f0c 100644 --- a/packages/type-utils/package.json +++ b/packages/type-utils/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/type-utils", - "version": "7.13.0", + "version": "7.12.0", "description": "Type utilities for working with TypeScript + ESLint together", "files": [ "dist", @@ -46,14 +46,14 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@typescript-eslint/typescript-estree": "workspace:^", - "@typescript-eslint/utils": "workspace:^", + "@typescript-eslint/typescript-estree": "7.12.0", + "@typescript-eslint/utils": "7.12.0", "debug": "^4.3.4", "ts-api-utils": "^1.3.0" }, "devDependencies": { "@jest/types": "29.6.3", - "@typescript-eslint/parser": "workspace:^", + "@typescript-eslint/parser": "7.12.0", "ajv": "^6.12.6", "downlevel-dts": "*", "jest": "29.7.0", diff --git a/packages/types/package.json b/packages/types/package.json index afef40cf4736..80d44762b410 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/types", - "version": "7.13.0", + "version": "7.12.0", "description": "Types for the TypeScript-ESTree AST spec", "files": [ "dist", diff --git a/packages/types/pnpm-lock.yaml b/packages/types/pnpm-lock.yaml deleted file mode 100644 index 511f84a5e6c1..000000000000 --- a/packages/types/pnpm-lock.yaml +++ /dev/null @@ -1,836 +0,0 @@ -lockfileVersion: '9.0' - -settings: - autoInstallPeers: true - excludeLinksFromLockfile: false - -importers: - - .: - devDependencies: - '@jest/types': - specifier: 29.6.3 - version: 29.6.3 - downlevel-dts: - specifier: '*' - version: 0.11.0 - prettier: - specifier: ^3.2.5 - version: 3.3.2 - rimraf: - specifier: '*' - version: 5.0.7 - tsx: - specifier: '*' - version: 4.15.2 - typescript: - specifier: '*' - version: 5.4.5 - -packages: - - '@esbuild/aix-ppc64@0.21.5': - resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [aix] - - '@esbuild/android-arm64@0.21.5': - resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - - '@esbuild/android-arm@0.21.5': - resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - - '@esbuild/android-x64@0.21.5': - resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - - '@esbuild/darwin-arm64@0.21.5': - resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - - '@esbuild/darwin-x64@0.21.5': - resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - - '@esbuild/freebsd-arm64@0.21.5': - resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - - '@esbuild/freebsd-x64@0.21.5': - resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - - '@esbuild/linux-arm64@0.21.5': - resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - - '@esbuild/linux-arm@0.21.5': - resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - - '@esbuild/linux-ia32@0.21.5': - resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - - '@esbuild/linux-loong64@0.21.5': - resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - - '@esbuild/linux-mips64el@0.21.5': - resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - - '@esbuild/linux-ppc64@0.21.5': - resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - - '@esbuild/linux-riscv64@0.21.5': - resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - - '@esbuild/linux-s390x@0.21.5': - resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - - '@esbuild/linux-x64@0.21.5': - resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - - '@esbuild/netbsd-x64@0.21.5': - resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - - '@esbuild/openbsd-x64@0.21.5': - resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - - '@esbuild/sunos-x64@0.21.5': - resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - - '@esbuild/win32-arm64@0.21.5': - resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - - '@esbuild/win32-ia32@0.21.5': - resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - - '@esbuild/win32-x64@0.21.5': - resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - - '@isaacs/cliui@8.0.2': - resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} - engines: {node: '>=12'} - - '@jest/schemas@29.6.3': - resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/types@29.6.3': - resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@pkgjs/parseargs@0.11.0': - resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} - engines: {node: '>=14'} - - '@sinclair/typebox@0.27.8': - resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} - - '@types/istanbul-lib-coverage@2.0.6': - resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} - - '@types/istanbul-lib-report@3.0.3': - resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} - - '@types/istanbul-reports@3.0.4': - resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} - - '@types/node@20.14.2': - resolution: {integrity: sha512-xyu6WAMVwv6AKFLB+e/7ySZVr/0zLCzOa7rSpq6jNwpqOrUbcACDWC+53d4n2QHOnDou0fbIsg8wZu/sxrnI4Q==} - - '@types/yargs-parser@21.0.3': - resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} - - '@types/yargs@17.0.32': - resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} - - ansi-regex@5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} - - ansi-regex@6.0.1: - resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} - engines: {node: '>=12'} - - ansi-styles@4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} - - ansi-styles@6.2.1: - resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} - engines: {node: '>=12'} - - balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - - brace-expansion@1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} - - brace-expansion@2.0.1: - resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} - - chalk@4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} - - color-convert@2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} - - color-name@1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - - concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - - cross-spawn@7.0.3: - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} - engines: {node: '>= 8'} - - downlevel-dts@0.11.0: - resolution: {integrity: sha512-vo835pntK7kzYStk7xUHDifiYJvXxVhUapt85uk2AI94gUUAQX9HNRtrcMHNSc3YHJUEHGbYIGsM99uIbgAtxw==} - hasBin: true - - eastasianwidth@0.2.0: - resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - - emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - - emoji-regex@9.2.2: - resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - - esbuild@0.21.5: - resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} - engines: {node: '>=12'} - hasBin: true - - foreground-child@3.2.0: - resolution: {integrity: sha512-CrWQNaEl1/6WeZoarcM9LHupTo3RpZO2Pdk1vktwzPiQTsJnAKJmm3TACKeG5UZbWDfaH2AbvYxzP96y0MT7fA==} - engines: {node: '>=14'} - - fs.realpath@1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - - fsevents@2.3.3: - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - - function-bind@1.1.2: - resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - - get-tsconfig@4.7.5: - resolution: {integrity: sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==} - - glob@10.4.1: - resolution: {integrity: sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw==} - engines: {node: '>=16 || 14 >=14.18'} - hasBin: true - - glob@7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} - deprecated: Glob versions prior to v9 are no longer supported - - has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} - - hasown@2.0.2: - resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} - engines: {node: '>= 0.4'} - - inflight@1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} - deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. - - inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - - interpret@1.4.0: - resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==} - engines: {node: '>= 0.10'} - - is-core-module@2.13.1: - resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} - - is-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} - - isexe@2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - - jackspeak@3.4.0: - resolution: {integrity: sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==} - engines: {node: '>=14'} - - lru-cache@10.2.2: - resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==} - engines: {node: 14 || >=16.14} - - minimatch@3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - - minimatch@9.0.4: - resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} - engines: {node: '>=16 || 14 >=14.17'} - - minipass@7.1.2: - resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} - engines: {node: '>=16 || 14 >=14.17'} - - once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - - path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} - - path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} - - path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - - path-scurry@1.11.1: - resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} - engines: {node: '>=16 || 14 >=14.18'} - - prettier@3.3.2: - resolution: {integrity: sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==} - engines: {node: '>=14'} - hasBin: true - - rechoir@0.6.2: - resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} - engines: {node: '>= 0.10'} - - resolve-pkg-maps@1.0.0: - resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} - - resolve@1.22.8: - resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} - hasBin: true - - rimraf@5.0.7: - resolution: {integrity: sha512-nV6YcJo5wbLW77m+8KjH8aB/7/rxQy9SZ0HY5shnwULfS+9nmTtVXAJET5NdZmCzA4fPI/Hm1wo/Po/4mopOdg==} - engines: {node: '>=14.18'} - hasBin: true - - semver@7.6.2: - resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} - engines: {node: '>=10'} - hasBin: true - - shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} - - shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} - - shelljs@0.8.5: - resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==} - engines: {node: '>=4'} - hasBin: true - - signal-exit@4.1.0: - resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} - engines: {node: '>=14'} - - string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} - - string-width@5.1.2: - resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} - engines: {node: '>=12'} - - strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} - - strip-ansi@7.1.0: - resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} - engines: {node: '>=12'} - - supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} - - supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} - - tsx@4.15.2: - resolution: {integrity: sha512-kIZTOCmR37nEw0qxQks2dR+eZWSXydhTGmz7yx94vEiJtJGBTkUl0D/jt/5fey+CNdm6i3Cp+29WKRay9ScQUw==} - engines: {node: '>=18.0.0'} - hasBin: true - - typescript@5.4.5: - resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} - engines: {node: '>=14.17'} - hasBin: true - - typescript@5.6.0-dev.20240612: - resolution: {integrity: sha512-C5WDxLlEMZhdyZBkhZkysctw9uOpGnua48Zrq0FxJLx6+tFrNkanXn4Zhatjg1vbKjzk19FYggX4Gc6Wgz5flg==} - engines: {node: '>=14.17'} - hasBin: true - - undici-types@5.26.5: - resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - - which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true - - wrap-ansi@7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} - - wrap-ansi@8.1.0: - resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} - engines: {node: '>=12'} - - wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - -snapshots: - - '@esbuild/aix-ppc64@0.21.5': - optional: true - - '@esbuild/android-arm64@0.21.5': - optional: true - - '@esbuild/android-arm@0.21.5': - optional: true - - '@esbuild/android-x64@0.21.5': - optional: true - - '@esbuild/darwin-arm64@0.21.5': - optional: true - - '@esbuild/darwin-x64@0.21.5': - optional: true - - '@esbuild/freebsd-arm64@0.21.5': - optional: true - - '@esbuild/freebsd-x64@0.21.5': - optional: true - - '@esbuild/linux-arm64@0.21.5': - optional: true - - '@esbuild/linux-arm@0.21.5': - optional: true - - '@esbuild/linux-ia32@0.21.5': - optional: true - - '@esbuild/linux-loong64@0.21.5': - optional: true - - '@esbuild/linux-mips64el@0.21.5': - optional: true - - '@esbuild/linux-ppc64@0.21.5': - optional: true - - '@esbuild/linux-riscv64@0.21.5': - optional: true - - '@esbuild/linux-s390x@0.21.5': - optional: true - - '@esbuild/linux-x64@0.21.5': - optional: true - - '@esbuild/netbsd-x64@0.21.5': - optional: true - - '@esbuild/openbsd-x64@0.21.5': - optional: true - - '@esbuild/sunos-x64@0.21.5': - optional: true - - '@esbuild/win32-arm64@0.21.5': - optional: true - - '@esbuild/win32-ia32@0.21.5': - optional: true - - '@esbuild/win32-x64@0.21.5': - optional: true - - '@isaacs/cliui@8.0.2': - dependencies: - string-width: 5.1.2 - string-width-cjs: string-width@4.2.3 - strip-ansi: 7.1.0 - strip-ansi-cjs: strip-ansi@6.0.1 - wrap-ansi: 8.1.0 - wrap-ansi-cjs: wrap-ansi@7.0.0 - - '@jest/schemas@29.6.3': - dependencies: - '@sinclair/typebox': 0.27.8 - - '@jest/types@29.6.3': - dependencies: - '@jest/schemas': 29.6.3 - '@types/istanbul-lib-coverage': 2.0.6 - '@types/istanbul-reports': 3.0.4 - '@types/node': 20.14.2 - '@types/yargs': 17.0.32 - chalk: 4.1.2 - - '@pkgjs/parseargs@0.11.0': - optional: true - - '@sinclair/typebox@0.27.8': {} - - '@types/istanbul-lib-coverage@2.0.6': {} - - '@types/istanbul-lib-report@3.0.3': - dependencies: - '@types/istanbul-lib-coverage': 2.0.6 - - '@types/istanbul-reports@3.0.4': - dependencies: - '@types/istanbul-lib-report': 3.0.3 - - '@types/node@20.14.2': - dependencies: - undici-types: 5.26.5 - - '@types/yargs-parser@21.0.3': {} - - '@types/yargs@17.0.32': - dependencies: - '@types/yargs-parser': 21.0.3 - - ansi-regex@5.0.1: {} - - ansi-regex@6.0.1: {} - - ansi-styles@4.3.0: - dependencies: - color-convert: 2.0.1 - - ansi-styles@6.2.1: {} - - balanced-match@1.0.2: {} - - brace-expansion@1.1.11: - dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 - - brace-expansion@2.0.1: - dependencies: - balanced-match: 1.0.2 - - chalk@4.1.2: - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - - color-convert@2.0.1: - dependencies: - color-name: 1.1.4 - - color-name@1.1.4: {} - - concat-map@0.0.1: {} - - cross-spawn@7.0.3: - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - - downlevel-dts@0.11.0: - dependencies: - semver: 7.6.2 - shelljs: 0.8.5 - typescript: 5.6.0-dev.20240612 - - eastasianwidth@0.2.0: {} - - emoji-regex@8.0.0: {} - - emoji-regex@9.2.2: {} - - esbuild@0.21.5: - optionalDependencies: - '@esbuild/aix-ppc64': 0.21.5 - '@esbuild/android-arm': 0.21.5 - '@esbuild/android-arm64': 0.21.5 - '@esbuild/android-x64': 0.21.5 - '@esbuild/darwin-arm64': 0.21.5 - '@esbuild/darwin-x64': 0.21.5 - '@esbuild/freebsd-arm64': 0.21.5 - '@esbuild/freebsd-x64': 0.21.5 - '@esbuild/linux-arm': 0.21.5 - '@esbuild/linux-arm64': 0.21.5 - '@esbuild/linux-ia32': 0.21.5 - '@esbuild/linux-loong64': 0.21.5 - '@esbuild/linux-mips64el': 0.21.5 - '@esbuild/linux-ppc64': 0.21.5 - '@esbuild/linux-riscv64': 0.21.5 - '@esbuild/linux-s390x': 0.21.5 - '@esbuild/linux-x64': 0.21.5 - '@esbuild/netbsd-x64': 0.21.5 - '@esbuild/openbsd-x64': 0.21.5 - '@esbuild/sunos-x64': 0.21.5 - '@esbuild/win32-arm64': 0.21.5 - '@esbuild/win32-ia32': 0.21.5 - '@esbuild/win32-x64': 0.21.5 - - foreground-child@3.2.0: - dependencies: - cross-spawn: 7.0.3 - signal-exit: 4.1.0 - - fs.realpath@1.0.0: {} - - fsevents@2.3.3: - optional: true - - function-bind@1.1.2: {} - - get-tsconfig@4.7.5: - dependencies: - resolve-pkg-maps: 1.0.0 - - glob@10.4.1: - dependencies: - foreground-child: 3.2.0 - jackspeak: 3.4.0 - minimatch: 9.0.4 - minipass: 7.1.2 - path-scurry: 1.11.1 - - glob@7.2.3: - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 - - has-flag@4.0.0: {} - - hasown@2.0.2: - dependencies: - function-bind: 1.1.2 - - inflight@1.0.6: - dependencies: - once: 1.4.0 - wrappy: 1.0.2 - - inherits@2.0.4: {} - - interpret@1.4.0: {} - - is-core-module@2.13.1: - dependencies: - hasown: 2.0.2 - - is-fullwidth-code-point@3.0.0: {} - - isexe@2.0.0: {} - - jackspeak@3.4.0: - dependencies: - '@isaacs/cliui': 8.0.2 - optionalDependencies: - '@pkgjs/parseargs': 0.11.0 - - lru-cache@10.2.2: {} - - minimatch@3.1.2: - dependencies: - brace-expansion: 1.1.11 - - minimatch@9.0.4: - dependencies: - brace-expansion: 2.0.1 - - minipass@7.1.2: {} - - once@1.4.0: - dependencies: - wrappy: 1.0.2 - - path-is-absolute@1.0.1: {} - - path-key@3.1.1: {} - - path-parse@1.0.7: {} - - path-scurry@1.11.1: - dependencies: - lru-cache: 10.2.2 - minipass: 7.1.2 - - prettier@3.3.2: {} - - rechoir@0.6.2: - dependencies: - resolve: 1.22.8 - - resolve-pkg-maps@1.0.0: {} - - resolve@1.22.8: - dependencies: - is-core-module: 2.13.1 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - - rimraf@5.0.7: - dependencies: - glob: 10.4.1 - - semver@7.6.2: {} - - shebang-command@2.0.0: - dependencies: - shebang-regex: 3.0.0 - - shebang-regex@3.0.0: {} - - shelljs@0.8.5: - dependencies: - glob: 7.2.3 - interpret: 1.4.0 - rechoir: 0.6.2 - - signal-exit@4.1.0: {} - - string-width@4.2.3: - dependencies: - emoji-regex: 8.0.0 - is-fullwidth-code-point: 3.0.0 - strip-ansi: 6.0.1 - - string-width@5.1.2: - dependencies: - eastasianwidth: 0.2.0 - emoji-regex: 9.2.2 - strip-ansi: 7.1.0 - - strip-ansi@6.0.1: - dependencies: - ansi-regex: 5.0.1 - - strip-ansi@7.1.0: - dependencies: - ansi-regex: 6.0.1 - - supports-color@7.2.0: - dependencies: - has-flag: 4.0.0 - - supports-preserve-symlinks-flag@1.0.0: {} - - tsx@4.15.2: - dependencies: - esbuild: 0.21.5 - get-tsconfig: 4.7.5 - optionalDependencies: - fsevents: 2.3.3 - - typescript@5.4.5: {} - - typescript@5.6.0-dev.20240612: {} - - undici-types@5.26.5: {} - - which@2.0.2: - dependencies: - isexe: 2.0.0 - - wrap-ansi@7.0.0: - dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - - wrap-ansi@8.1.0: - dependencies: - ansi-styles: 6.2.1 - string-width: 5.1.2 - strip-ansi: 7.1.0 - - wrappy@1.0.2: {} diff --git a/packages/typescript-eslint/package.json b/packages/typescript-eslint/package.json index bfa3477d86e8..abce66748cb1 100644 --- a/packages/typescript-eslint/package.json +++ b/packages/typescript-eslint/package.json @@ -1,6 +1,6 @@ { "name": "typescript-eslint", - "version": "7.13.0", + "version": "7.12.0", "description": "Tooling which enables you to use TypeScript with ESLint", "files": [ "dist", @@ -52,9 +52,9 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@typescript-eslint/eslint-plugin": "workspace:^", - "@typescript-eslint/parser": "workspace:^", - "@typescript-eslint/utils": "workspace:^" + "@typescript-eslint/eslint-plugin": "7.12.0", + "@typescript-eslint/parser": "7.12.0", + "@typescript-eslint/utils": "7.12.0" }, "devDependencies": { "@jest/types": "29.6.3", diff --git a/packages/typescript-estree/package.json b/packages/typescript-estree/package.json index d3f9489fd1b6..a90aa00a35ac 100644 --- a/packages/typescript-estree/package.json +++ b/packages/typescript-estree/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/typescript-estree", - "version": "7.13.0", + "version": "7.12.0", "description": "A parser that converts TypeScript source code into an ESTree compatible form", "files": [ "dist", @@ -54,8 +54,8 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@typescript-eslint/types": "link:../types", - "@typescript-eslint/visitor-keys": "link:../visitor-keys", + "@typescript-eslint/types": "7.12.0", + "@typescript-eslint/visitor-keys": "7.12.0", "debug": "^4.3.4", "diff": "^5.2.0", "globby": "^11.1.0", diff --git a/packages/typescript-estree/pnpm-lock.yaml b/packages/typescript-estree/pnpm-lock.yaml deleted file mode 100644 index f2bb9295e710..000000000000 --- a/packages/typescript-estree/pnpm-lock.yaml +++ /dev/null @@ -1,2898 +0,0 @@ -lockfileVersion: '9.0' - -settings: - autoInstallPeers: true - excludeLinksFromLockfile: false - -importers: - - .: - dependencies: - '@typescript-eslint/types': - specifier: link:../types - version: link:../types - '@typescript-eslint/visitor-keys': - specifier: link:../visitor-keys - version: link:../visitor-keys - debug: - specifier: ^4.3.4 - version: 4.3.5 - diff: - specifier: ^5.2.0 - version: 5.2.0 - globby: - specifier: ^11.1.0 - version: 11.1.0 - is-glob: - specifier: ^4.0.3 - version: 4.0.3 - lru-cache: - specifier: ^10.2.2 - version: 10.2.2 - minimatch: - specifier: ^9.0.4 - version: 9.0.4 - semver: - specifier: ^7.6.0 - version: 7.6.2 - ts-api-utils: - specifier: ^1.3.0 - version: 1.3.0(typescript@5.4.5) - devDependencies: - '@jest/types': - specifier: 29.6.3 - version: 29.6.3 - '@types/diff': - specifier: ^5.2.1 - version: 5.2.1 - glob: - specifier: '*' - version: 10.4.1 - jest: - specifier: 29.7.0 - version: 29.7.0(@types/node@20.14.2) - prettier: - specifier: ^3.2.5 - version: 3.3.2 - rimraf: - specifier: '*' - version: 5.0.7 - tmp: - specifier: '*' - version: 0.2.3 - typescript: - specifier: '*' - version: 5.4.5 - -packages: - - '@ampproject/remapping@2.3.0': - resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} - engines: {node: '>=6.0.0'} - - '@babel/code-frame@7.24.7': - resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} - engines: {node: '>=6.9.0'} - - '@babel/compat-data@7.24.7': - resolution: {integrity: sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==} - engines: {node: '>=6.9.0'} - - '@babel/core@7.24.7': - resolution: {integrity: sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==} - engines: {node: '>=6.9.0'} - - '@babel/generator@7.24.7': - resolution: {integrity: sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==} - engines: {node: '>=6.9.0'} - - '@babel/helper-compilation-targets@7.24.7': - resolution: {integrity: sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==} - engines: {node: '>=6.9.0'} - - '@babel/helper-environment-visitor@7.24.7': - resolution: {integrity: sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==} - engines: {node: '>=6.9.0'} - - '@babel/helper-function-name@7.24.7': - resolution: {integrity: sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==} - engines: {node: '>=6.9.0'} - - '@babel/helper-hoist-variables@7.24.7': - resolution: {integrity: sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==} - engines: {node: '>=6.9.0'} - - '@babel/helper-module-imports@7.24.7': - resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} - engines: {node: '>=6.9.0'} - - '@babel/helper-module-transforms@7.24.7': - resolution: {integrity: sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/helper-plugin-utils@7.24.7': - resolution: {integrity: sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==} - engines: {node: '>=6.9.0'} - - '@babel/helper-simple-access@7.24.7': - resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} - engines: {node: '>=6.9.0'} - - '@babel/helper-split-export-declaration@7.24.7': - resolution: {integrity: sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==} - engines: {node: '>=6.9.0'} - - '@babel/helper-string-parser@7.24.7': - resolution: {integrity: sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==} - engines: {node: '>=6.9.0'} - - '@babel/helper-validator-identifier@7.24.7': - resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} - engines: {node: '>=6.9.0'} - - '@babel/helper-validator-option@7.24.7': - resolution: {integrity: sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==} - engines: {node: '>=6.9.0'} - - '@babel/helpers@7.24.7': - resolution: {integrity: sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==} - engines: {node: '>=6.9.0'} - - '@babel/highlight@7.24.7': - resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} - engines: {node: '>=6.9.0'} - - '@babel/parser@7.24.7': - resolution: {integrity: sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==} - engines: {node: '>=6.0.0'} - hasBin: true - - '@babel/plugin-syntax-async-generators@7.8.4': - resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-bigint@7.8.3': - resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-class-properties@7.12.13': - resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-import-meta@7.10.4': - resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-json-strings@7.8.3': - resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-jsx@7.24.7': - resolution: {integrity: sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-logical-assignment-operators@7.10.4': - resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3': - resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-numeric-separator@7.10.4': - resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-object-rest-spread@7.8.3': - resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-optional-catch-binding@7.8.3': - resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-optional-chaining@7.8.3': - resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-top-level-await@7.14.5': - resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-typescript@7.24.7': - resolution: {integrity: sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/template@7.24.7': - resolution: {integrity: sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==} - engines: {node: '>=6.9.0'} - - '@babel/traverse@7.24.7': - resolution: {integrity: sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==} - engines: {node: '>=6.9.0'} - - '@babel/types@7.24.7': - resolution: {integrity: sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==} - engines: {node: '>=6.9.0'} - - '@bcoe/v8-coverage@0.2.3': - resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} - - '@isaacs/cliui@8.0.2': - resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} - engines: {node: '>=12'} - - '@istanbuljs/load-nyc-config@1.1.0': - resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} - engines: {node: '>=8'} - - '@istanbuljs/schema@0.1.3': - resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} - engines: {node: '>=8'} - - '@jest/console@29.7.0': - resolution: {integrity: sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/core@29.7.0': - resolution: {integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - - '@jest/environment@29.7.0': - resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/expect-utils@29.7.0': - resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/expect@29.7.0': - resolution: {integrity: sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/fake-timers@29.7.0': - resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/globals@29.7.0': - resolution: {integrity: sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/reporters@29.7.0': - resolution: {integrity: sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - - '@jest/schemas@29.6.3': - resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/source-map@29.6.3': - resolution: {integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/test-result@29.7.0': - resolution: {integrity: sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/test-sequencer@29.7.0': - resolution: {integrity: sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/transform@29.7.0': - resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/types@29.6.3': - resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jridgewell/gen-mapping@0.3.5': - resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} - engines: {node: '>=6.0.0'} - - '@jridgewell/resolve-uri@3.1.2': - resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} - engines: {node: '>=6.0.0'} - - '@jridgewell/set-array@1.2.1': - resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} - engines: {node: '>=6.0.0'} - - '@jridgewell/sourcemap-codec@1.4.15': - resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - - '@jridgewell/trace-mapping@0.3.25': - resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} - - '@nodelib/fs.scandir@2.1.5': - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} - - '@nodelib/fs.stat@2.0.5': - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} - - '@nodelib/fs.walk@1.2.8': - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} - - '@pkgjs/parseargs@0.11.0': - resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} - engines: {node: '>=14'} - - '@sinclair/typebox@0.27.8': - resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} - - '@sinonjs/commons@3.0.1': - resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} - - '@sinonjs/fake-timers@10.3.0': - resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} - - '@types/babel__core@7.20.5': - resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} - - '@types/babel__generator@7.6.8': - resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} - - '@types/babel__template@7.4.4': - resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} - - '@types/babel__traverse@7.20.6': - resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} - - '@types/diff@5.2.1': - resolution: {integrity: sha512-uxpcuwWJGhe2AR1g8hD9F5OYGCqjqWnBUQFD8gMZsDbv8oPHzxJF6iMO6n8Tk0AdzlxoaaoQhOYlIg/PukVU8g==} - - '@types/graceful-fs@4.1.9': - resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} - - '@types/istanbul-lib-coverage@2.0.6': - resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} - - '@types/istanbul-lib-report@3.0.3': - resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} - - '@types/istanbul-reports@3.0.4': - resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} - - '@types/node@20.14.2': - resolution: {integrity: sha512-xyu6WAMVwv6AKFLB+e/7ySZVr/0zLCzOa7rSpq6jNwpqOrUbcACDWC+53d4n2QHOnDou0fbIsg8wZu/sxrnI4Q==} - - '@types/stack-utils@2.0.3': - resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} - - '@types/yargs-parser@21.0.3': - resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} - - '@types/yargs@17.0.32': - resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} - - ansi-escapes@4.3.2: - resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} - engines: {node: '>=8'} - - ansi-regex@5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} - - ansi-regex@6.0.1: - resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} - engines: {node: '>=12'} - - ansi-styles@3.2.1: - resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} - engines: {node: '>=4'} - - ansi-styles@4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} - - ansi-styles@5.2.0: - resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} - engines: {node: '>=10'} - - ansi-styles@6.2.1: - resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} - engines: {node: '>=12'} - - anymatch@3.1.3: - resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} - engines: {node: '>= 8'} - - argparse@1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} - - array-union@2.1.0: - resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} - engines: {node: '>=8'} - - babel-jest@29.7.0: - resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - '@babel/core': ^7.8.0 - - babel-plugin-istanbul@6.1.1: - resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} - engines: {node: '>=8'} - - babel-plugin-jest-hoist@29.6.3: - resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - babel-preset-current-node-syntax@1.0.1: - resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} - peerDependencies: - '@babel/core': ^7.0.0 - - babel-preset-jest@29.6.3: - resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - '@babel/core': ^7.0.0 - - balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - - brace-expansion@1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} - - brace-expansion@2.0.1: - resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} - - braces@3.0.3: - resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} - engines: {node: '>=8'} - - browserslist@4.23.1: - resolution: {integrity: sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true - - bser@2.1.1: - resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} - - buffer-from@1.1.2: - resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - - callsites@3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} - - camelcase@5.3.1: - resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} - engines: {node: '>=6'} - - camelcase@6.3.0: - resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} - engines: {node: '>=10'} - - caniuse-lite@1.0.30001632: - resolution: {integrity: sha512-udx3o7yHJfUxMLkGohMlVHCvFvWmirKh9JAH/d7WOLPetlH+LTL5cocMZ0t7oZx/mdlOWXti97xLZWc8uURRHg==} - - chalk@2.4.2: - resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} - engines: {node: '>=4'} - - chalk@4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} - - char-regex@1.0.2: - resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} - engines: {node: '>=10'} - - ci-info@3.9.0: - resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} - engines: {node: '>=8'} - - cjs-module-lexer@1.3.1: - resolution: {integrity: sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q==} - - cliui@8.0.1: - resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} - engines: {node: '>=12'} - - co@4.6.0: - resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} - engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} - - collect-v8-coverage@1.0.2: - resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==} - - color-convert@1.9.3: - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} - - color-convert@2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} - - color-name@1.1.3: - resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - - color-name@1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - - concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - - convert-source-map@2.0.0: - resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - - create-jest@29.7.0: - resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - hasBin: true - - cross-spawn@7.0.3: - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} - engines: {node: '>= 8'} - - debug@4.3.5: - resolution: {integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - - dedent@1.5.3: - resolution: {integrity: sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==} - peerDependencies: - babel-plugin-macros: ^3.1.0 - peerDependenciesMeta: - babel-plugin-macros: - optional: true - - deepmerge@4.3.1: - resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} - engines: {node: '>=0.10.0'} - - detect-newline@3.1.0: - resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} - engines: {node: '>=8'} - - diff-sequences@29.6.3: - resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - diff@5.2.0: - resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} - engines: {node: '>=0.3.1'} - - dir-glob@3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} - engines: {node: '>=8'} - - eastasianwidth@0.2.0: - resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - - electron-to-chromium@1.4.799: - resolution: {integrity: sha512-3D3DwWkRTzrdEpntY0hMLYwj7SeBk1138CkPE8sBDSj3WzrzOiG2rHm3luw8jucpf+WiyLBCZyU9lMHyQI9M9Q==} - - emittery@0.13.1: - resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} - engines: {node: '>=12'} - - emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - - emoji-regex@9.2.2: - resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - - error-ex@1.3.2: - resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} - - escalade@3.1.2: - resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} - engines: {node: '>=6'} - - escape-string-regexp@1.0.5: - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} - engines: {node: '>=0.8.0'} - - escape-string-regexp@2.0.0: - resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} - engines: {node: '>=8'} - - esprima@4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} - engines: {node: '>=4'} - hasBin: true - - execa@5.1.1: - resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} - engines: {node: '>=10'} - - exit@0.1.2: - resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} - engines: {node: '>= 0.8.0'} - - expect@29.7.0: - resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - fast-glob@3.3.2: - resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} - engines: {node: '>=8.6.0'} - - fast-json-stable-stringify@2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - - fastq@1.17.1: - resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} - - fb-watchman@2.0.2: - resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} - - fill-range@7.1.1: - resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} - engines: {node: '>=8'} - - find-up@4.1.0: - resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} - engines: {node: '>=8'} - - foreground-child@3.2.0: - resolution: {integrity: sha512-CrWQNaEl1/6WeZoarcM9LHupTo3RpZO2Pdk1vktwzPiQTsJnAKJmm3TACKeG5UZbWDfaH2AbvYxzP96y0MT7fA==} - engines: {node: '>=14'} - - fs.realpath@1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - - fsevents@2.3.3: - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - - function-bind@1.1.2: - resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - - gensync@1.0.0-beta.2: - resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} - engines: {node: '>=6.9.0'} - - get-caller-file@2.0.5: - resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} - engines: {node: 6.* || 8.* || >= 10.*} - - get-package-type@0.1.0: - resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} - engines: {node: '>=8.0.0'} - - get-stream@6.0.1: - resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} - engines: {node: '>=10'} - - glob-parent@5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} - - glob@10.4.1: - resolution: {integrity: sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw==} - engines: {node: '>=16 || 14 >=14.18'} - hasBin: true - - glob@7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} - deprecated: Glob versions prior to v9 are no longer supported - - globals@11.12.0: - resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} - engines: {node: '>=4'} - - globby@11.1.0: - resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} - engines: {node: '>=10'} - - graceful-fs@4.2.11: - resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - - has-flag@3.0.0: - resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} - engines: {node: '>=4'} - - has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} - - hasown@2.0.2: - resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} - engines: {node: '>= 0.4'} - - html-escaper@2.0.2: - resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} - - human-signals@2.1.0: - resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} - engines: {node: '>=10.17.0'} - - ignore@5.3.1: - resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} - engines: {node: '>= 4'} - - import-local@3.1.0: - resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} - engines: {node: '>=8'} - hasBin: true - - imurmurhash@0.1.4: - resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} - engines: {node: '>=0.8.19'} - - inflight@1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} - deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. - - inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - - is-arrayish@0.2.1: - resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} - - is-core-module@2.13.1: - resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} - - is-extglob@2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} - - is-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} - - is-generator-fn@2.1.0: - resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} - engines: {node: '>=6'} - - is-glob@4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} - - is-number@7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} - - is-stream@2.0.1: - resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} - engines: {node: '>=8'} - - isexe@2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - - istanbul-lib-coverage@3.2.2: - resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} - engines: {node: '>=8'} - - istanbul-lib-instrument@5.2.1: - resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} - engines: {node: '>=8'} - - istanbul-lib-instrument@6.0.2: - resolution: {integrity: sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==} - engines: {node: '>=10'} - - istanbul-lib-report@3.0.1: - resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} - engines: {node: '>=10'} - - istanbul-lib-source-maps@4.0.1: - resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} - engines: {node: '>=10'} - - istanbul-reports@3.1.7: - resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} - engines: {node: '>=8'} - - jackspeak@3.4.0: - resolution: {integrity: sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==} - engines: {node: '>=14'} - - jest-changed-files@29.7.0: - resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-circus@29.7.0: - resolution: {integrity: sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-cli@29.7.0: - resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - hasBin: true - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - - jest-config@29.7.0: - resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - '@types/node': '*' - ts-node: '>=9.0.0' - peerDependenciesMeta: - '@types/node': - optional: true - ts-node: - optional: true - - jest-diff@29.7.0: - resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-docblock@29.7.0: - resolution: {integrity: sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-each@29.7.0: - resolution: {integrity: sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-environment-node@29.7.0: - resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-get-type@29.6.3: - resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-haste-map@29.7.0: - resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-leak-detector@29.7.0: - resolution: {integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-matcher-utils@29.7.0: - resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-message-util@29.7.0: - resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-mock@29.7.0: - resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-pnp-resolver@1.2.3: - resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} - engines: {node: '>=6'} - peerDependencies: - jest-resolve: '*' - peerDependenciesMeta: - jest-resolve: - optional: true - - jest-regex-util@29.6.3: - resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-resolve-dependencies@29.7.0: - resolution: {integrity: sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-resolve@29.7.0: - resolution: {integrity: sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-runner@29.7.0: - resolution: {integrity: sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-runtime@29.7.0: - resolution: {integrity: sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-snapshot@29.7.0: - resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-util@29.7.0: - resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-validate@29.7.0: - resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-watcher@29.7.0: - resolution: {integrity: sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-worker@29.7.0: - resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest@29.7.0: - resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - hasBin: true - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - - js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - - js-yaml@3.14.1: - resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} - hasBin: true - - jsesc@2.5.2: - resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} - engines: {node: '>=4'} - hasBin: true - - json-parse-even-better-errors@2.3.1: - resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} - - json5@2.2.3: - resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} - engines: {node: '>=6'} - hasBin: true - - kleur@3.0.3: - resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} - engines: {node: '>=6'} - - leven@3.1.0: - resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} - engines: {node: '>=6'} - - lines-and-columns@1.2.4: - resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - - locate-path@5.0.0: - resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} - engines: {node: '>=8'} - - lru-cache@10.2.2: - resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==} - engines: {node: 14 || >=16.14} - - lru-cache@5.1.1: - resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} - - make-dir@4.0.0: - resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} - engines: {node: '>=10'} - - makeerror@1.0.12: - resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} - - merge-stream@2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - - merge2@1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} - - micromatch@4.0.7: - resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==} - engines: {node: '>=8.6'} - - mimic-fn@2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} - - minimatch@3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - - minimatch@9.0.4: - resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} - engines: {node: '>=16 || 14 >=14.17'} - - minipass@7.1.2: - resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} - engines: {node: '>=16 || 14 >=14.17'} - - ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - - natural-compare@1.4.0: - resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - - node-int64@0.4.0: - resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} - - node-releases@2.0.14: - resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} - - normalize-path@3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} - - npm-run-path@4.0.1: - resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} - engines: {node: '>=8'} - - once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - - onetime@5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} - - p-limit@2.3.0: - resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} - engines: {node: '>=6'} - - p-limit@3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} - - p-locate@4.1.0: - resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} - engines: {node: '>=8'} - - p-try@2.2.0: - resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} - engines: {node: '>=6'} - - parse-json@5.2.0: - resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} - engines: {node: '>=8'} - - path-exists@4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} - - path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} - - path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} - - path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - - path-scurry@1.11.1: - resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} - engines: {node: '>=16 || 14 >=14.18'} - - path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} - - picocolors@1.0.1: - resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} - - picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} - - pirates@4.0.6: - resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} - engines: {node: '>= 6'} - - pkg-dir@4.2.0: - resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} - engines: {node: '>=8'} - - prettier@3.3.2: - resolution: {integrity: sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==} - engines: {node: '>=14'} - hasBin: true - - pretty-format@29.7.0: - resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - prompts@2.4.2: - resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} - engines: {node: '>= 6'} - - pure-rand@6.1.0: - resolution: {integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==} - - queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - - react-is@18.3.1: - resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} - - require-directory@2.1.1: - resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} - engines: {node: '>=0.10.0'} - - resolve-cwd@3.0.0: - resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} - engines: {node: '>=8'} - - resolve-from@5.0.0: - resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} - engines: {node: '>=8'} - - resolve.exports@2.0.2: - resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==} - engines: {node: '>=10'} - - resolve@1.22.8: - resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} - hasBin: true - - reusify@1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - - rimraf@5.0.7: - resolution: {integrity: sha512-nV6YcJo5wbLW77m+8KjH8aB/7/rxQy9SZ0HY5shnwULfS+9nmTtVXAJET5NdZmCzA4fPI/Hm1wo/Po/4mopOdg==} - engines: {node: '>=14.18'} - hasBin: true - - run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - - semver@6.3.1: - resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} - hasBin: true - - semver@7.6.2: - resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} - engines: {node: '>=10'} - hasBin: true - - shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} - - shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} - - signal-exit@3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - - signal-exit@4.1.0: - resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} - engines: {node: '>=14'} - - sisteransi@1.0.5: - resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} - - slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} - - source-map-support@0.5.13: - resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} - - source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} - - sprintf-js@1.0.3: - resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - - stack-utils@2.0.6: - resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} - engines: {node: '>=10'} - - string-length@4.0.2: - resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} - engines: {node: '>=10'} - - string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} - - string-width@5.1.2: - resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} - engines: {node: '>=12'} - - strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} - - strip-ansi@7.1.0: - resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} - engines: {node: '>=12'} - - strip-bom@4.0.0: - resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} - engines: {node: '>=8'} - - strip-final-newline@2.0.0: - resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} - engines: {node: '>=6'} - - strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - - supports-color@5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} - engines: {node: '>=4'} - - supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} - - supports-color@8.1.1: - resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} - engines: {node: '>=10'} - - supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} - - test-exclude@6.0.0: - resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} - engines: {node: '>=8'} - - tmp@0.2.3: - resolution: {integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==} - engines: {node: '>=14.14'} - - tmpl@1.0.5: - resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} - - to-fast-properties@2.0.0: - resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} - engines: {node: '>=4'} - - to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} - - ts-api-utils@1.3.0: - resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} - engines: {node: '>=16'} - peerDependencies: - typescript: '>=4.2.0' - - type-detect@4.0.8: - resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} - engines: {node: '>=4'} - - type-fest@0.21.3: - resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} - engines: {node: '>=10'} - - typescript@5.4.5: - resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} - engines: {node: '>=14.17'} - hasBin: true - - undici-types@5.26.5: - resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - - update-browserslist-db@1.0.16: - resolution: {integrity: sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' - - v8-to-istanbul@9.2.0: - resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==} - engines: {node: '>=10.12.0'} - - walker@1.0.8: - resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} - - which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true - - wrap-ansi@7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} - - wrap-ansi@8.1.0: - resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} - engines: {node: '>=12'} - - wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - - write-file-atomic@4.0.2: - resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - - y18n@5.0.8: - resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} - engines: {node: '>=10'} - - yallist@3.1.1: - resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - - yargs-parser@21.1.1: - resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} - engines: {node: '>=12'} - - yargs@17.7.2: - resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} - engines: {node: '>=12'} - - yocto-queue@0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} - -snapshots: - - '@ampproject/remapping@2.3.0': - dependencies: - '@jridgewell/gen-mapping': 0.3.5 - '@jridgewell/trace-mapping': 0.3.25 - - '@babel/code-frame@7.24.7': - dependencies: - '@babel/highlight': 7.24.7 - picocolors: 1.0.1 - - '@babel/compat-data@7.24.7': {} - - '@babel/core@7.24.7': - dependencies: - '@ampproject/remapping': 2.3.0 - '@babel/code-frame': 7.24.7 - '@babel/generator': 7.24.7 - '@babel/helper-compilation-targets': 7.24.7 - '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) - '@babel/helpers': 7.24.7 - '@babel/parser': 7.24.7 - '@babel/template': 7.24.7 - '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 - convert-source-map: 2.0.0 - debug: 4.3.5 - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/generator@7.24.7': - dependencies: - '@babel/types': 7.24.7 - '@jridgewell/gen-mapping': 0.3.5 - '@jridgewell/trace-mapping': 0.3.25 - jsesc: 2.5.2 - - '@babel/helper-compilation-targets@7.24.7': - dependencies: - '@babel/compat-data': 7.24.7 - '@babel/helper-validator-option': 7.24.7 - browserslist: 4.23.1 - lru-cache: 5.1.1 - semver: 6.3.1 - - '@babel/helper-environment-visitor@7.24.7': - dependencies: - '@babel/types': 7.24.7 - - '@babel/helper-function-name@7.24.7': - dependencies: - '@babel/template': 7.24.7 - '@babel/types': 7.24.7 - - '@babel/helper-hoist-variables@7.24.7': - dependencies: - '@babel/types': 7.24.7 - - '@babel/helper-module-imports@7.24.7': - dependencies: - '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 - transitivePeerDependencies: - - supports-color - - '@babel/helper-module-transforms@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-module-imports': 7.24.7 - '@babel/helper-simple-access': 7.24.7 - '@babel/helper-split-export-declaration': 7.24.7 - '@babel/helper-validator-identifier': 7.24.7 - transitivePeerDependencies: - - supports-color - - '@babel/helper-plugin-utils@7.24.7': {} - - '@babel/helper-simple-access@7.24.7': - dependencies: - '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 - transitivePeerDependencies: - - supports-color - - '@babel/helper-split-export-declaration@7.24.7': - dependencies: - '@babel/types': 7.24.7 - - '@babel/helper-string-parser@7.24.7': {} - - '@babel/helper-validator-identifier@7.24.7': {} - - '@babel/helper-validator-option@7.24.7': {} - - '@babel/helpers@7.24.7': - dependencies: - '@babel/template': 7.24.7 - '@babel/types': 7.24.7 - - '@babel/highlight@7.24.7': - dependencies: - '@babel/helper-validator-identifier': 7.24.7 - chalk: 2.4.2 - js-tokens: 4.0.0 - picocolors: 1.0.1 - - '@babel/parser@7.24.7': - dependencies: - '@babel/types': 7.24.7 - - '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/plugin-syntax-typescript@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - - '@babel/template@7.24.7': - dependencies: - '@babel/code-frame': 7.24.7 - '@babel/parser': 7.24.7 - '@babel/types': 7.24.7 - - '@babel/traverse@7.24.7': - dependencies: - '@babel/code-frame': 7.24.7 - '@babel/generator': 7.24.7 - '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-function-name': 7.24.7 - '@babel/helper-hoist-variables': 7.24.7 - '@babel/helper-split-export-declaration': 7.24.7 - '@babel/parser': 7.24.7 - '@babel/types': 7.24.7 - debug: 4.3.5 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - - '@babel/types@7.24.7': - dependencies: - '@babel/helper-string-parser': 7.24.7 - '@babel/helper-validator-identifier': 7.24.7 - to-fast-properties: 2.0.0 - - '@bcoe/v8-coverage@0.2.3': {} - - '@isaacs/cliui@8.0.2': - dependencies: - string-width: 5.1.2 - string-width-cjs: string-width@4.2.3 - strip-ansi: 7.1.0 - strip-ansi-cjs: strip-ansi@6.0.1 - wrap-ansi: 8.1.0 - wrap-ansi-cjs: wrap-ansi@7.0.0 - - '@istanbuljs/load-nyc-config@1.1.0': - dependencies: - camelcase: 5.3.1 - find-up: 4.1.0 - get-package-type: 0.1.0 - js-yaml: 3.14.1 - resolve-from: 5.0.0 - - '@istanbuljs/schema@0.1.3': {} - - '@jest/console@29.7.0': - dependencies: - '@jest/types': 29.6.3 - '@types/node': 20.14.2 - chalk: 4.1.2 - jest-message-util: 29.7.0 - jest-util: 29.7.0 - slash: 3.0.0 - - '@jest/core@29.7.0': - dependencies: - '@jest/console': 29.7.0 - '@jest/reporters': 29.7.0 - '@jest/test-result': 29.7.0 - '@jest/transform': 29.7.0 - '@jest/types': 29.6.3 - '@types/node': 20.14.2 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - ci-info: 3.9.0 - exit: 0.1.2 - graceful-fs: 4.2.11 - jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@20.14.2) - jest-haste-map: 29.7.0 - jest-message-util: 29.7.0 - jest-regex-util: 29.6.3 - jest-resolve: 29.7.0 - jest-resolve-dependencies: 29.7.0 - jest-runner: 29.7.0 - jest-runtime: 29.7.0 - jest-snapshot: 29.7.0 - jest-util: 29.7.0 - jest-validate: 29.7.0 - jest-watcher: 29.7.0 - micromatch: 4.0.7 - pretty-format: 29.7.0 - slash: 3.0.0 - strip-ansi: 6.0.1 - transitivePeerDependencies: - - babel-plugin-macros - - supports-color - - ts-node - - '@jest/environment@29.7.0': - dependencies: - '@jest/fake-timers': 29.7.0 - '@jest/types': 29.6.3 - '@types/node': 20.14.2 - jest-mock: 29.7.0 - - '@jest/expect-utils@29.7.0': - dependencies: - jest-get-type: 29.6.3 - - '@jest/expect@29.7.0': - dependencies: - expect: 29.7.0 - jest-snapshot: 29.7.0 - transitivePeerDependencies: - - supports-color - - '@jest/fake-timers@29.7.0': - dependencies: - '@jest/types': 29.6.3 - '@sinonjs/fake-timers': 10.3.0 - '@types/node': 20.14.2 - jest-message-util: 29.7.0 - jest-mock: 29.7.0 - jest-util: 29.7.0 - - '@jest/globals@29.7.0': - dependencies: - '@jest/environment': 29.7.0 - '@jest/expect': 29.7.0 - '@jest/types': 29.6.3 - jest-mock: 29.7.0 - transitivePeerDependencies: - - supports-color - - '@jest/reporters@29.7.0': - dependencies: - '@bcoe/v8-coverage': 0.2.3 - '@jest/console': 29.7.0 - '@jest/test-result': 29.7.0 - '@jest/transform': 29.7.0 - '@jest/types': 29.6.3 - '@jridgewell/trace-mapping': 0.3.25 - '@types/node': 20.14.2 - chalk: 4.1.2 - collect-v8-coverage: 1.0.2 - exit: 0.1.2 - glob: 7.2.3 - graceful-fs: 4.2.11 - istanbul-lib-coverage: 3.2.2 - istanbul-lib-instrument: 6.0.2 - istanbul-lib-report: 3.0.1 - istanbul-lib-source-maps: 4.0.1 - istanbul-reports: 3.1.7 - jest-message-util: 29.7.0 - jest-util: 29.7.0 - jest-worker: 29.7.0 - slash: 3.0.0 - string-length: 4.0.2 - strip-ansi: 6.0.1 - v8-to-istanbul: 9.2.0 - transitivePeerDependencies: - - supports-color - - '@jest/schemas@29.6.3': - dependencies: - '@sinclair/typebox': 0.27.8 - - '@jest/source-map@29.6.3': - dependencies: - '@jridgewell/trace-mapping': 0.3.25 - callsites: 3.1.0 - graceful-fs: 4.2.11 - - '@jest/test-result@29.7.0': - dependencies: - '@jest/console': 29.7.0 - '@jest/types': 29.6.3 - '@types/istanbul-lib-coverage': 2.0.6 - collect-v8-coverage: 1.0.2 - - '@jest/test-sequencer@29.7.0': - dependencies: - '@jest/test-result': 29.7.0 - graceful-fs: 4.2.11 - jest-haste-map: 29.7.0 - slash: 3.0.0 - - '@jest/transform@29.7.0': - dependencies: - '@babel/core': 7.24.7 - '@jest/types': 29.6.3 - '@jridgewell/trace-mapping': 0.3.25 - babel-plugin-istanbul: 6.1.1 - chalk: 4.1.2 - convert-source-map: 2.0.0 - fast-json-stable-stringify: 2.1.0 - graceful-fs: 4.2.11 - jest-haste-map: 29.7.0 - jest-regex-util: 29.6.3 - jest-util: 29.7.0 - micromatch: 4.0.7 - pirates: 4.0.6 - slash: 3.0.0 - write-file-atomic: 4.0.2 - transitivePeerDependencies: - - supports-color - - '@jest/types@29.6.3': - dependencies: - '@jest/schemas': 29.6.3 - '@types/istanbul-lib-coverage': 2.0.6 - '@types/istanbul-reports': 3.0.4 - '@types/node': 20.14.2 - '@types/yargs': 17.0.32 - chalk: 4.1.2 - - '@jridgewell/gen-mapping@0.3.5': - dependencies: - '@jridgewell/set-array': 1.2.1 - '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.25 - - '@jridgewell/resolve-uri@3.1.2': {} - - '@jridgewell/set-array@1.2.1': {} - - '@jridgewell/sourcemap-codec@1.4.15': {} - - '@jridgewell/trace-mapping@0.3.25': - dependencies: - '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 - - '@nodelib/fs.scandir@2.1.5': - dependencies: - '@nodelib/fs.stat': 2.0.5 - run-parallel: 1.2.0 - - '@nodelib/fs.stat@2.0.5': {} - - '@nodelib/fs.walk@1.2.8': - dependencies: - '@nodelib/fs.scandir': 2.1.5 - fastq: 1.17.1 - - '@pkgjs/parseargs@0.11.0': - optional: true - - '@sinclair/typebox@0.27.8': {} - - '@sinonjs/commons@3.0.1': - dependencies: - type-detect: 4.0.8 - - '@sinonjs/fake-timers@10.3.0': - dependencies: - '@sinonjs/commons': 3.0.1 - - '@types/babel__core@7.20.5': - dependencies: - '@babel/parser': 7.24.7 - '@babel/types': 7.24.7 - '@types/babel__generator': 7.6.8 - '@types/babel__template': 7.4.4 - '@types/babel__traverse': 7.20.6 - - '@types/babel__generator@7.6.8': - dependencies: - '@babel/types': 7.24.7 - - '@types/babel__template@7.4.4': - dependencies: - '@babel/parser': 7.24.7 - '@babel/types': 7.24.7 - - '@types/babel__traverse@7.20.6': - dependencies: - '@babel/types': 7.24.7 - - '@types/diff@5.2.1': {} - - '@types/graceful-fs@4.1.9': - dependencies: - '@types/node': 20.14.2 - - '@types/istanbul-lib-coverage@2.0.6': {} - - '@types/istanbul-lib-report@3.0.3': - dependencies: - '@types/istanbul-lib-coverage': 2.0.6 - - '@types/istanbul-reports@3.0.4': - dependencies: - '@types/istanbul-lib-report': 3.0.3 - - '@types/node@20.14.2': - dependencies: - undici-types: 5.26.5 - - '@types/stack-utils@2.0.3': {} - - '@types/yargs-parser@21.0.3': {} - - '@types/yargs@17.0.32': - dependencies: - '@types/yargs-parser': 21.0.3 - - ansi-escapes@4.3.2: - dependencies: - type-fest: 0.21.3 - - ansi-regex@5.0.1: {} - - ansi-regex@6.0.1: {} - - ansi-styles@3.2.1: - dependencies: - color-convert: 1.9.3 - - ansi-styles@4.3.0: - dependencies: - color-convert: 2.0.1 - - ansi-styles@5.2.0: {} - - ansi-styles@6.2.1: {} - - anymatch@3.1.3: - dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.1 - - argparse@1.0.10: - dependencies: - sprintf-js: 1.0.3 - - array-union@2.1.0: {} - - babel-jest@29.7.0(@babel/core@7.24.7): - dependencies: - '@babel/core': 7.24.7 - '@jest/transform': 29.7.0 - '@types/babel__core': 7.20.5 - babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 29.6.3(@babel/core@7.24.7) - chalk: 4.1.2 - graceful-fs: 4.2.11 - slash: 3.0.0 - transitivePeerDependencies: - - supports-color - - babel-plugin-istanbul@6.1.1: - dependencies: - '@babel/helper-plugin-utils': 7.24.7 - '@istanbuljs/load-nyc-config': 1.1.0 - '@istanbuljs/schema': 0.1.3 - istanbul-lib-instrument: 5.2.1 - test-exclude: 6.0.0 - transitivePeerDependencies: - - supports-color - - babel-plugin-jest-hoist@29.6.3: - dependencies: - '@babel/template': 7.24.7 - '@babel/types': 7.24.7 - '@types/babel__core': 7.20.5 - '@types/babel__traverse': 7.20.6 - - babel-preset-current-node-syntax@1.0.1(@babel/core@7.24.7): - dependencies: - '@babel/core': 7.24.7 - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.7) - '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.7) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.7) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.7) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.7) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.7) - - babel-preset-jest@29.6.3(@babel/core@7.24.7): - dependencies: - '@babel/core': 7.24.7 - babel-plugin-jest-hoist: 29.6.3 - babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.7) - - balanced-match@1.0.2: {} - - brace-expansion@1.1.11: - dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 - - brace-expansion@2.0.1: - dependencies: - balanced-match: 1.0.2 - - braces@3.0.3: - dependencies: - fill-range: 7.1.1 - - browserslist@4.23.1: - dependencies: - caniuse-lite: 1.0.30001632 - electron-to-chromium: 1.4.799 - node-releases: 2.0.14 - update-browserslist-db: 1.0.16(browserslist@4.23.1) - - bser@2.1.1: - dependencies: - node-int64: 0.4.0 - - buffer-from@1.1.2: {} - - callsites@3.1.0: {} - - camelcase@5.3.1: {} - - camelcase@6.3.0: {} - - caniuse-lite@1.0.30001632: {} - - chalk@2.4.2: - dependencies: - ansi-styles: 3.2.1 - escape-string-regexp: 1.0.5 - supports-color: 5.5.0 - - chalk@4.1.2: - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - - char-regex@1.0.2: {} - - ci-info@3.9.0: {} - - cjs-module-lexer@1.3.1: {} - - cliui@8.0.1: - dependencies: - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 7.0.0 - - co@4.6.0: {} - - collect-v8-coverage@1.0.2: {} - - color-convert@1.9.3: - dependencies: - color-name: 1.1.3 - - color-convert@2.0.1: - dependencies: - color-name: 1.1.4 - - color-name@1.1.3: {} - - color-name@1.1.4: {} - - concat-map@0.0.1: {} - - convert-source-map@2.0.0: {} - - create-jest@29.7.0(@types/node@20.14.2): - dependencies: - '@jest/types': 29.6.3 - chalk: 4.1.2 - exit: 0.1.2 - graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@20.14.2) - jest-util: 29.7.0 - prompts: 2.4.2 - transitivePeerDependencies: - - '@types/node' - - babel-plugin-macros - - supports-color - - ts-node - - cross-spawn@7.0.3: - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - - debug@4.3.5: - dependencies: - ms: 2.1.2 - - dedent@1.5.3: {} - - deepmerge@4.3.1: {} - - detect-newline@3.1.0: {} - - diff-sequences@29.6.3: {} - - diff@5.2.0: {} - - dir-glob@3.0.1: - dependencies: - path-type: 4.0.0 - - eastasianwidth@0.2.0: {} - - electron-to-chromium@1.4.799: {} - - emittery@0.13.1: {} - - emoji-regex@8.0.0: {} - - emoji-regex@9.2.2: {} - - error-ex@1.3.2: - dependencies: - is-arrayish: 0.2.1 - - escalade@3.1.2: {} - - escape-string-regexp@1.0.5: {} - - escape-string-regexp@2.0.0: {} - - esprima@4.0.1: {} - - execa@5.1.1: - dependencies: - cross-spawn: 7.0.3 - get-stream: 6.0.1 - human-signals: 2.1.0 - is-stream: 2.0.1 - merge-stream: 2.0.0 - npm-run-path: 4.0.1 - onetime: 5.1.2 - signal-exit: 3.0.7 - strip-final-newline: 2.0.0 - - exit@0.1.2: {} - - expect@29.7.0: - dependencies: - '@jest/expect-utils': 29.7.0 - jest-get-type: 29.6.3 - jest-matcher-utils: 29.7.0 - jest-message-util: 29.7.0 - jest-util: 29.7.0 - - fast-glob@3.3.2: - dependencies: - '@nodelib/fs.stat': 2.0.5 - '@nodelib/fs.walk': 1.2.8 - glob-parent: 5.1.2 - merge2: 1.4.1 - micromatch: 4.0.7 - - fast-json-stable-stringify@2.1.0: {} - - fastq@1.17.1: - dependencies: - reusify: 1.0.4 - - fb-watchman@2.0.2: - dependencies: - bser: 2.1.1 - - fill-range@7.1.1: - dependencies: - to-regex-range: 5.0.1 - - find-up@4.1.0: - dependencies: - locate-path: 5.0.0 - path-exists: 4.0.0 - - foreground-child@3.2.0: - dependencies: - cross-spawn: 7.0.3 - signal-exit: 4.1.0 - - fs.realpath@1.0.0: {} - - fsevents@2.3.3: - optional: true - - function-bind@1.1.2: {} - - gensync@1.0.0-beta.2: {} - - get-caller-file@2.0.5: {} - - get-package-type@0.1.0: {} - - get-stream@6.0.1: {} - - glob-parent@5.1.2: - dependencies: - is-glob: 4.0.3 - - glob@10.4.1: - dependencies: - foreground-child: 3.2.0 - jackspeak: 3.4.0 - minimatch: 9.0.4 - minipass: 7.1.2 - path-scurry: 1.11.1 - - glob@7.2.3: - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 - - globals@11.12.0: {} - - globby@11.1.0: - dependencies: - array-union: 2.1.0 - dir-glob: 3.0.1 - fast-glob: 3.3.2 - ignore: 5.3.1 - merge2: 1.4.1 - slash: 3.0.0 - - graceful-fs@4.2.11: {} - - has-flag@3.0.0: {} - - has-flag@4.0.0: {} - - hasown@2.0.2: - dependencies: - function-bind: 1.1.2 - - html-escaper@2.0.2: {} - - human-signals@2.1.0: {} - - ignore@5.3.1: {} - - import-local@3.1.0: - dependencies: - pkg-dir: 4.2.0 - resolve-cwd: 3.0.0 - - imurmurhash@0.1.4: {} - - inflight@1.0.6: - dependencies: - once: 1.4.0 - wrappy: 1.0.2 - - inherits@2.0.4: {} - - is-arrayish@0.2.1: {} - - is-core-module@2.13.1: - dependencies: - hasown: 2.0.2 - - is-extglob@2.1.1: {} - - is-fullwidth-code-point@3.0.0: {} - - is-generator-fn@2.1.0: {} - - is-glob@4.0.3: - dependencies: - is-extglob: 2.1.1 - - is-number@7.0.0: {} - - is-stream@2.0.1: {} - - isexe@2.0.0: {} - - istanbul-lib-coverage@3.2.2: {} - - istanbul-lib-instrument@5.2.1: - dependencies: - '@babel/core': 7.24.7 - '@babel/parser': 7.24.7 - '@istanbuljs/schema': 0.1.3 - istanbul-lib-coverage: 3.2.2 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - istanbul-lib-instrument@6.0.2: - dependencies: - '@babel/core': 7.24.7 - '@babel/parser': 7.24.7 - '@istanbuljs/schema': 0.1.3 - istanbul-lib-coverage: 3.2.2 - semver: 7.6.2 - transitivePeerDependencies: - - supports-color - - istanbul-lib-report@3.0.1: - dependencies: - istanbul-lib-coverage: 3.2.2 - make-dir: 4.0.0 - supports-color: 7.2.0 - - istanbul-lib-source-maps@4.0.1: - dependencies: - debug: 4.3.5 - istanbul-lib-coverage: 3.2.2 - source-map: 0.6.1 - transitivePeerDependencies: - - supports-color - - istanbul-reports@3.1.7: - dependencies: - html-escaper: 2.0.2 - istanbul-lib-report: 3.0.1 - - jackspeak@3.4.0: - dependencies: - '@isaacs/cliui': 8.0.2 - optionalDependencies: - '@pkgjs/parseargs': 0.11.0 - - jest-changed-files@29.7.0: - dependencies: - execa: 5.1.1 - jest-util: 29.7.0 - p-limit: 3.1.0 - - jest-circus@29.7.0: - dependencies: - '@jest/environment': 29.7.0 - '@jest/expect': 29.7.0 - '@jest/test-result': 29.7.0 - '@jest/types': 29.6.3 - '@types/node': 20.14.2 - chalk: 4.1.2 - co: 4.6.0 - dedent: 1.5.3 - is-generator-fn: 2.1.0 - jest-each: 29.7.0 - jest-matcher-utils: 29.7.0 - jest-message-util: 29.7.0 - jest-runtime: 29.7.0 - jest-snapshot: 29.7.0 - jest-util: 29.7.0 - p-limit: 3.1.0 - pretty-format: 29.7.0 - pure-rand: 6.1.0 - slash: 3.0.0 - stack-utils: 2.0.6 - transitivePeerDependencies: - - babel-plugin-macros - - supports-color - - jest-cli@29.7.0(@types/node@20.14.2): - dependencies: - '@jest/core': 29.7.0 - '@jest/test-result': 29.7.0 - '@jest/types': 29.6.3 - chalk: 4.1.2 - create-jest: 29.7.0(@types/node@20.14.2) - exit: 0.1.2 - import-local: 3.1.0 - jest-config: 29.7.0(@types/node@20.14.2) - jest-util: 29.7.0 - jest-validate: 29.7.0 - yargs: 17.7.2 - transitivePeerDependencies: - - '@types/node' - - babel-plugin-macros - - supports-color - - ts-node - - jest-config@29.7.0(@types/node@20.14.2): - dependencies: - '@babel/core': 7.24.7 - '@jest/test-sequencer': 29.7.0 - '@jest/types': 29.6.3 - babel-jest: 29.7.0(@babel/core@7.24.7) - chalk: 4.1.2 - ci-info: 3.9.0 - deepmerge: 4.3.1 - glob: 7.2.3 - graceful-fs: 4.2.11 - jest-circus: 29.7.0 - jest-environment-node: 29.7.0 - jest-get-type: 29.6.3 - jest-regex-util: 29.6.3 - jest-resolve: 29.7.0 - jest-runner: 29.7.0 - jest-util: 29.7.0 - jest-validate: 29.7.0 - micromatch: 4.0.7 - parse-json: 5.2.0 - pretty-format: 29.7.0 - slash: 3.0.0 - strip-json-comments: 3.1.1 - optionalDependencies: - '@types/node': 20.14.2 - transitivePeerDependencies: - - babel-plugin-macros - - supports-color - - jest-diff@29.7.0: - dependencies: - chalk: 4.1.2 - diff-sequences: 29.6.3 - jest-get-type: 29.6.3 - pretty-format: 29.7.0 - - jest-docblock@29.7.0: - dependencies: - detect-newline: 3.1.0 - - jest-each@29.7.0: - dependencies: - '@jest/types': 29.6.3 - chalk: 4.1.2 - jest-get-type: 29.6.3 - jest-util: 29.7.0 - pretty-format: 29.7.0 - - jest-environment-node@29.7.0: - dependencies: - '@jest/environment': 29.7.0 - '@jest/fake-timers': 29.7.0 - '@jest/types': 29.6.3 - '@types/node': 20.14.2 - jest-mock: 29.7.0 - jest-util: 29.7.0 - - jest-get-type@29.6.3: {} - - jest-haste-map@29.7.0: - dependencies: - '@jest/types': 29.6.3 - '@types/graceful-fs': 4.1.9 - '@types/node': 20.14.2 - anymatch: 3.1.3 - fb-watchman: 2.0.2 - graceful-fs: 4.2.11 - jest-regex-util: 29.6.3 - jest-util: 29.7.0 - jest-worker: 29.7.0 - micromatch: 4.0.7 - walker: 1.0.8 - optionalDependencies: - fsevents: 2.3.3 - - jest-leak-detector@29.7.0: - dependencies: - jest-get-type: 29.6.3 - pretty-format: 29.7.0 - - jest-matcher-utils@29.7.0: - dependencies: - chalk: 4.1.2 - jest-diff: 29.7.0 - jest-get-type: 29.6.3 - pretty-format: 29.7.0 - - jest-message-util@29.7.0: - dependencies: - '@babel/code-frame': 7.24.7 - '@jest/types': 29.6.3 - '@types/stack-utils': 2.0.3 - chalk: 4.1.2 - graceful-fs: 4.2.11 - micromatch: 4.0.7 - pretty-format: 29.7.0 - slash: 3.0.0 - stack-utils: 2.0.6 - - jest-mock@29.7.0: - dependencies: - '@jest/types': 29.6.3 - '@types/node': 20.14.2 - jest-util: 29.7.0 - - jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): - optionalDependencies: - jest-resolve: 29.7.0 - - jest-regex-util@29.6.3: {} - - jest-resolve-dependencies@29.7.0: - dependencies: - jest-regex-util: 29.6.3 - jest-snapshot: 29.7.0 - transitivePeerDependencies: - - supports-color - - jest-resolve@29.7.0: - dependencies: - chalk: 4.1.2 - graceful-fs: 4.2.11 - jest-haste-map: 29.7.0 - jest-pnp-resolver: 1.2.3(jest-resolve@29.7.0) - jest-util: 29.7.0 - jest-validate: 29.7.0 - resolve: 1.22.8 - resolve.exports: 2.0.2 - slash: 3.0.0 - - jest-runner@29.7.0: - dependencies: - '@jest/console': 29.7.0 - '@jest/environment': 29.7.0 - '@jest/test-result': 29.7.0 - '@jest/transform': 29.7.0 - '@jest/types': 29.6.3 - '@types/node': 20.14.2 - chalk: 4.1.2 - emittery: 0.13.1 - graceful-fs: 4.2.11 - jest-docblock: 29.7.0 - jest-environment-node: 29.7.0 - jest-haste-map: 29.7.0 - jest-leak-detector: 29.7.0 - jest-message-util: 29.7.0 - jest-resolve: 29.7.0 - jest-runtime: 29.7.0 - jest-util: 29.7.0 - jest-watcher: 29.7.0 - jest-worker: 29.7.0 - p-limit: 3.1.0 - source-map-support: 0.5.13 - transitivePeerDependencies: - - supports-color - - jest-runtime@29.7.0: - dependencies: - '@jest/environment': 29.7.0 - '@jest/fake-timers': 29.7.0 - '@jest/globals': 29.7.0 - '@jest/source-map': 29.6.3 - '@jest/test-result': 29.7.0 - '@jest/transform': 29.7.0 - '@jest/types': 29.6.3 - '@types/node': 20.14.2 - chalk: 4.1.2 - cjs-module-lexer: 1.3.1 - collect-v8-coverage: 1.0.2 - glob: 7.2.3 - graceful-fs: 4.2.11 - jest-haste-map: 29.7.0 - jest-message-util: 29.7.0 - jest-mock: 29.7.0 - jest-regex-util: 29.6.3 - jest-resolve: 29.7.0 - jest-snapshot: 29.7.0 - jest-util: 29.7.0 - slash: 3.0.0 - strip-bom: 4.0.0 - transitivePeerDependencies: - - supports-color - - jest-snapshot@29.7.0: - dependencies: - '@babel/core': 7.24.7 - '@babel/generator': 7.24.7 - '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-syntax-typescript': 7.24.7(@babel/core@7.24.7) - '@babel/types': 7.24.7 - '@jest/expect-utils': 29.7.0 - '@jest/transform': 29.7.0 - '@jest/types': 29.6.3 - babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.7) - chalk: 4.1.2 - expect: 29.7.0 - graceful-fs: 4.2.11 - jest-diff: 29.7.0 - jest-get-type: 29.6.3 - jest-matcher-utils: 29.7.0 - jest-message-util: 29.7.0 - jest-util: 29.7.0 - natural-compare: 1.4.0 - pretty-format: 29.7.0 - semver: 7.6.2 - transitivePeerDependencies: - - supports-color - - jest-util@29.7.0: - dependencies: - '@jest/types': 29.6.3 - '@types/node': 20.14.2 - chalk: 4.1.2 - ci-info: 3.9.0 - graceful-fs: 4.2.11 - picomatch: 2.3.1 - - jest-validate@29.7.0: - dependencies: - '@jest/types': 29.6.3 - camelcase: 6.3.0 - chalk: 4.1.2 - jest-get-type: 29.6.3 - leven: 3.1.0 - pretty-format: 29.7.0 - - jest-watcher@29.7.0: - dependencies: - '@jest/test-result': 29.7.0 - '@jest/types': 29.6.3 - '@types/node': 20.14.2 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - emittery: 0.13.1 - jest-util: 29.7.0 - string-length: 4.0.2 - - jest-worker@29.7.0: - dependencies: - '@types/node': 20.14.2 - jest-util: 29.7.0 - merge-stream: 2.0.0 - supports-color: 8.1.1 - - jest@29.7.0(@types/node@20.14.2): - dependencies: - '@jest/core': 29.7.0 - '@jest/types': 29.6.3 - import-local: 3.1.0 - jest-cli: 29.7.0(@types/node@20.14.2) - transitivePeerDependencies: - - '@types/node' - - babel-plugin-macros - - supports-color - - ts-node - - js-tokens@4.0.0: {} - - js-yaml@3.14.1: - dependencies: - argparse: 1.0.10 - esprima: 4.0.1 - - jsesc@2.5.2: {} - - json-parse-even-better-errors@2.3.1: {} - - json5@2.2.3: {} - - kleur@3.0.3: {} - - leven@3.1.0: {} - - lines-and-columns@1.2.4: {} - - locate-path@5.0.0: - dependencies: - p-locate: 4.1.0 - - lru-cache@10.2.2: {} - - lru-cache@5.1.1: - dependencies: - yallist: 3.1.1 - - make-dir@4.0.0: - dependencies: - semver: 7.6.2 - - makeerror@1.0.12: - dependencies: - tmpl: 1.0.5 - - merge-stream@2.0.0: {} - - merge2@1.4.1: {} - - micromatch@4.0.7: - dependencies: - braces: 3.0.3 - picomatch: 2.3.1 - - mimic-fn@2.1.0: {} - - minimatch@3.1.2: - dependencies: - brace-expansion: 1.1.11 - - minimatch@9.0.4: - dependencies: - brace-expansion: 2.0.1 - - minipass@7.1.2: {} - - ms@2.1.2: {} - - natural-compare@1.4.0: {} - - node-int64@0.4.0: {} - - node-releases@2.0.14: {} - - normalize-path@3.0.0: {} - - npm-run-path@4.0.1: - dependencies: - path-key: 3.1.1 - - once@1.4.0: - dependencies: - wrappy: 1.0.2 - - onetime@5.1.2: - dependencies: - mimic-fn: 2.1.0 - - p-limit@2.3.0: - dependencies: - p-try: 2.2.0 - - p-limit@3.1.0: - dependencies: - yocto-queue: 0.1.0 - - p-locate@4.1.0: - dependencies: - p-limit: 2.3.0 - - p-try@2.2.0: {} - - parse-json@5.2.0: - dependencies: - '@babel/code-frame': 7.24.7 - error-ex: 1.3.2 - json-parse-even-better-errors: 2.3.1 - lines-and-columns: 1.2.4 - - path-exists@4.0.0: {} - - path-is-absolute@1.0.1: {} - - path-key@3.1.1: {} - - path-parse@1.0.7: {} - - path-scurry@1.11.1: - dependencies: - lru-cache: 10.2.2 - minipass: 7.1.2 - - path-type@4.0.0: {} - - picocolors@1.0.1: {} - - picomatch@2.3.1: {} - - pirates@4.0.6: {} - - pkg-dir@4.2.0: - dependencies: - find-up: 4.1.0 - - prettier@3.3.2: {} - - pretty-format@29.7.0: - dependencies: - '@jest/schemas': 29.6.3 - ansi-styles: 5.2.0 - react-is: 18.3.1 - - prompts@2.4.2: - dependencies: - kleur: 3.0.3 - sisteransi: 1.0.5 - - pure-rand@6.1.0: {} - - queue-microtask@1.2.3: {} - - react-is@18.3.1: {} - - require-directory@2.1.1: {} - - resolve-cwd@3.0.0: - dependencies: - resolve-from: 5.0.0 - - resolve-from@5.0.0: {} - - resolve.exports@2.0.2: {} - - resolve@1.22.8: - dependencies: - is-core-module: 2.13.1 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - - reusify@1.0.4: {} - - rimraf@5.0.7: - dependencies: - glob: 10.4.1 - - run-parallel@1.2.0: - dependencies: - queue-microtask: 1.2.3 - - semver@6.3.1: {} - - semver@7.6.2: {} - - shebang-command@2.0.0: - dependencies: - shebang-regex: 3.0.0 - - shebang-regex@3.0.0: {} - - signal-exit@3.0.7: {} - - signal-exit@4.1.0: {} - - sisteransi@1.0.5: {} - - slash@3.0.0: {} - - source-map-support@0.5.13: - dependencies: - buffer-from: 1.1.2 - source-map: 0.6.1 - - source-map@0.6.1: {} - - sprintf-js@1.0.3: {} - - stack-utils@2.0.6: - dependencies: - escape-string-regexp: 2.0.0 - - string-length@4.0.2: - dependencies: - char-regex: 1.0.2 - strip-ansi: 6.0.1 - - string-width@4.2.3: - dependencies: - emoji-regex: 8.0.0 - is-fullwidth-code-point: 3.0.0 - strip-ansi: 6.0.1 - - string-width@5.1.2: - dependencies: - eastasianwidth: 0.2.0 - emoji-regex: 9.2.2 - strip-ansi: 7.1.0 - - strip-ansi@6.0.1: - dependencies: - ansi-regex: 5.0.1 - - strip-ansi@7.1.0: - dependencies: - ansi-regex: 6.0.1 - - strip-bom@4.0.0: {} - - strip-final-newline@2.0.0: {} - - strip-json-comments@3.1.1: {} - - supports-color@5.5.0: - dependencies: - has-flag: 3.0.0 - - supports-color@7.2.0: - dependencies: - has-flag: 4.0.0 - - supports-color@8.1.1: - dependencies: - has-flag: 4.0.0 - - supports-preserve-symlinks-flag@1.0.0: {} - - test-exclude@6.0.0: - dependencies: - '@istanbuljs/schema': 0.1.3 - glob: 7.2.3 - minimatch: 3.1.2 - - tmp@0.2.3: {} - - tmpl@1.0.5: {} - - to-fast-properties@2.0.0: {} - - to-regex-range@5.0.1: - dependencies: - is-number: 7.0.0 - - ts-api-utils@1.3.0(typescript@5.4.5): - dependencies: - typescript: 5.4.5 - - type-detect@4.0.8: {} - - type-fest@0.21.3: {} - - typescript@5.4.5: {} - - undici-types@5.26.5: {} - - update-browserslist-db@1.0.16(browserslist@4.23.1): - dependencies: - browserslist: 4.23.1 - escalade: 3.1.2 - picocolors: 1.0.1 - - v8-to-istanbul@9.2.0: - dependencies: - '@jridgewell/trace-mapping': 0.3.25 - '@types/istanbul-lib-coverage': 2.0.6 - convert-source-map: 2.0.0 - - walker@1.0.8: - dependencies: - makeerror: 1.0.12 - - which@2.0.2: - dependencies: - isexe: 2.0.0 - - wrap-ansi@7.0.0: - dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - - wrap-ansi@8.1.0: - dependencies: - ansi-styles: 6.2.1 - string-width: 5.1.2 - strip-ansi: 7.1.0 - - wrappy@1.0.2: {} - - write-file-atomic@4.0.2: - dependencies: - imurmurhash: 0.1.4 - signal-exit: 3.0.7 - - y18n@5.0.8: {} - - yallist@3.1.1: {} - - yargs-parser@21.1.1: {} - - yargs@17.7.2: - dependencies: - cliui: 8.0.1 - escalade: 3.1.2 - get-caller-file: 2.0.5 - require-directory: 2.1.1 - string-width: 4.2.3 - y18n: 5.0.8 - yargs-parser: 21.1.1 - - yocto-queue@0.1.0: {} diff --git a/packages/utils/package.json b/packages/utils/package.json index 5cbe02eae46e..a0792efdc04f 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/utils", - "version": "7.13.0", + "version": "7.12.0", "description": "Utilities for working with TypeScript + ESLint together", "files": [ "dist", @@ -68,9 +68,9 @@ }, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "workspace:^", - "@typescript-eslint/types": "workspace:^", - "@typescript-eslint/typescript-estree": "workspace:^" + "@typescript-eslint/scope-manager": "7.12.0", + "@typescript-eslint/types": "7.12.0", + "@typescript-eslint/typescript-estree": "7.12.0" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0" diff --git a/packages/visitor-keys/package.json b/packages/visitor-keys/package.json index 4cc070e31f2e..c5227fa7e936 100644 --- a/packages/visitor-keys/package.json +++ b/packages/visitor-keys/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/visitor-keys", - "version": "7.13.0", + "version": "7.12.0", "description": "Visitor keys used to help traverse the TypeScript-ESTree AST", "files": [ "dist", @@ -47,7 +47,7 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@typescript-eslint/types": "workspace:^", + "@typescript-eslint/types": "7.12.0", "eslint-visitor-keys": "^3.4.3" }, "devDependencies": { diff --git a/packages/website-eslint/package.json b/packages/website-eslint/package.json index 48723eb16c7e..3482370835be 100644 --- a/packages/website-eslint/package.json +++ b/packages/website-eslint/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/website-eslint", - "version": "7.13.0", + "version": "7.12.0", "private": true, "description": "ESLint which works in browsers.", "files": [ @@ -24,11 +24,11 @@ }, "devDependencies": { "@eslint/js": "*", - "@typescript-eslint/eslint-plugin": "workspace:^", - "@typescript-eslint/parser": "workspace:^", - "@typescript-eslint/scope-manager": "workspace:^", - "@typescript-eslint/typescript-estree": "workspace:^", - "@typescript-eslint/visitor-keys": "workspace:^", + "@typescript-eslint/eslint-plugin": "7.12.0", + "@typescript-eslint/parser": "7.12.0", + "@typescript-eslint/scope-manager": "7.12.0", + "@typescript-eslint/typescript-estree": "7.12.0", + "@typescript-eslint/visitor-keys": "7.12.0", "esbuild": "~0.21.0", "eslint": "*", "esquery": "*", diff --git a/packages/website/package.json b/packages/website/package.json index 1555c734be74..a5c649efedf4 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -1,6 +1,6 @@ { "name": "website", - "version": "7.13.0", + "version": "7.12.0", "private": true, "scripts": { "build": "docusaurus build", @@ -23,8 +23,8 @@ "@docusaurus/preset-classic": "^3.2.1", "@docusaurus/remark-plugin-npm2yarn": "^3.2.1", "@docusaurus/theme-common": "^3.2.1", - "@typescript-eslint/parser": "workspace:^", - "@typescript-eslint/website-eslint": "workspace:^", + "@typescript-eslint/parser": "7.12.0", + "@typescript-eslint/website-eslint": "7.12.0", "@uiw/react-shields": "2.0.1", "clsx": "^2.1.0", "eslint": "*", @@ -47,12 +47,12 @@ "@types/mdast": "^4.0.3", "@types/react": "*", "@types/unist": "^3.0.2", - "@typescript-eslint/eslint-plugin": "workspace:^", - "@typescript-eslint/rule-schema-to-typescript-types": "workspace:^", - "@typescript-eslint/scope-manager": "workspace:^", - "@typescript-eslint/types": "workspace:^", - "@typescript-eslint/typescript-estree": "workspace:^", - "@typescript-eslint/utils": "workspace:^", + "@typescript-eslint/eslint-plugin": "7.12.0", + "@typescript-eslint/rule-schema-to-typescript-types": "7.12.0", + "@typescript-eslint/scope-manager": "7.12.0", + "@typescript-eslint/types": "7.12.0", + "@typescript-eslint/typescript-estree": "7.12.0", + "@typescript-eslint/utils": "7.12.0", "copy-webpack-plugin": "^12.0.0", "cross-fetch": "*", "history": "^4.9.0", diff --git a/yarn.lock b/yarn.lock index 5aa3bf46fcad..f5e085cb087a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5626,17 +5626,17 @@ __metadata: dependencies: "@jest/types": 29.6.3 "@prettier/sync": ^0.5.1 - "@typescript-eslint/rule-tester": "workspace:^" - "@typescript-eslint/scope-manager": "workspace:^" - "@typescript-eslint/type-utils": "workspace:^" - "@typescript-eslint/utils": "workspace:^" + "@typescript-eslint/rule-tester": 7.12.0 + "@typescript-eslint/scope-manager": 7.12.0 + "@typescript-eslint/type-utils": 7.12.0 + "@typescript-eslint/utils": 7.12.0 jest: 29.7.0 prettier: ^3.2.5 rimraf: "*" languageName: unknown linkType: soft -"@typescript-eslint/eslint-plugin@workspace:^, @typescript-eslint/eslint-plugin@workspace:packages/eslint-plugin": +"@typescript-eslint/eslint-plugin@7.12.0, @typescript-eslint/eslint-plugin@workspace:packages/eslint-plugin": version: 0.0.0-use.local resolution: "@typescript-eslint/eslint-plugin@workspace:packages/eslint-plugin" dependencies: @@ -5645,12 +5645,12 @@ __metadata: "@types/marked": ^5.0.2 "@types/mdast": ^4.0.3 "@types/natural-compare": "*" - "@typescript-eslint/rule-schema-to-typescript-types": "workspace:^" - "@typescript-eslint/rule-tester": "workspace:^" - "@typescript-eslint/scope-manager": "workspace:^" - "@typescript-eslint/type-utils": "workspace:^" - "@typescript-eslint/utils": "workspace:^" - "@typescript-eslint/visitor-keys": "workspace:^" + "@typescript-eslint/rule-schema-to-typescript-types": 7.12.0 + "@typescript-eslint/rule-tester": 7.12.0 + "@typescript-eslint/scope-manager": 7.12.0 + "@typescript-eslint/type-utils": 7.12.0 + "@typescript-eslint/utils": 7.12.0 + "@typescript-eslint/visitor-keys": 7.12.0 ajv: ^6.12.6 cross-env: ^7.0.3 cross-fetch: "*" @@ -5695,16 +5695,16 @@ __metadata: languageName: unknown linkType: soft -"@typescript-eslint/parser@workspace:^, @typescript-eslint/parser@workspace:packages/parser": +"@typescript-eslint/parser@7.12.0, @typescript-eslint/parser@workspace:packages/parser": version: 0.0.0-use.local resolution: "@typescript-eslint/parser@workspace:packages/parser" dependencies: "@jest/types": 29.6.3 "@types/glob": "*" - "@typescript-eslint/scope-manager": "workspace:^" - "@typescript-eslint/types": "workspace:^" - "@typescript-eslint/typescript-estree": "workspace:^" - "@typescript-eslint/visitor-keys": "workspace:^" + "@typescript-eslint/scope-manager": 7.12.0 + "@typescript-eslint/types": 7.12.0 + "@typescript-eslint/typescript-estree": 7.12.0 + "@typescript-eslint/visitor-keys": 7.12.0 debug: ^4.3.4 downlevel-dts: "*" glob: "*" @@ -5726,11 +5726,11 @@ __metadata: dependencies: "@jest/types": 29.6.3 "@nx/devkit": "*" - "@typescript-eslint/eslint-plugin": "workspace:^" - "@typescript-eslint/scope-manager": "workspace:^" - "@typescript-eslint/types": "workspace:^" - "@typescript-eslint/typescript-estree": "workspace:^" - "@typescript-eslint/utils": "workspace:^" + "@typescript-eslint/eslint-plugin": 7.12.0 + "@typescript-eslint/scope-manager": 7.12.0 + "@typescript-eslint/types": 7.12.0 + "@typescript-eslint/typescript-estree": 7.12.0 + "@typescript-eslint/utils": 7.12.0 cross-fetch: "*" execa: "*" prettier: ^3.2.5 @@ -5740,28 +5740,28 @@ __metadata: languageName: unknown linkType: soft -"@typescript-eslint/rule-schema-to-typescript-types@workspace:^, @typescript-eslint/rule-schema-to-typescript-types@workspace:packages/rule-schema-to-typescript-types": +"@typescript-eslint/rule-schema-to-typescript-types@7.12.0, @typescript-eslint/rule-schema-to-typescript-types@workspace:packages/rule-schema-to-typescript-types": version: 0.0.0-use.local resolution: "@typescript-eslint/rule-schema-to-typescript-types@workspace:packages/rule-schema-to-typescript-types" dependencies: "@jest/types": 29.6.3 - "@typescript-eslint/type-utils": "workspace:^" - "@typescript-eslint/utils": "workspace:^" + "@typescript-eslint/type-utils": 7.12.0 + "@typescript-eslint/utils": 7.12.0 natural-compare: ^1.4.0 prettier: ^3.2.5 languageName: unknown linkType: soft -"@typescript-eslint/rule-tester@workspace:^, @typescript-eslint/rule-tester@workspace:packages/rule-tester": +"@typescript-eslint/rule-tester@7.12.0, @typescript-eslint/rule-tester@workspace:packages/rule-tester": version: 0.0.0-use.local resolution: "@typescript-eslint/rule-tester@workspace:packages/rule-tester" dependencies: "@jest/types": 29.6.3 "@types/json-stable-stringify-without-jsonify": ^1.0.2 "@types/lodash.merge": 4.6.9 - "@typescript-eslint/parser": "workspace:^" - "@typescript-eslint/typescript-estree": "workspace:^" - "@typescript-eslint/utils": "workspace:^" + "@typescript-eslint/parser": 7.12.0 + "@typescript-eslint/typescript-estree": 7.12.0 + "@typescript-eslint/utils": 7.12.0 ajv: ^6.12.6 chai: ^4.4.1 eslint-visitor-keys: ^4.0.0 @@ -5780,6 +5780,23 @@ __metadata: languageName: unknown linkType: soft +"@typescript-eslint/scope-manager@7.12.0, @typescript-eslint/scope-manager@workspace:packages/scope-manager": + version: 0.0.0-use.local + resolution: "@typescript-eslint/scope-manager@workspace:packages/scope-manager" + dependencies: + "@jest/types": 29.6.3 + "@types/glob": "*" + "@typescript-eslint/types": 7.12.0 + "@typescript-eslint/typescript-estree": 7.12.0 + "@typescript-eslint/visitor-keys": 7.12.0 + glob: "*" + jest-specific-snapshot: "*" + make-dir: "*" + pretty-format: "*" + typescript: "*" + languageName: unknown + linkType: soft + "@typescript-eslint/scope-manager@npm:5.62.0": version: 5.62.0 resolution: "@typescript-eslint/scope-manager@npm:5.62.0" @@ -5800,31 +5817,14 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/scope-manager@workspace:^, @typescript-eslint/scope-manager@workspace:packages/scope-manager": - version: 0.0.0-use.local - resolution: "@typescript-eslint/scope-manager@workspace:packages/scope-manager" - dependencies: - "@jest/types": 29.6.3 - "@types/glob": "*" - "@typescript-eslint/types": "workspace:^" - "@typescript-eslint/typescript-estree": "workspace:^" - "@typescript-eslint/visitor-keys": "workspace:^" - glob: "*" - jest-specific-snapshot: "*" - make-dir: "*" - pretty-format: "*" - typescript: "*" - languageName: unknown - linkType: soft - -"@typescript-eslint/type-utils@workspace:^, @typescript-eslint/type-utils@workspace:packages/type-utils": +"@typescript-eslint/type-utils@7.12.0, @typescript-eslint/type-utils@workspace:packages/type-utils": version: 0.0.0-use.local resolution: "@typescript-eslint/type-utils@workspace:packages/type-utils" dependencies: "@jest/types": 29.6.3 - "@typescript-eslint/parser": "workspace:^" - "@typescript-eslint/typescript-estree": "workspace:^" - "@typescript-eslint/utils": "workspace:^" + "@typescript-eslint/parser": 7.12.0 + "@typescript-eslint/typescript-estree": 7.12.0 + "@typescript-eslint/utils": 7.12.0 ajv: ^6.12.6 debug: ^4.3.4 downlevel-dts: "*" @@ -5839,10 +5839,17 @@ __metadata: languageName: unknown linkType: soft -"@typescript-eslint/types@link:../types::locator=%40typescript-eslint%2Ftypescript-estree%40workspace%3Apackages%2Ftypescript-estree": +"@typescript-eslint/types@7.12.0, @typescript-eslint/types@workspace:packages/types": version: 0.0.0-use.local - resolution: "@typescript-eslint/types@link:../types::locator=%40typescript-eslint%2Ftypescript-estree%40workspace%3Apackages%2Ftypescript-estree" - languageName: node + resolution: "@typescript-eslint/types@workspace:packages/types" + dependencies: + "@jest/types": 29.6.3 + downlevel-dts: "*" + prettier: ^3.2.5 + rimraf: "*" + tsx: "*" + typescript: "*" + languageName: unknown linkType: soft "@typescript-eslint/types@npm:5.62.0": @@ -5859,19 +5866,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/types@workspace:^, @typescript-eslint/types@workspace:packages/types": - version: 0.0.0-use.local - resolution: "@typescript-eslint/types@workspace:packages/types" - dependencies: - "@jest/types": 29.6.3 - downlevel-dts: "*" - prettier: ^3.2.5 - rimraf: "*" - tsx: "*" - typescript: "*" - languageName: unknown - linkType: soft - "@typescript-eslint/typescript-eslint@workspace:.": version: 0.0.0-use.local resolution: "@typescript-eslint/typescript-eslint@workspace:." @@ -5944,6 +5938,34 @@ __metadata: languageName: unknown linkType: soft +"@typescript-eslint/typescript-estree@7.12.0, @typescript-eslint/typescript-estree@workspace:packages/typescript-estree": + version: 0.0.0-use.local + resolution: "@typescript-eslint/typescript-estree@workspace:packages/typescript-estree" + dependencies: + "@jest/types": 29.6.3 + "@types/diff": ^5.2.1 + "@typescript-eslint/types": 7.12.0 + "@typescript-eslint/visitor-keys": 7.12.0 + debug: ^4.3.4 + diff: ^5.2.0 + glob: "*" + globby: ^11.1.0 + is-glob: ^4.0.3 + jest: 29.7.0 + lru-cache: ^10.2.2 + minimatch: ^9.0.4 + prettier: ^3.2.5 + rimraf: "*" + semver: ^7.6.0 + tmp: "*" + ts-api-utils: ^1.3.0 + typescript: "*" + peerDependenciesMeta: + typescript: + optional: true + languageName: unknown + linkType: soft + "@typescript-eslint/typescript-estree@npm:5.62.0": version: 5.62.0 resolution: "@typescript-eslint/typescript-estree@npm:5.62.0" @@ -5981,31 +6003,21 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/typescript-estree@workspace:^, @typescript-eslint/typescript-estree@workspace:packages/typescript-estree": +"@typescript-eslint/utils@7.12.0, @typescript-eslint/utils@workspace:packages/utils": version: 0.0.0-use.local - resolution: "@typescript-eslint/typescript-estree@workspace:packages/typescript-estree" + resolution: "@typescript-eslint/utils@workspace:packages/utils" dependencies: - "@jest/types": 29.6.3 - "@types/diff": ^5.2.1 - "@typescript-eslint/types": "link:../types" - "@typescript-eslint/visitor-keys": "link:../visitor-keys" - debug: ^4.3.4 - diff: ^5.2.0 - glob: "*" - globby: ^11.1.0 - is-glob: ^4.0.3 + "@eslint-community/eslint-utils": ^4.4.0 + "@typescript-eslint/scope-manager": 7.12.0 + "@typescript-eslint/types": 7.12.0 + "@typescript-eslint/typescript-estree": 7.12.0 + downlevel-dts: "*" jest: 29.7.0 - lru-cache: ^10.2.2 - minimatch: ^9.0.4 prettier: ^3.2.5 rimraf: "*" - semver: ^7.6.0 - tmp: "*" - ts-api-utils: ^1.3.0 typescript: "*" - peerDependenciesMeta: - typescript: - optional: true + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 languageName: unknown linkType: soft @@ -6044,30 +6056,22 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/utils@workspace:^, @typescript-eslint/utils@workspace:packages/utils": +"@typescript-eslint/visitor-keys@7.12.0, @typescript-eslint/visitor-keys@workspace:packages/visitor-keys": version: 0.0.0-use.local - resolution: "@typescript-eslint/utils@workspace:packages/utils" + resolution: "@typescript-eslint/visitor-keys@workspace:packages/visitor-keys" dependencies: - "@eslint-community/eslint-utils": ^4.4.0 - "@typescript-eslint/scope-manager": "workspace:^" - "@typescript-eslint/types": "workspace:^" - "@typescript-eslint/typescript-estree": "workspace:^" + "@jest/types": 29.6.3 + "@types/eslint-visitor-keys": "*" + "@typescript-eslint/types": 7.12.0 downlevel-dts: "*" + eslint-visitor-keys: ^3.4.3 jest: 29.7.0 prettier: ^3.2.5 rimraf: "*" typescript: "*" - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 languageName: unknown linkType: soft -"@typescript-eslint/visitor-keys@link:../visitor-keys::locator=%40typescript-eslint%2Ftypescript-estree%40workspace%3Apackages%2Ftypescript-estree": - version: 0.0.0-use.local - resolution: "@typescript-eslint/visitor-keys@link:../visitor-keys::locator=%40typescript-eslint%2Ftypescript-estree%40workspace%3Apackages%2Ftypescript-estree" - languageName: node - linkType: soft - "@typescript-eslint/visitor-keys@npm:5.62.0": version: 5.62.0 resolution: "@typescript-eslint/visitor-keys@npm:5.62.0" @@ -6088,32 +6092,16 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/visitor-keys@workspace:^, @typescript-eslint/visitor-keys@workspace:packages/visitor-keys": - version: 0.0.0-use.local - resolution: "@typescript-eslint/visitor-keys@workspace:packages/visitor-keys" - dependencies: - "@jest/types": 29.6.3 - "@types/eslint-visitor-keys": "*" - "@typescript-eslint/types": "workspace:^" - downlevel-dts: "*" - eslint-visitor-keys: ^3.4.3 - jest: 29.7.0 - prettier: ^3.2.5 - rimraf: "*" - typescript: "*" - languageName: unknown - linkType: soft - -"@typescript-eslint/website-eslint@workspace:^, @typescript-eslint/website-eslint@workspace:packages/website-eslint": +"@typescript-eslint/website-eslint@7.12.0, @typescript-eslint/website-eslint@workspace:packages/website-eslint": version: 0.0.0-use.local resolution: "@typescript-eslint/website-eslint@workspace:packages/website-eslint" dependencies: "@eslint/js": "*" - "@typescript-eslint/eslint-plugin": "workspace:^" - "@typescript-eslint/parser": "workspace:^" - "@typescript-eslint/scope-manager": "workspace:^" - "@typescript-eslint/typescript-estree": "workspace:^" - "@typescript-eslint/visitor-keys": "workspace:^" + "@typescript-eslint/eslint-plugin": 7.12.0 + "@typescript-eslint/parser": 7.12.0 + "@typescript-eslint/scope-manager": 7.12.0 + "@typescript-eslint/typescript-estree": 7.12.0 + "@typescript-eslint/visitor-keys": 7.12.0 esbuild: ~0.21.0 eslint: "*" esquery: "*" @@ -19826,9 +19814,9 @@ __metadata: resolution: "typescript-eslint@workspace:packages/typescript-eslint" dependencies: "@jest/types": 29.6.3 - "@typescript-eslint/eslint-plugin": "workspace:^" - "@typescript-eslint/parser": "workspace:^" - "@typescript-eslint/utils": "workspace:^" + "@typescript-eslint/eslint-plugin": 7.12.0 + "@typescript-eslint/parser": 7.12.0 + "@typescript-eslint/utils": 7.12.0 downlevel-dts: "*" jest: 29.7.0 prettier: ^3.2.5 @@ -20538,14 +20526,14 @@ __metadata: "@types/mdast": ^4.0.3 "@types/react": "*" "@types/unist": ^3.0.2 - "@typescript-eslint/eslint-plugin": "workspace:^" - "@typescript-eslint/parser": "workspace:^" - "@typescript-eslint/rule-schema-to-typescript-types": "workspace:^" - "@typescript-eslint/scope-manager": "workspace:^" - "@typescript-eslint/types": "workspace:^" - "@typescript-eslint/typescript-estree": "workspace:^" - "@typescript-eslint/utils": "workspace:^" - "@typescript-eslint/website-eslint": "workspace:^" + "@typescript-eslint/eslint-plugin": 7.12.0 + "@typescript-eslint/parser": 7.12.0 + "@typescript-eslint/rule-schema-to-typescript-types": 7.12.0 + "@typescript-eslint/scope-manager": 7.12.0 + "@typescript-eslint/types": 7.12.0 + "@typescript-eslint/typescript-estree": 7.12.0 + "@typescript-eslint/utils": 7.12.0 + "@typescript-eslint/website-eslint": 7.12.0 "@uiw/react-shields": 2.0.1 clsx: ^2.1.0 copy-webpack-plugin: ^12.0.0 From 0b4ea550693b985dfb669f6140af1c7f26ba17b9 Mon Sep 17 00:00:00 2001 From: Christopher Aubut Date: Thu, 13 Jun 2024 16:13:08 -0600 Subject: [PATCH 33/36] chore: merge upstream --- packages/ast-spec/package.json | 2 +- packages/eslint-plugin-internal/package.json | 16 +-- packages/eslint-plugin/package.json | 16 +-- packages/integration-tests/package.json | 2 +- packages/parser/package.json | 10 +- packages/repo-tools/package.json | 12 +- .../package.json | 6 +- packages/rule-tester/package.json | 8 +- packages/scope-manager/package.json | 8 +- packages/type-utils/package.json | 8 +- packages/types/package.json | 2 +- packages/typescript-eslint/package.json | 8 +- packages/typescript-estree/package.json | 6 +- packages/utils/package.json | 8 +- packages/visitor-keys/package.json | 4 +- packages/website-eslint/package.json | 12 +- packages/website/package.json | 18 +-- yarn.lock | 126 +++++++++--------- 18 files changed, 135 insertions(+), 137 deletions(-) diff --git a/packages/ast-spec/package.json b/packages/ast-spec/package.json index 1baecece5e1c..21716692d52c 100644 --- a/packages/ast-spec/package.json +++ b/packages/ast-spec/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/ast-spec", - "version": "7.12.0", + "version": "7.13.0", "description": "Complete specification for the TypeScript-ESTree AST", "private": true, "keywords": [ diff --git a/packages/eslint-plugin-internal/package.json b/packages/eslint-plugin-internal/package.json index 2745f488f422..5f36d0d94e90 100644 --- a/packages/eslint-plugin-internal/package.json +++ b/packages/eslint-plugin-internal/package.json @@ -1,24 +1,24 @@ { "name": "@typescript-eslint/eslint-plugin-internal", - "version": "7.12.0", + "version": "7.13.0", "private": true, "main": "dist/index.js", "types": "index.d.ts", "scripts": { - "build": "tsc -b tsconfig.build.json", - "clean": "tsc -b tsconfig.build.json --clean", + "build": "npx tsc -b tsconfig.build.json", + "clean": "npx tsc -b tsconfig.build.json --clean", "postclean": "rimraf dist && rimraf coverage", "format": "prettier --write \"./**/*.{ts,mts,cts,tsx,js,mjs,cjs,jsx,json,md,css}\" --ignore-path ../../.prettierignore", "lint": "npx nx lint", "test": "jest --coverage", - "typecheck": "tsc --noEmit" + "typecheck": "npx tsc --noEmit" }, "dependencies": { "@prettier/sync": "^0.5.1", - "@typescript-eslint/rule-tester": "7.12.0", - "@typescript-eslint/scope-manager": "7.12.0", - "@typescript-eslint/type-utils": "7.12.0", - "@typescript-eslint/utils": "7.12.0", + "@typescript-eslint/rule-tester": "7.13.0", + "@typescript-eslint/scope-manager": "7.13.0", + "@typescript-eslint/type-utils": "7.13.0", + "@typescript-eslint/utils": "7.13.0", "prettier": "^3.2.5" }, "devDependencies": { diff --git a/packages/eslint-plugin/package.json b/packages/eslint-plugin/package.json index 2bdb3b4f9507..d07588dac0cc 100644 --- a/packages/eslint-plugin/package.json +++ b/packages/eslint-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/eslint-plugin", - "version": "7.12.0", + "version": "7.13.0", "description": "TypeScript plugin for ESLint", "files": [ "dist", @@ -48,8 +48,6 @@ ], "scripts": { "build": "tsc -b tsconfig.build.json", - "check-docs": "jest tests/docs.test.ts --runTestsByPath --silent --runInBand", - "check-configs": "jest tests/configs.test.ts --runTestsByPath --silent --runInBand", "clean": "tsc -b tsconfig.build.json --clean", "postclean": "rimraf dist && rimraf coverage", "format": "prettier --write \"./**/*.{ts,mts,cts,tsx,js,mjs,cjs,jsx,json,md,css}\" --ignore-path ../../.prettierignore", @@ -62,10 +60,10 @@ }, "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "7.12.0", - "@typescript-eslint/type-utils": "7.12.0", - "@typescript-eslint/utils": "7.12.0", - "@typescript-eslint/visitor-keys": "7.12.0", + "@typescript-eslint/scope-manager": "7.13.0", + "@typescript-eslint/type-utils": "7.13.0", + "@typescript-eslint/utils": "7.13.0", + "@typescript-eslint/visitor-keys": "7.13.0", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", @@ -76,8 +74,8 @@ "@types/marked": "^5.0.2", "@types/mdast": "^4.0.3", "@types/natural-compare": "*", - "@typescript-eslint/rule-schema-to-typescript-types": "7.12.0", - "@typescript-eslint/rule-tester": "7.12.0", + "@typescript-eslint/rule-schema-to-typescript-types": "7.13.0", + "@typescript-eslint/rule-tester": "7.13.0", "ajv": "^6.12.6", "cross-env": "^7.0.3", "cross-fetch": "*", diff --git a/packages/integration-tests/package.json b/packages/integration-tests/package.json index 266414ccc2d9..7825b0a02cda 100644 --- a/packages/integration-tests/package.json +++ b/packages/integration-tests/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/integration-tests", - "version": "7.12.0", + "version": "7.13.0", "private": true, "scripts": { "format": "prettier --write \"./**/*.{ts,mts,cts,tsx,js,mjs,cjs,jsx,json,md,css}\" --ignore-path ../../.prettierignore", diff --git a/packages/parser/package.json b/packages/parser/package.json index de80d3fa7bd7..34027dc27900 100644 --- a/packages/parser/package.json +++ b/packages/parser/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/parser", - "version": "7.12.0", + "version": "7.13.0", "description": "An ESLint custom parser which leverages TypeScript ESTree", "files": [ "dist", @@ -52,10 +52,10 @@ "eslint": "^8.57.0 || ^9.0.0" }, "dependencies": { - "@typescript-eslint/scope-manager": "7.12.0", - "@typescript-eslint/types": "7.12.0", - "@typescript-eslint/typescript-estree": "7.12.0", - "@typescript-eslint/visitor-keys": "7.12.0", + "@typescript-eslint/scope-manager": "7.13.0", + "@typescript-eslint/types": "7.13.0", + "@typescript-eslint/typescript-estree": "7.13.0", + "@typescript-eslint/visitor-keys": "7.13.0", "debug": "^4.3.4" }, "devDependencies": { diff --git a/packages/repo-tools/package.json b/packages/repo-tools/package.json index d1155a5dc1bc..8d43f4357e02 100644 --- a/packages/repo-tools/package.json +++ b/packages/repo-tools/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/repo-tools", - "version": "7.12.0", + "version": "7.13.0", "private": true, "//": "NOTE: intentionally no build step in this package", "scripts": { @@ -18,11 +18,11 @@ "devDependencies": { "@jest/types": "29.6.3", "@nx/devkit": "*", - "@typescript-eslint/eslint-plugin": "7.12.0", - "@typescript-eslint/scope-manager": "7.12.0", - "@typescript-eslint/types": "7.12.0", - "@typescript-eslint/typescript-estree": "7.12.0", - "@typescript-eslint/utils": "7.12.0", + "@typescript-eslint/eslint-plugin": "7.13.0", + "@typescript-eslint/scope-manager": "7.13.0", + "@typescript-eslint/types": "7.13.0", + "@typescript-eslint/typescript-estree": "7.13.0", + "@typescript-eslint/utils": "7.13.0", "cross-fetch": "*", "execa": "*", "prettier": "^3.2.5", diff --git a/packages/rule-schema-to-typescript-types/package.json b/packages/rule-schema-to-typescript-types/package.json index f5412a4e726b..fdbd3b55c171 100644 --- a/packages/rule-schema-to-typescript-types/package.json +++ b/packages/rule-schema-to-typescript-types/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/rule-schema-to-typescript-types", - "version": "7.12.0", + "version": "7.13.0", "private": true, "type": "commonjs", "exports": { @@ -34,8 +34,8 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@typescript-eslint/type-utils": "7.12.0", - "@typescript-eslint/utils": "7.12.0", + "@typescript-eslint/type-utils": "7.13.0", + "@typescript-eslint/utils": "7.13.0", "natural-compare": "^1.4.0", "prettier": "^3.2.5" }, diff --git a/packages/rule-tester/package.json b/packages/rule-tester/package.json index ab800d15d583..f483195de27a 100644 --- a/packages/rule-tester/package.json +++ b/packages/rule-tester/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/rule-tester", - "version": "7.12.0", + "version": "7.13.0", "description": "Tooling to test ESLint rules", "files": [ "dist", @@ -48,8 +48,8 @@ }, "//": "NOTE - AJV is out-of-date, but it's intentionally synced with ESLint - https://github.com/eslint/eslint/blob/ad9dd6a933fd098a0d99c6a9aa059850535c23ee/package.json#L70", "dependencies": { - "@typescript-eslint/typescript-estree": "7.12.0", - "@typescript-eslint/utils": "7.12.0", + "@typescript-eslint/typescript-estree": "7.13.0", + "@typescript-eslint/utils": "7.13.0", "ajv": "^6.12.6", "json-stable-stringify-without-jsonify": "^1.0.1", "lodash.merge": "4.6.2", @@ -63,7 +63,7 @@ "@jest/types": "29.6.3", "@types/json-stable-stringify-without-jsonify": "^1.0.2", "@types/lodash.merge": "4.6.9", - "@typescript-eslint/parser": "7.12.0", + "@typescript-eslint/parser": "7.13.0", "chai": "^4.4.1", "eslint-visitor-keys": "^4.0.0", "espree": "^10.0.1", diff --git a/packages/scope-manager/package.json b/packages/scope-manager/package.json index 1e451d9e3c8c..f2718c3593ff 100644 --- a/packages/scope-manager/package.json +++ b/packages/scope-manager/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/scope-manager", - "version": "7.12.0", + "version": "7.13.0", "description": "TypeScript scope analyser for ESLint", "files": [ "dist", @@ -46,13 +46,13 @@ "typecheck": "npx nx typecheck" }, "dependencies": { - "@typescript-eslint/types": "7.12.0", - "@typescript-eslint/visitor-keys": "7.12.0" + "@typescript-eslint/types": "7.13.0", + "@typescript-eslint/visitor-keys": "7.13.0" }, "devDependencies": { "@jest/types": "29.6.3", "@types/glob": "*", - "@typescript-eslint/typescript-estree": "7.12.0", + "@typescript-eslint/typescript-estree": "7.13.0", "glob": "*", "jest-specific-snapshot": "*", "make-dir": "*", diff --git a/packages/type-utils/package.json b/packages/type-utils/package.json index 0f3548dd0f0c..41151638c0a5 100644 --- a/packages/type-utils/package.json +++ b/packages/type-utils/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/type-utils", - "version": "7.12.0", + "version": "7.13.0", "description": "Type utilities for working with TypeScript + ESLint together", "files": [ "dist", @@ -46,14 +46,14 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@typescript-eslint/typescript-estree": "7.12.0", - "@typescript-eslint/utils": "7.12.0", + "@typescript-eslint/typescript-estree": "7.13.0", + "@typescript-eslint/utils": "7.13.0", "debug": "^4.3.4", "ts-api-utils": "^1.3.0" }, "devDependencies": { "@jest/types": "29.6.3", - "@typescript-eslint/parser": "7.12.0", + "@typescript-eslint/parser": "7.13.0", "ajv": "^6.12.6", "downlevel-dts": "*", "jest": "29.7.0", diff --git a/packages/types/package.json b/packages/types/package.json index 80d44762b410..afef40cf4736 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/types", - "version": "7.12.0", + "version": "7.13.0", "description": "Types for the TypeScript-ESTree AST spec", "files": [ "dist", diff --git a/packages/typescript-eslint/package.json b/packages/typescript-eslint/package.json index abce66748cb1..6978e80e68f0 100644 --- a/packages/typescript-eslint/package.json +++ b/packages/typescript-eslint/package.json @@ -1,6 +1,6 @@ { "name": "typescript-eslint", - "version": "7.12.0", + "version": "7.13.0", "description": "Tooling which enables you to use TypeScript with ESLint", "files": [ "dist", @@ -52,9 +52,9 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@typescript-eslint/eslint-plugin": "7.12.0", - "@typescript-eslint/parser": "7.12.0", - "@typescript-eslint/utils": "7.12.0" + "@typescript-eslint/eslint-plugin": "7.13.0", + "@typescript-eslint/parser": "7.13.0", + "@typescript-eslint/utils": "7.13.0" }, "devDependencies": { "@jest/types": "29.6.3", diff --git a/packages/typescript-estree/package.json b/packages/typescript-estree/package.json index a90aa00a35ac..d5e1762eb368 100644 --- a/packages/typescript-estree/package.json +++ b/packages/typescript-estree/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/typescript-estree", - "version": "7.12.0", + "version": "7.13.0", "description": "A parser that converts TypeScript source code into an ESTree compatible form", "files": [ "dist", @@ -54,8 +54,8 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@typescript-eslint/types": "7.12.0", - "@typescript-eslint/visitor-keys": "7.12.0", + "@typescript-eslint/types": "7.13.0", + "@typescript-eslint/visitor-keys": "7.13.0", "debug": "^4.3.4", "diff": "^5.2.0", "globby": "^11.1.0", diff --git a/packages/utils/package.json b/packages/utils/package.json index a0792efdc04f..bb3aac6345f5 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/utils", - "version": "7.12.0", + "version": "7.13.0", "description": "Utilities for working with TypeScript + ESLint together", "files": [ "dist", @@ -68,9 +68,9 @@ }, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "7.12.0", - "@typescript-eslint/types": "7.12.0", - "@typescript-eslint/typescript-estree": "7.12.0" + "@typescript-eslint/scope-manager": "7.13.0", + "@typescript-eslint/types": "7.13.0", + "@typescript-eslint/typescript-estree": "7.13.0" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0" diff --git a/packages/visitor-keys/package.json b/packages/visitor-keys/package.json index c5227fa7e936..5d57dc1ca674 100644 --- a/packages/visitor-keys/package.json +++ b/packages/visitor-keys/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/visitor-keys", - "version": "7.12.0", + "version": "7.13.0", "description": "Visitor keys used to help traverse the TypeScript-ESTree AST", "files": [ "dist", @@ -47,7 +47,7 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@typescript-eslint/types": "7.12.0", + "@typescript-eslint/types": "7.13.0", "eslint-visitor-keys": "^3.4.3" }, "devDependencies": { diff --git a/packages/website-eslint/package.json b/packages/website-eslint/package.json index 3482370835be..2ff0c84e9fdb 100644 --- a/packages/website-eslint/package.json +++ b/packages/website-eslint/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/website-eslint", - "version": "7.12.0", + "version": "7.13.0", "private": true, "description": "ESLint which works in browsers.", "files": [ @@ -24,11 +24,11 @@ }, "devDependencies": { "@eslint/js": "*", - "@typescript-eslint/eslint-plugin": "7.12.0", - "@typescript-eslint/parser": "7.12.0", - "@typescript-eslint/scope-manager": "7.12.0", - "@typescript-eslint/typescript-estree": "7.12.0", - "@typescript-eslint/visitor-keys": "7.12.0", + "@typescript-eslint/eslint-plugin": "7.13.0", + "@typescript-eslint/parser": "7.13.0", + "@typescript-eslint/scope-manager": "7.13.0", + "@typescript-eslint/typescript-estree": "7.13.0", + "@typescript-eslint/visitor-keys": "7.13.0", "esbuild": "~0.21.0", "eslint": "*", "esquery": "*", diff --git a/packages/website/package.json b/packages/website/package.json index a5c649efedf4..71167c790ada 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -1,6 +1,6 @@ { "name": "website", - "version": "7.12.0", + "version": "7.13.0", "private": true, "scripts": { "build": "docusaurus build", @@ -23,8 +23,8 @@ "@docusaurus/preset-classic": "^3.2.1", "@docusaurus/remark-plugin-npm2yarn": "^3.2.1", "@docusaurus/theme-common": "^3.2.1", - "@typescript-eslint/parser": "7.12.0", - "@typescript-eslint/website-eslint": "7.12.0", + "@typescript-eslint/parser": "7.13.0", + "@typescript-eslint/website-eslint": "7.13.0", "@uiw/react-shields": "2.0.1", "clsx": "^2.1.0", "eslint": "*", @@ -47,12 +47,12 @@ "@types/mdast": "^4.0.3", "@types/react": "*", "@types/unist": "^3.0.2", - "@typescript-eslint/eslint-plugin": "7.12.0", - "@typescript-eslint/rule-schema-to-typescript-types": "7.12.0", - "@typescript-eslint/scope-manager": "7.12.0", - "@typescript-eslint/types": "7.12.0", - "@typescript-eslint/typescript-estree": "7.12.0", - "@typescript-eslint/utils": "7.12.0", + "@typescript-eslint/eslint-plugin": "7.13.0", + "@typescript-eslint/rule-schema-to-typescript-types": "7.13.0", + "@typescript-eslint/scope-manager": "7.13.0", + "@typescript-eslint/types": "7.13.0", + "@typescript-eslint/typescript-estree": "7.13.0", + "@typescript-eslint/utils": "7.13.0", "copy-webpack-plugin": "^12.0.0", "cross-fetch": "*", "history": "^4.9.0", diff --git a/yarn.lock b/yarn.lock index f5e085cb087a..1915acfef7eb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5626,17 +5626,17 @@ __metadata: dependencies: "@jest/types": 29.6.3 "@prettier/sync": ^0.5.1 - "@typescript-eslint/rule-tester": 7.12.0 - "@typescript-eslint/scope-manager": 7.12.0 - "@typescript-eslint/type-utils": 7.12.0 - "@typescript-eslint/utils": 7.12.0 + "@typescript-eslint/rule-tester": 7.13.0 + "@typescript-eslint/scope-manager": 7.13.0 + "@typescript-eslint/type-utils": 7.13.0 + "@typescript-eslint/utils": 7.13.0 jest: 29.7.0 prettier: ^3.2.5 rimraf: "*" languageName: unknown linkType: soft -"@typescript-eslint/eslint-plugin@7.12.0, @typescript-eslint/eslint-plugin@workspace:packages/eslint-plugin": +"@typescript-eslint/eslint-plugin@7.13.0, @typescript-eslint/eslint-plugin@workspace:packages/eslint-plugin": version: 0.0.0-use.local resolution: "@typescript-eslint/eslint-plugin@workspace:packages/eslint-plugin" dependencies: @@ -5645,12 +5645,12 @@ __metadata: "@types/marked": ^5.0.2 "@types/mdast": ^4.0.3 "@types/natural-compare": "*" - "@typescript-eslint/rule-schema-to-typescript-types": 7.12.0 - "@typescript-eslint/rule-tester": 7.12.0 - "@typescript-eslint/scope-manager": 7.12.0 - "@typescript-eslint/type-utils": 7.12.0 - "@typescript-eslint/utils": 7.12.0 - "@typescript-eslint/visitor-keys": 7.12.0 + "@typescript-eslint/rule-schema-to-typescript-types": 7.13.0 + "@typescript-eslint/rule-tester": 7.13.0 + "@typescript-eslint/scope-manager": 7.13.0 + "@typescript-eslint/type-utils": 7.13.0 + "@typescript-eslint/utils": 7.13.0 + "@typescript-eslint/visitor-keys": 7.13.0 ajv: ^6.12.6 cross-env: ^7.0.3 cross-fetch: "*" @@ -5695,16 +5695,16 @@ __metadata: languageName: unknown linkType: soft -"@typescript-eslint/parser@7.12.0, @typescript-eslint/parser@workspace:packages/parser": +"@typescript-eslint/parser@7.13.0, @typescript-eslint/parser@workspace:packages/parser": version: 0.0.0-use.local resolution: "@typescript-eslint/parser@workspace:packages/parser" dependencies: "@jest/types": 29.6.3 "@types/glob": "*" - "@typescript-eslint/scope-manager": 7.12.0 - "@typescript-eslint/types": 7.12.0 - "@typescript-eslint/typescript-estree": 7.12.0 - "@typescript-eslint/visitor-keys": 7.12.0 + "@typescript-eslint/scope-manager": 7.13.0 + "@typescript-eslint/types": 7.13.0 + "@typescript-eslint/typescript-estree": 7.13.0 + "@typescript-eslint/visitor-keys": 7.13.0 debug: ^4.3.4 downlevel-dts: "*" glob: "*" @@ -5726,11 +5726,11 @@ __metadata: dependencies: "@jest/types": 29.6.3 "@nx/devkit": "*" - "@typescript-eslint/eslint-plugin": 7.12.0 - "@typescript-eslint/scope-manager": 7.12.0 - "@typescript-eslint/types": 7.12.0 - "@typescript-eslint/typescript-estree": 7.12.0 - "@typescript-eslint/utils": 7.12.0 + "@typescript-eslint/eslint-plugin": 7.13.0 + "@typescript-eslint/scope-manager": 7.13.0 + "@typescript-eslint/types": 7.13.0 + "@typescript-eslint/typescript-estree": 7.13.0 + "@typescript-eslint/utils": 7.13.0 cross-fetch: "*" execa: "*" prettier: ^3.2.5 @@ -5740,28 +5740,28 @@ __metadata: languageName: unknown linkType: soft -"@typescript-eslint/rule-schema-to-typescript-types@7.12.0, @typescript-eslint/rule-schema-to-typescript-types@workspace:packages/rule-schema-to-typescript-types": +"@typescript-eslint/rule-schema-to-typescript-types@7.13.0, @typescript-eslint/rule-schema-to-typescript-types@workspace:packages/rule-schema-to-typescript-types": version: 0.0.0-use.local resolution: "@typescript-eslint/rule-schema-to-typescript-types@workspace:packages/rule-schema-to-typescript-types" dependencies: "@jest/types": 29.6.3 - "@typescript-eslint/type-utils": 7.12.0 - "@typescript-eslint/utils": 7.12.0 + "@typescript-eslint/type-utils": 7.13.0 + "@typescript-eslint/utils": 7.13.0 natural-compare: ^1.4.0 prettier: ^3.2.5 languageName: unknown linkType: soft -"@typescript-eslint/rule-tester@7.12.0, @typescript-eslint/rule-tester@workspace:packages/rule-tester": +"@typescript-eslint/rule-tester@7.13.0, @typescript-eslint/rule-tester@workspace:packages/rule-tester": version: 0.0.0-use.local resolution: "@typescript-eslint/rule-tester@workspace:packages/rule-tester" dependencies: "@jest/types": 29.6.3 "@types/json-stable-stringify-without-jsonify": ^1.0.2 "@types/lodash.merge": 4.6.9 - "@typescript-eslint/parser": 7.12.0 - "@typescript-eslint/typescript-estree": 7.12.0 - "@typescript-eslint/utils": 7.12.0 + "@typescript-eslint/parser": 7.13.0 + "@typescript-eslint/typescript-estree": 7.13.0 + "@typescript-eslint/utils": 7.13.0 ajv: ^6.12.6 chai: ^4.4.1 eslint-visitor-keys: ^4.0.0 @@ -5780,15 +5780,15 @@ __metadata: languageName: unknown linkType: soft -"@typescript-eslint/scope-manager@7.12.0, @typescript-eslint/scope-manager@workspace:packages/scope-manager": +"@typescript-eslint/scope-manager@7.13.0, @typescript-eslint/scope-manager@workspace:packages/scope-manager": version: 0.0.0-use.local resolution: "@typescript-eslint/scope-manager@workspace:packages/scope-manager" dependencies: "@jest/types": 29.6.3 "@types/glob": "*" - "@typescript-eslint/types": 7.12.0 - "@typescript-eslint/typescript-estree": 7.12.0 - "@typescript-eslint/visitor-keys": 7.12.0 + "@typescript-eslint/types": 7.13.0 + "@typescript-eslint/typescript-estree": 7.13.0 + "@typescript-eslint/visitor-keys": 7.13.0 glob: "*" jest-specific-snapshot: "*" make-dir: "*" @@ -5817,14 +5817,14 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/type-utils@7.12.0, @typescript-eslint/type-utils@workspace:packages/type-utils": +"@typescript-eslint/type-utils@7.13.0, @typescript-eslint/type-utils@workspace:packages/type-utils": version: 0.0.0-use.local resolution: "@typescript-eslint/type-utils@workspace:packages/type-utils" dependencies: "@jest/types": 29.6.3 - "@typescript-eslint/parser": 7.12.0 - "@typescript-eslint/typescript-estree": 7.12.0 - "@typescript-eslint/utils": 7.12.0 + "@typescript-eslint/parser": 7.13.0 + "@typescript-eslint/typescript-estree": 7.13.0 + "@typescript-eslint/utils": 7.13.0 ajv: ^6.12.6 debug: ^4.3.4 downlevel-dts: "*" @@ -5839,7 +5839,7 @@ __metadata: languageName: unknown linkType: soft -"@typescript-eslint/types@7.12.0, @typescript-eslint/types@workspace:packages/types": +"@typescript-eslint/types@7.13.0, @typescript-eslint/types@workspace:packages/types": version: 0.0.0-use.local resolution: "@typescript-eslint/types@workspace:packages/types" dependencies: @@ -5938,14 +5938,14 @@ __metadata: languageName: unknown linkType: soft -"@typescript-eslint/typescript-estree@7.12.0, @typescript-eslint/typescript-estree@workspace:packages/typescript-estree": +"@typescript-eslint/typescript-estree@7.13.0, @typescript-eslint/typescript-estree@workspace:packages/typescript-estree": version: 0.0.0-use.local resolution: "@typescript-eslint/typescript-estree@workspace:packages/typescript-estree" dependencies: "@jest/types": 29.6.3 "@types/diff": ^5.2.1 - "@typescript-eslint/types": 7.12.0 - "@typescript-eslint/visitor-keys": 7.12.0 + "@typescript-eslint/types": 7.13.0 + "@typescript-eslint/visitor-keys": 7.13.0 debug: ^4.3.4 diff: ^5.2.0 glob: "*" @@ -6003,14 +6003,14 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/utils@7.12.0, @typescript-eslint/utils@workspace:packages/utils": +"@typescript-eslint/utils@7.13.0, @typescript-eslint/utils@workspace:packages/utils": version: 0.0.0-use.local resolution: "@typescript-eslint/utils@workspace:packages/utils" dependencies: "@eslint-community/eslint-utils": ^4.4.0 - "@typescript-eslint/scope-manager": 7.12.0 - "@typescript-eslint/types": 7.12.0 - "@typescript-eslint/typescript-estree": 7.12.0 + "@typescript-eslint/scope-manager": 7.13.0 + "@typescript-eslint/types": 7.13.0 + "@typescript-eslint/typescript-estree": 7.13.0 downlevel-dts: "*" jest: 29.7.0 prettier: ^3.2.5 @@ -6056,13 +6056,13 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/visitor-keys@7.12.0, @typescript-eslint/visitor-keys@workspace:packages/visitor-keys": +"@typescript-eslint/visitor-keys@7.13.0, @typescript-eslint/visitor-keys@workspace:packages/visitor-keys": version: 0.0.0-use.local resolution: "@typescript-eslint/visitor-keys@workspace:packages/visitor-keys" dependencies: "@jest/types": 29.6.3 "@types/eslint-visitor-keys": "*" - "@typescript-eslint/types": 7.12.0 + "@typescript-eslint/types": 7.13.0 downlevel-dts: "*" eslint-visitor-keys: ^3.4.3 jest: 29.7.0 @@ -6092,16 +6092,16 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/website-eslint@7.12.0, @typescript-eslint/website-eslint@workspace:packages/website-eslint": +"@typescript-eslint/website-eslint@7.13.0, @typescript-eslint/website-eslint@workspace:packages/website-eslint": version: 0.0.0-use.local resolution: "@typescript-eslint/website-eslint@workspace:packages/website-eslint" dependencies: "@eslint/js": "*" - "@typescript-eslint/eslint-plugin": 7.12.0 - "@typescript-eslint/parser": 7.12.0 - "@typescript-eslint/scope-manager": 7.12.0 - "@typescript-eslint/typescript-estree": 7.12.0 - "@typescript-eslint/visitor-keys": 7.12.0 + "@typescript-eslint/eslint-plugin": 7.13.0 + "@typescript-eslint/parser": 7.13.0 + "@typescript-eslint/scope-manager": 7.13.0 + "@typescript-eslint/typescript-estree": 7.13.0 + "@typescript-eslint/visitor-keys": 7.13.0 esbuild: ~0.21.0 eslint: "*" esquery: "*" @@ -19814,9 +19814,9 @@ __metadata: resolution: "typescript-eslint@workspace:packages/typescript-eslint" dependencies: "@jest/types": 29.6.3 - "@typescript-eslint/eslint-plugin": 7.12.0 - "@typescript-eslint/parser": 7.12.0 - "@typescript-eslint/utils": 7.12.0 + "@typescript-eslint/eslint-plugin": 7.13.0 + "@typescript-eslint/parser": 7.13.0 + "@typescript-eslint/utils": 7.13.0 downlevel-dts: "*" jest: 29.7.0 prettier: ^3.2.5 @@ -20526,14 +20526,14 @@ __metadata: "@types/mdast": ^4.0.3 "@types/react": "*" "@types/unist": ^3.0.2 - "@typescript-eslint/eslint-plugin": 7.12.0 - "@typescript-eslint/parser": 7.12.0 - "@typescript-eslint/rule-schema-to-typescript-types": 7.12.0 - "@typescript-eslint/scope-manager": 7.12.0 - "@typescript-eslint/types": 7.12.0 - "@typescript-eslint/typescript-estree": 7.12.0 - "@typescript-eslint/utils": 7.12.0 - "@typescript-eslint/website-eslint": 7.12.0 + "@typescript-eslint/eslint-plugin": 7.13.0 + "@typescript-eslint/parser": 7.13.0 + "@typescript-eslint/rule-schema-to-typescript-types": 7.13.0 + "@typescript-eslint/scope-manager": 7.13.0 + "@typescript-eslint/types": 7.13.0 + "@typescript-eslint/typescript-estree": 7.13.0 + "@typescript-eslint/utils": 7.13.0 + "@typescript-eslint/website-eslint": 7.13.0 "@uiw/react-shields": 2.0.1 clsx: ^2.1.0 copy-webpack-plugin: ^12.0.0 From 3687bd41a7549b9a9242d754053b5dde637f667d Mon Sep 17 00:00:00 2001 From: Christopher Aubut Date: Thu, 13 Jun 2024 16:14:27 -0600 Subject: [PATCH 34/36] chore: merge upstream (missed one) --- packages/eslint-plugin/tests/docs.test.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/eslint-plugin/tests/docs.test.ts b/packages/eslint-plugin/tests/docs.test.ts index 96401ecb2fa5..a54f57a7bee4 100644 --- a/packages/eslint-plugin/tests/docs.test.ts +++ b/packages/eslint-plugin/tests/docs.test.ts @@ -155,6 +155,7 @@ describe('Validating rule docs', () => { 'TEMPLATE.md', // These rule docs were left behind on purpose for legacy reasons. See the // comments in the files for more information. + 'ban-types.md', 'no-duplicate-imports.mdx', 'no-parameter-properties.mdx', 'no-useless-template-literals.mdx', @@ -162,7 +163,11 @@ describe('Validating rule docs', () => { ...oldStylisticRules, ]); - const rulesWithComplexOptions = new Set(['array-type', 'member-ordering']); + const rulesWithComplexOptions = new Set([ + 'array-type', + 'member-ordering', + 'no-restricted-types', + ]); // TODO: whittle this list down to as few as possible const rulesWithComplexOptionHeadings = new Set([ From e0eeaed6270cdf1d094e85bc5c2b899b197ff9cf Mon Sep 17 00:00:00 2001 From: Christopher Aubut Date: Thu, 13 Jun 2024 17:54:24 -0600 Subject: [PATCH 35/36] chore: apply update from 9312 --- .../create-program/createProjectService.ts | 34 +---- .../src/parseSettings/createParseSettings.ts | 12 +- .../src/useProgramFromProjectService.ts | 24 ++-- .../tests/lib/createProjectService.test.ts | 47 ------- .../lib/useProgramFromProjectService.test.ts | 119 ++++++++++++++++++ 5 files changed, 137 insertions(+), 99 deletions(-) diff --git a/packages/typescript-estree/src/create-program/createProjectService.ts b/packages/typescript-estree/src/create-program/createProjectService.ts index 3b6fd1b250bb..252f2cec3ca0 100644 --- a/packages/typescript-estree/src/create-program/createProjectService.ts +++ b/packages/typescript-estree/src/create-program/createProjectService.ts @@ -31,36 +31,16 @@ const doNothing = (): void => {}; export type TypeScriptProjectService = ts.server.ProjectService; export interface ProjectServiceSettings { - allowDefaultProject: string[]; + allowDefaultProject: string[] | undefined; maximumDefaultProjectFileMatchCount: number; service: TypeScriptProjectService; maximumOpenFiles: number; incremental: boolean; } -export interface ProjectServiceParseSettings { - extraFileExtensions?: string[]; -} - -export const updateExtraFileExtensions = ( - service: TypeScriptProjectService, - extraFileExtensions: string[], - scriptKind: ts.ScriptKind, -): void => { - log('Updating extra file extensions: %s', extraFileExtensions); - service.setHostConfiguration({ - extraFileExtensions: extraFileExtensions.map(extension => ({ - extension, - isMixedContent: false, - scriptKind, - })), - }); -}; - export function createProjectService( options: Required, jsDocParsingMode: ts.JSDocParsingMode | undefined, - parseSettings?: ProjectServiceParseSettings, ): ProjectServiceSettings { validateDefaultProjectForFilesGlob(options); @@ -69,10 +49,6 @@ export function createProjectService( // eslint-disable-next-line @typescript-eslint/no-require-imports const tsserver = require('typescript/lib/tsserverlibrary') as typeof ts; - // TODO: see getWatchProgramsForProjects - // We don't watch the disk, we just refer to these when ESLint calls us - // there's a whole separate update pass in maybeInvalidateProgram at the bottom of getWatchProgramsForProjects - // (this "goes nuclear on TypeScript") const system: ts.server.ServerHost = { ...tsserver.sys, clearImmediate, @@ -136,14 +112,6 @@ export function createProjectService( jsDocParsingMode, }); - if (parseSettings?.extraFileExtensions?.length) { - updateExtraFileExtensions( - service, - parseSettings.extraFileExtensions, - tsserver.ScriptKind.Deferred, - ); - } - if (options.defaultProject) { log('Enabling default project: %s', options.defaultProject); try { diff --git a/packages/typescript-estree/src/parseSettings/createParseSettings.ts b/packages/typescript-estree/src/parseSettings/createParseSettings.ts index e3b7876d46c9..cb8dd3450268 100644 --- a/packages/typescript-estree/src/parseSettings/createParseSettings.ts +++ b/packages/typescript-estree/src/parseSettings/createParseSettings.ts @@ -64,11 +64,6 @@ export function createParseSettings( return JSDocParsingMode.ParseAll; } })(); - const extraFileExtensions = - Array.isArray(tsestreeOptions.extraFileExtensions) && - tsestreeOptions.extraFileExtensions.every(ext => typeof ext === 'string') - ? tsestreeOptions.extraFileExtensions - : []; const projectService: Required = { allowDefaultProject: [], defaultProject: null, @@ -95,7 +90,11 @@ export function createParseSettings( : new Set(), errorOnTypeScriptSyntacticAndSemanticIssues: false, errorOnUnknownASTType: tsestreeOptions.errorOnUnknownASTType === true, - extraFileExtensions, + extraFileExtensions: + Array.isArray(tsestreeOptions.extraFileExtensions) && + tsestreeOptions.extraFileExtensions.every(ext => typeof ext === 'string') + ? tsestreeOptions.extraFileExtensions + : [], filePath: ensureAbsolutePath( typeof tsestreeOptions.filePath === 'string' && tsestreeOptions.filePath !== '' @@ -125,7 +124,6 @@ export function createParseSettings( ? (TSSERVER_PROJECT_SERVICE ??= createProjectService( projectService, jsDocParsingMode, - { extraFileExtensions }, )) : undefined, range: tsestreeOptions.range === true, diff --git a/packages/typescript-estree/src/useProgramFromProjectService.ts b/packages/typescript-estree/src/useProgramFromProjectService.ts index 5208abb67264..bc7c53c443fe 100644 --- a/packages/typescript-estree/src/useProgramFromProjectService.ts +++ b/packages/typescript-estree/src/useProgramFromProjectService.ts @@ -7,7 +7,6 @@ import * as ts from 'typescript'; import { createProjectProgram } from './create-program/createProjectProgram'; import type { ProjectServiceSettings } from './create-program/createProjectService'; -import { updateExtraFileExtensions } from './create-program/createProjectService'; import { watches } from './create-program/getWatchesForProjectService'; import type { ASTAndDefiniteProgram } from './create-program/shared'; import { DEFAULT_PROJECT_FILES_ERROR_EXPLANATION } from './create-program/validateDefaultProjectForFilesGlob'; @@ -20,9 +19,6 @@ const logEdits = debug( 'typescript-eslint:typescript-estree:useProgramFromProjectService:editContent', ); -// "@typescript-eslint/types": "higherorderfunctor/typescript-eslint#patches2upstream&path:packages/types", -// "@typescript-eslint/typescript-estree": "higherorderfunctor/typescript-eslint#patches2upstream&path:packages/typescript-estree", - const getOrCreateOpenedFilesCache = ( service: ts.server.ProjectService & { __opened_lru_cache?: Map; @@ -53,7 +49,7 @@ const difference = (self: Set, other: Set): Set => const symmetricDifference = (self: Set, other: Set): Set => union(difference(self, other), difference(other, self)); -const updateExtraFileExtensionsIfNeeded = ( +const updateExtraFileExtensions = ( service: ts.server.ProjectService & { __extra_file_extensions?: Set; }, @@ -69,12 +65,15 @@ const updateExtraFileExtensionsIfNeeded = ( ).size > 0 ) { service.__extra_file_extensions = new Set(extraFileExtensions); + log('Updating extra file extensions: %s', extraFileExtensions); + service.setHostConfiguration({ + extraFileExtensions: extraFileExtensions.map(extension => ({ + extension, + isMixedContent: false, + scriptKind: ts.ScriptKind.Deferred, + })), + }); log('Extra file extensions updated: %o', service.__extra_file_extensions); - updateExtraFileExtensions( - service, - extraFileExtensions, - ts.ScriptKind.Deferred, - ); } }; @@ -130,12 +129,13 @@ export function useProgramFromProjectService( hasFullTypeInformation: boolean, defaultProjectMatchedFiles: Set, ): ASTAndDefiniteProgram | undefined { + // NOTE: triggers a full project reload when changes are detected + updateExtraFileExtensions(service, parseSettings.extraFileExtensions); + const openedFilesCache = getOrCreateOpenedFilesCache(service, { max: maximumOpenFiles, }); - updateExtraFileExtensionsIfNeeded(service, parseSettings.extraFileExtensions); - // We don't canonicalize the filename because it caused a performance regression. // See https://github.com/typescript-eslint/typescript-eslint/issues/8519 const filePathAbsolute = absolutify(parseSettings.filePath); diff --git a/packages/typescript-estree/tests/lib/createProjectService.test.ts b/packages/typescript-estree/tests/lib/createProjectService.test.ts index dff53769ffe7..cec596cd8c4a 100644 --- a/packages/typescript-estree/tests/lib/createProjectService.test.ts +++ b/packages/typescript-estree/tests/lib/createProjectService.test.ts @@ -16,7 +16,6 @@ const origGetParsedCommandLineOfConfigFile = let mockSys: typeof ts.sys; const mockGetParsedCommandLineOfConfigFile = jest.fn(); const mockSetCompilerOptionsForInferredProjects = jest.fn(); -const mockSetHostConfiguration = jest.fn(); describe('createProjectService', () => { beforeEach(() => { @@ -45,7 +44,6 @@ describe('createProjectService', () => { } setCompilerOptionsForInferredProjects = mockSetCompilerOptionsForInferredProjects; - setHostConfiguration = mockSetHostConfiguration; }, }, }; @@ -241,51 +239,6 @@ describe('createProjectService', () => { ); }); - it('does not call setHostConfiguration if extraFileExtensions are not provided', () => { - const compilerOptions = { strict: true }; - mockGetParsedCommandLineOfConfigFile.mockReturnValue({ - config: { compilerOptions }, - errors: [], - }); - - const { service } = createProjectService( - { - defaultProject: './tsconfig.json', - }, - undefined, - ); - - expect(service.setHostConfiguration).not.toHaveBeenCalled(); - }); - - it('calls setHostConfiguration when extraFileExtensions is provided', () => { - const compilerOptions = { strict: true }; - mockGetParsedCommandLineOfConfigFile.mockReturnValue({ - config: { compilerOptions }, - errors: [], - }); - - const { service } = createProjectService( - { - defaultProject: './tsconfig.json', - }, - undefined, - { - extraFileExtensions: ['.vue'], - }, - ); - - expect(service.setHostConfiguration).toHaveBeenCalledWith({ - extraFileExtensions: [ - { - extension: '.vue', - isMixedContent: false, - scriptKind: ts.ScriptKind.Deferred, - }, - ], - }); - }); - it('uses the default projects error debugger for error messages when enabled', () => { jest.spyOn(process.stderr, 'write').mockImplementation(); const { service } = createProjectService(undefined, undefined); diff --git a/packages/typescript-estree/tests/lib/useProgramFromProjectService.test.ts b/packages/typescript-estree/tests/lib/useProgramFromProjectService.test.ts index 6fa98ada5420..94e054d2e864 100644 --- a/packages/typescript-estree/tests/lib/useProgramFromProjectService.test.ts +++ b/packages/typescript-estree/tests/lib/useProgramFromProjectService.test.ts @@ -1,5 +1,6 @@ /* eslint-disable @typescript-eslint/explicit-function-return-type -- Fancy mocks */ import path from 'path'; +import { ScriptKind } from 'typescript'; import type { ProjectServiceSettings, @@ -22,6 +23,7 @@ const currentDirectory = '/repos/repo'; function createMockProjectService() { const openClientFile = jest.fn(); + const setHostConfiguration = jest.fn(); const service = { getDefaultProjectForFile: () => ({ getLanguageService: () => ({ @@ -33,6 +35,7 @@ function createMockProjectService() { getCurrentDirectory: () => currentDirectory, }, openClientFile, + setHostConfiguration, }; return { @@ -43,6 +46,7 @@ function createMockProjectService() { const mockParseSettings = { filePath: 'path/PascalCaseDirectory/camelCaseFile.ts', + extraFileExtensions: [] as readonly string[], } as ParseSettings; const createProjectServiceSettings = < @@ -297,4 +301,119 @@ If you absolutely need more files included, set parserOptions.projectService.max expect(actual).toBe(program); }); + + it('does not call setHostConfiguration if extraFileExtensions are not provided', () => { + const { service } = createMockProjectService(); + + useProgramFromProjectService( + createProjectServiceSettings({ + allowDefaultProject: [mockParseSettings.filePath], + service, + }), + mockParseSettings, + false, + new Set(), + ); + + expect(service.setHostConfiguration).not.toHaveBeenCalled(); + }); + + it('calls setHostConfiguration on the service to use extraFileExtensions when it is provided', () => { + const { service } = createMockProjectService(); + + useProgramFromProjectService( + createProjectServiceSettings({ + allowDefaultProject: [mockParseSettings.filePath], + service, + }), + { + ...mockParseSettings, + extraFileExtensions: ['.vue'], + }, + false, + new Set(), + ); + + expect(service.setHostConfiguration).toHaveBeenCalledWith({ + extraFileExtensions: [ + { + extension: '.vue', + isMixedContent: false, + scriptKind: ScriptKind.Deferred, + }, + ], + }); + }); + + it('does not call setHostConfiguration on the service to use extraFileExtensions when unchanged', () => { + const { service } = createMockProjectService(); + + useProgramFromProjectService( + createProjectServiceSettings({ + allowDefaultProject: [mockParseSettings.filePath], + service, + }), + { + ...mockParseSettings, + extraFileExtensions: ['.vue'], + }, + false, + new Set(), + ); + + expect(service.setHostConfiguration).toHaveBeenCalledTimes(1); + expect(service.setHostConfiguration).toHaveBeenCalledWith({ + extraFileExtensions: [ + { + extension: '.vue', + isMixedContent: false, + scriptKind: ScriptKind.Deferred, + }, + ], + }); + }); + + it('calls setHostConfiguration on the service to use extraFileExtensions when changed', () => { + const { service } = createMockProjectService(); + const settings = createProjectServiceSettings({ + allowDefaultProject: [mockParseSettings.filePath], + service, + }); + + useProgramFromProjectService( + settings, + { + ...mockParseSettings, + extraFileExtensions: ['.vue'], + }, + false, + new Set(), + ); + + expect(service.setHostConfiguration).toHaveBeenCalledTimes(1); + expect(service.setHostConfiguration).toHaveBeenCalledWith({ + extraFileExtensions: [ + { + extension: '.vue', + isMixedContent: false, + scriptKind: ScriptKind.Deferred, + }, + ], + }); + + useProgramFromProjectService( + settings, + { + ...mockParseSettings, + extraFileExtensions: [], + }, + false, + new Set(), + ); + + expect(service.setHostConfiguration).toHaveBeenCalledTimes(2); + expect(service.setHostConfiguration).toHaveBeenCalledWith({ + extraFileExtensions: [], + }); + }); }); From 9be1c45d44d20cba363113131b43cc6e0c2ac93b Mon Sep 17 00:00:00 2001 From: Christopher Aubut Date: Thu, 13 Jun 2024 21:49:58 -0600 Subject: [PATCH 36/36] chore: apply update from 9312 --- .../src/useProgramFromProjectService.ts | 25 +++++++++++-------- .../lib/useProgramFromProjectService.test.ts | 20 ++++++++++++--- 2 files changed, 31 insertions(+), 14 deletions(-) diff --git a/packages/typescript-estree/src/useProgramFromProjectService.ts b/packages/typescript-estree/src/useProgramFromProjectService.ts index bc7c53c443fe..ba811253909e 100644 --- a/packages/typescript-estree/src/useProgramFromProjectService.ts +++ b/packages/typescript-estree/src/useProgramFromProjectService.ts @@ -55,24 +55,29 @@ const updateExtraFileExtensions = ( }, extraFileExtensions: string[], ): void => { - if (!service.__extra_file_extensions) { - service.__extra_file_extensions = new Set(); - } + const uniqExtraFileExtensions = new Set(extraFileExtensions); if ( - symmetricDifference( - service.__extra_file_extensions, - new Set(extraFileExtensions), - ).size > 0 + (service.__extra_file_extensions === undefined && + uniqExtraFileExtensions.size > 0) || + (service.__extra_file_extensions !== undefined && + symmetricDifference( + service.__extra_file_extensions, + uniqExtraFileExtensions, + ).size > 0) ) { - service.__extra_file_extensions = new Set(extraFileExtensions); - log('Updating extra file extensions: %s', extraFileExtensions); + log( + 'Updating extra file extensions: %s: %s', + service.__extra_file_extensions, + uniqExtraFileExtensions, + ); service.setHostConfiguration({ - extraFileExtensions: extraFileExtensions.map(extension => ({ + extraFileExtensions: [...uniqExtraFileExtensions].map(extension => ({ extension, isMixedContent: false, scriptKind: ts.ScriptKind.Deferred, })), }); + service.__extra_file_extensions = uniqExtraFileExtensions; log('Extra file extensions updated: %o', service.__extra_file_extensions); } }; diff --git a/packages/typescript-estree/tests/lib/useProgramFromProjectService.test.ts b/packages/typescript-estree/tests/lib/useProgramFromProjectService.test.ts index 94e054d2e864..ee2de7594d11 100644 --- a/packages/typescript-estree/tests/lib/useProgramFromProjectService.test.ts +++ b/packages/typescript-estree/tests/lib/useProgramFromProjectService.test.ts @@ -347,12 +347,13 @@ If you absolutely need more files included, set parserOptions.projectService.max it('does not call setHostConfiguration on the service to use extraFileExtensions when unchanged', () => { const { service } = createMockProjectService(); + const settings = createProjectServiceSettings({ + allowDefaultProject: [mockParseSettings.filePath], + service, + }); useProgramFromProjectService( - createProjectServiceSettings({ - allowDefaultProject: [mockParseSettings.filePath], - service, - }), + settings, { ...mockParseSettings, extraFileExtensions: ['.vue'], @@ -371,6 +372,17 @@ If you absolutely need more files included, set parserOptions.projectService.max }, ], }); + + useProgramFromProjectService( + settings, + { + ...mockParseSettings, + extraFileExtensions: ['.vue'], + }, + false, + new Set(), + ); + expect(service.setHostConfiguration).toHaveBeenCalledTimes(1); }); it('calls setHostConfiguration on the service to use extraFileExtensions when changed', () => {