From ed2bf3de83cd8905ca8886a4eaa9ab4c1e4144ff Mon Sep 17 00:00:00 2001 From: magic-akari Date: Sat, 6 Dec 2025 11:21:07 +0800 Subject: [PATCH 1/2] Allow subpath imports that start with `#/` This aligns with Node.js PR nodejs/node#60864, which allows defining symmetric `exports` and `imports` fields in package.json: { "exports": { "./*": "./src/*" }, "imports": { "#/*": "./src/*" } } --- src/compiler/moduleNameResolver.ts | 2 +- ...ortsRootWildcard(module=node16).errors.txt | 51 ++++ ...ckageImportsRootWildcard(module=node16).js | 89 +++++++ ...ImportsRootWildcard(module=node16).symbols | 74 ++++++ ...ortsRootWildcard(module=node16).trace.json | 195 ++++++++++++++ ...geImportsRootWildcard(module=node16).types | 101 ++++++++ ...ortsRootWildcard(module=node18).errors.txt | 51 ++++ ...ckageImportsRootWildcard(module=node18).js | 89 +++++++ ...ImportsRootWildcard(module=node18).symbols | 74 ++++++ ...ortsRootWildcard(module=node18).trace.json | 195 ++++++++++++++ ...geImportsRootWildcard(module=node18).types | 101 ++++++++ ...ckageImportsRootWildcard(module=node20).js | 89 +++++++ ...ImportsRootWildcard(module=node20).symbols | 74 ++++++ ...ortsRootWildcard(module=node20).trace.json | 203 +++++++++++++++ ...geImportsRootWildcard(module=node20).types | 101 ++++++++ ...ageImportsRootWildcard(module=nodenext).js | 89 +++++++ ...portsRootWildcard(module=nodenext).symbols | 74 ++++++ ...tsRootWildcard(module=nodenext).trace.json | 243 ++++++++++++++++++ ...ImportsRootWildcard(module=nodenext).types | 101 ++++++++ .../nodeModulesPackageImportsRootWildcard.ts | 42 +++ ...nsPackageJsonImportsPatternRootWildcard.ts | 25 ++ 21 files changed, 2062 insertions(+), 1 deletion(-) create mode 100644 tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node16).errors.txt create mode 100644 tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node16).js create mode 100644 tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node16).symbols create mode 100644 tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node16).trace.json create mode 100644 tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node16).types create mode 100644 tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node18).errors.txt create mode 100644 tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node18).js create mode 100644 tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node18).symbols create mode 100644 tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node18).trace.json create mode 100644 tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node18).types create mode 100644 tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node20).js create mode 100644 tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node20).symbols create mode 100644 tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node20).trace.json create mode 100644 tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node20).types create mode 100644 tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=nodenext).js create mode 100644 tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=nodenext).symbols create mode 100644 tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=nodenext).trace.json create mode 100644 tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=nodenext).types create mode 100644 tests/cases/conformance/node/nodeModulesPackageImportsRootWildcard.ts create mode 100644 tests/cases/fourslash/importCompletionsPackageJsonImportsPatternRootWildcard.ts diff --git a/src/compiler/moduleNameResolver.ts b/src/compiler/moduleNameResolver.ts index 1c5f22e25bd9c..d89b7597014cc 100644 --- a/src/compiler/moduleNameResolver.ts +++ b/src/compiler/moduleNameResolver.ts @@ -2646,7 +2646,7 @@ function loadModuleFromExports(scope: PackageJsonInfo, extensions: Extensions, s } function loadModuleFromImports(extensions: Extensions, moduleName: string, directory: string, state: ModuleResolutionState, cache: ModuleResolutionCache | undefined, redirectedReference: ResolvedProjectReference | undefined): SearchResult { - if (moduleName === "#" || startsWith(moduleName, "#/")) { + if (moduleName === "#") { if (state.traceEnabled) { trace(state.host, Diagnostics.Invalid_import_specifier_0_has_no_possible_resolutions, moduleName); } diff --git a/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node16).errors.txt b/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node16).errors.txt new file mode 100644 index 0000000000000..011bfd053655f --- /dev/null +++ b/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node16).errors.txt @@ -0,0 +1,51 @@ +index.cts(2,21): error TS1479: The current file is a CommonJS module whose imports will produce 'require' calls; however, the referenced file is an ECMAScript module and cannot be imported with 'require'. Consider writing a dynamic 'import("#/foo.js")' call instead. +index.cts(3,21): error TS1479: The current file is a CommonJS module whose imports will produce 'require' calls; however, the referenced file is an ECMAScript module and cannot be imported with 'require'. Consider writing a dynamic 'import("#/features/bar.js")' call instead. +index.cts(4,21): error TS1479: The current file is a CommonJS module whose imports will produce 'require' calls; however, the referenced file is an ECMAScript module and cannot be imported with 'require'. Consider writing a dynamic 'import("#/nested/deep/baz.js")' call instead. + + +==== package.json (0 errors) ==== + { + "name": "package", + "private": true, + "type": "module", + "imports": { + "#/*": "./src/*" + } + } +==== src/foo.ts (0 errors) ==== + export const foo = "foo"; +==== src/features/bar.ts (0 errors) ==== + export const bar = "bar"; +==== src/nested/deep/baz.ts (0 errors) ==== + export const baz = "baz"; +==== index.ts (0 errors) ==== + // esm format file + import { foo } from "#/foo.js"; + import { bar } from "#/features/bar.js"; + import { baz } from "#/nested/deep/baz.js"; + foo; + bar; + baz; +==== index.mts (0 errors) ==== + // esm format file + import { foo } from "#/foo.js"; + import { bar } from "#/features/bar.js"; + import { baz } from "#/nested/deep/baz.js"; + foo; + bar; + baz; +==== index.cts (3 errors) ==== + // cjs format file + import { foo } from "#/foo.js"; + ~~~~~~~~~~ +!!! error TS1479: The current file is a CommonJS module whose imports will produce 'require' calls; however, the referenced file is an ECMAScript module and cannot be imported with 'require'. Consider writing a dynamic 'import("#/foo.js")' call instead. + import { bar } from "#/features/bar.js"; + ~~~~~~~~~~~~~~~~~~~ +!!! error TS1479: The current file is a CommonJS module whose imports will produce 'require' calls; however, the referenced file is an ECMAScript module and cannot be imported with 'require'. Consider writing a dynamic 'import("#/features/bar.js")' call instead. + import { baz } from "#/nested/deep/baz.js"; + ~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS1479: The current file is a CommonJS module whose imports will produce 'require' calls; however, the referenced file is an ECMAScript module and cannot be imported with 'require'. Consider writing a dynamic 'import("#/nested/deep/baz.js")' call instead. + foo; + bar; + baz; + \ No newline at end of file diff --git a/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node16).js b/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node16).js new file mode 100644 index 0000000000000..bcf39b25bc97d --- /dev/null +++ b/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node16).js @@ -0,0 +1,89 @@ +//// [tests/cases/conformance/node/nodeModulesPackageImportsRootWildcard.ts] //// + +//// [package.json] +{ + "name": "package", + "private": true, + "type": "module", + "imports": { + "#/*": "./src/*" + } +} +//// [foo.ts] +export const foo = "foo"; +//// [bar.ts] +export const bar = "bar"; +//// [baz.ts] +export const baz = "baz"; +//// [index.ts] +// esm format file +import { foo } from "#/foo.js"; +import { bar } from "#/features/bar.js"; +import { baz } from "#/nested/deep/baz.js"; +foo; +bar; +baz; +//// [index.mts] +// esm format file +import { foo } from "#/foo.js"; +import { bar } from "#/features/bar.js"; +import { baz } from "#/nested/deep/baz.js"; +foo; +bar; +baz; +//// [index.cts] +// cjs format file +import { foo } from "#/foo.js"; +import { bar } from "#/features/bar.js"; +import { baz } from "#/nested/deep/baz.js"; +foo; +bar; +baz; + + +//// [foo.js] +export const foo = "foo"; +//// [bar.js] +export const bar = "bar"; +//// [baz.js] +export const baz = "baz"; +//// [index.js] +// esm format file +import { foo } from "#/foo.js"; +import { bar } from "#/features/bar.js"; +import { baz } from "#/nested/deep/baz.js"; +foo; +bar; +baz; +//// [index.mjs] +// esm format file +import { foo } from "#/foo.js"; +import { bar } from "#/features/bar.js"; +import { baz } from "#/nested/deep/baz.js"; +foo; +bar; +baz; +//// [index.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +// cjs format file +const foo_js_1 = require("#/foo.js"); +const bar_js_1 = require("#/features/bar.js"); +const baz_js_1 = require("#/nested/deep/baz.js"); +foo_js_1.foo; +bar_js_1.bar; +baz_js_1.baz; + + +//// [foo.d.ts] +export declare const foo = "foo"; +//// [bar.d.ts] +export declare const bar = "bar"; +//// [baz.d.ts] +export declare const baz = "baz"; +//// [index.d.ts] +export {}; +//// [index.d.mts] +export {}; +//// [index.d.cts] +export {}; diff --git a/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node16).symbols b/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node16).symbols new file mode 100644 index 0000000000000..e4aebad35fd9e --- /dev/null +++ b/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node16).symbols @@ -0,0 +1,74 @@ +//// [tests/cases/conformance/node/nodeModulesPackageImportsRootWildcard.ts] //// + +=== src/foo.ts === +export const foo = "foo"; +>foo : Symbol(foo, Decl(foo.ts, 0, 12)) + +=== src/features/bar.ts === +export const bar = "bar"; +>bar : Symbol(bar, Decl(bar.ts, 0, 12)) + +=== src/nested/deep/baz.ts === +export const baz = "baz"; +>baz : Symbol(baz, Decl(baz.ts, 0, 12)) + +=== index.ts === +// esm format file +import { foo } from "#/foo.js"; +>foo : Symbol(foo, Decl(index.ts, 1, 8)) + +import { bar } from "#/features/bar.js"; +>bar : Symbol(bar, Decl(index.ts, 2, 8)) + +import { baz } from "#/nested/deep/baz.js"; +>baz : Symbol(baz, Decl(index.ts, 3, 8)) + +foo; +>foo : Symbol(foo, Decl(index.ts, 1, 8)) + +bar; +>bar : Symbol(bar, Decl(index.ts, 2, 8)) + +baz; +>baz : Symbol(baz, Decl(index.ts, 3, 8)) + +=== index.mts === +// esm format file +import { foo } from "#/foo.js"; +>foo : Symbol(foo, Decl(index.mts, 1, 8)) + +import { bar } from "#/features/bar.js"; +>bar : Symbol(bar, Decl(index.mts, 2, 8)) + +import { baz } from "#/nested/deep/baz.js"; +>baz : Symbol(baz, Decl(index.mts, 3, 8)) + +foo; +>foo : Symbol(foo, Decl(index.mts, 1, 8)) + +bar; +>bar : Symbol(bar, Decl(index.mts, 2, 8)) + +baz; +>baz : Symbol(baz, Decl(index.mts, 3, 8)) + +=== index.cts === +// cjs format file +import { foo } from "#/foo.js"; +>foo : Symbol(foo, Decl(index.cts, 1, 8)) + +import { bar } from "#/features/bar.js"; +>bar : Symbol(bar, Decl(index.cts, 2, 8)) + +import { baz } from "#/nested/deep/baz.js"; +>baz : Symbol(baz, Decl(index.cts, 3, 8)) + +foo; +>foo : Symbol(foo, Decl(index.cts, 1, 8)) + +bar; +>bar : Symbol(bar, Decl(index.cts, 2, 8)) + +baz; +>baz : Symbol(baz, Decl(index.cts, 3, 8)) + diff --git a/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node16).trace.json b/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node16).trace.json new file mode 100644 index 0000000000000..ce2392cc8ed1f --- /dev/null +++ b/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node16).trace.json @@ -0,0 +1,195 @@ +[ + "File '/.src/src/package.json' does not exist.", + "Found 'package.json' at '/.src/package.json'.", + "File '/.src/src/features/package.json' does not exist.", + "File '/.src/src/package.json' does not exist according to earlier cached lookups.", + "File '/.src/package.json' exists according to earlier cached lookups.", + "File '/.src/src/nested/deep/package.json' does not exist.", + "File '/.src/src/nested/package.json' does not exist.", + "File '/.src/src/package.json' does not exist according to earlier cached lookups.", + "File '/.src/package.json' exists according to earlier cached lookups.", + "File '/.src/package.json' exists according to earlier cached lookups.", + "======== Resolving module '#/foo.js' from '/.src/index.ts'. ========", + "Module resolution kind is not specified, using 'Node16'.", + "Resolving in ESM mode with conditions 'import', 'types', 'node'.", + "File '/.src/package.json' exists according to earlier cached lookups.", + "Using 'imports' subpath '#/*' with target './src/foo.js'.", + "File name '/.src/src/foo.js' has a '.js' extension - stripping it.", + "File '/.src/src/foo.ts' exists - use it as a name resolution result.", + "======== Module name '#/foo.js' was successfully resolved to '/.src/src/foo.ts'. ========", + "======== Resolving module '#/features/bar.js' from '/.src/index.ts'. ========", + "Module resolution kind is not specified, using 'Node16'.", + "Resolving in ESM mode with conditions 'import', 'types', 'node'.", + "File '/.src/package.json' exists according to earlier cached lookups.", + "Using 'imports' subpath '#/*' with target './src/features/bar.js'.", + "File name '/.src/src/features/bar.js' has a '.js' extension - stripping it.", + "File '/.src/src/features/bar.ts' exists - use it as a name resolution result.", + "======== Module name '#/features/bar.js' was successfully resolved to '/.src/src/features/bar.ts'. ========", + "======== Resolving module '#/nested/deep/baz.js' from '/.src/index.ts'. ========", + "Module resolution kind is not specified, using 'Node16'.", + "Resolving in ESM mode with conditions 'import', 'types', 'node'.", + "File '/.src/package.json' exists according to earlier cached lookups.", + "Using 'imports' subpath '#/*' with target './src/nested/deep/baz.js'.", + "File name '/.src/src/nested/deep/baz.js' has a '.js' extension - stripping it.", + "File '/.src/src/nested/deep/baz.ts' exists - use it as a name resolution result.", + "======== Module name '#/nested/deep/baz.js' was successfully resolved to '/.src/src/nested/deep/baz.ts'. ========", + "======== Resolving module '#/foo.js' from '/.src/index.mts'. ========", + "Resolution for module '#/foo.js' was found in cache from location '/.src'.", + "======== Module name '#/foo.js' was successfully resolved to '/.src/src/foo.ts'. ========", + "======== Resolving module '#/features/bar.js' from '/.src/index.mts'. ========", + "Resolution for module '#/features/bar.js' was found in cache from location '/.src'.", + "======== Module name '#/features/bar.js' was successfully resolved to '/.src/src/features/bar.ts'. ========", + "======== Resolving module '#/nested/deep/baz.js' from '/.src/index.mts'. ========", + "Resolution for module '#/nested/deep/baz.js' was found in cache from location '/.src'.", + "======== Module name '#/nested/deep/baz.js' was successfully resolved to '/.src/src/nested/deep/baz.ts'. ========", + "======== Resolving module '#/foo.js' from '/.src/index.cts'. ========", + "Module resolution kind is not specified, using 'Node16'.", + "Resolving in CJS mode with conditions 'require', 'types', 'node'.", + "File '/.src/package.json' exists according to earlier cached lookups.", + "Using 'imports' subpath '#/*' with target './src/foo.js'.", + "File name '/.src/src/foo.js' has a '.js' extension - stripping it.", + "File '/.src/src/foo.ts' exists - use it as a name resolution result.", + "======== Module name '#/foo.js' was successfully resolved to '/.src/src/foo.ts'. ========", + "======== Resolving module '#/features/bar.js' from '/.src/index.cts'. ========", + "Module resolution kind is not specified, using 'Node16'.", + "Resolving in CJS mode with conditions 'require', 'types', 'node'.", + "File '/.src/package.json' exists according to earlier cached lookups.", + "Using 'imports' subpath '#/*' with target './src/features/bar.js'.", + "File name '/.src/src/features/bar.js' has a '.js' extension - stripping it.", + "File '/.src/src/features/bar.ts' exists - use it as a name resolution result.", + "======== Module name '#/features/bar.js' was successfully resolved to '/.src/src/features/bar.ts'. ========", + "======== Resolving module '#/nested/deep/baz.js' from '/.src/index.cts'. ========", + "Module resolution kind is not specified, using 'Node16'.", + "Resolving in CJS mode with conditions 'require', 'types', 'node'.", + "File '/.src/package.json' exists according to earlier cached lookups.", + "Using 'imports' subpath '#/*' with target './src/nested/deep/baz.js'.", + "File name '/.src/src/nested/deep/baz.js' has a '.js' extension - stripping it.", + "File '/.src/src/nested/deep/baz.ts' exists - use it as a name resolution result.", + "======== Module name '#/nested/deep/baz.js' was successfully resolved to '/.src/src/nested/deep/baz.ts'. ========", + "File '/.ts/package.json' does not exist.", + "File '/package.json' does not exist.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups." +] \ No newline at end of file diff --git a/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node16).types b/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node16).types new file mode 100644 index 0000000000000..8bb760005c9f6 --- /dev/null +++ b/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node16).types @@ -0,0 +1,101 @@ +//// [tests/cases/conformance/node/nodeModulesPackageImportsRootWildcard.ts] //// + +=== src/foo.ts === +export const foo = "foo"; +>foo : "foo" +> : ^^^^^ +>"foo" : "foo" +> : ^^^^^ + +=== src/features/bar.ts === +export const bar = "bar"; +>bar : "bar" +> : ^^^^^ +>"bar" : "bar" +> : ^^^^^ + +=== src/nested/deep/baz.ts === +export const baz = "baz"; +>baz : "baz" +> : ^^^^^ +>"baz" : "baz" +> : ^^^^^ + +=== index.ts === +// esm format file +import { foo } from "#/foo.js"; +>foo : "foo" +> : ^^^^^ + +import { bar } from "#/features/bar.js"; +>bar : "bar" +> : ^^^^^ + +import { baz } from "#/nested/deep/baz.js"; +>baz : "baz" +> : ^^^^^ + +foo; +>foo : "foo" +> : ^^^^^ + +bar; +>bar : "bar" +> : ^^^^^ + +baz; +>baz : "baz" +> : ^^^^^ + +=== index.mts === +// esm format file +import { foo } from "#/foo.js"; +>foo : "foo" +> : ^^^^^ + +import { bar } from "#/features/bar.js"; +>bar : "bar" +> : ^^^^^ + +import { baz } from "#/nested/deep/baz.js"; +>baz : "baz" +> : ^^^^^ + +foo; +>foo : "foo" +> : ^^^^^ + +bar; +>bar : "bar" +> : ^^^^^ + +baz; +>baz : "baz" +> : ^^^^^ + +=== index.cts === +// cjs format file +import { foo } from "#/foo.js"; +>foo : "foo" +> : ^^^^^ + +import { bar } from "#/features/bar.js"; +>bar : "bar" +> : ^^^^^ + +import { baz } from "#/nested/deep/baz.js"; +>baz : "baz" +> : ^^^^^ + +foo; +>foo : "foo" +> : ^^^^^ + +bar; +>bar : "bar" +> : ^^^^^ + +baz; +>baz : "baz" +> : ^^^^^ + diff --git a/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node18).errors.txt b/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node18).errors.txt new file mode 100644 index 0000000000000..011bfd053655f --- /dev/null +++ b/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node18).errors.txt @@ -0,0 +1,51 @@ +index.cts(2,21): error TS1479: The current file is a CommonJS module whose imports will produce 'require' calls; however, the referenced file is an ECMAScript module and cannot be imported with 'require'. Consider writing a dynamic 'import("#/foo.js")' call instead. +index.cts(3,21): error TS1479: The current file is a CommonJS module whose imports will produce 'require' calls; however, the referenced file is an ECMAScript module and cannot be imported with 'require'. Consider writing a dynamic 'import("#/features/bar.js")' call instead. +index.cts(4,21): error TS1479: The current file is a CommonJS module whose imports will produce 'require' calls; however, the referenced file is an ECMAScript module and cannot be imported with 'require'. Consider writing a dynamic 'import("#/nested/deep/baz.js")' call instead. + + +==== package.json (0 errors) ==== + { + "name": "package", + "private": true, + "type": "module", + "imports": { + "#/*": "./src/*" + } + } +==== src/foo.ts (0 errors) ==== + export const foo = "foo"; +==== src/features/bar.ts (0 errors) ==== + export const bar = "bar"; +==== src/nested/deep/baz.ts (0 errors) ==== + export const baz = "baz"; +==== index.ts (0 errors) ==== + // esm format file + import { foo } from "#/foo.js"; + import { bar } from "#/features/bar.js"; + import { baz } from "#/nested/deep/baz.js"; + foo; + bar; + baz; +==== index.mts (0 errors) ==== + // esm format file + import { foo } from "#/foo.js"; + import { bar } from "#/features/bar.js"; + import { baz } from "#/nested/deep/baz.js"; + foo; + bar; + baz; +==== index.cts (3 errors) ==== + // cjs format file + import { foo } from "#/foo.js"; + ~~~~~~~~~~ +!!! error TS1479: The current file is a CommonJS module whose imports will produce 'require' calls; however, the referenced file is an ECMAScript module and cannot be imported with 'require'. Consider writing a dynamic 'import("#/foo.js")' call instead. + import { bar } from "#/features/bar.js"; + ~~~~~~~~~~~~~~~~~~~ +!!! error TS1479: The current file is a CommonJS module whose imports will produce 'require' calls; however, the referenced file is an ECMAScript module and cannot be imported with 'require'. Consider writing a dynamic 'import("#/features/bar.js")' call instead. + import { baz } from "#/nested/deep/baz.js"; + ~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS1479: The current file is a CommonJS module whose imports will produce 'require' calls; however, the referenced file is an ECMAScript module and cannot be imported with 'require'. Consider writing a dynamic 'import("#/nested/deep/baz.js")' call instead. + foo; + bar; + baz; + \ No newline at end of file diff --git a/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node18).js b/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node18).js new file mode 100644 index 0000000000000..bcf39b25bc97d --- /dev/null +++ b/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node18).js @@ -0,0 +1,89 @@ +//// [tests/cases/conformance/node/nodeModulesPackageImportsRootWildcard.ts] //// + +//// [package.json] +{ + "name": "package", + "private": true, + "type": "module", + "imports": { + "#/*": "./src/*" + } +} +//// [foo.ts] +export const foo = "foo"; +//// [bar.ts] +export const bar = "bar"; +//// [baz.ts] +export const baz = "baz"; +//// [index.ts] +// esm format file +import { foo } from "#/foo.js"; +import { bar } from "#/features/bar.js"; +import { baz } from "#/nested/deep/baz.js"; +foo; +bar; +baz; +//// [index.mts] +// esm format file +import { foo } from "#/foo.js"; +import { bar } from "#/features/bar.js"; +import { baz } from "#/nested/deep/baz.js"; +foo; +bar; +baz; +//// [index.cts] +// cjs format file +import { foo } from "#/foo.js"; +import { bar } from "#/features/bar.js"; +import { baz } from "#/nested/deep/baz.js"; +foo; +bar; +baz; + + +//// [foo.js] +export const foo = "foo"; +//// [bar.js] +export const bar = "bar"; +//// [baz.js] +export const baz = "baz"; +//// [index.js] +// esm format file +import { foo } from "#/foo.js"; +import { bar } from "#/features/bar.js"; +import { baz } from "#/nested/deep/baz.js"; +foo; +bar; +baz; +//// [index.mjs] +// esm format file +import { foo } from "#/foo.js"; +import { bar } from "#/features/bar.js"; +import { baz } from "#/nested/deep/baz.js"; +foo; +bar; +baz; +//// [index.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +// cjs format file +const foo_js_1 = require("#/foo.js"); +const bar_js_1 = require("#/features/bar.js"); +const baz_js_1 = require("#/nested/deep/baz.js"); +foo_js_1.foo; +bar_js_1.bar; +baz_js_1.baz; + + +//// [foo.d.ts] +export declare const foo = "foo"; +//// [bar.d.ts] +export declare const bar = "bar"; +//// [baz.d.ts] +export declare const baz = "baz"; +//// [index.d.ts] +export {}; +//// [index.d.mts] +export {}; +//// [index.d.cts] +export {}; diff --git a/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node18).symbols b/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node18).symbols new file mode 100644 index 0000000000000..e4aebad35fd9e --- /dev/null +++ b/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node18).symbols @@ -0,0 +1,74 @@ +//// [tests/cases/conformance/node/nodeModulesPackageImportsRootWildcard.ts] //// + +=== src/foo.ts === +export const foo = "foo"; +>foo : Symbol(foo, Decl(foo.ts, 0, 12)) + +=== src/features/bar.ts === +export const bar = "bar"; +>bar : Symbol(bar, Decl(bar.ts, 0, 12)) + +=== src/nested/deep/baz.ts === +export const baz = "baz"; +>baz : Symbol(baz, Decl(baz.ts, 0, 12)) + +=== index.ts === +// esm format file +import { foo } from "#/foo.js"; +>foo : Symbol(foo, Decl(index.ts, 1, 8)) + +import { bar } from "#/features/bar.js"; +>bar : Symbol(bar, Decl(index.ts, 2, 8)) + +import { baz } from "#/nested/deep/baz.js"; +>baz : Symbol(baz, Decl(index.ts, 3, 8)) + +foo; +>foo : Symbol(foo, Decl(index.ts, 1, 8)) + +bar; +>bar : Symbol(bar, Decl(index.ts, 2, 8)) + +baz; +>baz : Symbol(baz, Decl(index.ts, 3, 8)) + +=== index.mts === +// esm format file +import { foo } from "#/foo.js"; +>foo : Symbol(foo, Decl(index.mts, 1, 8)) + +import { bar } from "#/features/bar.js"; +>bar : Symbol(bar, Decl(index.mts, 2, 8)) + +import { baz } from "#/nested/deep/baz.js"; +>baz : Symbol(baz, Decl(index.mts, 3, 8)) + +foo; +>foo : Symbol(foo, Decl(index.mts, 1, 8)) + +bar; +>bar : Symbol(bar, Decl(index.mts, 2, 8)) + +baz; +>baz : Symbol(baz, Decl(index.mts, 3, 8)) + +=== index.cts === +// cjs format file +import { foo } from "#/foo.js"; +>foo : Symbol(foo, Decl(index.cts, 1, 8)) + +import { bar } from "#/features/bar.js"; +>bar : Symbol(bar, Decl(index.cts, 2, 8)) + +import { baz } from "#/nested/deep/baz.js"; +>baz : Symbol(baz, Decl(index.cts, 3, 8)) + +foo; +>foo : Symbol(foo, Decl(index.cts, 1, 8)) + +bar; +>bar : Symbol(bar, Decl(index.cts, 2, 8)) + +baz; +>baz : Symbol(baz, Decl(index.cts, 3, 8)) + diff --git a/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node18).trace.json b/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node18).trace.json new file mode 100644 index 0000000000000..ce2392cc8ed1f --- /dev/null +++ b/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node18).trace.json @@ -0,0 +1,195 @@ +[ + "File '/.src/src/package.json' does not exist.", + "Found 'package.json' at '/.src/package.json'.", + "File '/.src/src/features/package.json' does not exist.", + "File '/.src/src/package.json' does not exist according to earlier cached lookups.", + "File '/.src/package.json' exists according to earlier cached lookups.", + "File '/.src/src/nested/deep/package.json' does not exist.", + "File '/.src/src/nested/package.json' does not exist.", + "File '/.src/src/package.json' does not exist according to earlier cached lookups.", + "File '/.src/package.json' exists according to earlier cached lookups.", + "File '/.src/package.json' exists according to earlier cached lookups.", + "======== Resolving module '#/foo.js' from '/.src/index.ts'. ========", + "Module resolution kind is not specified, using 'Node16'.", + "Resolving in ESM mode with conditions 'import', 'types', 'node'.", + "File '/.src/package.json' exists according to earlier cached lookups.", + "Using 'imports' subpath '#/*' with target './src/foo.js'.", + "File name '/.src/src/foo.js' has a '.js' extension - stripping it.", + "File '/.src/src/foo.ts' exists - use it as a name resolution result.", + "======== Module name '#/foo.js' was successfully resolved to '/.src/src/foo.ts'. ========", + "======== Resolving module '#/features/bar.js' from '/.src/index.ts'. ========", + "Module resolution kind is not specified, using 'Node16'.", + "Resolving in ESM mode with conditions 'import', 'types', 'node'.", + "File '/.src/package.json' exists according to earlier cached lookups.", + "Using 'imports' subpath '#/*' with target './src/features/bar.js'.", + "File name '/.src/src/features/bar.js' has a '.js' extension - stripping it.", + "File '/.src/src/features/bar.ts' exists - use it as a name resolution result.", + "======== Module name '#/features/bar.js' was successfully resolved to '/.src/src/features/bar.ts'. ========", + "======== Resolving module '#/nested/deep/baz.js' from '/.src/index.ts'. ========", + "Module resolution kind is not specified, using 'Node16'.", + "Resolving in ESM mode with conditions 'import', 'types', 'node'.", + "File '/.src/package.json' exists according to earlier cached lookups.", + "Using 'imports' subpath '#/*' with target './src/nested/deep/baz.js'.", + "File name '/.src/src/nested/deep/baz.js' has a '.js' extension - stripping it.", + "File '/.src/src/nested/deep/baz.ts' exists - use it as a name resolution result.", + "======== Module name '#/nested/deep/baz.js' was successfully resolved to '/.src/src/nested/deep/baz.ts'. ========", + "======== Resolving module '#/foo.js' from '/.src/index.mts'. ========", + "Resolution for module '#/foo.js' was found in cache from location '/.src'.", + "======== Module name '#/foo.js' was successfully resolved to '/.src/src/foo.ts'. ========", + "======== Resolving module '#/features/bar.js' from '/.src/index.mts'. ========", + "Resolution for module '#/features/bar.js' was found in cache from location '/.src'.", + "======== Module name '#/features/bar.js' was successfully resolved to '/.src/src/features/bar.ts'. ========", + "======== Resolving module '#/nested/deep/baz.js' from '/.src/index.mts'. ========", + "Resolution for module '#/nested/deep/baz.js' was found in cache from location '/.src'.", + "======== Module name '#/nested/deep/baz.js' was successfully resolved to '/.src/src/nested/deep/baz.ts'. ========", + "======== Resolving module '#/foo.js' from '/.src/index.cts'. ========", + "Module resolution kind is not specified, using 'Node16'.", + "Resolving in CJS mode with conditions 'require', 'types', 'node'.", + "File '/.src/package.json' exists according to earlier cached lookups.", + "Using 'imports' subpath '#/*' with target './src/foo.js'.", + "File name '/.src/src/foo.js' has a '.js' extension - stripping it.", + "File '/.src/src/foo.ts' exists - use it as a name resolution result.", + "======== Module name '#/foo.js' was successfully resolved to '/.src/src/foo.ts'. ========", + "======== Resolving module '#/features/bar.js' from '/.src/index.cts'. ========", + "Module resolution kind is not specified, using 'Node16'.", + "Resolving in CJS mode with conditions 'require', 'types', 'node'.", + "File '/.src/package.json' exists according to earlier cached lookups.", + "Using 'imports' subpath '#/*' with target './src/features/bar.js'.", + "File name '/.src/src/features/bar.js' has a '.js' extension - stripping it.", + "File '/.src/src/features/bar.ts' exists - use it as a name resolution result.", + "======== Module name '#/features/bar.js' was successfully resolved to '/.src/src/features/bar.ts'. ========", + "======== Resolving module '#/nested/deep/baz.js' from '/.src/index.cts'. ========", + "Module resolution kind is not specified, using 'Node16'.", + "Resolving in CJS mode with conditions 'require', 'types', 'node'.", + "File '/.src/package.json' exists according to earlier cached lookups.", + "Using 'imports' subpath '#/*' with target './src/nested/deep/baz.js'.", + "File name '/.src/src/nested/deep/baz.js' has a '.js' extension - stripping it.", + "File '/.src/src/nested/deep/baz.ts' exists - use it as a name resolution result.", + "======== Module name '#/nested/deep/baz.js' was successfully resolved to '/.src/src/nested/deep/baz.ts'. ========", + "File '/.ts/package.json' does not exist.", + "File '/package.json' does not exist.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups." +] \ No newline at end of file diff --git a/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node18).types b/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node18).types new file mode 100644 index 0000000000000..8bb760005c9f6 --- /dev/null +++ b/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node18).types @@ -0,0 +1,101 @@ +//// [tests/cases/conformance/node/nodeModulesPackageImportsRootWildcard.ts] //// + +=== src/foo.ts === +export const foo = "foo"; +>foo : "foo" +> : ^^^^^ +>"foo" : "foo" +> : ^^^^^ + +=== src/features/bar.ts === +export const bar = "bar"; +>bar : "bar" +> : ^^^^^ +>"bar" : "bar" +> : ^^^^^ + +=== src/nested/deep/baz.ts === +export const baz = "baz"; +>baz : "baz" +> : ^^^^^ +>"baz" : "baz" +> : ^^^^^ + +=== index.ts === +// esm format file +import { foo } from "#/foo.js"; +>foo : "foo" +> : ^^^^^ + +import { bar } from "#/features/bar.js"; +>bar : "bar" +> : ^^^^^ + +import { baz } from "#/nested/deep/baz.js"; +>baz : "baz" +> : ^^^^^ + +foo; +>foo : "foo" +> : ^^^^^ + +bar; +>bar : "bar" +> : ^^^^^ + +baz; +>baz : "baz" +> : ^^^^^ + +=== index.mts === +// esm format file +import { foo } from "#/foo.js"; +>foo : "foo" +> : ^^^^^ + +import { bar } from "#/features/bar.js"; +>bar : "bar" +> : ^^^^^ + +import { baz } from "#/nested/deep/baz.js"; +>baz : "baz" +> : ^^^^^ + +foo; +>foo : "foo" +> : ^^^^^ + +bar; +>bar : "bar" +> : ^^^^^ + +baz; +>baz : "baz" +> : ^^^^^ + +=== index.cts === +// cjs format file +import { foo } from "#/foo.js"; +>foo : "foo" +> : ^^^^^ + +import { bar } from "#/features/bar.js"; +>bar : "bar" +> : ^^^^^ + +import { baz } from "#/nested/deep/baz.js"; +>baz : "baz" +> : ^^^^^ + +foo; +>foo : "foo" +> : ^^^^^ + +bar; +>bar : "bar" +> : ^^^^^ + +baz; +>baz : "baz" +> : ^^^^^ + diff --git a/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node20).js b/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node20).js new file mode 100644 index 0000000000000..bcf39b25bc97d --- /dev/null +++ b/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node20).js @@ -0,0 +1,89 @@ +//// [tests/cases/conformance/node/nodeModulesPackageImportsRootWildcard.ts] //// + +//// [package.json] +{ + "name": "package", + "private": true, + "type": "module", + "imports": { + "#/*": "./src/*" + } +} +//// [foo.ts] +export const foo = "foo"; +//// [bar.ts] +export const bar = "bar"; +//// [baz.ts] +export const baz = "baz"; +//// [index.ts] +// esm format file +import { foo } from "#/foo.js"; +import { bar } from "#/features/bar.js"; +import { baz } from "#/nested/deep/baz.js"; +foo; +bar; +baz; +//// [index.mts] +// esm format file +import { foo } from "#/foo.js"; +import { bar } from "#/features/bar.js"; +import { baz } from "#/nested/deep/baz.js"; +foo; +bar; +baz; +//// [index.cts] +// cjs format file +import { foo } from "#/foo.js"; +import { bar } from "#/features/bar.js"; +import { baz } from "#/nested/deep/baz.js"; +foo; +bar; +baz; + + +//// [foo.js] +export const foo = "foo"; +//// [bar.js] +export const bar = "bar"; +//// [baz.js] +export const baz = "baz"; +//// [index.js] +// esm format file +import { foo } from "#/foo.js"; +import { bar } from "#/features/bar.js"; +import { baz } from "#/nested/deep/baz.js"; +foo; +bar; +baz; +//// [index.mjs] +// esm format file +import { foo } from "#/foo.js"; +import { bar } from "#/features/bar.js"; +import { baz } from "#/nested/deep/baz.js"; +foo; +bar; +baz; +//// [index.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +// cjs format file +const foo_js_1 = require("#/foo.js"); +const bar_js_1 = require("#/features/bar.js"); +const baz_js_1 = require("#/nested/deep/baz.js"); +foo_js_1.foo; +bar_js_1.bar; +baz_js_1.baz; + + +//// [foo.d.ts] +export declare const foo = "foo"; +//// [bar.d.ts] +export declare const bar = "bar"; +//// [baz.d.ts] +export declare const baz = "baz"; +//// [index.d.ts] +export {}; +//// [index.d.mts] +export {}; +//// [index.d.cts] +export {}; diff --git a/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node20).symbols b/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node20).symbols new file mode 100644 index 0000000000000..e4aebad35fd9e --- /dev/null +++ b/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node20).symbols @@ -0,0 +1,74 @@ +//// [tests/cases/conformance/node/nodeModulesPackageImportsRootWildcard.ts] //// + +=== src/foo.ts === +export const foo = "foo"; +>foo : Symbol(foo, Decl(foo.ts, 0, 12)) + +=== src/features/bar.ts === +export const bar = "bar"; +>bar : Symbol(bar, Decl(bar.ts, 0, 12)) + +=== src/nested/deep/baz.ts === +export const baz = "baz"; +>baz : Symbol(baz, Decl(baz.ts, 0, 12)) + +=== index.ts === +// esm format file +import { foo } from "#/foo.js"; +>foo : Symbol(foo, Decl(index.ts, 1, 8)) + +import { bar } from "#/features/bar.js"; +>bar : Symbol(bar, Decl(index.ts, 2, 8)) + +import { baz } from "#/nested/deep/baz.js"; +>baz : Symbol(baz, Decl(index.ts, 3, 8)) + +foo; +>foo : Symbol(foo, Decl(index.ts, 1, 8)) + +bar; +>bar : Symbol(bar, Decl(index.ts, 2, 8)) + +baz; +>baz : Symbol(baz, Decl(index.ts, 3, 8)) + +=== index.mts === +// esm format file +import { foo } from "#/foo.js"; +>foo : Symbol(foo, Decl(index.mts, 1, 8)) + +import { bar } from "#/features/bar.js"; +>bar : Symbol(bar, Decl(index.mts, 2, 8)) + +import { baz } from "#/nested/deep/baz.js"; +>baz : Symbol(baz, Decl(index.mts, 3, 8)) + +foo; +>foo : Symbol(foo, Decl(index.mts, 1, 8)) + +bar; +>bar : Symbol(bar, Decl(index.mts, 2, 8)) + +baz; +>baz : Symbol(baz, Decl(index.mts, 3, 8)) + +=== index.cts === +// cjs format file +import { foo } from "#/foo.js"; +>foo : Symbol(foo, Decl(index.cts, 1, 8)) + +import { bar } from "#/features/bar.js"; +>bar : Symbol(bar, Decl(index.cts, 2, 8)) + +import { baz } from "#/nested/deep/baz.js"; +>baz : Symbol(baz, Decl(index.cts, 3, 8)) + +foo; +>foo : Symbol(foo, Decl(index.cts, 1, 8)) + +bar; +>bar : Symbol(bar, Decl(index.cts, 2, 8)) + +baz; +>baz : Symbol(baz, Decl(index.cts, 3, 8)) + diff --git a/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node20).trace.json b/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node20).trace.json new file mode 100644 index 0000000000000..4b96b1ff9b901 --- /dev/null +++ b/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node20).trace.json @@ -0,0 +1,203 @@ +[ + "File '/.src/src/package.json' does not exist.", + "Found 'package.json' at '/.src/package.json'.", + "File '/.src/src/features/package.json' does not exist.", + "File '/.src/src/package.json' does not exist according to earlier cached lookups.", + "File '/.src/package.json' exists according to earlier cached lookups.", + "File '/.src/src/nested/deep/package.json' does not exist.", + "File '/.src/src/nested/package.json' does not exist.", + "File '/.src/src/package.json' does not exist according to earlier cached lookups.", + "File '/.src/package.json' exists according to earlier cached lookups.", + "File '/.src/package.json' exists according to earlier cached lookups.", + "======== Resolving module '#/foo.js' from '/.src/index.ts'. ========", + "Module resolution kind is not specified, using 'Node16'.", + "Resolving in ESM mode with conditions 'import', 'types', 'node'.", + "File '/.src/package.json' exists according to earlier cached lookups.", + "Using 'imports' subpath '#/*' with target './src/foo.js'.", + "File name '/.src/src/foo.js' has a '.js' extension - stripping it.", + "File '/.src/src/foo.ts' exists - use it as a name resolution result.", + "======== Module name '#/foo.js' was successfully resolved to '/.src/src/foo.ts'. ========", + "======== Resolving module '#/features/bar.js' from '/.src/index.ts'. ========", + "Module resolution kind is not specified, using 'Node16'.", + "Resolving in ESM mode with conditions 'import', 'types', 'node'.", + "File '/.src/package.json' exists according to earlier cached lookups.", + "Using 'imports' subpath '#/*' with target './src/features/bar.js'.", + "File name '/.src/src/features/bar.js' has a '.js' extension - stripping it.", + "File '/.src/src/features/bar.ts' exists - use it as a name resolution result.", + "======== Module name '#/features/bar.js' was successfully resolved to '/.src/src/features/bar.ts'. ========", + "======== Resolving module '#/nested/deep/baz.js' from '/.src/index.ts'. ========", + "Module resolution kind is not specified, using 'Node16'.", + "Resolving in ESM mode with conditions 'import', 'types', 'node'.", + "File '/.src/package.json' exists according to earlier cached lookups.", + "Using 'imports' subpath '#/*' with target './src/nested/deep/baz.js'.", + "File name '/.src/src/nested/deep/baz.js' has a '.js' extension - stripping it.", + "File '/.src/src/nested/deep/baz.ts' exists - use it as a name resolution result.", + "======== Module name '#/nested/deep/baz.js' was successfully resolved to '/.src/src/nested/deep/baz.ts'. ========", + "======== Resolving module '#/foo.js' from '/.src/index.mts'. ========", + "Resolution for module '#/foo.js' was found in cache from location '/.src'.", + "======== Module name '#/foo.js' was successfully resolved to '/.src/src/foo.ts'. ========", + "======== Resolving module '#/features/bar.js' from '/.src/index.mts'. ========", + "Resolution for module '#/features/bar.js' was found in cache from location '/.src'.", + "======== Module name '#/features/bar.js' was successfully resolved to '/.src/src/features/bar.ts'. ========", + "======== Resolving module '#/nested/deep/baz.js' from '/.src/index.mts'. ========", + "Resolution for module '#/nested/deep/baz.js' was found in cache from location '/.src'.", + "======== Module name '#/nested/deep/baz.js' was successfully resolved to '/.src/src/nested/deep/baz.ts'. ========", + "======== Resolving module '#/foo.js' from '/.src/index.cts'. ========", + "Module resolution kind is not specified, using 'Node16'.", + "Resolving in CJS mode with conditions 'require', 'types', 'node'.", + "File '/.src/package.json' exists according to earlier cached lookups.", + "Using 'imports' subpath '#/*' with target './src/foo.js'.", + "File name '/.src/src/foo.js' has a '.js' extension - stripping it.", + "File '/.src/src/foo.ts' exists - use it as a name resolution result.", + "======== Module name '#/foo.js' was successfully resolved to '/.src/src/foo.ts'. ========", + "======== Resolving module '#/features/bar.js' from '/.src/index.cts'. ========", + "Module resolution kind is not specified, using 'Node16'.", + "Resolving in CJS mode with conditions 'require', 'types', 'node'.", + "File '/.src/package.json' exists according to earlier cached lookups.", + "Using 'imports' subpath '#/*' with target './src/features/bar.js'.", + "File name '/.src/src/features/bar.js' has a '.js' extension - stripping it.", + "File '/.src/src/features/bar.ts' exists - use it as a name resolution result.", + "======== Module name '#/features/bar.js' was successfully resolved to '/.src/src/features/bar.ts'. ========", + "======== Resolving module '#/nested/deep/baz.js' from '/.src/index.cts'. ========", + "Module resolution kind is not specified, using 'Node16'.", + "Resolving in CJS mode with conditions 'require', 'types', 'node'.", + "File '/.src/package.json' exists according to earlier cached lookups.", + "Using 'imports' subpath '#/*' with target './src/nested/deep/baz.js'.", + "File name '/.src/src/nested/deep/baz.js' has a '.js' extension - stripping it.", + "File '/.src/src/nested/deep/baz.ts' exists - use it as a name resolution result.", + "======== Module name '#/nested/deep/baz.js' was successfully resolved to '/.src/src/nested/deep/baz.ts'. ========", + "File '/.ts/package.json' does not exist.", + "File '/package.json' does not exist.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups." +] \ No newline at end of file diff --git a/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node20).types b/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node20).types new file mode 100644 index 0000000000000..8bb760005c9f6 --- /dev/null +++ b/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node20).types @@ -0,0 +1,101 @@ +//// [tests/cases/conformance/node/nodeModulesPackageImportsRootWildcard.ts] //// + +=== src/foo.ts === +export const foo = "foo"; +>foo : "foo" +> : ^^^^^ +>"foo" : "foo" +> : ^^^^^ + +=== src/features/bar.ts === +export const bar = "bar"; +>bar : "bar" +> : ^^^^^ +>"bar" : "bar" +> : ^^^^^ + +=== src/nested/deep/baz.ts === +export const baz = "baz"; +>baz : "baz" +> : ^^^^^ +>"baz" : "baz" +> : ^^^^^ + +=== index.ts === +// esm format file +import { foo } from "#/foo.js"; +>foo : "foo" +> : ^^^^^ + +import { bar } from "#/features/bar.js"; +>bar : "bar" +> : ^^^^^ + +import { baz } from "#/nested/deep/baz.js"; +>baz : "baz" +> : ^^^^^ + +foo; +>foo : "foo" +> : ^^^^^ + +bar; +>bar : "bar" +> : ^^^^^ + +baz; +>baz : "baz" +> : ^^^^^ + +=== index.mts === +// esm format file +import { foo } from "#/foo.js"; +>foo : "foo" +> : ^^^^^ + +import { bar } from "#/features/bar.js"; +>bar : "bar" +> : ^^^^^ + +import { baz } from "#/nested/deep/baz.js"; +>baz : "baz" +> : ^^^^^ + +foo; +>foo : "foo" +> : ^^^^^ + +bar; +>bar : "bar" +> : ^^^^^ + +baz; +>baz : "baz" +> : ^^^^^ + +=== index.cts === +// cjs format file +import { foo } from "#/foo.js"; +>foo : "foo" +> : ^^^^^ + +import { bar } from "#/features/bar.js"; +>bar : "bar" +> : ^^^^^ + +import { baz } from "#/nested/deep/baz.js"; +>baz : "baz" +> : ^^^^^ + +foo; +>foo : "foo" +> : ^^^^^ + +bar; +>bar : "bar" +> : ^^^^^ + +baz; +>baz : "baz" +> : ^^^^^ + diff --git a/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=nodenext).js b/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=nodenext).js new file mode 100644 index 0000000000000..bcf39b25bc97d --- /dev/null +++ b/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=nodenext).js @@ -0,0 +1,89 @@ +//// [tests/cases/conformance/node/nodeModulesPackageImportsRootWildcard.ts] //// + +//// [package.json] +{ + "name": "package", + "private": true, + "type": "module", + "imports": { + "#/*": "./src/*" + } +} +//// [foo.ts] +export const foo = "foo"; +//// [bar.ts] +export const bar = "bar"; +//// [baz.ts] +export const baz = "baz"; +//// [index.ts] +// esm format file +import { foo } from "#/foo.js"; +import { bar } from "#/features/bar.js"; +import { baz } from "#/nested/deep/baz.js"; +foo; +bar; +baz; +//// [index.mts] +// esm format file +import { foo } from "#/foo.js"; +import { bar } from "#/features/bar.js"; +import { baz } from "#/nested/deep/baz.js"; +foo; +bar; +baz; +//// [index.cts] +// cjs format file +import { foo } from "#/foo.js"; +import { bar } from "#/features/bar.js"; +import { baz } from "#/nested/deep/baz.js"; +foo; +bar; +baz; + + +//// [foo.js] +export const foo = "foo"; +//// [bar.js] +export const bar = "bar"; +//// [baz.js] +export const baz = "baz"; +//// [index.js] +// esm format file +import { foo } from "#/foo.js"; +import { bar } from "#/features/bar.js"; +import { baz } from "#/nested/deep/baz.js"; +foo; +bar; +baz; +//// [index.mjs] +// esm format file +import { foo } from "#/foo.js"; +import { bar } from "#/features/bar.js"; +import { baz } from "#/nested/deep/baz.js"; +foo; +bar; +baz; +//// [index.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +// cjs format file +const foo_js_1 = require("#/foo.js"); +const bar_js_1 = require("#/features/bar.js"); +const baz_js_1 = require("#/nested/deep/baz.js"); +foo_js_1.foo; +bar_js_1.bar; +baz_js_1.baz; + + +//// [foo.d.ts] +export declare const foo = "foo"; +//// [bar.d.ts] +export declare const bar = "bar"; +//// [baz.d.ts] +export declare const baz = "baz"; +//// [index.d.ts] +export {}; +//// [index.d.mts] +export {}; +//// [index.d.cts] +export {}; diff --git a/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=nodenext).symbols b/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=nodenext).symbols new file mode 100644 index 0000000000000..e4aebad35fd9e --- /dev/null +++ b/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=nodenext).symbols @@ -0,0 +1,74 @@ +//// [tests/cases/conformance/node/nodeModulesPackageImportsRootWildcard.ts] //// + +=== src/foo.ts === +export const foo = "foo"; +>foo : Symbol(foo, Decl(foo.ts, 0, 12)) + +=== src/features/bar.ts === +export const bar = "bar"; +>bar : Symbol(bar, Decl(bar.ts, 0, 12)) + +=== src/nested/deep/baz.ts === +export const baz = "baz"; +>baz : Symbol(baz, Decl(baz.ts, 0, 12)) + +=== index.ts === +// esm format file +import { foo } from "#/foo.js"; +>foo : Symbol(foo, Decl(index.ts, 1, 8)) + +import { bar } from "#/features/bar.js"; +>bar : Symbol(bar, Decl(index.ts, 2, 8)) + +import { baz } from "#/nested/deep/baz.js"; +>baz : Symbol(baz, Decl(index.ts, 3, 8)) + +foo; +>foo : Symbol(foo, Decl(index.ts, 1, 8)) + +bar; +>bar : Symbol(bar, Decl(index.ts, 2, 8)) + +baz; +>baz : Symbol(baz, Decl(index.ts, 3, 8)) + +=== index.mts === +// esm format file +import { foo } from "#/foo.js"; +>foo : Symbol(foo, Decl(index.mts, 1, 8)) + +import { bar } from "#/features/bar.js"; +>bar : Symbol(bar, Decl(index.mts, 2, 8)) + +import { baz } from "#/nested/deep/baz.js"; +>baz : Symbol(baz, Decl(index.mts, 3, 8)) + +foo; +>foo : Symbol(foo, Decl(index.mts, 1, 8)) + +bar; +>bar : Symbol(bar, Decl(index.mts, 2, 8)) + +baz; +>baz : Symbol(baz, Decl(index.mts, 3, 8)) + +=== index.cts === +// cjs format file +import { foo } from "#/foo.js"; +>foo : Symbol(foo, Decl(index.cts, 1, 8)) + +import { bar } from "#/features/bar.js"; +>bar : Symbol(bar, Decl(index.cts, 2, 8)) + +import { baz } from "#/nested/deep/baz.js"; +>baz : Symbol(baz, Decl(index.cts, 3, 8)) + +foo; +>foo : Symbol(foo, Decl(index.cts, 1, 8)) + +bar; +>bar : Symbol(bar, Decl(index.cts, 2, 8)) + +baz; +>baz : Symbol(baz, Decl(index.cts, 3, 8)) + diff --git a/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=nodenext).trace.json b/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=nodenext).trace.json new file mode 100644 index 0000000000000..0288c73254478 --- /dev/null +++ b/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=nodenext).trace.json @@ -0,0 +1,243 @@ +[ + "File '/.src/src/package.json' does not exist.", + "Found 'package.json' at '/.src/package.json'.", + "File '/.src/src/features/package.json' does not exist.", + "File '/.src/src/package.json' does not exist according to earlier cached lookups.", + "File '/.src/package.json' exists according to earlier cached lookups.", + "File '/.src/src/nested/deep/package.json' does not exist.", + "File '/.src/src/nested/package.json' does not exist.", + "File '/.src/src/package.json' does not exist according to earlier cached lookups.", + "File '/.src/package.json' exists according to earlier cached lookups.", + "File '/.src/package.json' exists according to earlier cached lookups.", + "======== Resolving module '#/foo.js' from '/.src/index.ts'. ========", + "Module resolution kind is not specified, using 'NodeNext'.", + "Resolving in ESM mode with conditions 'import', 'types', 'node'.", + "File '/.src/package.json' exists according to earlier cached lookups.", + "Using 'imports' subpath '#/*' with target './src/foo.js'.", + "File name '/.src/src/foo.js' has a '.js' extension - stripping it.", + "File '/.src/src/foo.ts' exists - use it as a name resolution result.", + "======== Module name '#/foo.js' was successfully resolved to '/.src/src/foo.ts'. ========", + "======== Resolving module '#/features/bar.js' from '/.src/index.ts'. ========", + "Module resolution kind is not specified, using 'NodeNext'.", + "Resolving in ESM mode with conditions 'import', 'types', 'node'.", + "File '/.src/package.json' exists according to earlier cached lookups.", + "Using 'imports' subpath '#/*' with target './src/features/bar.js'.", + "File name '/.src/src/features/bar.js' has a '.js' extension - stripping it.", + "File '/.src/src/features/bar.ts' exists - use it as a name resolution result.", + "======== Module name '#/features/bar.js' was successfully resolved to '/.src/src/features/bar.ts'. ========", + "======== Resolving module '#/nested/deep/baz.js' from '/.src/index.ts'. ========", + "Module resolution kind is not specified, using 'NodeNext'.", + "Resolving in ESM mode with conditions 'import', 'types', 'node'.", + "File '/.src/package.json' exists according to earlier cached lookups.", + "Using 'imports' subpath '#/*' with target './src/nested/deep/baz.js'.", + "File name '/.src/src/nested/deep/baz.js' has a '.js' extension - stripping it.", + "File '/.src/src/nested/deep/baz.ts' exists - use it as a name resolution result.", + "======== Module name '#/nested/deep/baz.js' was successfully resolved to '/.src/src/nested/deep/baz.ts'. ========", + "======== Resolving module '#/foo.js' from '/.src/index.mts'. ========", + "Resolution for module '#/foo.js' was found in cache from location '/.src'.", + "======== Module name '#/foo.js' was successfully resolved to '/.src/src/foo.ts'. ========", + "======== Resolving module '#/features/bar.js' from '/.src/index.mts'. ========", + "Resolution for module '#/features/bar.js' was found in cache from location '/.src'.", + "======== Module name '#/features/bar.js' was successfully resolved to '/.src/src/features/bar.ts'. ========", + "======== Resolving module '#/nested/deep/baz.js' from '/.src/index.mts'. ========", + "Resolution for module '#/nested/deep/baz.js' was found in cache from location '/.src'.", + "======== Module name '#/nested/deep/baz.js' was successfully resolved to '/.src/src/nested/deep/baz.ts'. ========", + "======== Resolving module '#/foo.js' from '/.src/index.cts'. ========", + "Module resolution kind is not specified, using 'NodeNext'.", + "Resolving in CJS mode with conditions 'require', 'types', 'node'.", + "File '/.src/package.json' exists according to earlier cached lookups.", + "Using 'imports' subpath '#/*' with target './src/foo.js'.", + "File name '/.src/src/foo.js' has a '.js' extension - stripping it.", + "File '/.src/src/foo.ts' exists - use it as a name resolution result.", + "======== Module name '#/foo.js' was successfully resolved to '/.src/src/foo.ts'. ========", + "======== Resolving module '#/features/bar.js' from '/.src/index.cts'. ========", + "Module resolution kind is not specified, using 'NodeNext'.", + "Resolving in CJS mode with conditions 'require', 'types', 'node'.", + "File '/.src/package.json' exists according to earlier cached lookups.", + "Using 'imports' subpath '#/*' with target './src/features/bar.js'.", + "File name '/.src/src/features/bar.js' has a '.js' extension - stripping it.", + "File '/.src/src/features/bar.ts' exists - use it as a name resolution result.", + "======== Module name '#/features/bar.js' was successfully resolved to '/.src/src/features/bar.ts'. ========", + "======== Resolving module '#/nested/deep/baz.js' from '/.src/index.cts'. ========", + "Module resolution kind is not specified, using 'NodeNext'.", + "Resolving in CJS mode with conditions 'require', 'types', 'node'.", + "File '/.src/package.json' exists according to earlier cached lookups.", + "Using 'imports' subpath '#/*' with target './src/nested/deep/baz.js'.", + "File name '/.src/src/nested/deep/baz.js' has a '.js' extension - stripping it.", + "File '/.src/src/nested/deep/baz.ts' exists - use it as a name resolution result.", + "======== Module name '#/nested/deep/baz.js' was successfully resolved to '/.src/src/nested/deep/baz.ts'. ========", + "File '/.ts/package.json' does not exist.", + "File '/package.json' does not exist.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups." +] \ No newline at end of file diff --git a/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=nodenext).types b/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=nodenext).types new file mode 100644 index 0000000000000..8bb760005c9f6 --- /dev/null +++ b/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=nodenext).types @@ -0,0 +1,101 @@ +//// [tests/cases/conformance/node/nodeModulesPackageImportsRootWildcard.ts] //// + +=== src/foo.ts === +export const foo = "foo"; +>foo : "foo" +> : ^^^^^ +>"foo" : "foo" +> : ^^^^^ + +=== src/features/bar.ts === +export const bar = "bar"; +>bar : "bar" +> : ^^^^^ +>"bar" : "bar" +> : ^^^^^ + +=== src/nested/deep/baz.ts === +export const baz = "baz"; +>baz : "baz" +> : ^^^^^ +>"baz" : "baz" +> : ^^^^^ + +=== index.ts === +// esm format file +import { foo } from "#/foo.js"; +>foo : "foo" +> : ^^^^^ + +import { bar } from "#/features/bar.js"; +>bar : "bar" +> : ^^^^^ + +import { baz } from "#/nested/deep/baz.js"; +>baz : "baz" +> : ^^^^^ + +foo; +>foo : "foo" +> : ^^^^^ + +bar; +>bar : "bar" +> : ^^^^^ + +baz; +>baz : "baz" +> : ^^^^^ + +=== index.mts === +// esm format file +import { foo } from "#/foo.js"; +>foo : "foo" +> : ^^^^^ + +import { bar } from "#/features/bar.js"; +>bar : "bar" +> : ^^^^^ + +import { baz } from "#/nested/deep/baz.js"; +>baz : "baz" +> : ^^^^^ + +foo; +>foo : "foo" +> : ^^^^^ + +bar; +>bar : "bar" +> : ^^^^^ + +baz; +>baz : "baz" +> : ^^^^^ + +=== index.cts === +// cjs format file +import { foo } from "#/foo.js"; +>foo : "foo" +> : ^^^^^ + +import { bar } from "#/features/bar.js"; +>bar : "bar" +> : ^^^^^ + +import { baz } from "#/nested/deep/baz.js"; +>baz : "baz" +> : ^^^^^ + +foo; +>foo : "foo" +> : ^^^^^ + +bar; +>bar : "bar" +> : ^^^^^ + +baz; +>baz : "baz" +> : ^^^^^ + diff --git a/tests/cases/conformance/node/nodeModulesPackageImportsRootWildcard.ts b/tests/cases/conformance/node/nodeModulesPackageImportsRootWildcard.ts new file mode 100644 index 0000000000000..69e5d506512ff --- /dev/null +++ b/tests/cases/conformance/node/nodeModulesPackageImportsRootWildcard.ts @@ -0,0 +1,42 @@ +// @module: node16,node18,node20,nodenext +// @declaration: true +// @traceResolution: true +// @filename: package.json +{ + "name": "package", + "private": true, + "type": "module", + "imports": { + "#/*": "./src/*" + } +} +// @filename: src/foo.ts +export const foo = "foo"; +// @filename: src/features/bar.ts +export const bar = "bar"; +// @filename: src/nested/deep/baz.ts +export const baz = "baz"; +// @filename: index.ts +// esm format file +import { foo } from "#/foo.js"; +import { bar } from "#/features/bar.js"; +import { baz } from "#/nested/deep/baz.js"; +foo; +bar; +baz; +// @filename: index.mts +// esm format file +import { foo } from "#/foo.js"; +import { bar } from "#/features/bar.js"; +import { baz } from "#/nested/deep/baz.js"; +foo; +bar; +baz; +// @filename: index.cts +// cjs format file +import { foo } from "#/foo.js"; +import { bar } from "#/features/bar.js"; +import { baz } from "#/nested/deep/baz.js"; +foo; +bar; +baz; diff --git a/tests/cases/fourslash/importCompletionsPackageJsonImportsPatternRootWildcard.ts b/tests/cases/fourslash/importCompletionsPackageJsonImportsPatternRootWildcard.ts new file mode 100644 index 0000000000000..34d036e3b622b --- /dev/null +++ b/tests/cases/fourslash/importCompletionsPackageJsonImportsPatternRootWildcard.ts @@ -0,0 +1,25 @@ +/// + +// @module: node18 + +// @Filename: /package.json +//// { +//// "imports": { +//// "#/*": "./src/*" +//// } +//// } + +// @Filename: /src/something.ts +//// export function something(name: string): any; + +// @Filename: /src/features/bar.ts +//// export function bar(): any; + +// @Filename: /a.ts +//// import {} from "#//*1*/"; + +verify.completions({ + marker: ["1"], + exact: ["something.js", "features"], + isNewIdentifierLocation: true, +}); From ab4d230315e2ec8ca23022c4b59dd3fef9187a4b Mon Sep 17 00:00:00 2001 From: magic-akari Date: Mon, 8 Dec 2025 23:56:36 +0800 Subject: [PATCH 2/2] Gate `#/` subpath imports on NodeNext and Bundler module resolution modes --- src/compiler/moduleNameResolver.ts | 9 +- ...ortsRootWildcard(module=node16).errors.txt | 51 ----- ...ortsRootWildcard(module=node16).trace.json | 195 ----------------- ...ortsRootWildcard(module=node18).errors.txt | 51 ----- ...ckageImportsRootWildcard(module=node18).js | 89 -------- ...ImportsRootWildcard(module=node18).symbols | 74 ------- ...geImportsRootWildcard(module=node18).types | 101 --------- ...ckageImportsRootWildcard(module=node20).js | 89 -------- ...ImportsRootWildcard(module=node20).symbols | 74 ------- ...ortsRootWildcard(module=node20).trace.json | 203 ------------------ ...geImportsRootWildcard(module=node20).types | 101 --------- ...ageImportsRootWildcard(module=nodenext).js | 89 -------- ...portsRootWildcard(module=nodenext).symbols | 74 ------- ...ImportsRootWildcard(module=nodenext).types | 101 --------- ... nodeModulesPackageImportsRootWildcard.js} | 0 ...ModulesPackageImportsRootWildcard.symbols} | 0 ...ulesPackageImportsRootWildcard.trace.json} | 0 ...deModulesPackageImportsRootWildcard.types} | 0 ...ackageImportsRootWildcardNode16.errors.txt | 21 ++ ...ModulesPackageImportsRootWildcardNode16.js | 31 +++ ...esPackageImportsRootWildcardNode16.symbols | 14 ++ ...ckageImportsRootWildcardNode16.trace.json} | 75 ++----- ...ulesPackageImportsRootWildcardNode16.types | 19 ++ .../nodeModulesPackageImportsRootWildcard.ts | 2 +- ...ModulesPackageImportsRootWildcardNode16.ts | 18 ++ ...nsPackageJsonImportsPatternRootWildcard.ts | 2 +- 26 files changed, 126 insertions(+), 1357 deletions(-) delete mode 100644 tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node16).errors.txt delete mode 100644 tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node16).trace.json delete mode 100644 tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node18).errors.txt delete mode 100644 tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node18).js delete mode 100644 tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node18).symbols delete mode 100644 tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node18).types delete mode 100644 tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node20).js delete mode 100644 tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node20).symbols delete mode 100644 tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node20).trace.json delete mode 100644 tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node20).types delete mode 100644 tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=nodenext).js delete mode 100644 tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=nodenext).symbols delete mode 100644 tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=nodenext).types rename tests/baselines/reference/{nodeModulesPackageImportsRootWildcard(module=node16).js => nodeModulesPackageImportsRootWildcard.js} (100%) rename tests/baselines/reference/{nodeModulesPackageImportsRootWildcard(module=node16).symbols => nodeModulesPackageImportsRootWildcard.symbols} (100%) rename tests/baselines/reference/{nodeModulesPackageImportsRootWildcard(module=nodenext).trace.json => nodeModulesPackageImportsRootWildcard.trace.json} (100%) rename tests/baselines/reference/{nodeModulesPackageImportsRootWildcard(module=node16).types => nodeModulesPackageImportsRootWildcard.types} (100%) create mode 100644 tests/baselines/reference/nodeModulesPackageImportsRootWildcardNode16.errors.txt create mode 100644 tests/baselines/reference/nodeModulesPackageImportsRootWildcardNode16.js create mode 100644 tests/baselines/reference/nodeModulesPackageImportsRootWildcardNode16.symbols rename tests/baselines/reference/{nodeModulesPackageImportsRootWildcard(module=node18).trace.json => nodeModulesPackageImportsRootWildcardNode16.trace.json} (68%) create mode 100644 tests/baselines/reference/nodeModulesPackageImportsRootWildcardNode16.types create mode 100644 tests/cases/conformance/node/nodeModulesPackageImportsRootWildcardNode16.ts diff --git a/src/compiler/moduleNameResolver.ts b/src/compiler/moduleNameResolver.ts index d89b7597014cc..2bf692f6298a6 100644 --- a/src/compiler/moduleNameResolver.ts +++ b/src/compiler/moduleNameResolver.ts @@ -1690,13 +1690,16 @@ export enum NodeResolutionFeatures { // allowing `*` in the LHS of an export to be followed by more content, eg `"./whatever/*.js"` // not supported in node 12 - https://github.com/nodejs/Release/issues/690 ExportsPatternTrailers = 1 << 4, - AllFeatures = Imports | SelfName | Exports | ExportsPatternTrailers, + // allowing `#/` root imports in package.json imports field + // not supported until mass adoption - https://github.com/nodejs/node/pull/60864 + ImportsPatternRoot = 1 << 6, + AllFeatures = Imports | SelfName | Exports | ExportsPatternTrailers | ImportsPatternRoot, Node16Default = Imports | SelfName | Exports | ExportsPatternTrailers, NodeNextDefault = AllFeatures, - BundlerDefault = Imports | SelfName | Exports | ExportsPatternTrailers, + BundlerDefault = Imports | SelfName | Exports | ExportsPatternTrailers | ImportsPatternRoot, EsmMode = 1 << 5, } @@ -2646,7 +2649,7 @@ function loadModuleFromExports(scope: PackageJsonInfo, extensions: Extensions, s } function loadModuleFromImports(extensions: Extensions, moduleName: string, directory: string, state: ModuleResolutionState, cache: ModuleResolutionCache | undefined, redirectedReference: ResolvedProjectReference | undefined): SearchResult { - if (moduleName === "#") { + if (moduleName === "#" || (startsWith(moduleName, "#/") && !(state.features & NodeResolutionFeatures.ImportsPatternRoot))) { if (state.traceEnabled) { trace(state.host, Diagnostics.Invalid_import_specifier_0_has_no_possible_resolutions, moduleName); } diff --git a/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node16).errors.txt b/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node16).errors.txt deleted file mode 100644 index 011bfd053655f..0000000000000 --- a/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node16).errors.txt +++ /dev/null @@ -1,51 +0,0 @@ -index.cts(2,21): error TS1479: The current file is a CommonJS module whose imports will produce 'require' calls; however, the referenced file is an ECMAScript module and cannot be imported with 'require'. Consider writing a dynamic 'import("#/foo.js")' call instead. -index.cts(3,21): error TS1479: The current file is a CommonJS module whose imports will produce 'require' calls; however, the referenced file is an ECMAScript module and cannot be imported with 'require'. Consider writing a dynamic 'import("#/features/bar.js")' call instead. -index.cts(4,21): error TS1479: The current file is a CommonJS module whose imports will produce 'require' calls; however, the referenced file is an ECMAScript module and cannot be imported with 'require'. Consider writing a dynamic 'import("#/nested/deep/baz.js")' call instead. - - -==== package.json (0 errors) ==== - { - "name": "package", - "private": true, - "type": "module", - "imports": { - "#/*": "./src/*" - } - } -==== src/foo.ts (0 errors) ==== - export const foo = "foo"; -==== src/features/bar.ts (0 errors) ==== - export const bar = "bar"; -==== src/nested/deep/baz.ts (0 errors) ==== - export const baz = "baz"; -==== index.ts (0 errors) ==== - // esm format file - import { foo } from "#/foo.js"; - import { bar } from "#/features/bar.js"; - import { baz } from "#/nested/deep/baz.js"; - foo; - bar; - baz; -==== index.mts (0 errors) ==== - // esm format file - import { foo } from "#/foo.js"; - import { bar } from "#/features/bar.js"; - import { baz } from "#/nested/deep/baz.js"; - foo; - bar; - baz; -==== index.cts (3 errors) ==== - // cjs format file - import { foo } from "#/foo.js"; - ~~~~~~~~~~ -!!! error TS1479: The current file is a CommonJS module whose imports will produce 'require' calls; however, the referenced file is an ECMAScript module and cannot be imported with 'require'. Consider writing a dynamic 'import("#/foo.js")' call instead. - import { bar } from "#/features/bar.js"; - ~~~~~~~~~~~~~~~~~~~ -!!! error TS1479: The current file is a CommonJS module whose imports will produce 'require' calls; however, the referenced file is an ECMAScript module and cannot be imported with 'require'. Consider writing a dynamic 'import("#/features/bar.js")' call instead. - import { baz } from "#/nested/deep/baz.js"; - ~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS1479: The current file is a CommonJS module whose imports will produce 'require' calls; however, the referenced file is an ECMAScript module and cannot be imported with 'require'. Consider writing a dynamic 'import("#/nested/deep/baz.js")' call instead. - foo; - bar; - baz; - \ No newline at end of file diff --git a/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node16).trace.json b/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node16).trace.json deleted file mode 100644 index ce2392cc8ed1f..0000000000000 --- a/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node16).trace.json +++ /dev/null @@ -1,195 +0,0 @@ -[ - "File '/.src/src/package.json' does not exist.", - "Found 'package.json' at '/.src/package.json'.", - "File '/.src/src/features/package.json' does not exist.", - "File '/.src/src/package.json' does not exist according to earlier cached lookups.", - "File '/.src/package.json' exists according to earlier cached lookups.", - "File '/.src/src/nested/deep/package.json' does not exist.", - "File '/.src/src/nested/package.json' does not exist.", - "File '/.src/src/package.json' does not exist according to earlier cached lookups.", - "File '/.src/package.json' exists according to earlier cached lookups.", - "File '/.src/package.json' exists according to earlier cached lookups.", - "======== Resolving module '#/foo.js' from '/.src/index.ts'. ========", - "Module resolution kind is not specified, using 'Node16'.", - "Resolving in ESM mode with conditions 'import', 'types', 'node'.", - "File '/.src/package.json' exists according to earlier cached lookups.", - "Using 'imports' subpath '#/*' with target './src/foo.js'.", - "File name '/.src/src/foo.js' has a '.js' extension - stripping it.", - "File '/.src/src/foo.ts' exists - use it as a name resolution result.", - "======== Module name '#/foo.js' was successfully resolved to '/.src/src/foo.ts'. ========", - "======== Resolving module '#/features/bar.js' from '/.src/index.ts'. ========", - "Module resolution kind is not specified, using 'Node16'.", - "Resolving in ESM mode with conditions 'import', 'types', 'node'.", - "File '/.src/package.json' exists according to earlier cached lookups.", - "Using 'imports' subpath '#/*' with target './src/features/bar.js'.", - "File name '/.src/src/features/bar.js' has a '.js' extension - stripping it.", - "File '/.src/src/features/bar.ts' exists - use it as a name resolution result.", - "======== Module name '#/features/bar.js' was successfully resolved to '/.src/src/features/bar.ts'. ========", - "======== Resolving module '#/nested/deep/baz.js' from '/.src/index.ts'. ========", - "Module resolution kind is not specified, using 'Node16'.", - "Resolving in ESM mode with conditions 'import', 'types', 'node'.", - "File '/.src/package.json' exists according to earlier cached lookups.", - "Using 'imports' subpath '#/*' with target './src/nested/deep/baz.js'.", - "File name '/.src/src/nested/deep/baz.js' has a '.js' extension - stripping it.", - "File '/.src/src/nested/deep/baz.ts' exists - use it as a name resolution result.", - "======== Module name '#/nested/deep/baz.js' was successfully resolved to '/.src/src/nested/deep/baz.ts'. ========", - "======== Resolving module '#/foo.js' from '/.src/index.mts'. ========", - "Resolution for module '#/foo.js' was found in cache from location '/.src'.", - "======== Module name '#/foo.js' was successfully resolved to '/.src/src/foo.ts'. ========", - "======== Resolving module '#/features/bar.js' from '/.src/index.mts'. ========", - "Resolution for module '#/features/bar.js' was found in cache from location '/.src'.", - "======== Module name '#/features/bar.js' was successfully resolved to '/.src/src/features/bar.ts'. ========", - "======== Resolving module '#/nested/deep/baz.js' from '/.src/index.mts'. ========", - "Resolution for module '#/nested/deep/baz.js' was found in cache from location '/.src'.", - "======== Module name '#/nested/deep/baz.js' was successfully resolved to '/.src/src/nested/deep/baz.ts'. ========", - "======== Resolving module '#/foo.js' from '/.src/index.cts'. ========", - "Module resolution kind is not specified, using 'Node16'.", - "Resolving in CJS mode with conditions 'require', 'types', 'node'.", - "File '/.src/package.json' exists according to earlier cached lookups.", - "Using 'imports' subpath '#/*' with target './src/foo.js'.", - "File name '/.src/src/foo.js' has a '.js' extension - stripping it.", - "File '/.src/src/foo.ts' exists - use it as a name resolution result.", - "======== Module name '#/foo.js' was successfully resolved to '/.src/src/foo.ts'. ========", - "======== Resolving module '#/features/bar.js' from '/.src/index.cts'. ========", - "Module resolution kind is not specified, using 'Node16'.", - "Resolving in CJS mode with conditions 'require', 'types', 'node'.", - "File '/.src/package.json' exists according to earlier cached lookups.", - "Using 'imports' subpath '#/*' with target './src/features/bar.js'.", - "File name '/.src/src/features/bar.js' has a '.js' extension - stripping it.", - "File '/.src/src/features/bar.ts' exists - use it as a name resolution result.", - "======== Module name '#/features/bar.js' was successfully resolved to '/.src/src/features/bar.ts'. ========", - "======== Resolving module '#/nested/deep/baz.js' from '/.src/index.cts'. ========", - "Module resolution kind is not specified, using 'Node16'.", - "Resolving in CJS mode with conditions 'require', 'types', 'node'.", - "File '/.src/package.json' exists according to earlier cached lookups.", - "Using 'imports' subpath '#/*' with target './src/nested/deep/baz.js'.", - "File name '/.src/src/nested/deep/baz.js' has a '.js' extension - stripping it.", - "File '/.src/src/nested/deep/baz.ts' exists - use it as a name resolution result.", - "======== Module name '#/nested/deep/baz.js' was successfully resolved to '/.src/src/nested/deep/baz.ts'. ========", - "File '/.ts/package.json' does not exist.", - "File '/package.json' does not exist.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups." -] \ No newline at end of file diff --git a/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node18).errors.txt b/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node18).errors.txt deleted file mode 100644 index 011bfd053655f..0000000000000 --- a/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node18).errors.txt +++ /dev/null @@ -1,51 +0,0 @@ -index.cts(2,21): error TS1479: The current file is a CommonJS module whose imports will produce 'require' calls; however, the referenced file is an ECMAScript module and cannot be imported with 'require'. Consider writing a dynamic 'import("#/foo.js")' call instead. -index.cts(3,21): error TS1479: The current file is a CommonJS module whose imports will produce 'require' calls; however, the referenced file is an ECMAScript module and cannot be imported with 'require'. Consider writing a dynamic 'import("#/features/bar.js")' call instead. -index.cts(4,21): error TS1479: The current file is a CommonJS module whose imports will produce 'require' calls; however, the referenced file is an ECMAScript module and cannot be imported with 'require'. Consider writing a dynamic 'import("#/nested/deep/baz.js")' call instead. - - -==== package.json (0 errors) ==== - { - "name": "package", - "private": true, - "type": "module", - "imports": { - "#/*": "./src/*" - } - } -==== src/foo.ts (0 errors) ==== - export const foo = "foo"; -==== src/features/bar.ts (0 errors) ==== - export const bar = "bar"; -==== src/nested/deep/baz.ts (0 errors) ==== - export const baz = "baz"; -==== index.ts (0 errors) ==== - // esm format file - import { foo } from "#/foo.js"; - import { bar } from "#/features/bar.js"; - import { baz } from "#/nested/deep/baz.js"; - foo; - bar; - baz; -==== index.mts (0 errors) ==== - // esm format file - import { foo } from "#/foo.js"; - import { bar } from "#/features/bar.js"; - import { baz } from "#/nested/deep/baz.js"; - foo; - bar; - baz; -==== index.cts (3 errors) ==== - // cjs format file - import { foo } from "#/foo.js"; - ~~~~~~~~~~ -!!! error TS1479: The current file is a CommonJS module whose imports will produce 'require' calls; however, the referenced file is an ECMAScript module and cannot be imported with 'require'. Consider writing a dynamic 'import("#/foo.js")' call instead. - import { bar } from "#/features/bar.js"; - ~~~~~~~~~~~~~~~~~~~ -!!! error TS1479: The current file is a CommonJS module whose imports will produce 'require' calls; however, the referenced file is an ECMAScript module and cannot be imported with 'require'. Consider writing a dynamic 'import("#/features/bar.js")' call instead. - import { baz } from "#/nested/deep/baz.js"; - ~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS1479: The current file is a CommonJS module whose imports will produce 'require' calls; however, the referenced file is an ECMAScript module and cannot be imported with 'require'. Consider writing a dynamic 'import("#/nested/deep/baz.js")' call instead. - foo; - bar; - baz; - \ No newline at end of file diff --git a/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node18).js b/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node18).js deleted file mode 100644 index bcf39b25bc97d..0000000000000 --- a/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node18).js +++ /dev/null @@ -1,89 +0,0 @@ -//// [tests/cases/conformance/node/nodeModulesPackageImportsRootWildcard.ts] //// - -//// [package.json] -{ - "name": "package", - "private": true, - "type": "module", - "imports": { - "#/*": "./src/*" - } -} -//// [foo.ts] -export const foo = "foo"; -//// [bar.ts] -export const bar = "bar"; -//// [baz.ts] -export const baz = "baz"; -//// [index.ts] -// esm format file -import { foo } from "#/foo.js"; -import { bar } from "#/features/bar.js"; -import { baz } from "#/nested/deep/baz.js"; -foo; -bar; -baz; -//// [index.mts] -// esm format file -import { foo } from "#/foo.js"; -import { bar } from "#/features/bar.js"; -import { baz } from "#/nested/deep/baz.js"; -foo; -bar; -baz; -//// [index.cts] -// cjs format file -import { foo } from "#/foo.js"; -import { bar } from "#/features/bar.js"; -import { baz } from "#/nested/deep/baz.js"; -foo; -bar; -baz; - - -//// [foo.js] -export const foo = "foo"; -//// [bar.js] -export const bar = "bar"; -//// [baz.js] -export const baz = "baz"; -//// [index.js] -// esm format file -import { foo } from "#/foo.js"; -import { bar } from "#/features/bar.js"; -import { baz } from "#/nested/deep/baz.js"; -foo; -bar; -baz; -//// [index.mjs] -// esm format file -import { foo } from "#/foo.js"; -import { bar } from "#/features/bar.js"; -import { baz } from "#/nested/deep/baz.js"; -foo; -bar; -baz; -//// [index.cjs] -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -// cjs format file -const foo_js_1 = require("#/foo.js"); -const bar_js_1 = require("#/features/bar.js"); -const baz_js_1 = require("#/nested/deep/baz.js"); -foo_js_1.foo; -bar_js_1.bar; -baz_js_1.baz; - - -//// [foo.d.ts] -export declare const foo = "foo"; -//// [bar.d.ts] -export declare const bar = "bar"; -//// [baz.d.ts] -export declare const baz = "baz"; -//// [index.d.ts] -export {}; -//// [index.d.mts] -export {}; -//// [index.d.cts] -export {}; diff --git a/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node18).symbols b/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node18).symbols deleted file mode 100644 index e4aebad35fd9e..0000000000000 --- a/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node18).symbols +++ /dev/null @@ -1,74 +0,0 @@ -//// [tests/cases/conformance/node/nodeModulesPackageImportsRootWildcard.ts] //// - -=== src/foo.ts === -export const foo = "foo"; ->foo : Symbol(foo, Decl(foo.ts, 0, 12)) - -=== src/features/bar.ts === -export const bar = "bar"; ->bar : Symbol(bar, Decl(bar.ts, 0, 12)) - -=== src/nested/deep/baz.ts === -export const baz = "baz"; ->baz : Symbol(baz, Decl(baz.ts, 0, 12)) - -=== index.ts === -// esm format file -import { foo } from "#/foo.js"; ->foo : Symbol(foo, Decl(index.ts, 1, 8)) - -import { bar } from "#/features/bar.js"; ->bar : Symbol(bar, Decl(index.ts, 2, 8)) - -import { baz } from "#/nested/deep/baz.js"; ->baz : Symbol(baz, Decl(index.ts, 3, 8)) - -foo; ->foo : Symbol(foo, Decl(index.ts, 1, 8)) - -bar; ->bar : Symbol(bar, Decl(index.ts, 2, 8)) - -baz; ->baz : Symbol(baz, Decl(index.ts, 3, 8)) - -=== index.mts === -// esm format file -import { foo } from "#/foo.js"; ->foo : Symbol(foo, Decl(index.mts, 1, 8)) - -import { bar } from "#/features/bar.js"; ->bar : Symbol(bar, Decl(index.mts, 2, 8)) - -import { baz } from "#/nested/deep/baz.js"; ->baz : Symbol(baz, Decl(index.mts, 3, 8)) - -foo; ->foo : Symbol(foo, Decl(index.mts, 1, 8)) - -bar; ->bar : Symbol(bar, Decl(index.mts, 2, 8)) - -baz; ->baz : Symbol(baz, Decl(index.mts, 3, 8)) - -=== index.cts === -// cjs format file -import { foo } from "#/foo.js"; ->foo : Symbol(foo, Decl(index.cts, 1, 8)) - -import { bar } from "#/features/bar.js"; ->bar : Symbol(bar, Decl(index.cts, 2, 8)) - -import { baz } from "#/nested/deep/baz.js"; ->baz : Symbol(baz, Decl(index.cts, 3, 8)) - -foo; ->foo : Symbol(foo, Decl(index.cts, 1, 8)) - -bar; ->bar : Symbol(bar, Decl(index.cts, 2, 8)) - -baz; ->baz : Symbol(baz, Decl(index.cts, 3, 8)) - diff --git a/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node18).types b/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node18).types deleted file mode 100644 index 8bb760005c9f6..0000000000000 --- a/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node18).types +++ /dev/null @@ -1,101 +0,0 @@ -//// [tests/cases/conformance/node/nodeModulesPackageImportsRootWildcard.ts] //// - -=== src/foo.ts === -export const foo = "foo"; ->foo : "foo" -> : ^^^^^ ->"foo" : "foo" -> : ^^^^^ - -=== src/features/bar.ts === -export const bar = "bar"; ->bar : "bar" -> : ^^^^^ ->"bar" : "bar" -> : ^^^^^ - -=== src/nested/deep/baz.ts === -export const baz = "baz"; ->baz : "baz" -> : ^^^^^ ->"baz" : "baz" -> : ^^^^^ - -=== index.ts === -// esm format file -import { foo } from "#/foo.js"; ->foo : "foo" -> : ^^^^^ - -import { bar } from "#/features/bar.js"; ->bar : "bar" -> : ^^^^^ - -import { baz } from "#/nested/deep/baz.js"; ->baz : "baz" -> : ^^^^^ - -foo; ->foo : "foo" -> : ^^^^^ - -bar; ->bar : "bar" -> : ^^^^^ - -baz; ->baz : "baz" -> : ^^^^^ - -=== index.mts === -// esm format file -import { foo } from "#/foo.js"; ->foo : "foo" -> : ^^^^^ - -import { bar } from "#/features/bar.js"; ->bar : "bar" -> : ^^^^^ - -import { baz } from "#/nested/deep/baz.js"; ->baz : "baz" -> : ^^^^^ - -foo; ->foo : "foo" -> : ^^^^^ - -bar; ->bar : "bar" -> : ^^^^^ - -baz; ->baz : "baz" -> : ^^^^^ - -=== index.cts === -// cjs format file -import { foo } from "#/foo.js"; ->foo : "foo" -> : ^^^^^ - -import { bar } from "#/features/bar.js"; ->bar : "bar" -> : ^^^^^ - -import { baz } from "#/nested/deep/baz.js"; ->baz : "baz" -> : ^^^^^ - -foo; ->foo : "foo" -> : ^^^^^ - -bar; ->bar : "bar" -> : ^^^^^ - -baz; ->baz : "baz" -> : ^^^^^ - diff --git a/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node20).js b/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node20).js deleted file mode 100644 index bcf39b25bc97d..0000000000000 --- a/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node20).js +++ /dev/null @@ -1,89 +0,0 @@ -//// [tests/cases/conformance/node/nodeModulesPackageImportsRootWildcard.ts] //// - -//// [package.json] -{ - "name": "package", - "private": true, - "type": "module", - "imports": { - "#/*": "./src/*" - } -} -//// [foo.ts] -export const foo = "foo"; -//// [bar.ts] -export const bar = "bar"; -//// [baz.ts] -export const baz = "baz"; -//// [index.ts] -// esm format file -import { foo } from "#/foo.js"; -import { bar } from "#/features/bar.js"; -import { baz } from "#/nested/deep/baz.js"; -foo; -bar; -baz; -//// [index.mts] -// esm format file -import { foo } from "#/foo.js"; -import { bar } from "#/features/bar.js"; -import { baz } from "#/nested/deep/baz.js"; -foo; -bar; -baz; -//// [index.cts] -// cjs format file -import { foo } from "#/foo.js"; -import { bar } from "#/features/bar.js"; -import { baz } from "#/nested/deep/baz.js"; -foo; -bar; -baz; - - -//// [foo.js] -export const foo = "foo"; -//// [bar.js] -export const bar = "bar"; -//// [baz.js] -export const baz = "baz"; -//// [index.js] -// esm format file -import { foo } from "#/foo.js"; -import { bar } from "#/features/bar.js"; -import { baz } from "#/nested/deep/baz.js"; -foo; -bar; -baz; -//// [index.mjs] -// esm format file -import { foo } from "#/foo.js"; -import { bar } from "#/features/bar.js"; -import { baz } from "#/nested/deep/baz.js"; -foo; -bar; -baz; -//// [index.cjs] -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -// cjs format file -const foo_js_1 = require("#/foo.js"); -const bar_js_1 = require("#/features/bar.js"); -const baz_js_1 = require("#/nested/deep/baz.js"); -foo_js_1.foo; -bar_js_1.bar; -baz_js_1.baz; - - -//// [foo.d.ts] -export declare const foo = "foo"; -//// [bar.d.ts] -export declare const bar = "bar"; -//// [baz.d.ts] -export declare const baz = "baz"; -//// [index.d.ts] -export {}; -//// [index.d.mts] -export {}; -//// [index.d.cts] -export {}; diff --git a/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node20).symbols b/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node20).symbols deleted file mode 100644 index e4aebad35fd9e..0000000000000 --- a/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node20).symbols +++ /dev/null @@ -1,74 +0,0 @@ -//// [tests/cases/conformance/node/nodeModulesPackageImportsRootWildcard.ts] //// - -=== src/foo.ts === -export const foo = "foo"; ->foo : Symbol(foo, Decl(foo.ts, 0, 12)) - -=== src/features/bar.ts === -export const bar = "bar"; ->bar : Symbol(bar, Decl(bar.ts, 0, 12)) - -=== src/nested/deep/baz.ts === -export const baz = "baz"; ->baz : Symbol(baz, Decl(baz.ts, 0, 12)) - -=== index.ts === -// esm format file -import { foo } from "#/foo.js"; ->foo : Symbol(foo, Decl(index.ts, 1, 8)) - -import { bar } from "#/features/bar.js"; ->bar : Symbol(bar, Decl(index.ts, 2, 8)) - -import { baz } from "#/nested/deep/baz.js"; ->baz : Symbol(baz, Decl(index.ts, 3, 8)) - -foo; ->foo : Symbol(foo, Decl(index.ts, 1, 8)) - -bar; ->bar : Symbol(bar, Decl(index.ts, 2, 8)) - -baz; ->baz : Symbol(baz, Decl(index.ts, 3, 8)) - -=== index.mts === -// esm format file -import { foo } from "#/foo.js"; ->foo : Symbol(foo, Decl(index.mts, 1, 8)) - -import { bar } from "#/features/bar.js"; ->bar : Symbol(bar, Decl(index.mts, 2, 8)) - -import { baz } from "#/nested/deep/baz.js"; ->baz : Symbol(baz, Decl(index.mts, 3, 8)) - -foo; ->foo : Symbol(foo, Decl(index.mts, 1, 8)) - -bar; ->bar : Symbol(bar, Decl(index.mts, 2, 8)) - -baz; ->baz : Symbol(baz, Decl(index.mts, 3, 8)) - -=== index.cts === -// cjs format file -import { foo } from "#/foo.js"; ->foo : Symbol(foo, Decl(index.cts, 1, 8)) - -import { bar } from "#/features/bar.js"; ->bar : Symbol(bar, Decl(index.cts, 2, 8)) - -import { baz } from "#/nested/deep/baz.js"; ->baz : Symbol(baz, Decl(index.cts, 3, 8)) - -foo; ->foo : Symbol(foo, Decl(index.cts, 1, 8)) - -bar; ->bar : Symbol(bar, Decl(index.cts, 2, 8)) - -baz; ->baz : Symbol(baz, Decl(index.cts, 3, 8)) - diff --git a/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node20).trace.json b/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node20).trace.json deleted file mode 100644 index 4b96b1ff9b901..0000000000000 --- a/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node20).trace.json +++ /dev/null @@ -1,203 +0,0 @@ -[ - "File '/.src/src/package.json' does not exist.", - "Found 'package.json' at '/.src/package.json'.", - "File '/.src/src/features/package.json' does not exist.", - "File '/.src/src/package.json' does not exist according to earlier cached lookups.", - "File '/.src/package.json' exists according to earlier cached lookups.", - "File '/.src/src/nested/deep/package.json' does not exist.", - "File '/.src/src/nested/package.json' does not exist.", - "File '/.src/src/package.json' does not exist according to earlier cached lookups.", - "File '/.src/package.json' exists according to earlier cached lookups.", - "File '/.src/package.json' exists according to earlier cached lookups.", - "======== Resolving module '#/foo.js' from '/.src/index.ts'. ========", - "Module resolution kind is not specified, using 'Node16'.", - "Resolving in ESM mode with conditions 'import', 'types', 'node'.", - "File '/.src/package.json' exists according to earlier cached lookups.", - "Using 'imports' subpath '#/*' with target './src/foo.js'.", - "File name '/.src/src/foo.js' has a '.js' extension - stripping it.", - "File '/.src/src/foo.ts' exists - use it as a name resolution result.", - "======== Module name '#/foo.js' was successfully resolved to '/.src/src/foo.ts'. ========", - "======== Resolving module '#/features/bar.js' from '/.src/index.ts'. ========", - "Module resolution kind is not specified, using 'Node16'.", - "Resolving in ESM mode with conditions 'import', 'types', 'node'.", - "File '/.src/package.json' exists according to earlier cached lookups.", - "Using 'imports' subpath '#/*' with target './src/features/bar.js'.", - "File name '/.src/src/features/bar.js' has a '.js' extension - stripping it.", - "File '/.src/src/features/bar.ts' exists - use it as a name resolution result.", - "======== Module name '#/features/bar.js' was successfully resolved to '/.src/src/features/bar.ts'. ========", - "======== Resolving module '#/nested/deep/baz.js' from '/.src/index.ts'. ========", - "Module resolution kind is not specified, using 'Node16'.", - "Resolving in ESM mode with conditions 'import', 'types', 'node'.", - "File '/.src/package.json' exists according to earlier cached lookups.", - "Using 'imports' subpath '#/*' with target './src/nested/deep/baz.js'.", - "File name '/.src/src/nested/deep/baz.js' has a '.js' extension - stripping it.", - "File '/.src/src/nested/deep/baz.ts' exists - use it as a name resolution result.", - "======== Module name '#/nested/deep/baz.js' was successfully resolved to '/.src/src/nested/deep/baz.ts'. ========", - "======== Resolving module '#/foo.js' from '/.src/index.mts'. ========", - "Resolution for module '#/foo.js' was found in cache from location '/.src'.", - "======== Module name '#/foo.js' was successfully resolved to '/.src/src/foo.ts'. ========", - "======== Resolving module '#/features/bar.js' from '/.src/index.mts'. ========", - "Resolution for module '#/features/bar.js' was found in cache from location '/.src'.", - "======== Module name '#/features/bar.js' was successfully resolved to '/.src/src/features/bar.ts'. ========", - "======== Resolving module '#/nested/deep/baz.js' from '/.src/index.mts'. ========", - "Resolution for module '#/nested/deep/baz.js' was found in cache from location '/.src'.", - "======== Module name '#/nested/deep/baz.js' was successfully resolved to '/.src/src/nested/deep/baz.ts'. ========", - "======== Resolving module '#/foo.js' from '/.src/index.cts'. ========", - "Module resolution kind is not specified, using 'Node16'.", - "Resolving in CJS mode with conditions 'require', 'types', 'node'.", - "File '/.src/package.json' exists according to earlier cached lookups.", - "Using 'imports' subpath '#/*' with target './src/foo.js'.", - "File name '/.src/src/foo.js' has a '.js' extension - stripping it.", - "File '/.src/src/foo.ts' exists - use it as a name resolution result.", - "======== Module name '#/foo.js' was successfully resolved to '/.src/src/foo.ts'. ========", - "======== Resolving module '#/features/bar.js' from '/.src/index.cts'. ========", - "Module resolution kind is not specified, using 'Node16'.", - "Resolving in CJS mode with conditions 'require', 'types', 'node'.", - "File '/.src/package.json' exists according to earlier cached lookups.", - "Using 'imports' subpath '#/*' with target './src/features/bar.js'.", - "File name '/.src/src/features/bar.js' has a '.js' extension - stripping it.", - "File '/.src/src/features/bar.ts' exists - use it as a name resolution result.", - "======== Module name '#/features/bar.js' was successfully resolved to '/.src/src/features/bar.ts'. ========", - "======== Resolving module '#/nested/deep/baz.js' from '/.src/index.cts'. ========", - "Module resolution kind is not specified, using 'Node16'.", - "Resolving in CJS mode with conditions 'require', 'types', 'node'.", - "File '/.src/package.json' exists according to earlier cached lookups.", - "Using 'imports' subpath '#/*' with target './src/nested/deep/baz.js'.", - "File name '/.src/src/nested/deep/baz.js' has a '.js' extension - stripping it.", - "File '/.src/src/nested/deep/baz.ts' exists - use it as a name resolution result.", - "======== Module name '#/nested/deep/baz.js' was successfully resolved to '/.src/src/nested/deep/baz.ts'. ========", - "File '/.ts/package.json' does not exist.", - "File '/package.json' does not exist.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups.", - "File '/.ts/package.json' does not exist according to earlier cached lookups.", - "File '/package.json' does not exist according to earlier cached lookups." -] \ No newline at end of file diff --git a/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node20).types b/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node20).types deleted file mode 100644 index 8bb760005c9f6..0000000000000 --- a/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node20).types +++ /dev/null @@ -1,101 +0,0 @@ -//// [tests/cases/conformance/node/nodeModulesPackageImportsRootWildcard.ts] //// - -=== src/foo.ts === -export const foo = "foo"; ->foo : "foo" -> : ^^^^^ ->"foo" : "foo" -> : ^^^^^ - -=== src/features/bar.ts === -export const bar = "bar"; ->bar : "bar" -> : ^^^^^ ->"bar" : "bar" -> : ^^^^^ - -=== src/nested/deep/baz.ts === -export const baz = "baz"; ->baz : "baz" -> : ^^^^^ ->"baz" : "baz" -> : ^^^^^ - -=== index.ts === -// esm format file -import { foo } from "#/foo.js"; ->foo : "foo" -> : ^^^^^ - -import { bar } from "#/features/bar.js"; ->bar : "bar" -> : ^^^^^ - -import { baz } from "#/nested/deep/baz.js"; ->baz : "baz" -> : ^^^^^ - -foo; ->foo : "foo" -> : ^^^^^ - -bar; ->bar : "bar" -> : ^^^^^ - -baz; ->baz : "baz" -> : ^^^^^ - -=== index.mts === -// esm format file -import { foo } from "#/foo.js"; ->foo : "foo" -> : ^^^^^ - -import { bar } from "#/features/bar.js"; ->bar : "bar" -> : ^^^^^ - -import { baz } from "#/nested/deep/baz.js"; ->baz : "baz" -> : ^^^^^ - -foo; ->foo : "foo" -> : ^^^^^ - -bar; ->bar : "bar" -> : ^^^^^ - -baz; ->baz : "baz" -> : ^^^^^ - -=== index.cts === -// cjs format file -import { foo } from "#/foo.js"; ->foo : "foo" -> : ^^^^^ - -import { bar } from "#/features/bar.js"; ->bar : "bar" -> : ^^^^^ - -import { baz } from "#/nested/deep/baz.js"; ->baz : "baz" -> : ^^^^^ - -foo; ->foo : "foo" -> : ^^^^^ - -bar; ->bar : "bar" -> : ^^^^^ - -baz; ->baz : "baz" -> : ^^^^^ - diff --git a/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=nodenext).js b/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=nodenext).js deleted file mode 100644 index bcf39b25bc97d..0000000000000 --- a/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=nodenext).js +++ /dev/null @@ -1,89 +0,0 @@ -//// [tests/cases/conformance/node/nodeModulesPackageImportsRootWildcard.ts] //// - -//// [package.json] -{ - "name": "package", - "private": true, - "type": "module", - "imports": { - "#/*": "./src/*" - } -} -//// [foo.ts] -export const foo = "foo"; -//// [bar.ts] -export const bar = "bar"; -//// [baz.ts] -export const baz = "baz"; -//// [index.ts] -// esm format file -import { foo } from "#/foo.js"; -import { bar } from "#/features/bar.js"; -import { baz } from "#/nested/deep/baz.js"; -foo; -bar; -baz; -//// [index.mts] -// esm format file -import { foo } from "#/foo.js"; -import { bar } from "#/features/bar.js"; -import { baz } from "#/nested/deep/baz.js"; -foo; -bar; -baz; -//// [index.cts] -// cjs format file -import { foo } from "#/foo.js"; -import { bar } from "#/features/bar.js"; -import { baz } from "#/nested/deep/baz.js"; -foo; -bar; -baz; - - -//// [foo.js] -export const foo = "foo"; -//// [bar.js] -export const bar = "bar"; -//// [baz.js] -export const baz = "baz"; -//// [index.js] -// esm format file -import { foo } from "#/foo.js"; -import { bar } from "#/features/bar.js"; -import { baz } from "#/nested/deep/baz.js"; -foo; -bar; -baz; -//// [index.mjs] -// esm format file -import { foo } from "#/foo.js"; -import { bar } from "#/features/bar.js"; -import { baz } from "#/nested/deep/baz.js"; -foo; -bar; -baz; -//// [index.cjs] -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -// cjs format file -const foo_js_1 = require("#/foo.js"); -const bar_js_1 = require("#/features/bar.js"); -const baz_js_1 = require("#/nested/deep/baz.js"); -foo_js_1.foo; -bar_js_1.bar; -baz_js_1.baz; - - -//// [foo.d.ts] -export declare const foo = "foo"; -//// [bar.d.ts] -export declare const bar = "bar"; -//// [baz.d.ts] -export declare const baz = "baz"; -//// [index.d.ts] -export {}; -//// [index.d.mts] -export {}; -//// [index.d.cts] -export {}; diff --git a/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=nodenext).symbols b/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=nodenext).symbols deleted file mode 100644 index e4aebad35fd9e..0000000000000 --- a/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=nodenext).symbols +++ /dev/null @@ -1,74 +0,0 @@ -//// [tests/cases/conformance/node/nodeModulesPackageImportsRootWildcard.ts] //// - -=== src/foo.ts === -export const foo = "foo"; ->foo : Symbol(foo, Decl(foo.ts, 0, 12)) - -=== src/features/bar.ts === -export const bar = "bar"; ->bar : Symbol(bar, Decl(bar.ts, 0, 12)) - -=== src/nested/deep/baz.ts === -export const baz = "baz"; ->baz : Symbol(baz, Decl(baz.ts, 0, 12)) - -=== index.ts === -// esm format file -import { foo } from "#/foo.js"; ->foo : Symbol(foo, Decl(index.ts, 1, 8)) - -import { bar } from "#/features/bar.js"; ->bar : Symbol(bar, Decl(index.ts, 2, 8)) - -import { baz } from "#/nested/deep/baz.js"; ->baz : Symbol(baz, Decl(index.ts, 3, 8)) - -foo; ->foo : Symbol(foo, Decl(index.ts, 1, 8)) - -bar; ->bar : Symbol(bar, Decl(index.ts, 2, 8)) - -baz; ->baz : Symbol(baz, Decl(index.ts, 3, 8)) - -=== index.mts === -// esm format file -import { foo } from "#/foo.js"; ->foo : Symbol(foo, Decl(index.mts, 1, 8)) - -import { bar } from "#/features/bar.js"; ->bar : Symbol(bar, Decl(index.mts, 2, 8)) - -import { baz } from "#/nested/deep/baz.js"; ->baz : Symbol(baz, Decl(index.mts, 3, 8)) - -foo; ->foo : Symbol(foo, Decl(index.mts, 1, 8)) - -bar; ->bar : Symbol(bar, Decl(index.mts, 2, 8)) - -baz; ->baz : Symbol(baz, Decl(index.mts, 3, 8)) - -=== index.cts === -// cjs format file -import { foo } from "#/foo.js"; ->foo : Symbol(foo, Decl(index.cts, 1, 8)) - -import { bar } from "#/features/bar.js"; ->bar : Symbol(bar, Decl(index.cts, 2, 8)) - -import { baz } from "#/nested/deep/baz.js"; ->baz : Symbol(baz, Decl(index.cts, 3, 8)) - -foo; ->foo : Symbol(foo, Decl(index.cts, 1, 8)) - -bar; ->bar : Symbol(bar, Decl(index.cts, 2, 8)) - -baz; ->baz : Symbol(baz, Decl(index.cts, 3, 8)) - diff --git a/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=nodenext).types b/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=nodenext).types deleted file mode 100644 index 8bb760005c9f6..0000000000000 --- a/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=nodenext).types +++ /dev/null @@ -1,101 +0,0 @@ -//// [tests/cases/conformance/node/nodeModulesPackageImportsRootWildcard.ts] //// - -=== src/foo.ts === -export const foo = "foo"; ->foo : "foo" -> : ^^^^^ ->"foo" : "foo" -> : ^^^^^ - -=== src/features/bar.ts === -export const bar = "bar"; ->bar : "bar" -> : ^^^^^ ->"bar" : "bar" -> : ^^^^^ - -=== src/nested/deep/baz.ts === -export const baz = "baz"; ->baz : "baz" -> : ^^^^^ ->"baz" : "baz" -> : ^^^^^ - -=== index.ts === -// esm format file -import { foo } from "#/foo.js"; ->foo : "foo" -> : ^^^^^ - -import { bar } from "#/features/bar.js"; ->bar : "bar" -> : ^^^^^ - -import { baz } from "#/nested/deep/baz.js"; ->baz : "baz" -> : ^^^^^ - -foo; ->foo : "foo" -> : ^^^^^ - -bar; ->bar : "bar" -> : ^^^^^ - -baz; ->baz : "baz" -> : ^^^^^ - -=== index.mts === -// esm format file -import { foo } from "#/foo.js"; ->foo : "foo" -> : ^^^^^ - -import { bar } from "#/features/bar.js"; ->bar : "bar" -> : ^^^^^ - -import { baz } from "#/nested/deep/baz.js"; ->baz : "baz" -> : ^^^^^ - -foo; ->foo : "foo" -> : ^^^^^ - -bar; ->bar : "bar" -> : ^^^^^ - -baz; ->baz : "baz" -> : ^^^^^ - -=== index.cts === -// cjs format file -import { foo } from "#/foo.js"; ->foo : "foo" -> : ^^^^^ - -import { bar } from "#/features/bar.js"; ->bar : "bar" -> : ^^^^^ - -import { baz } from "#/nested/deep/baz.js"; ->baz : "baz" -> : ^^^^^ - -foo; ->foo : "foo" -> : ^^^^^ - -bar; ->bar : "bar" -> : ^^^^^ - -baz; ->baz : "baz" -> : ^^^^^ - diff --git a/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node16).js b/tests/baselines/reference/nodeModulesPackageImportsRootWildcard.js similarity index 100% rename from tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node16).js rename to tests/baselines/reference/nodeModulesPackageImportsRootWildcard.js diff --git a/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node16).symbols b/tests/baselines/reference/nodeModulesPackageImportsRootWildcard.symbols similarity index 100% rename from tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node16).symbols rename to tests/baselines/reference/nodeModulesPackageImportsRootWildcard.symbols diff --git a/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=nodenext).trace.json b/tests/baselines/reference/nodeModulesPackageImportsRootWildcard.trace.json similarity index 100% rename from tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=nodenext).trace.json rename to tests/baselines/reference/nodeModulesPackageImportsRootWildcard.trace.json diff --git a/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node16).types b/tests/baselines/reference/nodeModulesPackageImportsRootWildcard.types similarity index 100% rename from tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node16).types rename to tests/baselines/reference/nodeModulesPackageImportsRootWildcard.types diff --git a/tests/baselines/reference/nodeModulesPackageImportsRootWildcardNode16.errors.txt b/tests/baselines/reference/nodeModulesPackageImportsRootWildcardNode16.errors.txt new file mode 100644 index 0000000000000..ea7a1a87966ac --- /dev/null +++ b/tests/baselines/reference/nodeModulesPackageImportsRootWildcardNode16.errors.txt @@ -0,0 +1,21 @@ +index.ts(2,21): error TS2307: Cannot find module '#/foo.js' or its corresponding type declarations. + + +==== package.json (0 errors) ==== + { + "name": "package", + "private": true, + "type": "module", + "imports": { + "#/*": "./src/*" + } + } +==== src/foo.ts (0 errors) ==== + export const foo = "foo"; +==== index.ts (1 errors) ==== + // esm format file + import { foo } from "#/foo.js"; + ~~~~~~~~~~ +!!! error TS2307: Cannot find module '#/foo.js' or its corresponding type declarations. + foo; + \ No newline at end of file diff --git a/tests/baselines/reference/nodeModulesPackageImportsRootWildcardNode16.js b/tests/baselines/reference/nodeModulesPackageImportsRootWildcardNode16.js new file mode 100644 index 0000000000000..11a8e0b727b73 --- /dev/null +++ b/tests/baselines/reference/nodeModulesPackageImportsRootWildcardNode16.js @@ -0,0 +1,31 @@ +//// [tests/cases/conformance/node/nodeModulesPackageImportsRootWildcardNode16.ts] //// + +//// [package.json] +{ + "name": "package", + "private": true, + "type": "module", + "imports": { + "#/*": "./src/*" + } +} +//// [foo.ts] +export const foo = "foo"; +//// [index.ts] +// esm format file +import { foo } from "#/foo.js"; +foo; + + +//// [foo.js] +export const foo = "foo"; +//// [index.js] +// esm format file +import { foo } from "#/foo.js"; +foo; + + +//// [foo.d.ts] +export declare const foo = "foo"; +//// [index.d.ts] +export {}; diff --git a/tests/baselines/reference/nodeModulesPackageImportsRootWildcardNode16.symbols b/tests/baselines/reference/nodeModulesPackageImportsRootWildcardNode16.symbols new file mode 100644 index 0000000000000..368e6fca91428 --- /dev/null +++ b/tests/baselines/reference/nodeModulesPackageImportsRootWildcardNode16.symbols @@ -0,0 +1,14 @@ +//// [tests/cases/conformance/node/nodeModulesPackageImportsRootWildcardNode16.ts] //// + +=== src/foo.ts === +export const foo = "foo"; +>foo : Symbol(foo, Decl(foo.ts, 0, 12)) + +=== index.ts === +// esm format file +import { foo } from "#/foo.js"; +>foo : Symbol(foo, Decl(index.ts, 1, 8)) + +foo; +>foo : Symbol(foo, Decl(index.ts, 1, 8)) + diff --git a/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node18).trace.json b/tests/baselines/reference/nodeModulesPackageImportsRootWildcardNode16.trace.json similarity index 68% rename from tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node18).trace.json rename to tests/baselines/reference/nodeModulesPackageImportsRootWildcardNode16.trace.json index ce2392cc8ed1f..828698cd828cb 100644 --- a/tests/baselines/reference/nodeModulesPackageImportsRootWildcard(module=node18).trace.json +++ b/tests/baselines/reference/nodeModulesPackageImportsRootWildcardNode16.trace.json @@ -1,71 +1,26 @@ [ "File '/.src/src/package.json' does not exist.", "Found 'package.json' at '/.src/package.json'.", - "File '/.src/src/features/package.json' does not exist.", - "File '/.src/src/package.json' does not exist according to earlier cached lookups.", - "File '/.src/package.json' exists according to earlier cached lookups.", - "File '/.src/src/nested/deep/package.json' does not exist.", - "File '/.src/src/nested/package.json' does not exist.", - "File '/.src/src/package.json' does not exist according to earlier cached lookups.", - "File '/.src/package.json' exists according to earlier cached lookups.", "File '/.src/package.json' exists according to earlier cached lookups.", "======== Resolving module '#/foo.js' from '/.src/index.ts'. ========", "Module resolution kind is not specified, using 'Node16'.", "Resolving in ESM mode with conditions 'import', 'types', 'node'.", + "Invalid import specifier '#/foo.js' has no possible resolutions.", "File '/.src/package.json' exists according to earlier cached lookups.", - "Using 'imports' subpath '#/*' with target './src/foo.js'.", - "File name '/.src/src/foo.js' has a '.js' extension - stripping it.", - "File '/.src/src/foo.ts' exists - use it as a name resolution result.", - "======== Module name '#/foo.js' was successfully resolved to '/.src/src/foo.ts'. ========", - "======== Resolving module '#/features/bar.js' from '/.src/index.ts'. ========", - "Module resolution kind is not specified, using 'Node16'.", - "Resolving in ESM mode with conditions 'import', 'types', 'node'.", - "File '/.src/package.json' exists according to earlier cached lookups.", - "Using 'imports' subpath '#/*' with target './src/features/bar.js'.", - "File name '/.src/src/features/bar.js' has a '.js' extension - stripping it.", - "File '/.src/src/features/bar.ts' exists - use it as a name resolution result.", - "======== Module name '#/features/bar.js' was successfully resolved to '/.src/src/features/bar.ts'. ========", - "======== Resolving module '#/nested/deep/baz.js' from '/.src/index.ts'. ========", - "Module resolution kind is not specified, using 'Node16'.", - "Resolving in ESM mode with conditions 'import', 'types', 'node'.", - "File '/.src/package.json' exists according to earlier cached lookups.", - "Using 'imports' subpath '#/*' with target './src/nested/deep/baz.js'.", - "File name '/.src/src/nested/deep/baz.js' has a '.js' extension - stripping it.", - "File '/.src/src/nested/deep/baz.ts' exists - use it as a name resolution result.", - "======== Module name '#/nested/deep/baz.js' was successfully resolved to '/.src/src/nested/deep/baz.ts'. ========", - "======== Resolving module '#/foo.js' from '/.src/index.mts'. ========", - "Resolution for module '#/foo.js' was found in cache from location '/.src'.", - "======== Module name '#/foo.js' was successfully resolved to '/.src/src/foo.ts'. ========", - "======== Resolving module '#/features/bar.js' from '/.src/index.mts'. ========", - "Resolution for module '#/features/bar.js' was found in cache from location '/.src'.", - "======== Module name '#/features/bar.js' was successfully resolved to '/.src/src/features/bar.ts'. ========", - "======== Resolving module '#/nested/deep/baz.js' from '/.src/index.mts'. ========", - "Resolution for module '#/nested/deep/baz.js' was found in cache from location '/.src'.", - "======== Module name '#/nested/deep/baz.js' was successfully resolved to '/.src/src/nested/deep/baz.ts'. ========", - "======== Resolving module '#/foo.js' from '/.src/index.cts'. ========", - "Module resolution kind is not specified, using 'Node16'.", - "Resolving in CJS mode with conditions 'require', 'types', 'node'.", - "File '/.src/package.json' exists according to earlier cached lookups.", - "Using 'imports' subpath '#/*' with target './src/foo.js'.", - "File name '/.src/src/foo.js' has a '.js' extension - stripping it.", - "File '/.src/src/foo.ts' exists - use it as a name resolution result.", - "======== Module name '#/foo.js' was successfully resolved to '/.src/src/foo.ts'. ========", - "======== Resolving module '#/features/bar.js' from '/.src/index.cts'. ========", - "Module resolution kind is not specified, using 'Node16'.", - "Resolving in CJS mode with conditions 'require', 'types', 'node'.", - "File '/.src/package.json' exists according to earlier cached lookups.", - "Using 'imports' subpath '#/*' with target './src/features/bar.js'.", - "File name '/.src/src/features/bar.js' has a '.js' extension - stripping it.", - "File '/.src/src/features/bar.ts' exists - use it as a name resolution result.", - "======== Module name '#/features/bar.js' was successfully resolved to '/.src/src/features/bar.ts'. ========", - "======== Resolving module '#/nested/deep/baz.js' from '/.src/index.cts'. ========", - "Module resolution kind is not specified, using 'Node16'.", - "Resolving in CJS mode with conditions 'require', 'types', 'node'.", - "File '/.src/package.json' exists according to earlier cached lookups.", - "Using 'imports' subpath '#/*' with target './src/nested/deep/baz.js'.", - "File name '/.src/src/nested/deep/baz.js' has a '.js' extension - stripping it.", - "File '/.src/src/nested/deep/baz.ts' exists - use it as a name resolution result.", - "======== Module name '#/nested/deep/baz.js' was successfully resolved to '/.src/src/nested/deep/baz.ts'. ========", + "Loading module '#/foo.js' from 'node_modules' folder, target file types: TypeScript, JavaScript, Declaration.", + "Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.", + "Directory '/.src/node_modules' does not exist, skipping all lookups in it.", + "File name '/.src/node_modules/#/foo.js' has a '.js' extension - stripping it.", + "File name '/.src/node_modules/@types/#/foo.js' has a '.js' extension - stripping it.", + "Directory '/node_modules' does not exist, skipping all lookups in it.", + "File name '/node_modules/#/foo.js' has a '.js' extension - stripping it.", + "File name '/node_modules/@types/#/foo.js' has a '.js' extension - stripping it.", + "Searching all ancestor node_modules directories for fallback extensions: JavaScript.", + "Directory '/.src/node_modules' does not exist, skipping all lookups in it.", + "File name '/.src/node_modules/#/foo.js' has a '.js' extension - stripping it.", + "Directory '/node_modules' does not exist, skipping all lookups in it.", + "File name '/node_modules/#/foo.js' has a '.js' extension - stripping it.", + "======== Module name '#/foo.js' was not resolved. ========", "File '/.ts/package.json' does not exist.", "File '/package.json' does not exist.", "File '/.ts/package.json' does not exist according to earlier cached lookups.", diff --git a/tests/baselines/reference/nodeModulesPackageImportsRootWildcardNode16.types b/tests/baselines/reference/nodeModulesPackageImportsRootWildcardNode16.types new file mode 100644 index 0000000000000..1c3c0f9712a52 --- /dev/null +++ b/tests/baselines/reference/nodeModulesPackageImportsRootWildcardNode16.types @@ -0,0 +1,19 @@ +//// [tests/cases/conformance/node/nodeModulesPackageImportsRootWildcardNode16.ts] //// + +=== src/foo.ts === +export const foo = "foo"; +>foo : "foo" +> : ^^^^^ +>"foo" : "foo" +> : ^^^^^ + +=== index.ts === +// esm format file +import { foo } from "#/foo.js"; +>foo : any +> : ^^^ + +foo; +>foo : any +> : ^^^ + diff --git a/tests/cases/conformance/node/nodeModulesPackageImportsRootWildcard.ts b/tests/cases/conformance/node/nodeModulesPackageImportsRootWildcard.ts index 69e5d506512ff..4b0ca480bc853 100644 --- a/tests/cases/conformance/node/nodeModulesPackageImportsRootWildcard.ts +++ b/tests/cases/conformance/node/nodeModulesPackageImportsRootWildcard.ts @@ -1,4 +1,4 @@ -// @module: node16,node18,node20,nodenext +// @module: nodenext // @declaration: true // @traceResolution: true // @filename: package.json diff --git a/tests/cases/conformance/node/nodeModulesPackageImportsRootWildcardNode16.ts b/tests/cases/conformance/node/nodeModulesPackageImportsRootWildcardNode16.ts new file mode 100644 index 0000000000000..edd2b10c5abff --- /dev/null +++ b/tests/cases/conformance/node/nodeModulesPackageImportsRootWildcardNode16.ts @@ -0,0 +1,18 @@ +// @module: node16 +// @declaration: true +// @traceResolution: true +// @filename: package.json +{ + "name": "package", + "private": true, + "type": "module", + "imports": { + "#/*": "./src/*" + } +} +// @filename: src/foo.ts +export const foo = "foo"; +// @filename: index.ts +// esm format file +import { foo } from "#/foo.js"; +foo; diff --git a/tests/cases/fourslash/importCompletionsPackageJsonImportsPatternRootWildcard.ts b/tests/cases/fourslash/importCompletionsPackageJsonImportsPatternRootWildcard.ts index 34d036e3b622b..304d799d44b70 100644 --- a/tests/cases/fourslash/importCompletionsPackageJsonImportsPatternRootWildcard.ts +++ b/tests/cases/fourslash/importCompletionsPackageJsonImportsPatternRootWildcard.ts @@ -1,6 +1,6 @@ /// -// @module: node18 +// @module: nodenext // @Filename: /package.json //// {