Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Slow createProjectProgram/createWatchProgram #2398

Assignees
bradzacher
Labels
breaking changeThis change will require a new major version to be releasedbugSomething isn't workingpackage: typescript-estreeIssues related to @typescript-eslint/typescript-estree
Milestone
@vilicvane

Description

@vilicvane

Repro

{"parserOptions": {"project":"./*/**/tsconfig.json"  }}

I use./*/**/tsconfig.json to ignore the roottsconfig.json so that it compares with the later configuration. Using./**/tsconfig.json will not change the performance.

The@mufan/code-* packages below involves symlinks.

Please let me know if this is not obvious enough so I can prepare an actual repro.

debug output

$ eslint .  typescript-eslint:typescript-estree:parser parserOptions.project matched projects: [  './node_modules/@bcoe/v8-coverage/dist/lib/tsconfig.json',  './node_modules/@bcoe/v8-coverage/tsconfig.json',  './node_modules/@mufan/code-boilerplates/tsconfig.json',  './node_modules/@mufan/code-templates/tsconfig.json',  './node_modules/@mufan/code/tsconfig.json',  './node_modules/@mufan/eslint-plugin/src/tsconfig.json',  './node_modules/fastq/test/tsconfig.json',  './node_modules/rxjs/src/tsconfig.json',  './node_modules/tsconfig-paths/test/tsconfig.json',  './node_modules/uri-js/tsconfig.json',  './packages/cli/src/program/tsconfig.json',  './packages/core/src/library/tsconfig.json',  './packages/utils/src/library/tsconfig.json',  './packages/utils/src/test/tsconfig.json'] +0ms  typescript-eslint:typescript-estree:parser ignore list applied to parserOptions.project: [  './packages/cli/src/program/tsconfig.json',  './packages/core/src/library/tsconfig.json',  './packages/utils/src/library/tsconfig.json',  './packages/utils/src/test/tsconfig.json'] +3ms  typescript-eslint:typescript-estree:createProjectProgram Creating project program for: /root/workspace/magicspace/packages/cli/src/program/@command.ts +0ms  typescript-eslint:typescript-estree:createWatchProgram File did not belong to any existing programs, moving to create/update. /root/workspace/magicspace/packages/cli/src/program/@command.ts +0ms  typescript-eslint:typescript-estree:createWatchProgram Creating watch program for /root/workspace/magicspace/packages/cli/src/program/tsconfig.json. +0ms  typescript-eslint:typescript-estree:createWatchProgram Creating watch program for /root/workspace/magicspace/packages/core/src/library/tsconfig.json. +906ms  typescript-eslint:typescript-estree:createWatchProgram Creating watch program for /root/workspace/magicspace/packages/utils/src/library/tsconfig.json. +632ms  typescript-eslint:typescript-estree:createWatchProgram Creating watch program for /root/workspace/magicspace/packages/utils/src/test/tsconfig.json. +399ms  typescript-eslint:typescript-estree:parser parserOptions.project matched projects: [  './node_modules/@bcoe/v8-coverage/dist/lib/tsconfig.json',  './node_modules/@bcoe/v8-coverage/tsconfig.json',  './node_modules/@mufan/code-boilerplates/tsconfig.json',  './node_modules/@mufan/code-templates/tsconfig.json',  './node_modules/@mufan/code/tsconfig.json',  './node_modules/@mufan/eslint-plugin/src/tsconfig.json',  './node_modules/fastq/test/tsconfig.json',  './node_modules/rxjs/src/tsconfig.json',  './node_modules/tsconfig-paths/test/tsconfig.json',  './node_modules/uri-js/tsconfig.json',  './packages/cli/src/program/tsconfig.json',  './packages/core/src/library/tsconfig.json',  './packages/utils/src/library/tsconfig.json',  './packages/utils/src/test/tsconfig.json'] +3s  typescript-eslint:typescript-estree:parser ignore list applied to parserOptions.project: [  './packages/cli/src/program/tsconfig.json',  './packages/core/src/library/tsconfig.json',  './packages/utils/src/library/tsconfig.json',  './packages/utils/src/test/tsconfig.json'] +0ms  typescript-eslint:typescript-estree:createProjectProgram Creating project program for: /root/workspace/magicspace/packages/cli/src/program/@space.ts +3s  typescript-eslint:typescript-estree:createWatchProgram Found existing program for file. /root/workspace/magicspace/packages/cli/src/program/@space.ts +1s  typescript-eslint:typescript-estree:parser parserOptions.project matched projects: [  './node_modules/@bcoe/v8-coverage/dist/lib/tsconfig.json',  './node_modules/@bcoe/v8-coverage/tsconfig.json',  './node_modules/@mufan/code-boilerplates/tsconfig.json',  './node_modules/@mufan/code-templates/tsconfig.json',  './node_modules/@mufan/code/tsconfig.json',  './node_modules/@mufan/eslint-plugin/src/tsconfig.json',  './node_modules/fastq/test/tsconfig.json',  './node_modules/rxjs/src/tsconfig.json',  './node_modules/tsconfig-paths/test/tsconfig.json',  './node_modules/uri-js/tsconfig.json',  './packages/cli/src/program/tsconfig.json',  './packages/core/src/library/tsconfig.json',  './packages/utils/src/library/tsconfig.json',  './packages/utils/src/test/tsconfig.json'] +1s  typescript-eslint:typescript-estree:parser ignore list applied to parserOptions.project: [  './packages/cli/src/program/tsconfig.json',  './packages/core/src/library/tsconfig.json',  './packages/utils/src/library/tsconfig.json',  './packages/utils/src/test/tsconfig.json'] +0ms  typescript-eslint:typescript-estree:createProjectProgram Creating project program for: /root/workspace/magicspace/packages/cli/src/program/@types/prompts.d.ts +1s  typescript-eslint:typescript-estree:createWatchProgram Found existing program for file. /root/workspace/magicspace/packages/cli/src/program/@types/prompts.d.ts +1s  typescript-eslint:typescript-estree:parser parserOptions.project matched projects: [  './node_modules/@bcoe/v8-coverage/dist/lib/tsconfig.json',  './node_modules/@bcoe/v8-coverage/tsconfig.json',  './node_modules/@mufan/code-boilerplates/tsconfig.json',  './node_modules/@mufan/code-templates/tsconfig.json',  './node_modules/@mufan/code/tsconfig.json',  './node_modules/@mufan/eslint-plugin/src/tsconfig.json',  './node_modules/fastq/test/tsconfig.json',  './node_modules/rxjs/src/tsconfig.json',  './node_modules/tsconfig-paths/test/tsconfig.json',  './node_modules/uri-js/tsconfig.json',  './packages/cli/src/program/tsconfig.json',  './packages/core/src/library/tsconfig.json',  './packages/utils/src/library/tsconfig.json',  './packages/utils/src/test/tsconfig.json'] +998ms  typescript-eslint:typescript-estree:parser ignore list applied to parserOptions.project: [  './packages/cli/src/program/tsconfig.json',  './packages/core/src/library/tsconfig.json',  './packages/utils/src/library/tsconfig.json',  './packages/utils/src/test/tsconfig.json'] +0ms

