From f62f9ca8a5876308f7e8c3f7267203911c4f42e2 Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Mon, 4 Sep 2023 19:08:27 -0700 Subject: [PATCH 1/3] Fix type checker crash --- .../fixtures/@rollup__plugin-eslint@8.0.1.tgz | Bin 0 -> 3733 bytes .../@rollup__plugin-eslint@8.0.1.tgz.json | 352 ++++++++++++++++++ 2 files changed, 352 insertions(+) create mode 100644 packages/core/test/fixtures/@rollup__plugin-eslint@8.0.1.tgz create mode 100644 packages/core/test/snapshots/@rollup__plugin-eslint@8.0.1.tgz.json diff --git a/packages/core/test/fixtures/@rollup__plugin-eslint@8.0.1.tgz b/packages/core/test/fixtures/@rollup__plugin-eslint@8.0.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..06a49f797260aff38d1d55801310a00f5c4e8651 GIT binary patch literal 3733 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 literal 0 HcmV?d00001 diff --git a/packages/core/test/snapshots/@rollup__plugin-eslint@8.0.1.tgz.json b/packages/core/test/snapshots/@rollup__plugin-eslint@8.0.1.tgz.json new file mode 100644 index 0000000..131b1c2 --- /dev/null +++ b/packages/core/test/snapshots/@rollup__plugin-eslint@8.0.1.tgz.json @@ -0,0 +1,352 @@ +{ + "packageName": "@rollup/plugin-eslint", + "packageVersion": "8.0.1", + "types": { + "kind": "included" + }, + "buildTools": { + "rollup": "^2.23.0", + "@rollup/plugin-typescript": "^6.0.0" + }, + "entrypoints": { + ".": { + "subpath": ".", + "resolutions": { + "node10": { + "name": ".", + "resolutionKind": "node10", + "resolution": { + "fileName": "/node_modules/@rollup/plugin-eslint/types/index.d.ts", + "isJson": false, + "isTypeScript": true, + "trace": [ + "======== Resolving module '@rollup/plugin-eslint' from '/index.ts'. ========", + "Explicitly specified module resolution kind: 'Node10'.", + "Loading module '@rollup/plugin-eslint' from 'node_modules' folder, target file types: TypeScript, Declaration.", + "Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.", + "Found 'package.json' at '/node_modules/@rollup/plugin-eslint/package.json'.", + "File '/node_modules/@rollup/plugin-eslint.ts' does not exist.", + "File '/node_modules/@rollup/plugin-eslint.tsx' does not exist.", + "File '/node_modules/@rollup/plugin-eslint.d.ts' does not exist.", + "'package.json' does not have a 'typesVersions' field.", + "'package.json' does not have a 'typings' field.", + "'package.json' has 'types' field 'types/index.d.ts' that references '/node_modules/@rollup/plugin-eslint/types/index.d.ts'.", + "File '/node_modules/@rollup/plugin-eslint/types/index.d.ts' exists - use it as a name resolution result.", + "======== Module name '@rollup/plugin-eslint' was successfully resolved to '/node_modules/@rollup/plugin-eslint/types/index.d.ts' with Package ID '@rollup/plugin-eslint/types/index.d.ts@8.0.1'. ========" + ] + }, + "implementationResolution": { + "fileName": "/node_modules/@rollup/plugin-eslint/dist/index.js", + "isJson": false, + "isTypeScript": false, + "trace": [ + "======== Resolving module '@rollup/plugin-eslint' from '/index.ts'. ========", + "Explicitly specified module resolution kind: 'Node10'.", + "Loading module '@rollup/plugin-eslint' from 'node_modules' folder, target file types: TypeScript.", + "Searching all ancestor node_modules directories for preferred extensions: TypeScript.", + "Found 'package.json' at '/node_modules/@rollup/plugin-eslint/package.json'.", + "File '/node_modules/@rollup/plugin-eslint.ts' does not exist.", + "File '/node_modules/@rollup/plugin-eslint.tsx' does not exist.", + "'package.json' does not have a 'typesVersions' field.", + "'package.json' has 'main' field 'dist/index.js' that references '/node_modules/@rollup/plugin-eslint/dist/index.js'.", + "File '/node_modules/@rollup/plugin-eslint/dist/index.js' exists - use it as a name resolution result.", + "File '/node_modules/@rollup/plugin-eslint/dist/index.js' has an unsupported extension, so skipping it.", + "Loading module as file / folder, candidate module location '/node_modules/@rollup/plugin-eslint/dist/index.js', target file types: TypeScript.", + "File name '/node_modules/@rollup/plugin-eslint/dist/index.js' has a '.js' extension - stripping it.", + "File '/node_modules/@rollup/plugin-eslint/dist/index.ts' does not exist.", + "File '/node_modules/@rollup/plugin-eslint/dist/index.tsx' does not exist.", + "File '/node_modules/@rollup/plugin-eslint/dist/index.js.ts' does not exist.", + "File '/node_modules/@rollup/plugin-eslint/dist/index.js.tsx' does not exist.", + "Directory '/node_modules/@rollup/plugin-eslint/dist/index.js' does not exist, skipping all lookups in it.", + "File '/node_modules/@rollup/plugin-eslint/index.ts' does not exist.", + "File '/node_modules/@rollup/plugin-eslint/index.tsx' does not exist.", + "Loading module '@rollup/plugin-eslint' from 'node_modules' folder, target file types: JavaScript, JSON.", + "Searching all ancestor node_modules directories for fallback extensions: JavaScript, JSON.", + "File '/node_modules/@rollup/plugin-eslint/package.json' exists according to earlier cached lookups.", + "File '/node_modules/@rollup/plugin-eslint.js' does not exist.", + "File '/node_modules/@rollup/plugin-eslint.jsx' does not exist.", + "'package.json' has 'main' field 'dist/index.js' that references '/node_modules/@rollup/plugin-eslint/dist/index.js'.", + "File '/node_modules/@rollup/plugin-eslint/dist/index.js' exists - use it as a name resolution result.", + "======== Module name '@rollup/plugin-eslint' was successfully resolved to '/node_modules/@rollup/plugin-eslint/dist/index.js' with Package ID '@rollup/plugin-eslint/dist/index.js@8.0.1'. ========" + ] + }, + "files": [ + "/node_modules/typescript/lib/lib.d.ts", + "/node_modules/@rollup/plugin-eslint/types/index.d.ts" + ] + }, + "node16-cjs": { + "name": ".", + "resolutionKind": "node16-cjs", + "resolution": { + "fileName": "/node_modules/@rollup/plugin-eslint/types/index.d.ts", + "moduleKind": { + "detectedKind": 1, + "detectedReason": "no:type", + "reasonFileName": "/node_modules/@rollup/plugin-eslint/package.json" + }, + "isJson": false, + "isTypeScript": true, + "trace": [ + "======== Resolving module '@rollup/plugin-eslint' from '/index.ts'. ========", + "Explicitly specified module resolution kind: 'Node16'.", + "Resolving in CJS mode with conditions 'require', 'types', 'node'.", + "File '/package.json' does not exist.", + "Loading module '@rollup/plugin-eslint' from 'node_modules' folder, target file types: TypeScript, JavaScript, Declaration, JSON.", + "Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.", + "Found 'package.json' at '/node_modules/@rollup/plugin-eslint/package.json'.", + "File '/node_modules/@rollup/plugin-eslint.ts' does not exist.", + "File '/node_modules/@rollup/plugin-eslint.tsx' does not exist.", + "File '/node_modules/@rollup/plugin-eslint.d.ts' does not exist.", + "'package.json' does not have a 'typesVersions' field.", + "'package.json' does not have a 'typings' field.", + "'package.json' has 'types' field 'types/index.d.ts' that references '/node_modules/@rollup/plugin-eslint/types/index.d.ts'.", + "File '/node_modules/@rollup/plugin-eslint/types/index.d.ts' exists - use it as a name resolution result.", + "======== Module name '@rollup/plugin-eslint' was successfully resolved to '/node_modules/@rollup/plugin-eslint/types/index.d.ts' with Package ID '@rollup/plugin-eslint/types/index.d.ts@8.0.1'. ========" + ] + }, + "implementationResolution": { + "fileName": "/node_modules/@rollup/plugin-eslint/dist/index.js", + "moduleKind": { + "detectedKind": 1, + "detectedReason": "no:type", + "reasonFileName": "/node_modules/@rollup/plugin-eslint/package.json" + }, + "isJson": false, + "isTypeScript": false, + "trace": [ + "======== Resolving module '@rollup/plugin-eslint' from '/index.ts'. ========", + "Explicitly specified module resolution kind: 'Node16'.", + "Resolving in CJS mode with conditions 'require', 'node'.", + "File '/package.json' does not exist.", + "Loading module '@rollup/plugin-eslint' from 'node_modules' folder, target file types: TypeScript, JavaScript, JSON.", + "Searching all ancestor node_modules directories for preferred extensions: TypeScript.", + "Found 'package.json' at '/node_modules/@rollup/plugin-eslint/package.json'.", + "File '/node_modules/@rollup/plugin-eslint.ts' does not exist.", + "File '/node_modules/@rollup/plugin-eslint.tsx' does not exist.", + "'package.json' does not have a 'typesVersions' field.", + "'package.json' has 'main' field 'dist/index.js' that references '/node_modules/@rollup/plugin-eslint/dist/index.js'.", + "File '/node_modules/@rollup/plugin-eslint/dist/index.js' exists - use it as a name resolution result.", + "File '/node_modules/@rollup/plugin-eslint/dist/index.js' has an unsupported extension, so skipping it.", + "Loading module as file / folder, candidate module location '/node_modules/@rollup/plugin-eslint/dist/index.js', target file types: TypeScript.", + "File name '/node_modules/@rollup/plugin-eslint/dist/index.js' has a '.js' extension - stripping it.", + "File '/node_modules/@rollup/plugin-eslint/dist/index.ts' does not exist.", + "File '/node_modules/@rollup/plugin-eslint/dist/index.tsx' does not exist.", + "File '/node_modules/@rollup/plugin-eslint/dist/index.js.ts' does not exist.", + "File '/node_modules/@rollup/plugin-eslint/dist/index.js.tsx' does not exist.", + "Directory '/node_modules/@rollup/plugin-eslint/dist/index.js' does not exist, skipping all lookups in it.", + "File '/node_modules/@rollup/plugin-eslint/index.ts' does not exist.", + "File '/node_modules/@rollup/plugin-eslint/index.tsx' does not exist.", + "Searching all ancestor node_modules directories for fallback extensions: JavaScript, JSON.", + "File '/node_modules/@rollup/plugin-eslint/package.json' exists according to earlier cached lookups.", + "File '/node_modules/@rollup/plugin-eslint.js' does not exist.", + "File '/node_modules/@rollup/plugin-eslint.jsx' does not exist.", + "'package.json' has 'main' field 'dist/index.js' that references '/node_modules/@rollup/plugin-eslint/dist/index.js'.", + "File '/node_modules/@rollup/plugin-eslint/dist/index.js' exists - use it as a name resolution result.", + "======== Module name '@rollup/plugin-eslint' was successfully resolved to '/node_modules/@rollup/plugin-eslint/dist/index.js' with Package ID '@rollup/plugin-eslint/dist/index.js@8.0.1'. ========" + ] + }, + "files": [ + "/node_modules/typescript/lib/lib.d.ts", + "/node_modules/@rollup/plugin-eslint/types/index.d.ts" + ] + }, + "node16-esm": { + "name": ".", + "resolutionKind": "node16-esm", + "resolution": { + "fileName": "/node_modules/@rollup/plugin-eslint/types/index.d.ts", + "moduleKind": { + "detectedKind": 1, + "detectedReason": "no:type", + "reasonFileName": "/node_modules/@rollup/plugin-eslint/package.json" + }, + "isJson": false, + "isTypeScript": true, + "trace": [ + "======== Resolving module '@rollup/plugin-eslint' from '/index.mts'. ========", + "Explicitly specified module resolution kind: 'Node16'.", + "Resolving in ESM mode with conditions 'import', 'types', 'node'.", + "File '/package.json' does not exist according to earlier cached lookups.", + "Loading module '@rollup/plugin-eslint' from 'node_modules' folder, target file types: TypeScript, JavaScript, Declaration, JSON.", + "Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.", + "File '/node_modules/@rollup/plugin-eslint/package.json' exists according to earlier cached lookups.", + "'package.json' does not have a 'typings' field.", + "'package.json' has 'types' field 'types/index.d.ts' that references '/node_modules/@rollup/plugin-eslint/types/index.d.ts'.", + "File '/node_modules/@rollup/plugin-eslint/types/index.d.ts' exists - use it as a name resolution result.", + "======== Module name '@rollup/plugin-eslint' was successfully resolved to '/node_modules/@rollup/plugin-eslint/types/index.d.ts' with Package ID '@rollup/plugin-eslint/types/index.d.ts@8.0.1'. ========" + ] + }, + "implementationResolution": { + "fileName": "/node_modules/@rollup/plugin-eslint/dist/index.js", + "moduleKind": { + "detectedKind": 1, + "detectedReason": "no:type", + "reasonFileName": "/node_modules/@rollup/plugin-eslint/package.json" + }, + "isJson": false, + "isTypeScript": false, + "trace": [ + "======== Resolving module '@rollup/plugin-eslint' from '/index.mts'. ========", + "Explicitly specified module resolution kind: 'Node16'.", + "Resolving in ESM mode with conditions 'import', 'node'.", + "File '/package.json' does not exist according to earlier cached lookups.", + "Loading module '@rollup/plugin-eslint' from 'node_modules' folder, target file types: TypeScript, JavaScript, JSON.", + "Searching all ancestor node_modules directories for preferred extensions: TypeScript.", + "File '/node_modules/@rollup/plugin-eslint/package.json' exists according to earlier cached lookups.", + "'package.json' has 'main' field 'dist/index.js' that references '/node_modules/@rollup/plugin-eslint/dist/index.js'.", + "File '/node_modules/@rollup/plugin-eslint/dist/index.js' exists - use it as a name resolution result.", + "File '/node_modules/@rollup/plugin-eslint/dist/index.js' has an unsupported extension, so skipping it.", + "Loading module as file / folder, candidate module location '/node_modules/@rollup/plugin-eslint/dist/index.js', target file types: TypeScript.", + "File name '/node_modules/@rollup/plugin-eslint/dist/index.js' has a '.js' extension - stripping it.", + "File '/node_modules/@rollup/plugin-eslint/dist/index.ts' does not exist.", + "File '/node_modules/@rollup/plugin-eslint/dist/index.tsx' does not exist.", + "File '/node_modules/@rollup/plugin-eslint/dist/index.js.ts' does not exist.", + "File '/node_modules/@rollup/plugin-eslint/dist/index.js.tsx' does not exist.", + "Directory '/node_modules/@rollup/plugin-eslint/dist/index.js' does not exist, skipping all lookups in it.", + "File name '/node_modules/@rollup/plugin-eslint/index.js' has a '.js' extension - stripping it.", + "File '/node_modules/@rollup/plugin-eslint/index.ts' does not exist.", + "File '/node_modules/@rollup/plugin-eslint/index.tsx' does not exist.", + "Searching all ancestor node_modules directories for fallback extensions: JavaScript, JSON.", + "File '/node_modules/@rollup/plugin-eslint/package.json' exists according to earlier cached lookups.", + "'package.json' has 'main' field 'dist/index.js' that references '/node_modules/@rollup/plugin-eslint/dist/index.js'.", + "File '/node_modules/@rollup/plugin-eslint/dist/index.js' exists - use it as a name resolution result.", + "Resolution of non-relative name failed; trying with modern Node resolution features disabled to see if npm library needs configuration update.", + "File '/package.json' does not exist according to earlier cached lookups.", + "Loading module '@rollup/plugin-eslint' from 'node_modules' folder, target file types: TypeScript.", + "Searching all ancestor node_modules directories for preferred extensions: TypeScript.", + "File '/node_modules/@rollup/plugin-eslint/package.json' exists according to earlier cached lookups.", + "'package.json' has 'main' field 'dist/index.js' that references '/node_modules/@rollup/plugin-eslint/dist/index.js'.", + "File '/node_modules/@rollup/plugin-eslint/dist/index.js' exists - use it as a name resolution result.", + "File '/node_modules/@rollup/plugin-eslint/dist/index.js' has an unsupported extension, so skipping it.", + "Loading module as file / folder, candidate module location '/node_modules/@rollup/plugin-eslint/dist/index.js', target file types: TypeScript.", + "File name '/node_modules/@rollup/plugin-eslint/dist/index.js' has a '.js' extension - stripping it.", + "File '/node_modules/@rollup/plugin-eslint/dist/index.ts' does not exist.", + "File '/node_modules/@rollup/plugin-eslint/dist/index.tsx' does not exist.", + "File '/node_modules/@rollup/plugin-eslint/dist/index.js.ts' does not exist.", + "File '/node_modules/@rollup/plugin-eslint/dist/index.js.tsx' does not exist.", + "Directory '/node_modules/@rollup/plugin-eslint/dist/index.js' does not exist, skipping all lookups in it.", + "File name '/node_modules/@rollup/plugin-eslint/index.js' has a '.js' extension - stripping it.", + "File '/node_modules/@rollup/plugin-eslint/index.ts' does not exist.", + "File '/node_modules/@rollup/plugin-eslint/index.tsx' does not exist.", + "======== Module name '@rollup/plugin-eslint' was successfully resolved to '/node_modules/@rollup/plugin-eslint/dist/index.js' with Package ID '@rollup/plugin-eslint/dist/index.js@8.0.1'. ========" + ] + }, + "files": [ + "/node_modules/typescript/lib/lib.d.ts", + "/node_modules/@rollup/plugin-eslint/types/index.d.ts" + ] + }, + "bundler": { + "name": ".", + "resolutionKind": "bundler", + "resolution": { + "fileName": "/node_modules/@rollup/plugin-eslint/types/index.d.ts", + "isJson": false, + "isTypeScript": true, + "trace": [ + "======== Resolving module '@rollup/plugin-eslint' from '/index.ts'. ========", + "Explicitly specified module resolution kind: 'Bundler'.", + "Resolving in CJS mode with conditions 'import', 'types'.", + "File '/package.json' does not exist.", + "Loading module '@rollup/plugin-eslint' from 'node_modules' folder, target file types: TypeScript, JavaScript, Declaration, JSON.", + "Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.", + "Found 'package.json' at '/node_modules/@rollup/plugin-eslint/package.json'.", + "File '/node_modules/@rollup/plugin-eslint.ts' does not exist.", + "File '/node_modules/@rollup/plugin-eslint.tsx' does not exist.", + "File '/node_modules/@rollup/plugin-eslint.d.ts' does not exist.", + "'package.json' does not have a 'typesVersions' field.", + "'package.json' does not have a 'typings' field.", + "'package.json' has 'types' field 'types/index.d.ts' that references '/node_modules/@rollup/plugin-eslint/types/index.d.ts'.", + "File '/node_modules/@rollup/plugin-eslint/types/index.d.ts' exists - use it as a name resolution result.", + "======== Module name '@rollup/plugin-eslint' was successfully resolved to '/node_modules/@rollup/plugin-eslint/types/index.d.ts' with Package ID '@rollup/plugin-eslint/types/index.d.ts@8.0.1'. ========" + ] + }, + "implementationResolution": { + "fileName": "/node_modules/@rollup/plugin-eslint/dist/index.js", + "isJson": false, + "isTypeScript": false, + "trace": [ + "======== Resolving module '@rollup/plugin-eslint' from '/index.ts'. ========", + "Explicitly specified module resolution kind: 'Bundler'.", + "Resolving in CJS mode with conditions 'import'.", + "File '/package.json' does not exist.", + "Loading module '@rollup/plugin-eslint' from 'node_modules' folder, target file types: TypeScript, JavaScript, JSON.", + "Searching all ancestor node_modules directories for preferred extensions: TypeScript.", + "Found 'package.json' at '/node_modules/@rollup/plugin-eslint/package.json'.", + "File '/node_modules/@rollup/plugin-eslint.ts' does not exist.", + "File '/node_modules/@rollup/plugin-eslint.tsx' does not exist.", + "'package.json' does not have a 'typesVersions' field.", + "'package.json' has 'main' field 'dist/index.js' that references '/node_modules/@rollup/plugin-eslint/dist/index.js'.", + "File '/node_modules/@rollup/plugin-eslint/dist/index.js' exists - use it as a name resolution result.", + "File '/node_modules/@rollup/plugin-eslint/dist/index.js' has an unsupported extension, so skipping it.", + "Loading module as file / folder, candidate module location '/node_modules/@rollup/plugin-eslint/dist/index.js', target file types: TypeScript.", + "File name '/node_modules/@rollup/plugin-eslint/dist/index.js' has a '.js' extension - stripping it.", + "File '/node_modules/@rollup/plugin-eslint/dist/index.ts' does not exist.", + "File '/node_modules/@rollup/plugin-eslint/dist/index.tsx' does not exist.", + "File '/node_modules/@rollup/plugin-eslint/dist/index.js.ts' does not exist.", + "File '/node_modules/@rollup/plugin-eslint/dist/index.js.tsx' does not exist.", + "Directory '/node_modules/@rollup/plugin-eslint/dist/index.js' does not exist, skipping all lookups in it.", + "File '/node_modules/@rollup/plugin-eslint/index.ts' does not exist.", + "File '/node_modules/@rollup/plugin-eslint/index.tsx' does not exist.", + "Searching all ancestor node_modules directories for fallback extensions: JavaScript, JSON.", + "File '/node_modules/@rollup/plugin-eslint/package.json' exists according to earlier cached lookups.", + "File '/node_modules/@rollup/plugin-eslint.js' does not exist.", + "File '/node_modules/@rollup/plugin-eslint.jsx' does not exist.", + "'package.json' has 'main' field 'dist/index.js' that references '/node_modules/@rollup/plugin-eslint/dist/index.js'.", + "File '/node_modules/@rollup/plugin-eslint/dist/index.js' exists - use it as a name resolution result.", + "Resolution of non-relative name failed; trying with modern Node resolution features disabled to see if npm library needs configuration update.", + "File '/package.json' does not exist according to earlier cached lookups.", + "Loading module '@rollup/plugin-eslint' from 'node_modules' folder, target file types: TypeScript.", + "Searching all ancestor node_modules directories for preferred extensions: TypeScript.", + "File '/node_modules/@rollup/plugin-eslint/package.json' exists according to earlier cached lookups.", + "File '/node_modules/@rollup/plugin-eslint.ts' does not exist.", + "File '/node_modules/@rollup/plugin-eslint.tsx' does not exist.", + "'package.json' has 'main' field 'dist/index.js' that references '/node_modules/@rollup/plugin-eslint/dist/index.js'.", + "File '/node_modules/@rollup/plugin-eslint/dist/index.js' exists - use it as a name resolution result.", + "File '/node_modules/@rollup/plugin-eslint/dist/index.js' has an unsupported extension, so skipping it.", + "Loading module as file / folder, candidate module location '/node_modules/@rollup/plugin-eslint/dist/index.js', target file types: TypeScript.", + "File name '/node_modules/@rollup/plugin-eslint/dist/index.js' has a '.js' extension - stripping it.", + "File '/node_modules/@rollup/plugin-eslint/dist/index.ts' does not exist.", + "File '/node_modules/@rollup/plugin-eslint/dist/index.tsx' does not exist.", + "File '/node_modules/@rollup/plugin-eslint/dist/index.js.ts' does not exist.", + "File '/node_modules/@rollup/plugin-eslint/dist/index.js.tsx' does not exist.", + "Directory '/node_modules/@rollup/plugin-eslint/dist/index.js' does not exist, skipping all lookups in it.", + "File '/node_modules/@rollup/plugin-eslint/index.ts' does not exist.", + "File '/node_modules/@rollup/plugin-eslint/index.tsx' does not exist.", + "======== Module name '@rollup/plugin-eslint' was successfully resolved to '/node_modules/@rollup/plugin-eslint/dist/index.js' with Package ID '@rollup/plugin-eslint/dist/index.js@8.0.1'. ========" + ] + }, + "files": [ + "/node_modules/typescript/lib/lib.d.ts", + "/node_modules/@rollup/plugin-eslint/types/index.d.ts" + ] + } + }, + "hasTypes": true, + "isWildcard": false + } + }, + "problems": [ + { + "kind": "FalseExportDefault", + "entrypoint": ".", + "resolutionKind": "node10" + }, + { + "kind": "FalseExportDefault", + "entrypoint": ".", + "resolutionKind": "node16-cjs" + }, + { + "kind": "FalseExportDefault", + "entrypoint": ".", + "resolutionKind": "node16-esm" + }, + { + "kind": "FalseExportDefault", + "entrypoint": ".", + "resolutionKind": "bundler" + } + ] +} From ae2426f91b5744c91015d5aae97f33045ff194be Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Mon, 4 Sep 2023 19:09:39 -0700 Subject: [PATCH 2/3] Add changeset --- .changeset/rude-olives-tease.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/rude-olives-tease.md diff --git a/.changeset/rude-olives-tease.md b/.changeset/rude-olives-tease.md new file mode 100644 index 0000000..c54b104 --- /dev/null +++ b/.changeset/rude-olives-tease.md @@ -0,0 +1,5 @@ +--- +"@arethetypeswrong/core": patch +--- + +Fixed bug that could cause a crash while checking for FalseExportDefault From 335c13f089f414a1cd82e6ae5758e9e7c8d24227 Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Mon, 4 Sep 2023 19:11:56 -0700 Subject: [PATCH 3/3] Actually commit the fix --- packages/core/src/checks/entrypointResolutionProblems.ts | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/packages/core/src/checks/entrypointResolutionProblems.ts b/packages/core/src/checks/entrypointResolutionProblems.ts index 374ec58..2a09348 100644 --- a/packages/core/src/checks/entrypointResolutionProblems.ts +++ b/packages/core/src/checks/entrypointResolutionProblems.ts @@ -97,11 +97,7 @@ export function getEntrypointResolutionProblems( }) .getTypeChecker(); // Check for `default` property on `jsModule["export="]` - if ( - !jsChecker - .getExportsAndPropertiesOfModule(jsChecker.resolveExternalModuleSymbol(jsSourceFile.symbol)) - .some((s) => s.name === "default") - ) { + if (!jsChecker.getExportsAndPropertiesOfModule(jsSourceFile.symbol).some((s) => s.name === "default")) { problems.push({ kind: "FalseExportDefault", entrypoint: subpath,