From 45d01b1cb0191bf5abf51f4179e5c17ee22318ab Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Thu, 19 Dec 2024 11:20:33 -0800 Subject: [PATCH 1/3] Exclude array/tuple properties from expected named exports --- .../core/src/internal/checks/namedExports.ts | 4 + .../fixtures/available-regexp-flags@1.0.4.tgz | Bin 0 -> 6805 bytes .../available-regexp-flags@1.0.4.tgz.json | 890 ++++++++++++++++++ 3 files changed, 894 insertions(+) create mode 100644 packages/core/test/fixtures/available-regexp-flags@1.0.4.tgz create mode 100644 packages/core/test/snapshots/available-regexp-flags@1.0.4.tgz.json diff --git a/packages/core/src/internal/checks/namedExports.ts b/packages/core/src/internal/checks/namedExports.ts index 78705f5..049a8e9 100644 --- a/packages/core/src/internal/checks/namedExports.ts +++ b/packages/core/src/internal/checks/namedExports.ts @@ -38,6 +38,10 @@ export default defineCheck({ } const typeChecker = host.createAuxiliaryProgram([typesFileName]).getTypeChecker(); + const moduleType = typeChecker.getTypeOfSymbol(typeChecker.resolveExternalModuleSymbol(typesSourceFile.symbol)); + if (typeChecker.isArrayLikeType(moduleType) || typeChecker.getPropertyOfType(moduleType, "0")) { + return; + } const expectedNames = Array.from( new Set( typeChecker diff --git a/packages/core/test/fixtures/available-regexp-flags@1.0.4.tgz b/packages/core/test/fixtures/available-regexp-flags@1.0.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..bd6c194c297f62a08415ca7f92960988f64f3835 GIT binary patch literal 6805 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 Ds5Up; literal 0 HcmV?d00001 diff --git a/packages/core/test/snapshots/available-regexp-flags@1.0.4.tgz.json b/packages/core/test/snapshots/available-regexp-flags@1.0.4.tgz.json new file mode 100644 index 0000000..d6bc47a --- /dev/null +++ b/packages/core/test/snapshots/available-regexp-flags@1.0.4.tgz.json @@ -0,0 +1,890 @@ +{ + "packageName": "available-regexp-flags", + "packageVersion": "1.0.4", + "types": { + "kind": "included" + }, + "buildTools": { + "typescript": "next" + }, + "entrypoints": { + ".": { + "subpath": ".", + "resolutions": { + "node10": { + "name": ".", + "resolutionKind": "node10", + "resolution": { + "fileName": "/node_modules/available-regexp-flags/index.d.ts", + "isJson": false, + "isTypeScript": true, + "trace": [ + "======== Resolving module 'available-regexp-flags' from '/index.ts'. ========", + "Explicitly specified module resolution kind: 'Node10'.", + "Loading module 'available-regexp-flags' 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/available-regexp-flags/package.json'.", + "File '/node_modules/available-regexp-flags.ts' does not exist.", + "File '/node_modules/available-regexp-flags.tsx' does not exist.", + "File '/node_modules/available-regexp-flags.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 './index.d.ts' that references '/node_modules/available-regexp-flags/index.d.ts'.", + "File '/node_modules/available-regexp-flags/index.d.ts' exists - use it as a name resolution result.", + "'package.json' does not have a 'peerDependencies' field.", + "======== Module name 'available-regexp-flags' was successfully resolved to '/node_modules/available-regexp-flags/index.d.ts' with Package ID 'available-regexp-flags/index.d.ts@1.0.4'. ========" + ] + }, + "implementationResolution": { + "fileName": "/node_modules/available-regexp-flags/index.js", + "isJson": false, + "isTypeScript": false, + "trace": [ + "======== Resolving module 'available-regexp-flags' from '/index.ts'. ========", + "Explicitly specified module resolution kind: 'Node10'.", + "Loading module 'available-regexp-flags' from 'node_modules' folder, target file types: TypeScript.", + "Searching all ancestor node_modules directories for preferred extensions: TypeScript.", + "Found 'package.json' at '/node_modules/available-regexp-flags/package.json'.", + "File '/node_modules/available-regexp-flags.ts' does not exist.", + "File '/node_modules/available-regexp-flags.tsx' does not exist.", + "'package.json' does not have a 'typesVersions' field.", + "'package.json' has 'main' field 'index.js' that references '/node_modules/available-regexp-flags/index.js'.", + "File name '/node_modules/available-regexp-flags/index.js' has a '.js' extension - stripping it.", + "File '/node_modules/available-regexp-flags/index.ts' does not exist.", + "File '/node_modules/available-regexp-flags/index.tsx' does not exist.", + "Loading module as file / folder, candidate module location '/node_modules/available-regexp-flags/index.js', target file types: TypeScript.", + "File name '/node_modules/available-regexp-flags/index.js' has a '.js' extension - stripping it.", + "File '/node_modules/available-regexp-flags/index.ts' does not exist.", + "File '/node_modules/available-regexp-flags/index.tsx' does not exist.", + "File '/node_modules/available-regexp-flags/index.js.ts' does not exist.", + "File '/node_modules/available-regexp-flags/index.js.tsx' does not exist.", + "Directory '/node_modules/available-regexp-flags/index.js' does not exist, skipping all lookups in it.", + "File '/node_modules/available-regexp-flags/index.ts' does not exist.", + "File '/node_modules/available-regexp-flags/index.tsx' does not exist.", + "Loading module 'available-regexp-flags' from 'node_modules' folder, target file types: JavaScript, JSON.", + "Searching all ancestor node_modules directories for fallback extensions: JavaScript, JSON.", + "File '/node_modules/available-regexp-flags/package.json' exists according to earlier cached lookups.", + "File '/node_modules/available-regexp-flags.js' does not exist.", + "File '/node_modules/available-regexp-flags.jsx' does not exist.", + "'package.json' has 'main' field 'index.js' that references '/node_modules/available-regexp-flags/index.js'.", + "File name '/node_modules/available-regexp-flags/index.js' has a '.js' extension - stripping it.", + "File '/node_modules/available-regexp-flags/index.js' exists - use it as a name resolution result.", + "'package.json' does not have a 'peerDependencies' field.", + "Resolution of non-relative name failed; trying with '--moduleResolution bundler' to see if project may need configuration update.", + "Loading module 'available-regexp-flags' from 'node_modules' folder, target file types: TypeScript.", + "Searching all ancestor node_modules directories for preferred extensions: TypeScript.", + "File '/node_modules/available-regexp-flags/package.json' exists according to earlier cached lookups.", + "Using 'exports' subpath '.' with target './index.js'.", + "File name '/node_modules/available-regexp-flags/index.js' has a '.js' extension - stripping it.", + "File '/node_modules/available-regexp-flags/index.ts' does not exist.", + "File '/node_modules/available-regexp-flags/index.tsx' does not exist.", + "======== Module name 'available-regexp-flags' was successfully resolved to '/node_modules/available-regexp-flags/index.js' with Package ID 'available-regexp-flags/index.js@1.0.4'. ========" + ] + }, + "files": [ + "/node_modules/typescript/lib/lib.d.ts", + "/node_modules/available-regexp-flags/index.d.ts" + ], + "visibleProblems": [] + }, + "node16-cjs": { + "name": ".", + "resolutionKind": "node16-cjs", + "resolution": { + "fileName": "/node_modules/available-regexp-flags/index.d.ts", + "isJson": false, + "isTypeScript": true, + "trace": [ + "======== Resolving module 'available-regexp-flags' 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 'available-regexp-flags' 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/available-regexp-flags/package.json'.", + "Using 'exports' subpath '.' with target './index.js'.", + "File name '/node_modules/available-regexp-flags/index.js' has a '.js' extension - stripping it.", + "File '/node_modules/available-regexp-flags/index.ts' does not exist.", + "File '/node_modules/available-regexp-flags/index.tsx' does not exist.", + "File '/node_modules/available-regexp-flags/index.d.ts' exists - use it as a name resolution result.", + "'package.json' does not have a 'peerDependencies' field.", + "======== Module name 'available-regexp-flags' was successfully resolved to '/node_modules/available-regexp-flags/index.d.ts' with Package ID 'available-regexp-flags/index.d.ts@1.0.4'. ========" + ] + }, + "implementationResolution": { + "fileName": "/node_modules/available-regexp-flags/index.js", + "isJson": false, + "isTypeScript": false, + "trace": [ + "======== Resolving module 'available-regexp-flags' 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 'available-regexp-flags' 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/available-regexp-flags/package.json'.", + "Using 'exports' subpath '.' with target './index.js'.", + "File name '/node_modules/available-regexp-flags/index.js' has a '.js' extension - stripping it.", + "File '/node_modules/available-regexp-flags/index.ts' does not exist.", + "File '/node_modules/available-regexp-flags/index.tsx' does not exist.", + "Searching all ancestor node_modules directories for fallback extensions: JavaScript, JSON.", + "File '/node_modules/available-regexp-flags/package.json' exists according to earlier cached lookups.", + "Using 'exports' subpath '.' with target './index.js'.", + "File name '/node_modules/available-regexp-flags/index.js' has a '.js' extension - stripping it.", + "File '/node_modules/available-regexp-flags/index.js' exists - use it as a name resolution result.", + "'package.json' does not have a 'peerDependencies' field.", + "======== Module name 'available-regexp-flags' was successfully resolved to '/node_modules/available-regexp-flags/index.js' with Package ID 'available-regexp-flags/index.js@1.0.4'. ========" + ] + }, + "files": [ + "/node_modules/typescript/lib/lib.d.ts", + "/node_modules/available-regexp-flags/index.d.ts" + ], + "visibleProblems": [] + }, + "node16-esm": { + "name": ".", + "resolutionKind": "node16-esm", + "resolution": { + "fileName": "/node_modules/available-regexp-flags/index.d.ts", + "isJson": false, + "isTypeScript": true, + "trace": [ + "======== Resolving module 'available-regexp-flags' 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 'available-regexp-flags' 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/available-regexp-flags/package.json' exists according to earlier cached lookups.", + "Using 'exports' subpath '.' with target './index.js'.", + "File name '/node_modules/available-regexp-flags/index.js' has a '.js' extension - stripping it.", + "File '/node_modules/available-regexp-flags/index.ts' does not exist.", + "File '/node_modules/available-regexp-flags/index.tsx' does not exist.", + "File '/node_modules/available-regexp-flags/index.d.ts' exists - use it as a name resolution result.", + "======== Module name 'available-regexp-flags' was successfully resolved to '/node_modules/available-regexp-flags/index.d.ts' with Package ID 'available-regexp-flags/index.d.ts@1.0.4'. ========" + ] + }, + "implementationResolution": { + "fileName": "/node_modules/available-regexp-flags/index.js", + "isJson": false, + "isTypeScript": false, + "trace": [ + "======== Resolving module 'available-regexp-flags' 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 'available-regexp-flags' from 'node_modules' folder, target file types: TypeScript, JavaScript, JSON.", + "Searching all ancestor node_modules directories for preferred extensions: TypeScript.", + "File '/node_modules/available-regexp-flags/package.json' exists according to earlier cached lookups.", + "Using 'exports' subpath '.' with target './index.js'.", + "File name '/node_modules/available-regexp-flags/index.js' has a '.js' extension - stripping it.", + "File '/node_modules/available-regexp-flags/index.ts' does not exist.", + "File '/node_modules/available-regexp-flags/index.tsx' does not exist.", + "Searching all ancestor node_modules directories for fallback extensions: JavaScript, JSON.", + "File '/node_modules/available-regexp-flags/package.json' exists according to earlier cached lookups.", + "Using 'exports' subpath '.' with target './index.js'.", + "File name '/node_modules/available-regexp-flags/index.js' has a '.js' extension - stripping it.", + "File '/node_modules/available-regexp-flags/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 'available-regexp-flags' from 'node_modules' folder, target file types: TypeScript.", + "Searching all ancestor node_modules directories for preferred extensions: TypeScript.", + "File '/node_modules/available-regexp-flags/package.json' exists according to earlier cached lookups.", + "'package.json' does not have a 'typesVersions' field.", + "'package.json' has 'main' field 'index.js' that references '/node_modules/available-regexp-flags/index.js'.", + "File name '/node_modules/available-regexp-flags/index.js' has a '.js' extension - stripping it.", + "File '/node_modules/available-regexp-flags/index.ts' does not exist.", + "File '/node_modules/available-regexp-flags/index.tsx' does not exist.", + "Loading module as file / folder, candidate module location '/node_modules/available-regexp-flags/index.js', target file types: TypeScript.", + "File name '/node_modules/available-regexp-flags/index.js' has a '.js' extension - stripping it.", + "File '/node_modules/available-regexp-flags/index.ts' does not exist.", + "File '/node_modules/available-regexp-flags/index.tsx' does not exist.", + "File '/node_modules/available-regexp-flags/index.js.ts' does not exist.", + "File '/node_modules/available-regexp-flags/index.js.tsx' does not exist.", + "Directory '/node_modules/available-regexp-flags/index.js' does not exist, skipping all lookups in it.", + "======== Module name 'available-regexp-flags' was successfully resolved to '/node_modules/available-regexp-flags/index.js' with Package ID 'available-regexp-flags/index.js@1.0.4'. ========" + ] + }, + "files": [ + "/node_modules/typescript/lib/lib.d.ts", + "/node_modules/available-regexp-flags/index.d.ts" + ], + "visibleProblems": [] + }, + "bundler": { + "name": ".", + "resolutionKind": "bundler", + "resolution": { + "fileName": "/node_modules/available-regexp-flags/index.d.ts", + "isJson": false, + "isTypeScript": true, + "trace": [ + "======== Resolving module 'available-regexp-flags' 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 'available-regexp-flags' 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/available-regexp-flags/package.json'.", + "Using 'exports' subpath '.' with target './index.js'.", + "File name '/node_modules/available-regexp-flags/index.js' has a '.js' extension - stripping it.", + "File '/node_modules/available-regexp-flags/index.ts' does not exist.", + "File '/node_modules/available-regexp-flags/index.tsx' does not exist.", + "File '/node_modules/available-regexp-flags/index.d.ts' exists - use it as a name resolution result.", + "'package.json' does not have a 'peerDependencies' field.", + "======== Module name 'available-regexp-flags' was successfully resolved to '/node_modules/available-regexp-flags/index.d.ts' with Package ID 'available-regexp-flags/index.d.ts@1.0.4'. ========" + ] + }, + "implementationResolution": { + "fileName": "/node_modules/available-regexp-flags/index.js", + "isJson": false, + "isTypeScript": false, + "trace": [ + "======== Resolving module 'available-regexp-flags' from '/index.ts'. ========", + "Explicitly specified module resolution kind: 'Bundler'.", + "Resolving in CJS mode with conditions 'import'.", + "File '/package.json' does not exist.", + "Loading module 'available-regexp-flags' 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/available-regexp-flags/package.json'.", + "Using 'exports' subpath '.' with target './index.js'.", + "File name '/node_modules/available-regexp-flags/index.js' has a '.js' extension - stripping it.", + "File '/node_modules/available-regexp-flags/index.ts' does not exist.", + "File '/node_modules/available-regexp-flags/index.tsx' does not exist.", + "Searching all ancestor node_modules directories for fallback extensions: JavaScript, JSON.", + "File '/node_modules/available-regexp-flags/package.json' exists according to earlier cached lookups.", + "Using 'exports' subpath '.' with target './index.js'.", + "File name '/node_modules/available-regexp-flags/index.js' has a '.js' extension - stripping it.", + "File '/node_modules/available-regexp-flags/index.js' exists - use it as a name resolution result.", + "'package.json' does not have a 'peerDependencies' field.", + "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 'available-regexp-flags' from 'node_modules' folder, target file types: TypeScript.", + "Searching all ancestor node_modules directories for preferred extensions: TypeScript.", + "File '/node_modules/available-regexp-flags/package.json' exists according to earlier cached lookups.", + "File '/node_modules/available-regexp-flags.ts' does not exist.", + "File '/node_modules/available-regexp-flags.tsx' does not exist.", + "'package.json' does not have a 'typesVersions' field.", + "'package.json' has 'main' field 'index.js' that references '/node_modules/available-regexp-flags/index.js'.", + "File name '/node_modules/available-regexp-flags/index.js' has a '.js' extension - stripping it.", + "File '/node_modules/available-regexp-flags/index.ts' does not exist.", + "File '/node_modules/available-regexp-flags/index.tsx' does not exist.", + "Loading module as file / folder, candidate module location '/node_modules/available-regexp-flags/index.js', target file types: TypeScript.", + "File name '/node_modules/available-regexp-flags/index.js' has a '.js' extension - stripping it.", + "File '/node_modules/available-regexp-flags/index.ts' does not exist.", + "File '/node_modules/available-regexp-flags/index.tsx' does not exist.", + "File '/node_modules/available-regexp-flags/index.js.ts' does not exist.", + "File '/node_modules/available-regexp-flags/index.js.tsx' does not exist.", + "Directory '/node_modules/available-regexp-flags/index.js' does not exist, skipping all lookups in it.", + "File '/node_modules/available-regexp-flags/index.ts' does not exist.", + "File '/node_modules/available-regexp-flags/index.tsx' does not exist.", + "======== Module name 'available-regexp-flags' was successfully resolved to '/node_modules/available-regexp-flags/index.js' with Package ID 'available-regexp-flags/index.js@1.0.4'. ========" + ] + }, + "files": [ + "/node_modules/typescript/lib/lib.d.ts", + "/node_modules/available-regexp-flags/index.d.ts" + ], + "visibleProblems": [] + } + }, + "hasTypes": true, + "isWildcard": false + }, + "./properties": { + "subpath": "./properties", + "resolutions": { + "node10": { + "name": "./properties", + "resolutionKind": "node10", + "resolution": { + "fileName": "/node_modules/available-regexp-flags/properties.d.ts", + "isJson": false, + "isTypeScript": true, + "trace": [ + "======== Resolving module 'available-regexp-flags/properties' from '/index.ts'. ========", + "Explicitly specified module resolution kind: 'Node10'.", + "Loading module 'available-regexp-flags/properties' from 'node_modules' folder, target file types: TypeScript, Declaration.", + "Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.", + "File '/node_modules/available-regexp-flags/package.json' exists according to earlier cached lookups.", + "File '/node_modules/available-regexp-flags/properties.ts' does not exist.", + "File '/node_modules/available-regexp-flags/properties.tsx' does not exist.", + "File '/node_modules/available-regexp-flags/properties.d.ts' exists - use it as a name resolution result.", + "======== Module name 'available-regexp-flags/properties' was successfully resolved to '/node_modules/available-regexp-flags/properties.d.ts' with Package ID 'available-regexp-flags/properties.d.ts@1.0.4'. ========" + ] + }, + "implementationResolution": { + "fileName": "/node_modules/available-regexp-flags/properties.js", + "isJson": false, + "isTypeScript": false, + "trace": [ + "======== Resolving module 'available-regexp-flags/properties' from '/index.ts'. ========", + "Explicitly specified module resolution kind: 'Node10'.", + "Loading module 'available-regexp-flags/properties' from 'node_modules' folder, target file types: TypeScript.", + "Searching all ancestor node_modules directories for preferred extensions: TypeScript.", + "File '/node_modules/available-regexp-flags/package.json' exists according to earlier cached lookups.", + "File '/node_modules/available-regexp-flags/properties.ts' does not exist.", + "File '/node_modules/available-regexp-flags/properties.tsx' does not exist.", + "'package.json' has 'main' field 'index.js' that references '/node_modules/available-regexp-flags/properties/index.js'.", + "File name '/node_modules/available-regexp-flags/properties/index.js' has a '.js' extension - stripping it.", + "Loading module as file / folder, candidate module location '/node_modules/available-regexp-flags/properties/index.js', target file types: TypeScript.", + "File name '/node_modules/available-regexp-flags/properties/index.js' has a '.js' extension - stripping it.", + "Loading module 'available-regexp-flags/properties' from 'node_modules' folder, target file types: JavaScript, JSON.", + "Searching all ancestor node_modules directories for fallback extensions: JavaScript, JSON.", + "File '/node_modules/available-regexp-flags/package.json' exists according to earlier cached lookups.", + "File '/node_modules/available-regexp-flags/properties.js' exists - use it as a name resolution result.", + "Resolution of non-relative name failed; trying with '--moduleResolution bundler' to see if project may need configuration update.", + "Loading module 'available-regexp-flags/properties' from 'node_modules' folder, target file types: TypeScript.", + "Searching all ancestor node_modules directories for preferred extensions: TypeScript.", + "File '/node_modules/available-regexp-flags/package.json' exists according to earlier cached lookups.", + "Using 'exports' subpath './properties' with target './properties.js'.", + "File name '/node_modules/available-regexp-flags/properties.js' has a '.js' extension - stripping it.", + "File '/node_modules/available-regexp-flags/properties.ts' does not exist.", + "File '/node_modules/available-regexp-flags/properties.tsx' does not exist.", + "Export specifier './properties' does not exist in package.json scope at path '/node_modules/available-regexp-flags'.", + "======== Module name 'available-regexp-flags/properties' was successfully resolved to '/node_modules/available-regexp-flags/properties.js' with Package ID 'available-regexp-flags/properties.js@1.0.4'. ========" + ] + }, + "files": [ + "/node_modules/typescript/lib/lib.d.ts", + "/node_modules/available-regexp-flags/properties.d.ts" + ], + "visibleProblems": [] + }, + "node16-cjs": { + "name": "./properties", + "resolutionKind": "node16-cjs", + "resolution": { + "fileName": "/node_modules/available-regexp-flags/properties.d.ts", + "isJson": false, + "isTypeScript": true, + "trace": [ + "======== Resolving module 'available-regexp-flags/properties' from '/index.ts'. ========", + "Explicitly specified module resolution kind: 'Node16'.", + "Resolving in CJS mode with conditions 'require', 'types', 'node'.", + "File '/package.json' does not exist according to earlier cached lookups.", + "Loading module 'available-regexp-flags/properties' 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/available-regexp-flags/package.json' exists according to earlier cached lookups.", + "Using 'exports' subpath './properties' with target './properties.js'.", + "File name '/node_modules/available-regexp-flags/properties.js' has a '.js' extension - stripping it.", + "File '/node_modules/available-regexp-flags/properties.ts' does not exist.", + "File '/node_modules/available-regexp-flags/properties.tsx' does not exist.", + "File '/node_modules/available-regexp-flags/properties.d.ts' exists - use it as a name resolution result.", + "======== Module name 'available-regexp-flags/properties' was successfully resolved to '/node_modules/available-regexp-flags/properties.d.ts' with Package ID 'available-regexp-flags/properties.d.ts@1.0.4'. ========" + ] + }, + "implementationResolution": { + "fileName": "/node_modules/available-regexp-flags/properties.js", + "isJson": false, + "isTypeScript": false, + "trace": [ + "======== Resolving module 'available-regexp-flags/properties' from '/index.ts'. ========", + "Explicitly specified module resolution kind: 'Node16'.", + "Resolving in CJS mode with conditions 'require', 'node'.", + "File '/package.json' does not exist according to earlier cached lookups.", + "Loading module 'available-regexp-flags/properties' from 'node_modules' folder, target file types: TypeScript, JavaScript, JSON.", + "Searching all ancestor node_modules directories for preferred extensions: TypeScript.", + "File '/node_modules/available-regexp-flags/package.json' exists according to earlier cached lookups.", + "Using 'exports' subpath './properties' with target './properties.js'.", + "File name '/node_modules/available-regexp-flags/properties.js' has a '.js' extension - stripping it.", + "File '/node_modules/available-regexp-flags/properties.ts' does not exist.", + "File '/node_modules/available-regexp-flags/properties.tsx' does not exist.", + "Export specifier './properties' does not exist in package.json scope at path '/node_modules/available-regexp-flags'.", + "Searching all ancestor node_modules directories for fallback extensions: JavaScript, JSON.", + "File '/node_modules/available-regexp-flags/package.json' exists according to earlier cached lookups.", + "Using 'exports' subpath './properties' with target './properties.js'.", + "File name '/node_modules/available-regexp-flags/properties.js' has a '.js' extension - stripping it.", + "File '/node_modules/available-regexp-flags/properties.js' exists - use it as a name resolution result.", + "======== Module name 'available-regexp-flags/properties' was successfully resolved to '/node_modules/available-regexp-flags/properties.js' with Package ID 'available-regexp-flags/properties.js@1.0.4'. ========" + ] + }, + "files": [ + "/node_modules/typescript/lib/lib.d.ts", + "/node_modules/available-regexp-flags/properties.d.ts" + ], + "visibleProblems": [] + }, + "node16-esm": { + "name": "./properties", + "resolutionKind": "node16-esm", + "resolution": { + "fileName": "/node_modules/available-regexp-flags/properties.d.ts", + "isJson": false, + "isTypeScript": true, + "trace": [ + "======== Resolving module 'available-regexp-flags/properties' 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 'available-regexp-flags/properties' 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/available-regexp-flags/package.json' exists according to earlier cached lookups.", + "Using 'exports' subpath './properties' with target './properties.js'.", + "File name '/node_modules/available-regexp-flags/properties.js' has a '.js' extension - stripping it.", + "File '/node_modules/available-regexp-flags/properties.ts' does not exist.", + "File '/node_modules/available-regexp-flags/properties.tsx' does not exist.", + "File '/node_modules/available-regexp-flags/properties.d.ts' exists - use it as a name resolution result.", + "======== Module name 'available-regexp-flags/properties' was successfully resolved to '/node_modules/available-regexp-flags/properties.d.ts' with Package ID 'available-regexp-flags/properties.d.ts@1.0.4'. ========" + ] + }, + "implementationResolution": { + "fileName": "/node_modules/available-regexp-flags/properties.js", + "isJson": false, + "isTypeScript": false, + "trace": [ + "======== Resolving module 'available-regexp-flags/properties' 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 'available-regexp-flags/properties' from 'node_modules' folder, target file types: TypeScript, JavaScript, JSON.", + "Searching all ancestor node_modules directories for preferred extensions: TypeScript.", + "File '/node_modules/available-regexp-flags/package.json' exists according to earlier cached lookups.", + "Using 'exports' subpath './properties' with target './properties.js'.", + "File name '/node_modules/available-regexp-flags/properties.js' has a '.js' extension - stripping it.", + "File '/node_modules/available-regexp-flags/properties.ts' does not exist.", + "File '/node_modules/available-regexp-flags/properties.tsx' does not exist.", + "Export specifier './properties' does not exist in package.json scope at path '/node_modules/available-regexp-flags'.", + "Searching all ancestor node_modules directories for fallback extensions: JavaScript, JSON.", + "File '/node_modules/available-regexp-flags/package.json' exists according to earlier cached lookups.", + "Using 'exports' subpath './properties' with target './properties.js'.", + "File name '/node_modules/available-regexp-flags/properties.js' has a '.js' extension - stripping it.", + "File '/node_modules/available-regexp-flags/properties.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 'available-regexp-flags/properties' from 'node_modules' folder, target file types: TypeScript.", + "Searching all ancestor node_modules directories for preferred extensions: TypeScript.", + "File '/node_modules/available-regexp-flags/package.json' exists according to earlier cached lookups.", + "'package.json' has 'main' field 'index.js' that references '/node_modules/available-regexp-flags/properties/index.js'.", + "File name '/node_modules/available-regexp-flags/properties/index.js' has a '.js' extension - stripping it.", + "Loading module as file / folder, candidate module location '/node_modules/available-regexp-flags/properties/index.js', target file types: TypeScript.", + "File name '/node_modules/available-regexp-flags/properties/index.js' has a '.js' extension - stripping it.", + "======== Module name 'available-regexp-flags/properties' was successfully resolved to '/node_modules/available-regexp-flags/properties.js' with Package ID 'available-regexp-flags/properties.js@1.0.4'. ========" + ] + }, + "files": [ + "/node_modules/typescript/lib/lib.d.ts", + "/node_modules/available-regexp-flags/properties.d.ts" + ], + "visibleProblems": [] + }, + "bundler": { + "name": "./properties", + "resolutionKind": "bundler", + "resolution": { + "fileName": "/node_modules/available-regexp-flags/properties.d.ts", + "isJson": false, + "isTypeScript": true, + "trace": [ + "======== Resolving module 'available-regexp-flags/properties' from '/index.ts'. ========", + "Explicitly specified module resolution kind: 'Bundler'.", + "Resolving in CJS mode with conditions 'import', 'types'.", + "File '/package.json' does not exist according to earlier cached lookups.", + "Loading module 'available-regexp-flags/properties' 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/available-regexp-flags/package.json' exists according to earlier cached lookups.", + "Using 'exports' subpath './properties' with target './properties.js'.", + "File name '/node_modules/available-regexp-flags/properties.js' has a '.js' extension - stripping it.", + "File '/node_modules/available-regexp-flags/properties.ts' does not exist.", + "File '/node_modules/available-regexp-flags/properties.tsx' does not exist.", + "File '/node_modules/available-regexp-flags/properties.d.ts' exists - use it as a name resolution result.", + "======== Module name 'available-regexp-flags/properties' was successfully resolved to '/node_modules/available-regexp-flags/properties.d.ts' with Package ID 'available-regexp-flags/properties.d.ts@1.0.4'. ========" + ] + }, + "implementationResolution": { + "fileName": "/node_modules/available-regexp-flags/properties.js", + "isJson": false, + "isTypeScript": false, + "trace": [ + "======== Resolving module 'available-regexp-flags/properties' from '/index.ts'. ========", + "Explicitly specified module resolution kind: 'Bundler'.", + "Resolving in CJS mode with conditions 'import'.", + "File '/package.json' does not exist according to earlier cached lookups.", + "Loading module 'available-regexp-flags/properties' from 'node_modules' folder, target file types: TypeScript, JavaScript, JSON.", + "Searching all ancestor node_modules directories for preferred extensions: TypeScript.", + "File '/node_modules/available-regexp-flags/package.json' exists according to earlier cached lookups.", + "Using 'exports' subpath './properties' with target './properties.js'.", + "File name '/node_modules/available-regexp-flags/properties.js' has a '.js' extension - stripping it.", + "File '/node_modules/available-regexp-flags/properties.ts' does not exist.", + "File '/node_modules/available-regexp-flags/properties.tsx' does not exist.", + "Export specifier './properties' does not exist in package.json scope at path '/node_modules/available-regexp-flags'.", + "Searching all ancestor node_modules directories for fallback extensions: JavaScript, JSON.", + "File '/node_modules/available-regexp-flags/package.json' exists according to earlier cached lookups.", + "Using 'exports' subpath './properties' with target './properties.js'.", + "File name '/node_modules/available-regexp-flags/properties.js' has a '.js' extension - stripping it.", + "File '/node_modules/available-regexp-flags/properties.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 'available-regexp-flags/properties' from 'node_modules' folder, target file types: TypeScript.", + "Searching all ancestor node_modules directories for preferred extensions: TypeScript.", + "File '/node_modules/available-regexp-flags/package.json' exists according to earlier cached lookups.", + "File '/node_modules/available-regexp-flags/properties.ts' does not exist.", + "File '/node_modules/available-regexp-flags/properties.tsx' does not exist.", + "'package.json' has 'main' field 'index.js' that references '/node_modules/available-regexp-flags/properties/index.js'.", + "File name '/node_modules/available-regexp-flags/properties/index.js' has a '.js' extension - stripping it.", + "Loading module as file / folder, candidate module location '/node_modules/available-regexp-flags/properties/index.js', target file types: TypeScript.", + "File name '/node_modules/available-regexp-flags/properties/index.js' has a '.js' extension - stripping it.", + "======== Module name 'available-regexp-flags/properties' was successfully resolved to '/node_modules/available-regexp-flags/properties.js' with Package ID 'available-regexp-flags/properties.js@1.0.4'. ========" + ] + }, + "files": [ + "/node_modules/typescript/lib/lib.d.ts", + "/node_modules/available-regexp-flags/properties.d.ts" + ], + "visibleProblems": [] + } + }, + "hasTypes": true, + "isWildcard": false + }, + "./package.json": { + "subpath": "./package.json", + "resolutions": { + "node10": { + "name": "./package.json", + "resolutionKind": "node10", + "resolution": { + "fileName": "/node_modules/available-regexp-flags/package.json", + "isJson": true, + "isTypeScript": false, + "trace": [ + "======== Resolving module 'available-regexp-flags/package.json' from '/index.ts'. ========", + "Explicitly specified module resolution kind: 'Node10'.", + "Loading module 'available-regexp-flags/package.json' from 'node_modules' folder, target file types: TypeScript, Declaration.", + "Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.", + "File '/node_modules/available-regexp-flags/package.json' exists according to earlier cached lookups.", + "File name '/node_modules/available-regexp-flags/package.json' has a '.json' extension - stripping it.", + "File '/node_modules/available-regexp-flags/package.d.json.ts' does not exist.", + "File '/node_modules/available-regexp-flags/package.json.ts' does not exist.", + "File '/node_modules/available-regexp-flags/package.json.tsx' does not exist.", + "File '/node_modules/available-regexp-flags/package.json.d.ts' does not exist.", + "'package.json' does not have a 'typings' field.", + "'package.json' has 'types' field './index.d.ts' that references '/node_modules/available-regexp-flags/package.json/index.d.ts'.", + "Loading module as file / folder, candidate module location '/node_modules/available-regexp-flags/package.json/index.d.ts', target file types: TypeScript, Declaration.", + "File name '/node_modules/available-regexp-flags/package.json/index.d.ts' has a '.d.ts' extension - stripping it.", + "Directory '/node_modules/@types' does not exist, skipping all lookups in it.", + "File name '/node_modules/@types/available-regexp-flags/package.json' has a '.json' extension - stripping it.", + "Loading module 'available-regexp-flags/package.json' from 'node_modules' folder, target file types: JavaScript, JSON.", + "Searching all ancestor node_modules directories for fallback extensions: JavaScript, JSON.", + "File '/node_modules/available-regexp-flags/package.json' exists according to earlier cached lookups.", + "File name '/node_modules/available-regexp-flags/package.json' has a '.json' extension - stripping it.", + "File '/node_modules/available-regexp-flags/package.json' exists - use it as a name resolution result.", + "Resolution of non-relative name failed; trying with '--moduleResolution bundler' to see if project may need configuration update.", + "Loading module 'available-regexp-flags/package.json' from 'node_modules' folder, target file types: TypeScript, Declaration.", + "Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.", + "File '/node_modules/available-regexp-flags/package.json' exists according to earlier cached lookups.", + "Using 'exports' subpath './package.json' with target './package.json'.", + "File name '/node_modules/available-regexp-flags/package.json' has a '.json' extension - stripping it.", + "File '/node_modules/available-regexp-flags/package.d.json.ts' does not exist.", + "Export specifier './package.json' does not exist in package.json scope at path '/node_modules/available-regexp-flags'.", + "Directory '/node_modules/@types' does not exist, skipping all lookups in it.", + "File name '/node_modules/@types/available-regexp-flags/package.json' has a '.json' extension - stripping it.", + "======== Module name 'available-regexp-flags/package.json' was successfully resolved to '/node_modules/available-regexp-flags/package.json' with Package ID 'available-regexp-flags/package.json@1.0.4'. ========" + ] + }, + "implementationResolution": { + "fileName": "/node_modules/available-regexp-flags/package.json", + "isJson": true, + "isTypeScript": false, + "trace": [ + "======== Resolving module 'available-regexp-flags/package.json' from '/index.ts'. ========", + "Explicitly specified module resolution kind: 'Node10'.", + "Loading module 'available-regexp-flags/package.json' from 'node_modules' folder, target file types: TypeScript.", + "Searching all ancestor node_modules directories for preferred extensions: TypeScript.", + "File '/node_modules/available-regexp-flags/package.json' exists according to earlier cached lookups.", + "File name '/node_modules/available-regexp-flags/package.json' has a '.json' extension - stripping it.", + "File '/node_modules/available-regexp-flags/package.json.ts' does not exist.", + "File '/node_modules/available-regexp-flags/package.json.tsx' does not exist.", + "'package.json' has 'main' field 'index.js' that references '/node_modules/available-regexp-flags/package.json/index.js'.", + "File name '/node_modules/available-regexp-flags/package.json/index.js' has a '.js' extension - stripping it.", + "Loading module as file / folder, candidate module location '/node_modules/available-regexp-flags/package.json/index.js', target file types: TypeScript.", + "File name '/node_modules/available-regexp-flags/package.json/index.js' has a '.js' extension - stripping it.", + "Loading module 'available-regexp-flags/package.json' from 'node_modules' folder, target file types: JavaScript, JSON.", + "Searching all ancestor node_modules directories for fallback extensions: JavaScript, JSON.", + "File '/node_modules/available-regexp-flags/package.json' exists according to earlier cached lookups.", + "File name '/node_modules/available-regexp-flags/package.json' has a '.json' extension - stripping it.", + "File '/node_modules/available-regexp-flags/package.json' exists - use it as a name resolution result.", + "Resolution of non-relative name failed; trying with '--moduleResolution bundler' to see if project may need configuration update.", + "Loading module 'available-regexp-flags/package.json' from 'node_modules' folder, target file types: TypeScript.", + "Searching all ancestor node_modules directories for preferred extensions: TypeScript.", + "File '/node_modules/available-regexp-flags/package.json' exists according to earlier cached lookups.", + "Using 'exports' subpath './package.json' with target './package.json'.", + "File name '/node_modules/available-regexp-flags/package.json' has a '.json' extension - stripping it.", + "Export specifier './package.json' does not exist in package.json scope at path '/node_modules/available-regexp-flags'.", + "======== Module name 'available-regexp-flags/package.json' was successfully resolved to '/node_modules/available-regexp-flags/package.json' with Package ID 'available-regexp-flags/package.json@1.0.4'. ========" + ] + }, + "files": [ + "/node_modules/typescript/lib/lib.d.ts", + "/node_modules/available-regexp-flags/package.json" + ], + "visibleProblems": [] + }, + "node16-cjs": { + "name": "./package.json", + "resolutionKind": "node16-cjs", + "resolution": { + "fileName": "/node_modules/available-regexp-flags/package.json", + "isJson": true, + "isTypeScript": false, + "trace": [ + "======== Resolving module 'available-regexp-flags/package.json' from '/index.ts'. ========", + "Explicitly specified module resolution kind: 'Node16'.", + "Resolving in CJS mode with conditions 'require', 'types', 'node'.", + "File '/package.json' does not exist according to earlier cached lookups.", + "Loading module 'available-regexp-flags/package.json' 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/available-regexp-flags/package.json' exists according to earlier cached lookups.", + "Using 'exports' subpath './package.json' with target './package.json'.", + "File name '/node_modules/available-regexp-flags/package.json' has a '.json' extension - stripping it.", + "File '/node_modules/available-regexp-flags/package.d.json.ts' does not exist.", + "Export specifier './package.json' does not exist in package.json scope at path '/node_modules/available-regexp-flags'.", + "Directory '/node_modules/@types' does not exist, skipping all lookups in it.", + "File name '/node_modules/@types/available-regexp-flags/package.json' has a '.json' extension - stripping it.", + "Searching all ancestor node_modules directories for fallback extensions: JavaScript, JSON.", + "File '/node_modules/available-regexp-flags/package.json' exists according to earlier cached lookups.", + "Using 'exports' subpath './package.json' with target './package.json'.", + "File name '/node_modules/available-regexp-flags/package.json' has a '.json' extension - stripping it.", + "File '/node_modules/available-regexp-flags/package.json' exists - use it as a name resolution result.", + "======== Module name 'available-regexp-flags/package.json' was successfully resolved to '/node_modules/available-regexp-flags/package.json' with Package ID 'available-regexp-flags/package.json@1.0.4'. ========" + ] + }, + "implementationResolution": { + "fileName": "/node_modules/available-regexp-flags/package.json", + "isJson": true, + "isTypeScript": false, + "trace": [ + "======== Resolving module 'available-regexp-flags/package.json' from '/index.ts'. ========", + "Explicitly specified module resolution kind: 'Node16'.", + "Resolving in CJS mode with conditions 'require', 'node'.", + "File '/package.json' does not exist according to earlier cached lookups.", + "Loading module 'available-regexp-flags/package.json' from 'node_modules' folder, target file types: TypeScript, JavaScript, JSON.", + "Searching all ancestor node_modules directories for preferred extensions: TypeScript.", + "File '/node_modules/available-regexp-flags/package.json' exists according to earlier cached lookups.", + "Using 'exports' subpath './package.json' with target './package.json'.", + "File name '/node_modules/available-regexp-flags/package.json' has a '.json' extension - stripping it.", + "Export specifier './package.json' does not exist in package.json scope at path '/node_modules/available-regexp-flags'.", + "Searching all ancestor node_modules directories for fallback extensions: JavaScript, JSON.", + "File '/node_modules/available-regexp-flags/package.json' exists according to earlier cached lookups.", + "Using 'exports' subpath './package.json' with target './package.json'.", + "File name '/node_modules/available-regexp-flags/package.json' has a '.json' extension - stripping it.", + "File '/node_modules/available-regexp-flags/package.json' exists - use it as a name resolution result.", + "======== Module name 'available-regexp-flags/package.json' was successfully resolved to '/node_modules/available-regexp-flags/package.json' with Package ID 'available-regexp-flags/package.json@1.0.4'. ========" + ] + }, + "files": [ + "/node_modules/typescript/lib/lib.d.ts", + "/node_modules/available-regexp-flags/package.json" + ], + "visibleProblems": [] + }, + "node16-esm": { + "name": "./package.json", + "resolutionKind": "node16-esm", + "resolution": { + "fileName": "/node_modules/available-regexp-flags/package.json", + "isJson": true, + "isTypeScript": false, + "trace": [ + "======== Resolving module 'available-regexp-flags/package.json' 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 'available-regexp-flags/package.json' 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/available-regexp-flags/package.json' exists according to earlier cached lookups.", + "Using 'exports' subpath './package.json' with target './package.json'.", + "File name '/node_modules/available-regexp-flags/package.json' has a '.json' extension - stripping it.", + "File '/node_modules/available-regexp-flags/package.d.json.ts' does not exist.", + "Export specifier './package.json' does not exist in package.json scope at path '/node_modules/available-regexp-flags'.", + "Directory '/node_modules/@types' does not exist, skipping all lookups in it.", + "File name '/node_modules/@types/available-regexp-flags/package.json' has a '.json' extension - stripping it.", + "Searching all ancestor node_modules directories for fallback extensions: JavaScript, JSON.", + "File '/node_modules/available-regexp-flags/package.json' exists according to earlier cached lookups.", + "Using 'exports' subpath './package.json' with target './package.json'.", + "File name '/node_modules/available-regexp-flags/package.json' has a '.json' extension - stripping it.", + "File '/node_modules/available-regexp-flags/package.json' 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 'available-regexp-flags/package.json' from 'node_modules' folder, target file types: TypeScript, Declaration.", + "Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.", + "File '/node_modules/available-regexp-flags/package.json' exists according to earlier cached lookups.", + "'package.json' does not have a 'typesVersions' field.", + "File name '/node_modules/available-regexp-flags/package.json' has a '.json' extension - stripping it.", + "File '/node_modules/available-regexp-flags/package.d.json.ts' does not exist.", + "'package.json' does not have a 'typings' field.", + "'package.json' has 'types' field './index.d.ts' that references '/node_modules/available-regexp-flags/package.json/index.d.ts'.", + "Loading module as file / folder, candidate module location '/node_modules/available-regexp-flags/package.json/index.d.ts', target file types: TypeScript, Declaration.", + "File name '/node_modules/available-regexp-flags/package.json/index.d.ts' has a '.d.ts' extension - stripping it.", + "Directory '/node_modules/@types' does not exist, skipping all lookups in it.", + "File name '/node_modules/@types/available-regexp-flags/package.json' has a '.json' extension - stripping it.", + "======== Module name 'available-regexp-flags/package.json' was successfully resolved to '/node_modules/available-regexp-flags/package.json' with Package ID 'available-regexp-flags/package.json@1.0.4'. ========" + ] + }, + "implementationResolution": { + "fileName": "/node_modules/available-regexp-flags/package.json", + "isJson": true, + "isTypeScript": false, + "trace": [ + "======== Resolving module 'available-regexp-flags/package.json' 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 'available-regexp-flags/package.json' from 'node_modules' folder, target file types: TypeScript, JavaScript, JSON.", + "Searching all ancestor node_modules directories for preferred extensions: TypeScript.", + "File '/node_modules/available-regexp-flags/package.json' exists according to earlier cached lookups.", + "Using 'exports' subpath './package.json' with target './package.json'.", + "File name '/node_modules/available-regexp-flags/package.json' has a '.json' extension - stripping it.", + "Export specifier './package.json' does not exist in package.json scope at path '/node_modules/available-regexp-flags'.", + "Searching all ancestor node_modules directories for fallback extensions: JavaScript, JSON.", + "File '/node_modules/available-regexp-flags/package.json' exists according to earlier cached lookups.", + "Using 'exports' subpath './package.json' with target './package.json'.", + "File name '/node_modules/available-regexp-flags/package.json' has a '.json' extension - stripping it.", + "File '/node_modules/available-regexp-flags/package.json' 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 'available-regexp-flags/package.json' from 'node_modules' folder, target file types: TypeScript.", + "Searching all ancestor node_modules directories for preferred extensions: TypeScript.", + "File '/node_modules/available-regexp-flags/package.json' exists according to earlier cached lookups.", + "File name '/node_modules/available-regexp-flags/package.json' has a '.json' extension - stripping it.", + "'package.json' has 'main' field 'index.js' that references '/node_modules/available-regexp-flags/package.json/index.js'.", + "File name '/node_modules/available-regexp-flags/package.json/index.js' has a '.js' extension - stripping it.", + "Loading module as file / folder, candidate module location '/node_modules/available-regexp-flags/package.json/index.js', target file types: TypeScript.", + "File name '/node_modules/available-regexp-flags/package.json/index.js' has a '.js' extension - stripping it.", + "======== Module name 'available-regexp-flags/package.json' was successfully resolved to '/node_modules/available-regexp-flags/package.json' with Package ID 'available-regexp-flags/package.json@1.0.4'. ========" + ] + }, + "files": [ + "/node_modules/typescript/lib/lib.d.ts", + "/node_modules/available-regexp-flags/package.json" + ], + "visibleProblems": [] + }, + "bundler": { + "name": "./package.json", + "resolutionKind": "bundler", + "resolution": { + "fileName": "/node_modules/available-regexp-flags/package.json", + "isJson": true, + "isTypeScript": false, + "trace": [ + "======== Resolving module 'available-regexp-flags/package.json' from '/index.ts'. ========", + "Explicitly specified module resolution kind: 'Bundler'.", + "Resolving in CJS mode with conditions 'import', 'types'.", + "File '/package.json' does not exist according to earlier cached lookups.", + "Loading module 'available-regexp-flags/package.json' 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/available-regexp-flags/package.json' exists according to earlier cached lookups.", + "Using 'exports' subpath './package.json' with target './package.json'.", + "File name '/node_modules/available-regexp-flags/package.json' has a '.json' extension - stripping it.", + "File '/node_modules/available-regexp-flags/package.d.json.ts' does not exist.", + "Export specifier './package.json' does not exist in package.json scope at path '/node_modules/available-regexp-flags'.", + "Directory '/node_modules/@types' does not exist, skipping all lookups in it.", + "File name '/node_modules/@types/available-regexp-flags/package.json' has a '.json' extension - stripping it.", + "Searching all ancestor node_modules directories for fallback extensions: JavaScript, JSON.", + "File '/node_modules/available-regexp-flags/package.json' exists according to earlier cached lookups.", + "Using 'exports' subpath './package.json' with target './package.json'.", + "File name '/node_modules/available-regexp-flags/package.json' has a '.json' extension - stripping it.", + "File '/node_modules/available-regexp-flags/package.json' 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 'available-regexp-flags/package.json' from 'node_modules' folder, target file types: TypeScript, Declaration.", + "Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.", + "File '/node_modules/available-regexp-flags/package.json' exists according to earlier cached lookups.", + "'package.json' does not have a 'typesVersions' field.", + "File name '/node_modules/available-regexp-flags/package.json' has a '.json' extension - stripping it.", + "File '/node_modules/available-regexp-flags/package.d.json.ts' does not exist.", + "File '/node_modules/available-regexp-flags/package.json.ts' does not exist.", + "File '/node_modules/available-regexp-flags/package.json.tsx' does not exist.", + "File '/node_modules/available-regexp-flags/package.json.d.ts' does not exist.", + "'package.json' does not have a 'typings' field.", + "'package.json' has 'types' field './index.d.ts' that references '/node_modules/available-regexp-flags/package.json/index.d.ts'.", + "Loading module as file / folder, candidate module location '/node_modules/available-regexp-flags/package.json/index.d.ts', target file types: TypeScript, Declaration.", + "File name '/node_modules/available-regexp-flags/package.json/index.d.ts' has a '.d.ts' extension - stripping it.", + "Directory '/node_modules/@types' does not exist, skipping all lookups in it.", + "File name '/node_modules/@types/available-regexp-flags/package.json' has a '.json' extension - stripping it.", + "======== Module name 'available-regexp-flags/package.json' was successfully resolved to '/node_modules/available-regexp-flags/package.json' with Package ID 'available-regexp-flags/package.json@1.0.4'. ========" + ] + }, + "implementationResolution": { + "fileName": "/node_modules/available-regexp-flags/package.json", + "isJson": true, + "isTypeScript": false, + "trace": [ + "======== Resolving module 'available-regexp-flags/package.json' from '/index.ts'. ========", + "Explicitly specified module resolution kind: 'Bundler'.", + "Resolving in CJS mode with conditions 'import'.", + "File '/package.json' does not exist according to earlier cached lookups.", + "Loading module 'available-regexp-flags/package.json' from 'node_modules' folder, target file types: TypeScript, JavaScript, JSON.", + "Searching all ancestor node_modules directories for preferred extensions: TypeScript.", + "File '/node_modules/available-regexp-flags/package.json' exists according to earlier cached lookups.", + "Using 'exports' subpath './package.json' with target './package.json'.", + "File name '/node_modules/available-regexp-flags/package.json' has a '.json' extension - stripping it.", + "Export specifier './package.json' does not exist in package.json scope at path '/node_modules/available-regexp-flags'.", + "Searching all ancestor node_modules directories for fallback extensions: JavaScript, JSON.", + "File '/node_modules/available-regexp-flags/package.json' exists according to earlier cached lookups.", + "Using 'exports' subpath './package.json' with target './package.json'.", + "File name '/node_modules/available-regexp-flags/package.json' has a '.json' extension - stripping it.", + "File '/node_modules/available-regexp-flags/package.json' 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 'available-regexp-flags/package.json' from 'node_modules' folder, target file types: TypeScript.", + "Searching all ancestor node_modules directories for preferred extensions: TypeScript.", + "File '/node_modules/available-regexp-flags/package.json' exists according to earlier cached lookups.", + "File name '/node_modules/available-regexp-flags/package.json' has a '.json' extension - stripping it.", + "File '/node_modules/available-regexp-flags/package.json.ts' does not exist.", + "File '/node_modules/available-regexp-flags/package.json.tsx' does not exist.", + "'package.json' has 'main' field 'index.js' that references '/node_modules/available-regexp-flags/package.json/index.js'.", + "File name '/node_modules/available-regexp-flags/package.json/index.js' has a '.js' extension - stripping it.", + "Loading module as file / folder, candidate module location '/node_modules/available-regexp-flags/package.json/index.js', target file types: TypeScript.", + "File name '/node_modules/available-regexp-flags/package.json/index.js' has a '.js' extension - stripping it.", + "======== Module name 'available-regexp-flags/package.json' was successfully resolved to '/node_modules/available-regexp-flags/package.json' with Package ID 'available-regexp-flags/package.json@1.0.4'. ========" + ] + }, + "files": [ + "/node_modules/typescript/lib/lib.d.ts", + "/node_modules/available-regexp-flags/package.json" + ], + "visibleProblems": [] + } + }, + "hasTypes": false, + "isWildcard": false + } + }, + "programInfo": { + "node10": {}, + "node16": { + "moduleKinds": { + "/node_modules/typescript/lib/lib.d.ts": { + "detectedKind": 1, + "detectedReason": "no:type", + "reasonFileName": "/node_modules/typescript/lib/lib.d.ts" + }, + "/node_modules/available-regexp-flags/index.d.ts": { + "detectedKind": 1, + "detectedReason": "no:type", + "reasonFileName": "/node_modules/available-regexp-flags/package.json" + }, + "/node_modules/available-regexp-flags/index.js": { + "detectedKind": 1, + "detectedReason": "no:type", + "reasonFileName": "/node_modules/available-regexp-flags/package.json" + }, + "/node_modules/available-regexp-flags/properties.d.ts": { + "detectedKind": 1, + "detectedReason": "no:type", + "reasonFileName": "/node_modules/available-regexp-flags/package.json" + }, + "/node_modules/available-regexp-flags/properties.js": { + "detectedKind": 1, + "detectedReason": "no:type", + "reasonFileName": "/node_modules/available-regexp-flags/package.json" + } + } + }, + "bundler": {} + }, + "problems": [] +} From 08b9978024167bf1ec827208ffc23b974fdb0130 Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Thu, 19 Dec 2024 11:59:16 -0800 Subject: [PATCH 2/3] Add minimal lib.d.ts for array checking --- packages/core/src/internal/minimalLibDts.ts | 78 +++++++++++++++++++ .../core/src/internal/multiCompilerHost.ts | 3 +- .../available-regexp-flags@1.0.4.tgz.json | 23 +++++- 3 files changed, 101 insertions(+), 3 deletions(-) create mode 100644 packages/core/src/internal/minimalLibDts.ts diff --git a/packages/core/src/internal/minimalLibDts.ts b/packages/core/src/internal/minimalLibDts.ts new file mode 100644 index 0000000..68081ed --- /dev/null +++ b/packages/core/src/internal/minimalLibDts.ts @@ -0,0 +1,78 @@ +// The contents of this string are derived from typescript/lib/lib.es5.d.ts. +// These types are all that are needed for the NamedExports check to work. + +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at http://www.apache.org/licenses/LICENSE-2.0 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ +export default ` +interface ReadonlyArray { + readonly length: number; + toString(): string; + toLocaleString(): string; + concat(...items: ConcatArray[]): T[]; + concat(...items: (T | ConcatArray)[]): T[]; + join(separator?: string): string; + slice(start?: number, end?: number): T[]; + indexOf(searchElement: T, fromIndex?: number): number; + lastIndexOf(searchElement: T, fromIndex?: number): number; + every(predicate: (value: T, index: number, array: readonly T[]) => value is S, thisArg?: any): this is readonly S[]; + every(predicate: (value: T, index: number, array: readonly T[]) => unknown, thisArg?: any): boolean; + some(predicate: (value: T, index: number, array: readonly T[]) => unknown, thisArg?: any): boolean; + forEach(callbackfn: (value: T, index: number, array: readonly T[]) => void, thisArg?: any): void; + map(callbackfn: (value: T, index: number, array: readonly T[]) => U, thisArg?: any): U[]; + filter(predicate: (value: T, index: number, array: readonly T[]) => value is S, thisArg?: any): S[]; + filter(predicate: (value: T, index: number, array: readonly T[]) => unknown, thisArg?: any): T[]; + reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: readonly T[]) => T): T; + reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: readonly T[]) => T, initialValue: T): T; + reduce(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: readonly T[]) => U, initialValue: U): U; + reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: readonly T[]) => T): T; + reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: readonly T[]) => T, initialValue: T): T; + reduceRight(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: readonly T[]) => U, initialValue: U): U; + readonly [n: number]: T; +} + +interface Array { + length: number; + toString(): string; + toLocaleString(): string; + pop(): T | undefined; + push(...items: T[]): number; + concat(...items: ConcatArray[]): T[]; + concat(...items: (T | ConcatArray)[]): T[]; + join(separator?: string): string; + reverse(): T[]; + shift(): T | undefined; + slice(start?: number, end?: number): T[]; + sort(compareFn?: (a: T, b: T) => number): this; + splice(start: number, deleteCount?: number): T[]; + splice(start: number, deleteCount: number, ...items: T[]): T[]; + unshift(...items: T[]): number; + indexOf(searchElement: T, fromIndex?: number): number; + lastIndexOf(searchElement: T, fromIndex?: number): number; + every(predicate: (value: T, index: number, array: T[]) => value is S, thisArg?: any): this is S[]; + every(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): boolean; + some(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): boolean; + forEach(callbackfn: (value: T, index: number, array: T[]) => void, thisArg?: any): void; + map(callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any): U[]; + filter(predicate: (value: T, index: number, array: T[]) => value is S, thisArg?: any): S[]; + filter(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): T[]; + reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; + reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; + reduce(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; + reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; + reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; + reduceRight(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; + [n: number]: T; +} +`; diff --git a/packages/core/src/internal/multiCompilerHost.ts b/packages/core/src/internal/multiCompilerHost.ts index cd9c2eb..0667019 100644 --- a/packages/core/src/internal/multiCompilerHost.ts +++ b/packages/core/src/internal/multiCompilerHost.ts @@ -1,5 +1,6 @@ import ts from "typescript"; import { LRUCache } from "lru-cache"; +import minimalLibDts from "./minimalLibDts.js"; import type { ModuleKind } from "../types.js"; import type { Package } from "../createPackage.js"; @@ -225,7 +226,7 @@ export class CompilerHostWrapper { if (cached) { return cached; } - const content = fileName.startsWith("/node_modules/typescript/lib") ? "" : fs.tryReadFile(fileName); + const content = fileName === "/node_modules/typescript/lib/lib.d.ts" ? minimalLibDts : fs.tryReadFile(fileName); if (content === undefined) { return undefined; } diff --git a/packages/core/test/snapshots/available-regexp-flags@1.0.4.tgz.json b/packages/core/test/snapshots/available-regexp-flags@1.0.4.tgz.json index d6bc47a..4ceb56a 100644 --- a/packages/core/test/snapshots/available-regexp-flags@1.0.4.tgz.json +++ b/packages/core/test/snapshots/available-regexp-flags@1.0.4.tgz.json @@ -467,7 +467,9 @@ "/node_modules/typescript/lib/lib.d.ts", "/node_modules/available-regexp-flags/properties.d.ts" ], - "visibleProblems": [] + "visibleProblems": [ + 0 + ] }, "bundler": { "name": "./properties", @@ -886,5 +888,22 @@ }, "bundler": {} }, - "problems": [] + "problems": [ + { + "kind": "NamedExports", + "implementationFileName": "/node_modules/available-regexp-flags/properties.js", + "typesFileName": "/node_modules/available-regexp-flags/properties.d.ts", + "isMissingAllNamed": false, + "missing": [ + "d", + "g", + "i", + "m", + "s", + "u", + "v", + "y" + ] + } + ] } From 59940cd6d0cb165202c73afac751ccfa8702bb92 Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Thu, 19 Dec 2024 12:01:17 -0800 Subject: [PATCH 3/3] Add changeset --- .changeset/clever-ghosts-begin.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/clever-ghosts-begin.md diff --git a/.changeset/clever-ghosts-begin.md b/.changeset/clever-ghosts-begin.md new file mode 100644 index 0000000..ddfdf41 --- /dev/null +++ b/.changeset/clever-ghosts-begin.md @@ -0,0 +1,5 @@ +--- +"@arethetypeswrong/core": patch +--- + +Exclude array/tuple properties from expected named exports