But if I change the project pattern and ignore thenode_modules before ignore list applied, then it lints a lot faster:

{"parserOptions": {"project":"./!(node_modules)/**/tsconfig.json"  }}
debug output

$ eslint .  typescript-eslint:typescript-estree:parser parserOptions.project matched projects: [  './packages/cli/src/program/tsconfig.json',  './packages/core/src/library/tsconfig.json',  './packages/utils/src/library/tsconfig.json',  './packages/utils/src/test/tsconfig.json'] +0ms  typescript-eslint:typescript-estree:parser ignore list applied to parserOptions.project: [  './packages/cli/src/program/tsconfig.json',  './packages/core/src/library/tsconfig.json',  './packages/utils/src/library/tsconfig.json',  './packages/utils/src/test/tsconfig.json'] +2ms  typescript-eslint:typescript-estree:createProjectProgram Creating project program for: /root/workspace/magicspace/packages/cli/src/program/@command.ts +0ms  typescript-eslint:typescript-estree:createWatchProgram File did not belong to any existing programs, moving to create/update. /root/workspace/magicspace/packages/cli/src/program/@command.ts +0ms  typescript-eslint:typescript-estree:createWatchProgram Creating watch program for /root/workspace/magicspace/packages/cli/src/program/tsconfig.json. +0ms  typescript-eslint:typescript-estree:createWatchProgram Creating watch program for /root/workspace/magicspace/packages/core/src/library/tsconfig.json. +843ms  typescript-eslint:typescript-estree:createWatchProgram Creating watch program for /root/workspace/magicspace/packages/utils/src/library/tsconfig.json. +641ms  typescript-eslint:typescript-estree:createWatchProgram Creating watch program for /root/workspace/magicspace/packages/utils/src/test/tsconfig.json. +385ms  typescript-eslint:typescript-estree:parser parserOptions.project matched projects: [  './packages/cli/src/program/tsconfig.json',  './packages/core/src/library/tsconfig.json',  './packages/utils/src/library/tsconfig.json',  './packages/utils/src/test/tsconfig.json'] +2s  typescript-eslint:typescript-estree:parser ignore list applied to parserOptions.project: [  './packages/cli/src/program/tsconfig.json',  './packages/core/src/library/tsconfig.json',  './packages/utils/src/library/tsconfig.json',  './packages/utils/src/test/tsconfig.json'] +1ms  typescript-eslint:typescript-estree:createProjectProgram Creating project program for: /root/workspace/magicspace/packages/cli/src/program/@space.ts +2s  typescript-eslint:typescript-estree:createWatchProgram Found existing program for file. /root/workspace/magicspace/packages/cli/src/program/@space.ts +307ms  typescript-eslint:typescript-estree:parser parserOptions.project matched projects: [  './packages/cli/src/program/tsconfig.json',  './packages/core/src/library/tsconfig.json',  './packages/utils/src/library/tsconfig.json',  './packages/utils/src/test/tsconfig.json'] +87ms  typescript-eslint:typescript-estree:parser ignore list applied to parserOptions.project: [  './packages/cli/src/program/tsconfig.json',  './packages/core/src/library/tsconfig.json',  './packages/utils/src/library/tsconfig.json',  './packages/utils/src/test/tsconfig.json'] +0ms  typescript-eslint:typescript-estree:createProjectProgram Creating project program for: /root/workspace/magicspace/packages/cli/src/program/@types/prompts.d.ts +87ms  typescript-eslint:typescript-estree:createWatchProgram Found existing program for file. /root/workspace/magicspace/packages/cli/src/program/@types/prompts.d.ts +87ms  typescript-eslint:typescript-estree:parser parserOptions.project matched projects: [  './packages/cli/src/program/tsconfig.json',  './packages/core/src/library/tsconfig.json',  './packages/utils/src/library/tsconfig.json',  './packages/utils/src/test/tsconfig.json'] +20ms  typescript-eslint:typescript-estree:parser ignore list applied to parserOptions.project: [  './packages/cli/src/program/tsconfig.json',  './packages/core/src/library/tsconfig.json',  './packages/utils/src/library/tsconfig.json',  './packages/utils/src/test/tsconfig.json'] +0ms

Versions

packageversion
@typescript-eslint/typescript-estree3.9.0
@typescript-eslint/parser3.9.0
TypeScript3.9.7
node14.4.0
npmn/a

Metadata

Metadata

Assignees

Labels

breaking changeThis change will require a new major version to be releasedbugSomething isn't workingpackage: typescript-estreeIssues related to @typescript-eslint/typescript-estree

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions


    [8]ページ先頭

    ©2009-2025 Movatter.jp