You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Bug]: ZipFS doesn't implement throwIfNoEntry which is slowing down tsc #4283
We can fix this by implementing throwIfNoEntry which TypeScript uses to avoid the overhead of creating Errors, it's something I intend to implement but I haven't gotten around to it yet.
changed the title [-][performance]: pnp ENOTDIR and ENOTDIR making typescript process slow[/-][+][Bug]: PnP doesn't implement `throwIfNoEntry` which is slowing down `tsc`[/+]on Mar 28, 2022
having a workspaces monorepo and a single folder with own package.json and tsconfig.json, the time required for lint/compile is 1/2 compared when the root tsconfig.json is used + the amount of ENOTDIR and ENOENT is lower, therefore less calls to makeError
ENOENT stat '/node_modules/@types/node
ENOENT stat '/node_modules/@types/react.d.ts'
ENOENT stat '/node_modules/eslint-import-resolver-typescript/lib/cjs'
ENOENT stat '/node_modules/eslint-import-resolver-typescript/lib/cjs'
ENOENT stat '/node_modules/eslint-import-resolver-typescript/lib/cjs'
ENOENT stat '/node_modules/eslint-import-resolver-typescript/lib/cjs'
ENOENT stat '/node_modules/eslint-import-resolver-typescript/lib/cjs'
ENOENT stat '/node_modules/eslint-import-resolver-typescript/lib/cjs'
ENOENT stat '/node_modules/eslint-import-resolver-typescript/lib/cjs'
ENOENT stat '/node_modules/eslint-import-resolver-typescript/lib/cjs'
ENOENT stat '/node_modules/eslint-import-resolver-typescript/lib/cjs'
ENOENT stat '/node_modules/lodash/isEqual'
ENOENT stat '/node_modules/lodash/isEqual.ts'
ENOENT stat '/node_modules/lodash/isEqual.tsx'
ENOENT stat '/node_modules/lodash/isEqual.d.ts'
ENOENT stat '/node_modules/@types/lodash/isEqual'
ENOENT stat '/node_modules/@types/lodash/isEqual.ts'
ENOENT stat '/node_modules/@types/lodash/isEqual.tsx'
ENOENT stat '/node_modules/eslint-import-resolver-typescript/lib/cjs'
ENOENT open '/node_modules/chalk/source/package.json'
changed the title [-][Bug]: PnP doesn't implement `throwIfNoEntry` which is slowing down `tsc`[/-][+][Bug]: `ZipFS` doesn't implement `throwIfNoEntry` which is slowing down `tsc`[/+]on May 20, 2022
Activity
arcanis commentedon Mar 28, 2022
That doesn't seem something about Yarn - TS just does a lot of "trial and error" searches in its resolution.
merceyz commentedon Mar 28, 2022
We can fix this by implementing
throwIfNoEntrywhich TypeScript uses to avoid the overhead of creatingErrors, it's something I intend to implement but I haven't gotten around to it yet.[-][performance]: pnp ENOTDIR and ENOTDIR making typescript process slow[/-][+][Bug]: PnP doesn't implement `throwIfNoEntry` which is slowing down `tsc`[/+]vire commentedon Mar 28, 2022
@arcanis @merceyz I did observe a really interesting behavior
having a
workspacesmonorepo and a single folder with ownpackage.jsonandtsconfig.json, the time required for lint/compile is 1/2 compared when the roottsconfig.jsonis used + the amount ofENOTDIRandENOENTis lower, therefore less calls tomakeErrorI was thinking this issue relates to
pnpfeature when the TS calls to locate types innode_modulestakes too long and eats a lot of CPUvire commentedon Mar 28, 2022
an excerpt of the errors
[-][Bug]: PnP doesn't implement `throwIfNoEntry` which is slowing down `tsc`[/-][+][Bug]: `ZipFS` doesn't implement `throwIfNoEntry` which is slowing down `tsc`[/+]