From aba9afada2cebfc5902090cea5bafbde56fe01c3 Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Wed, 19 Jun 2024 21:04:19 -0700 Subject: [PATCH 01/22] Add new option resolveBareImports --- src/compiler/checker.ts | 4 ++++ src/compiler/commandLineParser.ts | 8 ++++++++ src/compiler/diagnosticMessages.json | 4 ++++ src/compiler/types.ts | 1 + src/testRunner/compilerRunner.ts | 1 + tests/baselines/reference/api/typescript.d.ts | 1 + .../Default initialized TSConfig/tsconfig.json | 1 + .../tsconfig.json | 1 + .../tsconfig.json | 1 + .../tsconfig.json | 1 + .../tsconfig.json | 1 + .../tsconfig.json | 1 + .../tsconfig.json | 1 + .../tsconfig.json | 1 + .../tsconfig.json | 1 + .../tsconfig.json | 1 + .../tsconfig.json | 1 + .../resolveBareImports/tsconfig.json | 5 +++++ .../resolveBareImports(module=commonjs).js | 14 ++++++++++++++ .../resolveBareImports(module=commonjs).symbols | 8 ++++++++ .../resolveBareImports(module=commonjs).types | 8 ++++++++ ...(module=commonjs,resolvebareimports=false).js | 14 ++++++++++++++ ...le=commonjs,resolvebareimports=false).symbols | 8 ++++++++ ...dule=commonjs,resolvebareimports=false).types | 8 ++++++++ ...=commonjs,resolvebareimports=true).errors.txt | 16 ++++++++++++++++ ...s(module=commonjs,resolvebareimports=true).js | 14 ++++++++++++++ ...ule=commonjs,resolvebareimports=true).symbols | 8 ++++++++ ...odule=commonjs,resolvebareimports=true).types | 8 ++++++++ .../resolveBareImports(module=nodenext).js | 14 ++++++++++++++ .../resolveBareImports(module=nodenext).symbols | 8 ++++++++ .../resolveBareImports(module=nodenext).types | 8 ++++++++ ...(module=nodenext,resolvebareimports=false).js | 14 ++++++++++++++ ...le=nodenext,resolvebareimports=false).symbols | 8 ++++++++ ...dule=nodenext,resolvebareimports=false).types | 8 ++++++++ ...=nodenext,resolvebareimports=true).errors.txt | 16 ++++++++++++++++ ...s(module=nodenext,resolvebareimports=true).js | 14 ++++++++++++++ ...ule=nodenext,resolvebareimports=true).symbols | 8 ++++++++ ...odule=nodenext,resolvebareimports=true).types | 8 ++++++++ .../resolveBareImports(module=preserve).js | 12 ++++++++++++ .../resolveBareImports(module=preserve).symbols | 8 ++++++++ .../resolveBareImports(module=preserve).types | 8 ++++++++ ...(module=preserve,resolvebareimports=false).js | 12 ++++++++++++ ...le=preserve,resolvebareimports=false).symbols | 8 ++++++++ ...dule=preserve,resolvebareimports=false).types | 8 ++++++++ ...=preserve,resolvebareimports=true).errors.txt | 16 ++++++++++++++++ ...s(module=preserve,resolvebareimports=true).js | 12 ++++++++++++ ...ule=preserve,resolvebareimports=true).symbols | 8 ++++++++ ...odule=preserve,resolvebareimports=true).types | 8 ++++++++ tests/cases/compiler/resolveBareImports.ts | 6 ++++++ 49 files changed, 353 insertions(+) create mode 100644 tests/baselines/reference/config/showConfig/Shows tsconfig for single option/resolveBareImports/tsconfig.json create mode 100644 tests/baselines/reference/resolveBareImports(module=commonjs).js create mode 100644 tests/baselines/reference/resolveBareImports(module=commonjs).symbols create mode 100644 tests/baselines/reference/resolveBareImports(module=commonjs).types create mode 100644 tests/baselines/reference/resolveBareImports(module=commonjs,resolvebareimports=false).js create mode 100644 tests/baselines/reference/resolveBareImports(module=commonjs,resolvebareimports=false).symbols create mode 100644 tests/baselines/reference/resolveBareImports(module=commonjs,resolvebareimports=false).types create mode 100644 tests/baselines/reference/resolveBareImports(module=commonjs,resolvebareimports=true).errors.txt create mode 100644 tests/baselines/reference/resolveBareImports(module=commonjs,resolvebareimports=true).js create mode 100644 tests/baselines/reference/resolveBareImports(module=commonjs,resolvebareimports=true).symbols create mode 100644 tests/baselines/reference/resolveBareImports(module=commonjs,resolvebareimports=true).types create mode 100644 tests/baselines/reference/resolveBareImports(module=nodenext).js create mode 100644 tests/baselines/reference/resolveBareImports(module=nodenext).symbols create mode 100644 tests/baselines/reference/resolveBareImports(module=nodenext).types create mode 100644 tests/baselines/reference/resolveBareImports(module=nodenext,resolvebareimports=false).js create mode 100644 tests/baselines/reference/resolveBareImports(module=nodenext,resolvebareimports=false).symbols create mode 100644 tests/baselines/reference/resolveBareImports(module=nodenext,resolvebareimports=false).types create mode 100644 tests/baselines/reference/resolveBareImports(module=nodenext,resolvebareimports=true).errors.txt create mode 100644 tests/baselines/reference/resolveBareImports(module=nodenext,resolvebareimports=true).js create mode 100644 tests/baselines/reference/resolveBareImports(module=nodenext,resolvebareimports=true).symbols create mode 100644 tests/baselines/reference/resolveBareImports(module=nodenext,resolvebareimports=true).types create mode 100644 tests/baselines/reference/resolveBareImports(module=preserve).js create mode 100644 tests/baselines/reference/resolveBareImports(module=preserve).symbols create mode 100644 tests/baselines/reference/resolveBareImports(module=preserve).types create mode 100644 tests/baselines/reference/resolveBareImports(module=preserve,resolvebareimports=false).js create mode 100644 tests/baselines/reference/resolveBareImports(module=preserve,resolvebareimports=false).symbols create mode 100644 tests/baselines/reference/resolveBareImports(module=preserve,resolvebareimports=false).types create mode 100644 tests/baselines/reference/resolveBareImports(module=preserve,resolvebareimports=true).errors.txt create mode 100644 tests/baselines/reference/resolveBareImports(module=preserve,resolvebareimports=true).js create mode 100644 tests/baselines/reference/resolveBareImports(module=preserve,resolvebareimports=true).symbols create mode 100644 tests/baselines/reference/resolveBareImports(module=preserve,resolvebareimports=true).types create mode 100644 tests/cases/compiler/resolveBareImports.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index ad3ecc3d2ec91..e65e18bfd9bca 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -1502,6 +1502,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { var noImplicitThis = getStrictOptionValue(compilerOptions, "noImplicitThis"); var useUnknownInCatchVariables = getStrictOptionValue(compilerOptions, "useUnknownInCatchVariables"); var exactOptionalPropertyTypes = compilerOptions.exactOptionalPropertyTypes; + var resolveBareImports = compilerOptions.resolveBareImports; var checkBinaryExpression = createCheckBinaryExpression(); var emitResolver = createResolver(); @@ -47126,6 +47127,9 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } } } + else if (resolveBareImports && !importClause) { + void resolveExternalModuleName(node, node.moduleSpecifier); + } } checkImportAttributes(node); } diff --git a/src/compiler/commandLineParser.ts b/src/compiler/commandLineParser.ts index 5c0a33c6e46bb..dc659cf768828 100644 --- a/src/compiler/commandLineParser.ts +++ b/src/compiler/commandLineParser.ts @@ -1192,6 +1192,14 @@ const commandOptionsWithoutBuild: CommandLineOption[] = [ category: Diagnostics.Modules, description: Diagnostics.Conditions_to_set_in_addition_to_the_resolver_specific_defaults_when_resolving_imports, }, + { + name: "resolveBareImports", + type: "boolean", + affectsModuleResolution: true, + category: Diagnostics.Modules, + description: Diagnostics.Resolve_bare_imports, + defaultValueDescription: false, + }, // Source Maps { diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json index 3ee4748496899..a0e72a4e93dbf 100644 --- a/src/compiler/diagnosticMessages.json +++ b/src/compiler/diagnosticMessages.json @@ -6384,6 +6384,10 @@ "category": "Message", "code": 6805 }, + "Resolve bare imports.": { + "category": "Message", + "code": 6806 + }, "one of:": { "category": "Message", diff --git a/src/compiler/types.ts b/src/compiler/types.ts index 33f1b459215f6..8782275c31a4e 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -7349,6 +7349,7 @@ export interface CompilerOptions { target?: ScriptTarget; traceResolution?: boolean; useUnknownInCatchVariables?: boolean; + resolveBareImports?: boolean; resolveJsonModule?: boolean; types?: string[]; /** Paths used to compute primary types search locations */ diff --git a/src/testRunner/compilerRunner.ts b/src/testRunner/compilerRunner.ts index 93bc55c1159fe..5055d109bf6e0 100644 --- a/src/testRunner/compilerRunner.ts +++ b/src/testRunner/compilerRunner.ts @@ -150,6 +150,7 @@ class CompilerTest { "noUncheckedIndexedAccess", "preserveConstEnums", "removeComments", + "resolveBareImports", "resolveJsonModule", "resolvePackageJsonExports", "resolvePackageJsonImports", diff --git a/tests/baselines/reference/api/typescript.d.ts b/tests/baselines/reference/api/typescript.d.ts index 4cb372862d6d5..fb0c5748a972c 100644 --- a/tests/baselines/reference/api/typescript.d.ts +++ b/tests/baselines/reference/api/typescript.d.ts @@ -6953,6 +6953,7 @@ declare namespace ts { target?: ScriptTarget; traceResolution?: boolean; useUnknownInCatchVariables?: boolean; + resolveBareImports?: boolean; resolveJsonModule?: boolean; types?: string[]; /** Paths used to compute primary types search locations */ diff --git a/tests/baselines/reference/config/initTSConfig/Default initialized TSConfig/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Default initialized TSConfig/tsconfig.json index 4c3a3cb096410..2286c190e3ddb 100644 --- a/tests/baselines/reference/config/initTSConfig/Default initialized TSConfig/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Default initialized TSConfig/tsconfig.json @@ -39,6 +39,7 @@ // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ + // "resolveBareImports": true, /* Resolve bare imports. */ // "resolveJsonModule": true, /* Enable importing .json files. */ // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with --help/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with --help/tsconfig.json index 4c3a3cb096410..2286c190e3ddb 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with --help/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with --help/tsconfig.json @@ -39,6 +39,7 @@ // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ + // "resolveBareImports": true, /* Resolve bare imports. */ // "resolveJsonModule": true, /* Enable importing .json files. */ // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with --watch/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with --watch/tsconfig.json index 4c3a3cb096410..2286c190e3ddb 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with --watch/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with --watch/tsconfig.json @@ -39,6 +39,7 @@ // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ + // "resolveBareImports": true, /* Resolve bare imports. */ // "resolveJsonModule": true, /* Enable importing .json files. */ // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with advanced options/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with advanced options/tsconfig.json index edb7ea2b9b349..34e93c9c43b46 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with advanced options/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with advanced options/tsconfig.json @@ -39,6 +39,7 @@ // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ + // "resolveBareImports": true, /* Resolve bare imports. */ // "resolveJsonModule": true, /* Enable importing .json files. */ // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with boolean value compiler options/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with boolean value compiler options/tsconfig.json index e01c1d7bb35dc..a1a464cbd8bf9 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with boolean value compiler options/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with boolean value compiler options/tsconfig.json @@ -39,6 +39,7 @@ // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ + // "resolveBareImports": true, /* Resolve bare imports. */ // "resolveJsonModule": true, /* Enable importing .json files. */ // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with enum value compiler options/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with enum value compiler options/tsconfig.json index e0614bfc14e17..9a7e57f55bcee 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with enum value compiler options/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with enum value compiler options/tsconfig.json @@ -39,6 +39,7 @@ // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ + // "resolveBareImports": true, /* Resolve bare imports. */ // "resolveJsonModule": true, /* Enable importing .json files. */ // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with files options/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with files options/tsconfig.json index ef17a1a4dcfb2..b2dc52828d1a3 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with files options/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with files options/tsconfig.json @@ -39,6 +39,7 @@ // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ + // "resolveBareImports": true, /* Resolve bare imports. */ // "resolveJsonModule": true, /* Enable importing .json files. */ // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with incorrect compiler option value/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with incorrect compiler option value/tsconfig.json index 015e6dc8a3c76..40bcc6495ca4f 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with incorrect compiler option value/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with incorrect compiler option value/tsconfig.json @@ -39,6 +39,7 @@ // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ + // "resolveBareImports": true, /* Resolve bare imports. */ // "resolveJsonModule": true, /* Enable importing .json files. */ // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with incorrect compiler option/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with incorrect compiler option/tsconfig.json index 4c3a3cb096410..2286c190e3ddb 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with incorrect compiler option/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with incorrect compiler option/tsconfig.json @@ -39,6 +39,7 @@ // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ + // "resolveBareImports": true, /* Resolve bare imports. */ // "resolveJsonModule": true, /* Enable importing .json files. */ // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with list compiler options with enum value/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with list compiler options with enum value/tsconfig.json index b153779e49c2b..dabbcb7da06e1 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with list compiler options with enum value/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with list compiler options with enum value/tsconfig.json @@ -39,6 +39,7 @@ // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ + // "resolveBareImports": true, /* Resolve bare imports. */ // "resolveJsonModule": true, /* Enable importing .json files. */ // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with list compiler options/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with list compiler options/tsconfig.json index 9120ea674fb57..7cb9f12101258 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with list compiler options/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with list compiler options/tsconfig.json @@ -39,6 +39,7 @@ // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ + // "resolveBareImports": true, /* Resolve bare imports. */ // "resolveJsonModule": true, /* Enable importing .json files. */ // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ diff --git a/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/resolveBareImports/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/resolveBareImports/tsconfig.json new file mode 100644 index 0000000000000..3bbc017df6941 --- /dev/null +++ b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/resolveBareImports/tsconfig.json @@ -0,0 +1,5 @@ +{ + "compilerOptions": { + "resolveBareImports": true + } +} diff --git a/tests/baselines/reference/resolveBareImports(module=commonjs).js b/tests/baselines/reference/resolveBareImports(module=commonjs).js new file mode 100644 index 0000000000000..65ae9aed624ae --- /dev/null +++ b/tests/baselines/reference/resolveBareImports(module=commonjs).js @@ -0,0 +1,14 @@ +//// [tests/cases/compiler/resolveBareImports.ts] //// + +//// [resolveBareImports.ts] +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + + +//// [resolveBareImports.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +require("does-not-exist"); +require("./does-not-exist-either"); +require("./does-not-exist-either.js"); diff --git a/tests/baselines/reference/resolveBareImports(module=commonjs).symbols b/tests/baselines/reference/resolveBareImports(module=commonjs).symbols new file mode 100644 index 0000000000000..f692f5ab5649b --- /dev/null +++ b/tests/baselines/reference/resolveBareImports(module=commonjs).symbols @@ -0,0 +1,8 @@ +//// [tests/cases/compiler/resolveBareImports.ts] //// + +=== resolveBareImports.ts === + +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + diff --git a/tests/baselines/reference/resolveBareImports(module=commonjs).types b/tests/baselines/reference/resolveBareImports(module=commonjs).types new file mode 100644 index 0000000000000..f692f5ab5649b --- /dev/null +++ b/tests/baselines/reference/resolveBareImports(module=commonjs).types @@ -0,0 +1,8 @@ +//// [tests/cases/compiler/resolveBareImports.ts] //// + +=== resolveBareImports.ts === + +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + diff --git a/tests/baselines/reference/resolveBareImports(module=commonjs,resolvebareimports=false).js b/tests/baselines/reference/resolveBareImports(module=commonjs,resolvebareimports=false).js new file mode 100644 index 0000000000000..65ae9aed624ae --- /dev/null +++ b/tests/baselines/reference/resolveBareImports(module=commonjs,resolvebareimports=false).js @@ -0,0 +1,14 @@ +//// [tests/cases/compiler/resolveBareImports.ts] //// + +//// [resolveBareImports.ts] +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + + +//// [resolveBareImports.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +require("does-not-exist"); +require("./does-not-exist-either"); +require("./does-not-exist-either.js"); diff --git a/tests/baselines/reference/resolveBareImports(module=commonjs,resolvebareimports=false).symbols b/tests/baselines/reference/resolveBareImports(module=commonjs,resolvebareimports=false).symbols new file mode 100644 index 0000000000000..f692f5ab5649b --- /dev/null +++ b/tests/baselines/reference/resolveBareImports(module=commonjs,resolvebareimports=false).symbols @@ -0,0 +1,8 @@ +//// [tests/cases/compiler/resolveBareImports.ts] //// + +=== resolveBareImports.ts === + +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + diff --git a/tests/baselines/reference/resolveBareImports(module=commonjs,resolvebareimports=false).types b/tests/baselines/reference/resolveBareImports(module=commonjs,resolvebareimports=false).types new file mode 100644 index 0000000000000..f692f5ab5649b --- /dev/null +++ b/tests/baselines/reference/resolveBareImports(module=commonjs,resolvebareimports=false).types @@ -0,0 +1,8 @@ +//// [tests/cases/compiler/resolveBareImports.ts] //// + +=== resolveBareImports.ts === + +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + diff --git a/tests/baselines/reference/resolveBareImports(module=commonjs,resolvebareimports=true).errors.txt b/tests/baselines/reference/resolveBareImports(module=commonjs,resolvebareimports=true).errors.txt new file mode 100644 index 0000000000000..38f3361d4fa2c --- /dev/null +++ b/tests/baselines/reference/resolveBareImports(module=commonjs,resolvebareimports=true).errors.txt @@ -0,0 +1,16 @@ +resolveBareImports.ts(1,8): error TS2307: Cannot find module 'does-not-exist' or its corresponding type declarations. +resolveBareImports.ts(2,8): error TS2307: Cannot find module './does-not-exist-either' or its corresponding type declarations. +resolveBareImports.ts(3,8): error TS2307: Cannot find module './does-not-exist-either.js' or its corresponding type declarations. + + +==== resolveBareImports.ts (3 errors) ==== + import "does-not-exist"; + ~~~~~~~~~~~~~~~~ +!!! error TS2307: Cannot find module 'does-not-exist' or its corresponding type declarations. + import "./does-not-exist-either"; + ~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2307: Cannot find module './does-not-exist-either' or its corresponding type declarations. + import "./does-not-exist-either.js"; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2307: Cannot find module './does-not-exist-either.js' or its corresponding type declarations. + \ No newline at end of file diff --git a/tests/baselines/reference/resolveBareImports(module=commonjs,resolvebareimports=true).js b/tests/baselines/reference/resolveBareImports(module=commonjs,resolvebareimports=true).js new file mode 100644 index 0000000000000..65ae9aed624ae --- /dev/null +++ b/tests/baselines/reference/resolveBareImports(module=commonjs,resolvebareimports=true).js @@ -0,0 +1,14 @@ +//// [tests/cases/compiler/resolveBareImports.ts] //// + +//// [resolveBareImports.ts] +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + + +//// [resolveBareImports.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +require("does-not-exist"); +require("./does-not-exist-either"); +require("./does-not-exist-either.js"); diff --git a/tests/baselines/reference/resolveBareImports(module=commonjs,resolvebareimports=true).symbols b/tests/baselines/reference/resolveBareImports(module=commonjs,resolvebareimports=true).symbols new file mode 100644 index 0000000000000..f692f5ab5649b --- /dev/null +++ b/tests/baselines/reference/resolveBareImports(module=commonjs,resolvebareimports=true).symbols @@ -0,0 +1,8 @@ +//// [tests/cases/compiler/resolveBareImports.ts] //// + +=== resolveBareImports.ts === + +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + diff --git a/tests/baselines/reference/resolveBareImports(module=commonjs,resolvebareimports=true).types b/tests/baselines/reference/resolveBareImports(module=commonjs,resolvebareimports=true).types new file mode 100644 index 0000000000000..f692f5ab5649b --- /dev/null +++ b/tests/baselines/reference/resolveBareImports(module=commonjs,resolvebareimports=true).types @@ -0,0 +1,8 @@ +//// [tests/cases/compiler/resolveBareImports.ts] //// + +=== resolveBareImports.ts === + +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + diff --git a/tests/baselines/reference/resolveBareImports(module=nodenext).js b/tests/baselines/reference/resolveBareImports(module=nodenext).js new file mode 100644 index 0000000000000..65ae9aed624ae --- /dev/null +++ b/tests/baselines/reference/resolveBareImports(module=nodenext).js @@ -0,0 +1,14 @@ +//// [tests/cases/compiler/resolveBareImports.ts] //// + +//// [resolveBareImports.ts] +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + + +//// [resolveBareImports.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +require("does-not-exist"); +require("./does-not-exist-either"); +require("./does-not-exist-either.js"); diff --git a/tests/baselines/reference/resolveBareImports(module=nodenext).symbols b/tests/baselines/reference/resolveBareImports(module=nodenext).symbols new file mode 100644 index 0000000000000..f692f5ab5649b --- /dev/null +++ b/tests/baselines/reference/resolveBareImports(module=nodenext).symbols @@ -0,0 +1,8 @@ +//// [tests/cases/compiler/resolveBareImports.ts] //// + +=== resolveBareImports.ts === + +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + diff --git a/tests/baselines/reference/resolveBareImports(module=nodenext).types b/tests/baselines/reference/resolveBareImports(module=nodenext).types new file mode 100644 index 0000000000000..f692f5ab5649b --- /dev/null +++ b/tests/baselines/reference/resolveBareImports(module=nodenext).types @@ -0,0 +1,8 @@ +//// [tests/cases/compiler/resolveBareImports.ts] //// + +=== resolveBareImports.ts === + +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + diff --git a/tests/baselines/reference/resolveBareImports(module=nodenext,resolvebareimports=false).js b/tests/baselines/reference/resolveBareImports(module=nodenext,resolvebareimports=false).js new file mode 100644 index 0000000000000..65ae9aed624ae --- /dev/null +++ b/tests/baselines/reference/resolveBareImports(module=nodenext,resolvebareimports=false).js @@ -0,0 +1,14 @@ +//// [tests/cases/compiler/resolveBareImports.ts] //// + +//// [resolveBareImports.ts] +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + + +//// [resolveBareImports.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +require("does-not-exist"); +require("./does-not-exist-either"); +require("./does-not-exist-either.js"); diff --git a/tests/baselines/reference/resolveBareImports(module=nodenext,resolvebareimports=false).symbols b/tests/baselines/reference/resolveBareImports(module=nodenext,resolvebareimports=false).symbols new file mode 100644 index 0000000000000..f692f5ab5649b --- /dev/null +++ b/tests/baselines/reference/resolveBareImports(module=nodenext,resolvebareimports=false).symbols @@ -0,0 +1,8 @@ +//// [tests/cases/compiler/resolveBareImports.ts] //// + +=== resolveBareImports.ts === + +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + diff --git a/tests/baselines/reference/resolveBareImports(module=nodenext,resolvebareimports=false).types b/tests/baselines/reference/resolveBareImports(module=nodenext,resolvebareimports=false).types new file mode 100644 index 0000000000000..f692f5ab5649b --- /dev/null +++ b/tests/baselines/reference/resolveBareImports(module=nodenext,resolvebareimports=false).types @@ -0,0 +1,8 @@ +//// [tests/cases/compiler/resolveBareImports.ts] //// + +=== resolveBareImports.ts === + +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + diff --git a/tests/baselines/reference/resolveBareImports(module=nodenext,resolvebareimports=true).errors.txt b/tests/baselines/reference/resolveBareImports(module=nodenext,resolvebareimports=true).errors.txt new file mode 100644 index 0000000000000..38f3361d4fa2c --- /dev/null +++ b/tests/baselines/reference/resolveBareImports(module=nodenext,resolvebareimports=true).errors.txt @@ -0,0 +1,16 @@ +resolveBareImports.ts(1,8): error TS2307: Cannot find module 'does-not-exist' or its corresponding type declarations. +resolveBareImports.ts(2,8): error TS2307: Cannot find module './does-not-exist-either' or its corresponding type declarations. +resolveBareImports.ts(3,8): error TS2307: Cannot find module './does-not-exist-either.js' or its corresponding type declarations. + + +==== resolveBareImports.ts (3 errors) ==== + import "does-not-exist"; + ~~~~~~~~~~~~~~~~ +!!! error TS2307: Cannot find module 'does-not-exist' or its corresponding type declarations. + import "./does-not-exist-either"; + ~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2307: Cannot find module './does-not-exist-either' or its corresponding type declarations. + import "./does-not-exist-either.js"; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2307: Cannot find module './does-not-exist-either.js' or its corresponding type declarations. + \ No newline at end of file diff --git a/tests/baselines/reference/resolveBareImports(module=nodenext,resolvebareimports=true).js b/tests/baselines/reference/resolveBareImports(module=nodenext,resolvebareimports=true).js new file mode 100644 index 0000000000000..65ae9aed624ae --- /dev/null +++ b/tests/baselines/reference/resolveBareImports(module=nodenext,resolvebareimports=true).js @@ -0,0 +1,14 @@ +//// [tests/cases/compiler/resolveBareImports.ts] //// + +//// [resolveBareImports.ts] +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + + +//// [resolveBareImports.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +require("does-not-exist"); +require("./does-not-exist-either"); +require("./does-not-exist-either.js"); diff --git a/tests/baselines/reference/resolveBareImports(module=nodenext,resolvebareimports=true).symbols b/tests/baselines/reference/resolveBareImports(module=nodenext,resolvebareimports=true).symbols new file mode 100644 index 0000000000000..f692f5ab5649b --- /dev/null +++ b/tests/baselines/reference/resolveBareImports(module=nodenext,resolvebareimports=true).symbols @@ -0,0 +1,8 @@ +//// [tests/cases/compiler/resolveBareImports.ts] //// + +=== resolveBareImports.ts === + +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + diff --git a/tests/baselines/reference/resolveBareImports(module=nodenext,resolvebareimports=true).types b/tests/baselines/reference/resolveBareImports(module=nodenext,resolvebareimports=true).types new file mode 100644 index 0000000000000..f692f5ab5649b --- /dev/null +++ b/tests/baselines/reference/resolveBareImports(module=nodenext,resolvebareimports=true).types @@ -0,0 +1,8 @@ +//// [tests/cases/compiler/resolveBareImports.ts] //// + +=== resolveBareImports.ts === + +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + diff --git a/tests/baselines/reference/resolveBareImports(module=preserve).js b/tests/baselines/reference/resolveBareImports(module=preserve).js new file mode 100644 index 0000000000000..5d215405c4664 --- /dev/null +++ b/tests/baselines/reference/resolveBareImports(module=preserve).js @@ -0,0 +1,12 @@ +//// [tests/cases/compiler/resolveBareImports.ts] //// + +//// [resolveBareImports.ts] +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + + +//// [resolveBareImports.js] +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; diff --git a/tests/baselines/reference/resolveBareImports(module=preserve).symbols b/tests/baselines/reference/resolveBareImports(module=preserve).symbols new file mode 100644 index 0000000000000..f692f5ab5649b --- /dev/null +++ b/tests/baselines/reference/resolveBareImports(module=preserve).symbols @@ -0,0 +1,8 @@ +//// [tests/cases/compiler/resolveBareImports.ts] //// + +=== resolveBareImports.ts === + +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + diff --git a/tests/baselines/reference/resolveBareImports(module=preserve).types b/tests/baselines/reference/resolveBareImports(module=preserve).types new file mode 100644 index 0000000000000..f692f5ab5649b --- /dev/null +++ b/tests/baselines/reference/resolveBareImports(module=preserve).types @@ -0,0 +1,8 @@ +//// [tests/cases/compiler/resolveBareImports.ts] //// + +=== resolveBareImports.ts === + +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + diff --git a/tests/baselines/reference/resolveBareImports(module=preserve,resolvebareimports=false).js b/tests/baselines/reference/resolveBareImports(module=preserve,resolvebareimports=false).js new file mode 100644 index 0000000000000..5d215405c4664 --- /dev/null +++ b/tests/baselines/reference/resolveBareImports(module=preserve,resolvebareimports=false).js @@ -0,0 +1,12 @@ +//// [tests/cases/compiler/resolveBareImports.ts] //// + +//// [resolveBareImports.ts] +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + + +//// [resolveBareImports.js] +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; diff --git a/tests/baselines/reference/resolveBareImports(module=preserve,resolvebareimports=false).symbols b/tests/baselines/reference/resolveBareImports(module=preserve,resolvebareimports=false).symbols new file mode 100644 index 0000000000000..f692f5ab5649b --- /dev/null +++ b/tests/baselines/reference/resolveBareImports(module=preserve,resolvebareimports=false).symbols @@ -0,0 +1,8 @@ +//// [tests/cases/compiler/resolveBareImports.ts] //// + +=== resolveBareImports.ts === + +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + diff --git a/tests/baselines/reference/resolveBareImports(module=preserve,resolvebareimports=false).types b/tests/baselines/reference/resolveBareImports(module=preserve,resolvebareimports=false).types new file mode 100644 index 0000000000000..f692f5ab5649b --- /dev/null +++ b/tests/baselines/reference/resolveBareImports(module=preserve,resolvebareimports=false).types @@ -0,0 +1,8 @@ +//// [tests/cases/compiler/resolveBareImports.ts] //// + +=== resolveBareImports.ts === + +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + diff --git a/tests/baselines/reference/resolveBareImports(module=preserve,resolvebareimports=true).errors.txt b/tests/baselines/reference/resolveBareImports(module=preserve,resolvebareimports=true).errors.txt new file mode 100644 index 0000000000000..38f3361d4fa2c --- /dev/null +++ b/tests/baselines/reference/resolveBareImports(module=preserve,resolvebareimports=true).errors.txt @@ -0,0 +1,16 @@ +resolveBareImports.ts(1,8): error TS2307: Cannot find module 'does-not-exist' or its corresponding type declarations. +resolveBareImports.ts(2,8): error TS2307: Cannot find module './does-not-exist-either' or its corresponding type declarations. +resolveBareImports.ts(3,8): error TS2307: Cannot find module './does-not-exist-either.js' or its corresponding type declarations. + + +==== resolveBareImports.ts (3 errors) ==== + import "does-not-exist"; + ~~~~~~~~~~~~~~~~ +!!! error TS2307: Cannot find module 'does-not-exist' or its corresponding type declarations. + import "./does-not-exist-either"; + ~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2307: Cannot find module './does-not-exist-either' or its corresponding type declarations. + import "./does-not-exist-either.js"; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2307: Cannot find module './does-not-exist-either.js' or its corresponding type declarations. + \ No newline at end of file diff --git a/tests/baselines/reference/resolveBareImports(module=preserve,resolvebareimports=true).js b/tests/baselines/reference/resolveBareImports(module=preserve,resolvebareimports=true).js new file mode 100644 index 0000000000000..5d215405c4664 --- /dev/null +++ b/tests/baselines/reference/resolveBareImports(module=preserve,resolvebareimports=true).js @@ -0,0 +1,12 @@ +//// [tests/cases/compiler/resolveBareImports.ts] //// + +//// [resolveBareImports.ts] +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + + +//// [resolveBareImports.js] +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; diff --git a/tests/baselines/reference/resolveBareImports(module=preserve,resolvebareimports=true).symbols b/tests/baselines/reference/resolveBareImports(module=preserve,resolvebareimports=true).symbols new file mode 100644 index 0000000000000..f692f5ab5649b --- /dev/null +++ b/tests/baselines/reference/resolveBareImports(module=preserve,resolvebareimports=true).symbols @@ -0,0 +1,8 @@ +//// [tests/cases/compiler/resolveBareImports.ts] //// + +=== resolveBareImports.ts === + +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + diff --git a/tests/baselines/reference/resolveBareImports(module=preserve,resolvebareimports=true).types b/tests/baselines/reference/resolveBareImports(module=preserve,resolvebareimports=true).types new file mode 100644 index 0000000000000..f692f5ab5649b --- /dev/null +++ b/tests/baselines/reference/resolveBareImports(module=preserve,resolvebareimports=true).types @@ -0,0 +1,8 @@ +//// [tests/cases/compiler/resolveBareImports.ts] //// + +=== resolveBareImports.ts === + +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + diff --git a/tests/cases/compiler/resolveBareImports.ts b/tests/cases/compiler/resolveBareImports.ts new file mode 100644 index 0000000000000..b2ffd869d273a --- /dev/null +++ b/tests/cases/compiler/resolveBareImports.ts @@ -0,0 +1,6 @@ +// @resolveBareImports: true,false +// @module: commonjs,nodenext,preserve + +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; From b7eda587942e91d265710d2edd0040ff4310db14 Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Wed, 19 Jun 2024 21:32:27 -0700 Subject: [PATCH 02/22] Enable this by default for testing --- src/compiler/checker.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index e65e18bfd9bca..04600f72cf18c 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -47127,7 +47127,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } } } - else if (resolveBareImports && !importClause) { + else if (resolveBareImports !== false && !importClause) { // TODO(jakebailey): revert after testing impact void resolveExternalModuleName(node, node.moduleSpecifier); } } From dfd0cf4e8908bf5bd3a9a7cc742f3625c3bf1b85 Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Thu, 20 Jun 2024 10:50:07 -0700 Subject: [PATCH 03/22] Revert "Enable this by default for testing" This reverts commit b7eda587942e91d265710d2edd0040ff4310db14. --- src/compiler/checker.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 04600f72cf18c..e65e18bfd9bca 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -47127,7 +47127,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } } } - else if (resolveBareImports !== false && !importClause) { // TODO(jakebailey): revert after testing impact + else if (resolveBareImports && !importClause) { void resolveExternalModuleName(node, node.moduleSpecifier); } } From 0a38dcffa6c300ddec6f3c66dae399952dd3493f Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Thu, 20 Jun 2024 10:55:39 -0700 Subject: [PATCH 04/22] Rename to resolveSideEffectImports --- src/compiler/checker.ts | 4 ++-- src/compiler/commandLineParser.ts | 4 ++-- src/compiler/diagnosticMessages.json | 2 +- src/compiler/types.ts | 2 +- src/testRunner/compilerRunner.ts | 2 +- tests/baselines/reference/api/typescript.d.ts | 2 +- .../Default initialized TSConfig/tsconfig.json | 2 +- .../Initialized TSConfig with --help/tsconfig.json | 2 +- .../tsconfig.json | 2 +- .../tsconfig.json | 2 +- .../tsconfig.json | 2 +- .../tsconfig.json | 2 +- .../tsconfig.json | 2 +- .../tsconfig.json | 2 +- .../tsconfig.json | 2 +- .../tsconfig.json | 2 +- .../tsconfig.json | 2 +- .../resolveBareImports/tsconfig.json | 5 ----- .../resolveSideEffectImports/tsconfig.json | 5 +++++ .../resolveBareImports(module=commonjs).symbols | 8 -------- .../resolveBareImports(module=commonjs).types | 8 -------- ...dule=commonjs,resolvebareimports=false).symbols | 8 -------- ...module=commonjs,resolvebareimports=false).types | 8 -------- ...odule=commonjs,resolvebareimports=true).symbols | 8 -------- ...(module=commonjs,resolvebareimports=true).types | 8 -------- .../resolveBareImports(module=nodenext).symbols | 8 -------- .../resolveBareImports(module=nodenext).types | 8 -------- ...ts(module=nodenext,resolvebareimports=false).js | 14 -------------- ...dule=nodenext,resolvebareimports=false).symbols | 8 -------- ...module=nodenext,resolvebareimports=false).types | 8 -------- ...rts(module=nodenext,resolvebareimports=true).js | 14 -------------- ...odule=nodenext,resolvebareimports=true).symbols | 8 -------- ...(module=nodenext,resolvebareimports=true).types | 8 -------- .../resolveBareImports(module=preserve).symbols | 8 -------- .../resolveBareImports(module=preserve).types | 8 -------- ...dule=preserve,resolvebareimports=false).symbols | 8 -------- ...module=preserve,resolvebareimports=false).types | 8 -------- ...rts(module=preserve,resolvebareimports=true).js | 12 ------------ ...odule=preserve,resolvebareimports=true).symbols | 8 -------- ...(module=preserve,resolvebareimports=true).types | 8 -------- ...le=commonjs,resolvesideeffectimports=false).js} | 6 +++--- ...ommonjs,resolvesideeffectimports=false).symbols | 8 ++++++++ ...=commonjs,resolvesideeffectimports=false).types | 8 ++++++++ ...onjs,resolvesideeffectimports=true).errors.txt} | 8 ++++---- ...ule=commonjs,resolvesideeffectimports=true).js} | 6 +++--- ...commonjs,resolvesideeffectimports=true).symbols | 8 ++++++++ ...e=commonjs,resolvesideeffectimports=true).types | 8 ++++++++ ...le=nodenext,resolvesideeffectimports=false).js} | 6 +++--- ...odenext,resolvesideeffectimports=false).symbols | 8 ++++++++ ...=nodenext,resolvesideeffectimports=false).types | 8 ++++++++ ...next,resolvesideeffectimports=true).errors.txt} | 8 ++++---- ...ule=nodenext,resolvesideeffectimports=true).js} | 6 +++--- ...nodenext,resolvesideeffectimports=true).symbols | 8 ++++++++ ...e=nodenext,resolvesideeffectimports=true).types | 8 ++++++++ ...le=preserve,resolvesideeffectimports=false).js} | 6 +++--- ...reserve,resolvesideeffectimports=false).symbols | 8 ++++++++ ...=preserve,resolvesideeffectimports=false).types | 8 ++++++++ ...erve,resolvesideeffectimports=true).errors.txt} | 8 ++++---- ...ule=preserve,resolvesideeffectimports=true).js} | 6 +++--- ...preserve,resolvesideeffectimports=true).symbols | 8 ++++++++ ...e=preserve,resolvesideeffectimports=true).types | 8 ++++++++ ...eBareImports.ts => resolveSideEffectImports.ts} | 2 +- 62 files changed, 151 insertions(+), 239 deletions(-) delete mode 100644 tests/baselines/reference/config/showConfig/Shows tsconfig for single option/resolveBareImports/tsconfig.json create mode 100644 tests/baselines/reference/config/showConfig/Shows tsconfig for single option/resolveSideEffectImports/tsconfig.json delete mode 100644 tests/baselines/reference/resolveBareImports(module=commonjs).symbols delete mode 100644 tests/baselines/reference/resolveBareImports(module=commonjs).types delete mode 100644 tests/baselines/reference/resolveBareImports(module=commonjs,resolvebareimports=false).symbols delete mode 100644 tests/baselines/reference/resolveBareImports(module=commonjs,resolvebareimports=false).types delete mode 100644 tests/baselines/reference/resolveBareImports(module=commonjs,resolvebareimports=true).symbols delete mode 100644 tests/baselines/reference/resolveBareImports(module=commonjs,resolvebareimports=true).types delete mode 100644 tests/baselines/reference/resolveBareImports(module=nodenext).symbols delete mode 100644 tests/baselines/reference/resolveBareImports(module=nodenext).types delete mode 100644 tests/baselines/reference/resolveBareImports(module=nodenext,resolvebareimports=false).js delete mode 100644 tests/baselines/reference/resolveBareImports(module=nodenext,resolvebareimports=false).symbols delete mode 100644 tests/baselines/reference/resolveBareImports(module=nodenext,resolvebareimports=false).types delete mode 100644 tests/baselines/reference/resolveBareImports(module=nodenext,resolvebareimports=true).js delete mode 100644 tests/baselines/reference/resolveBareImports(module=nodenext,resolvebareimports=true).symbols delete mode 100644 tests/baselines/reference/resolveBareImports(module=nodenext,resolvebareimports=true).types delete mode 100644 tests/baselines/reference/resolveBareImports(module=preserve).symbols delete mode 100644 tests/baselines/reference/resolveBareImports(module=preserve).types delete mode 100644 tests/baselines/reference/resolveBareImports(module=preserve,resolvebareimports=false).symbols delete mode 100644 tests/baselines/reference/resolveBareImports(module=preserve,resolvebareimports=false).types delete mode 100644 tests/baselines/reference/resolveBareImports(module=preserve,resolvebareimports=true).js delete mode 100644 tests/baselines/reference/resolveBareImports(module=preserve,resolvebareimports=true).symbols delete mode 100644 tests/baselines/reference/resolveBareImports(module=preserve,resolvebareimports=true).types rename tests/baselines/reference/{resolveBareImports(module=commonjs,resolvebareimports=false).js => resolveSideEffectImports(module=commonjs,resolvesideeffectimports=false).js} (66%) create mode 100644 tests/baselines/reference/resolveSideEffectImports(module=commonjs,resolvesideeffectimports=false).symbols create mode 100644 tests/baselines/reference/resolveSideEffectImports(module=commonjs,resolvesideeffectimports=false).types rename tests/baselines/reference/{resolveBareImports(module=commonjs,resolvebareimports=true).errors.txt => resolveSideEffectImports(module=commonjs,resolvesideeffectimports=true).errors.txt} (53%) rename tests/baselines/reference/{resolveBareImports(module=commonjs).js => resolveSideEffectImports(module=commonjs,resolvesideeffectimports=true).js} (66%) create mode 100644 tests/baselines/reference/resolveSideEffectImports(module=commonjs,resolvesideeffectimports=true).symbols create mode 100644 tests/baselines/reference/resolveSideEffectImports(module=commonjs,resolvesideeffectimports=true).types rename tests/baselines/reference/{resolveBareImports(module=commonjs,resolvebareimports=true).js => resolveSideEffectImports(module=nodenext,resolvesideeffectimports=false).js} (66%) create mode 100644 tests/baselines/reference/resolveSideEffectImports(module=nodenext,resolvesideeffectimports=false).symbols create mode 100644 tests/baselines/reference/resolveSideEffectImports(module=nodenext,resolvesideeffectimports=false).types rename tests/baselines/reference/{resolveBareImports(module=nodenext,resolvebareimports=true).errors.txt => resolveSideEffectImports(module=nodenext,resolvesideeffectimports=true).errors.txt} (53%) rename tests/baselines/reference/{resolveBareImports(module=nodenext).js => resolveSideEffectImports(module=nodenext,resolvesideeffectimports=true).js} (66%) create mode 100644 tests/baselines/reference/resolveSideEffectImports(module=nodenext,resolvesideeffectimports=true).symbols create mode 100644 tests/baselines/reference/resolveSideEffectImports(module=nodenext,resolvesideeffectimports=true).types rename tests/baselines/reference/{resolveBareImports(module=preserve).js => resolveSideEffectImports(module=preserve,resolvesideeffectimports=false).js} (58%) create mode 100644 tests/baselines/reference/resolveSideEffectImports(module=preserve,resolvesideeffectimports=false).symbols create mode 100644 tests/baselines/reference/resolveSideEffectImports(module=preserve,resolvesideeffectimports=false).types rename tests/baselines/reference/{resolveBareImports(module=preserve,resolvebareimports=true).errors.txt => resolveSideEffectImports(module=preserve,resolvesideeffectimports=true).errors.txt} (53%) rename tests/baselines/reference/{resolveBareImports(module=preserve,resolvebareimports=false).js => resolveSideEffectImports(module=preserve,resolvesideeffectimports=true).js} (58%) create mode 100644 tests/baselines/reference/resolveSideEffectImports(module=preserve,resolvesideeffectimports=true).symbols create mode 100644 tests/baselines/reference/resolveSideEffectImports(module=preserve,resolvesideeffectimports=true).types rename tests/cases/compiler/{resolveBareImports.ts => resolveSideEffectImports.ts} (76%) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index e65e18bfd9bca..bf07bf84da330 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -1502,7 +1502,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { var noImplicitThis = getStrictOptionValue(compilerOptions, "noImplicitThis"); var useUnknownInCatchVariables = getStrictOptionValue(compilerOptions, "useUnknownInCatchVariables"); var exactOptionalPropertyTypes = compilerOptions.exactOptionalPropertyTypes; - var resolveBareImports = compilerOptions.resolveBareImports; + var resolveSideEffectImports = compilerOptions.resolveSideEffectImports; var checkBinaryExpression = createCheckBinaryExpression(); var emitResolver = createResolver(); @@ -47127,7 +47127,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } } } - else if (resolveBareImports && !importClause) { + else if (resolveSideEffectImports && !importClause) { void resolveExternalModuleName(node, node.moduleSpecifier); } } diff --git a/src/compiler/commandLineParser.ts b/src/compiler/commandLineParser.ts index dc659cf768828..c38f962864ad0 100644 --- a/src/compiler/commandLineParser.ts +++ b/src/compiler/commandLineParser.ts @@ -1193,11 +1193,11 @@ const commandOptionsWithoutBuild: CommandLineOption[] = [ description: Diagnostics.Conditions_to_set_in_addition_to_the_resolver_specific_defaults_when_resolving_imports, }, { - name: "resolveBareImports", + name: "resolveSideEffectImports", type: "boolean", affectsModuleResolution: true, category: Diagnostics.Modules, - description: Diagnostics.Resolve_bare_imports, + description: Diagnostics.Resolve_side_effect_imports, defaultValueDescription: false, }, diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json index a0e72a4e93dbf..928521b63bb3c 100644 --- a/src/compiler/diagnosticMessages.json +++ b/src/compiler/diagnosticMessages.json @@ -6384,7 +6384,7 @@ "category": "Message", "code": 6805 }, - "Resolve bare imports.": { + "Resolve side effect imports.": { "category": "Message", "code": 6806 }, diff --git a/src/compiler/types.ts b/src/compiler/types.ts index 8782275c31a4e..024472c775ea7 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -7349,7 +7349,7 @@ export interface CompilerOptions { target?: ScriptTarget; traceResolution?: boolean; useUnknownInCatchVariables?: boolean; - resolveBareImports?: boolean; + resolveSideEffectImports?: boolean; resolveJsonModule?: boolean; types?: string[]; /** Paths used to compute primary types search locations */ diff --git a/src/testRunner/compilerRunner.ts b/src/testRunner/compilerRunner.ts index 5055d109bf6e0..af5fe66569cdc 100644 --- a/src/testRunner/compilerRunner.ts +++ b/src/testRunner/compilerRunner.ts @@ -150,7 +150,7 @@ class CompilerTest { "noUncheckedIndexedAccess", "preserveConstEnums", "removeComments", - "resolveBareImports", + "resolveSideEffectImports", "resolveJsonModule", "resolvePackageJsonExports", "resolvePackageJsonImports", diff --git a/tests/baselines/reference/api/typescript.d.ts b/tests/baselines/reference/api/typescript.d.ts index fb0c5748a972c..bbee10c580e49 100644 --- a/tests/baselines/reference/api/typescript.d.ts +++ b/tests/baselines/reference/api/typescript.d.ts @@ -6953,7 +6953,7 @@ declare namespace ts { target?: ScriptTarget; traceResolution?: boolean; useUnknownInCatchVariables?: boolean; - resolveBareImports?: boolean; + resolveSideEffectImports?: boolean; resolveJsonModule?: boolean; types?: string[]; /** Paths used to compute primary types search locations */ diff --git a/tests/baselines/reference/config/initTSConfig/Default initialized TSConfig/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Default initialized TSConfig/tsconfig.json index 2286c190e3ddb..25d619bfe1fd2 100644 --- a/tests/baselines/reference/config/initTSConfig/Default initialized TSConfig/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Default initialized TSConfig/tsconfig.json @@ -39,7 +39,7 @@ // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ - // "resolveBareImports": true, /* Resolve bare imports. */ + // "resolveSideEffectImports": true, /* Resolve side effect imports. */ // "resolveJsonModule": true, /* Enable importing .json files. */ // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with --help/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with --help/tsconfig.json index 2286c190e3ddb..25d619bfe1fd2 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with --help/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with --help/tsconfig.json @@ -39,7 +39,7 @@ // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ - // "resolveBareImports": true, /* Resolve bare imports. */ + // "resolveSideEffectImports": true, /* Resolve side effect imports. */ // "resolveJsonModule": true, /* Enable importing .json files. */ // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with --watch/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with --watch/tsconfig.json index 2286c190e3ddb..25d619bfe1fd2 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with --watch/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with --watch/tsconfig.json @@ -39,7 +39,7 @@ // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ - // "resolveBareImports": true, /* Resolve bare imports. */ + // "resolveSideEffectImports": true, /* Resolve side effect imports. */ // "resolveJsonModule": true, /* Enable importing .json files. */ // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with advanced options/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with advanced options/tsconfig.json index 34e93c9c43b46..a973af197e245 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with advanced options/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with advanced options/tsconfig.json @@ -39,7 +39,7 @@ // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ - // "resolveBareImports": true, /* Resolve bare imports. */ + // "resolveSideEffectImports": true, /* Resolve side effect imports. */ // "resolveJsonModule": true, /* Enable importing .json files. */ // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with boolean value compiler options/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with boolean value compiler options/tsconfig.json index a1a464cbd8bf9..5aa8b136b729c 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with boolean value compiler options/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with boolean value compiler options/tsconfig.json @@ -39,7 +39,7 @@ // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ - // "resolveBareImports": true, /* Resolve bare imports. */ + // "resolveSideEffectImports": true, /* Resolve side effect imports. */ // "resolveJsonModule": true, /* Enable importing .json files. */ // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with enum value compiler options/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with enum value compiler options/tsconfig.json index 9a7e57f55bcee..41b49499686a7 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with enum value compiler options/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with enum value compiler options/tsconfig.json @@ -39,7 +39,7 @@ // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ - // "resolveBareImports": true, /* Resolve bare imports. */ + // "resolveSideEffectImports": true, /* Resolve side effect imports. */ // "resolveJsonModule": true, /* Enable importing .json files. */ // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with files options/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with files options/tsconfig.json index b2dc52828d1a3..653ba01763ffa 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with files options/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with files options/tsconfig.json @@ -39,7 +39,7 @@ // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ - // "resolveBareImports": true, /* Resolve bare imports. */ + // "resolveSideEffectImports": true, /* Resolve side effect imports. */ // "resolveJsonModule": true, /* Enable importing .json files. */ // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with incorrect compiler option value/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with incorrect compiler option value/tsconfig.json index 40bcc6495ca4f..e44790a277aee 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with incorrect compiler option value/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with incorrect compiler option value/tsconfig.json @@ -39,7 +39,7 @@ // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ - // "resolveBareImports": true, /* Resolve bare imports. */ + // "resolveSideEffectImports": true, /* Resolve side effect imports. */ // "resolveJsonModule": true, /* Enable importing .json files. */ // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with incorrect compiler option/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with incorrect compiler option/tsconfig.json index 2286c190e3ddb..25d619bfe1fd2 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with incorrect compiler option/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with incorrect compiler option/tsconfig.json @@ -39,7 +39,7 @@ // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ - // "resolveBareImports": true, /* Resolve bare imports. */ + // "resolveSideEffectImports": true, /* Resolve side effect imports. */ // "resolveJsonModule": true, /* Enable importing .json files. */ // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with list compiler options with enum value/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with list compiler options with enum value/tsconfig.json index dabbcb7da06e1..c7b25646814e2 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with list compiler options with enum value/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with list compiler options with enum value/tsconfig.json @@ -39,7 +39,7 @@ // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ - // "resolveBareImports": true, /* Resolve bare imports. */ + // "resolveSideEffectImports": true, /* Resolve side effect imports. */ // "resolveJsonModule": true, /* Enable importing .json files. */ // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with list compiler options/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with list compiler options/tsconfig.json index 7cb9f12101258..fd431a3c0c42e 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with list compiler options/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with list compiler options/tsconfig.json @@ -39,7 +39,7 @@ // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ - // "resolveBareImports": true, /* Resolve bare imports. */ + // "resolveSideEffectImports": true, /* Resolve side effect imports. */ // "resolveJsonModule": true, /* Enable importing .json files. */ // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ diff --git a/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/resolveBareImports/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/resolveBareImports/tsconfig.json deleted file mode 100644 index 3bbc017df6941..0000000000000 --- a/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/resolveBareImports/tsconfig.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "compilerOptions": { - "resolveBareImports": true - } -} diff --git a/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/resolveSideEffectImports/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/resolveSideEffectImports/tsconfig.json new file mode 100644 index 0000000000000..bfd2f88a8a359 --- /dev/null +++ b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/resolveSideEffectImports/tsconfig.json @@ -0,0 +1,5 @@ +{ + "compilerOptions": { + "resolveSideEffectImports": true + } +} diff --git a/tests/baselines/reference/resolveBareImports(module=commonjs).symbols b/tests/baselines/reference/resolveBareImports(module=commonjs).symbols deleted file mode 100644 index f692f5ab5649b..0000000000000 --- a/tests/baselines/reference/resolveBareImports(module=commonjs).symbols +++ /dev/null @@ -1,8 +0,0 @@ -//// [tests/cases/compiler/resolveBareImports.ts] //// - -=== resolveBareImports.ts === - -import "does-not-exist"; -import "./does-not-exist-either"; -import "./does-not-exist-either.js"; - diff --git a/tests/baselines/reference/resolveBareImports(module=commonjs).types b/tests/baselines/reference/resolveBareImports(module=commonjs).types deleted file mode 100644 index f692f5ab5649b..0000000000000 --- a/tests/baselines/reference/resolveBareImports(module=commonjs).types +++ /dev/null @@ -1,8 +0,0 @@ -//// [tests/cases/compiler/resolveBareImports.ts] //// - -=== resolveBareImports.ts === - -import "does-not-exist"; -import "./does-not-exist-either"; -import "./does-not-exist-either.js"; - diff --git a/tests/baselines/reference/resolveBareImports(module=commonjs,resolvebareimports=false).symbols b/tests/baselines/reference/resolveBareImports(module=commonjs,resolvebareimports=false).symbols deleted file mode 100644 index f692f5ab5649b..0000000000000 --- a/tests/baselines/reference/resolveBareImports(module=commonjs,resolvebareimports=false).symbols +++ /dev/null @@ -1,8 +0,0 @@ -//// [tests/cases/compiler/resolveBareImports.ts] //// - -=== resolveBareImports.ts === - -import "does-not-exist"; -import "./does-not-exist-either"; -import "./does-not-exist-either.js"; - diff --git a/tests/baselines/reference/resolveBareImports(module=commonjs,resolvebareimports=false).types b/tests/baselines/reference/resolveBareImports(module=commonjs,resolvebareimports=false).types deleted file mode 100644 index f692f5ab5649b..0000000000000 --- a/tests/baselines/reference/resolveBareImports(module=commonjs,resolvebareimports=false).types +++ /dev/null @@ -1,8 +0,0 @@ -//// [tests/cases/compiler/resolveBareImports.ts] //// - -=== resolveBareImports.ts === - -import "does-not-exist"; -import "./does-not-exist-either"; -import "./does-not-exist-either.js"; - diff --git a/tests/baselines/reference/resolveBareImports(module=commonjs,resolvebareimports=true).symbols b/tests/baselines/reference/resolveBareImports(module=commonjs,resolvebareimports=true).symbols deleted file mode 100644 index f692f5ab5649b..0000000000000 --- a/tests/baselines/reference/resolveBareImports(module=commonjs,resolvebareimports=true).symbols +++ /dev/null @@ -1,8 +0,0 @@ -//// [tests/cases/compiler/resolveBareImports.ts] //// - -=== resolveBareImports.ts === - -import "does-not-exist"; -import "./does-not-exist-either"; -import "./does-not-exist-either.js"; - diff --git a/tests/baselines/reference/resolveBareImports(module=commonjs,resolvebareimports=true).types b/tests/baselines/reference/resolveBareImports(module=commonjs,resolvebareimports=true).types deleted file mode 100644 index f692f5ab5649b..0000000000000 --- a/tests/baselines/reference/resolveBareImports(module=commonjs,resolvebareimports=true).types +++ /dev/null @@ -1,8 +0,0 @@ -//// [tests/cases/compiler/resolveBareImports.ts] //// - -=== resolveBareImports.ts === - -import "does-not-exist"; -import "./does-not-exist-either"; -import "./does-not-exist-either.js"; - diff --git a/tests/baselines/reference/resolveBareImports(module=nodenext).symbols b/tests/baselines/reference/resolveBareImports(module=nodenext).symbols deleted file mode 100644 index f692f5ab5649b..0000000000000 --- a/tests/baselines/reference/resolveBareImports(module=nodenext).symbols +++ /dev/null @@ -1,8 +0,0 @@ -//// [tests/cases/compiler/resolveBareImports.ts] //// - -=== resolveBareImports.ts === - -import "does-not-exist"; -import "./does-not-exist-either"; -import "./does-not-exist-either.js"; - diff --git a/tests/baselines/reference/resolveBareImports(module=nodenext).types b/tests/baselines/reference/resolveBareImports(module=nodenext).types deleted file mode 100644 index f692f5ab5649b..0000000000000 --- a/tests/baselines/reference/resolveBareImports(module=nodenext).types +++ /dev/null @@ -1,8 +0,0 @@ -//// [tests/cases/compiler/resolveBareImports.ts] //// - -=== resolveBareImports.ts === - -import "does-not-exist"; -import "./does-not-exist-either"; -import "./does-not-exist-either.js"; - diff --git a/tests/baselines/reference/resolveBareImports(module=nodenext,resolvebareimports=false).js b/tests/baselines/reference/resolveBareImports(module=nodenext,resolvebareimports=false).js deleted file mode 100644 index 65ae9aed624ae..0000000000000 --- a/tests/baselines/reference/resolveBareImports(module=nodenext,resolvebareimports=false).js +++ /dev/null @@ -1,14 +0,0 @@ -//// [tests/cases/compiler/resolveBareImports.ts] //// - -//// [resolveBareImports.ts] -import "does-not-exist"; -import "./does-not-exist-either"; -import "./does-not-exist-either.js"; - - -//// [resolveBareImports.js] -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -require("does-not-exist"); -require("./does-not-exist-either"); -require("./does-not-exist-either.js"); diff --git a/tests/baselines/reference/resolveBareImports(module=nodenext,resolvebareimports=false).symbols b/tests/baselines/reference/resolveBareImports(module=nodenext,resolvebareimports=false).symbols deleted file mode 100644 index f692f5ab5649b..0000000000000 --- a/tests/baselines/reference/resolveBareImports(module=nodenext,resolvebareimports=false).symbols +++ /dev/null @@ -1,8 +0,0 @@ -//// [tests/cases/compiler/resolveBareImports.ts] //// - -=== resolveBareImports.ts === - -import "does-not-exist"; -import "./does-not-exist-either"; -import "./does-not-exist-either.js"; - diff --git a/tests/baselines/reference/resolveBareImports(module=nodenext,resolvebareimports=false).types b/tests/baselines/reference/resolveBareImports(module=nodenext,resolvebareimports=false).types deleted file mode 100644 index f692f5ab5649b..0000000000000 --- a/tests/baselines/reference/resolveBareImports(module=nodenext,resolvebareimports=false).types +++ /dev/null @@ -1,8 +0,0 @@ -//// [tests/cases/compiler/resolveBareImports.ts] //// - -=== resolveBareImports.ts === - -import "does-not-exist"; -import "./does-not-exist-either"; -import "./does-not-exist-either.js"; - diff --git a/tests/baselines/reference/resolveBareImports(module=nodenext,resolvebareimports=true).js b/tests/baselines/reference/resolveBareImports(module=nodenext,resolvebareimports=true).js deleted file mode 100644 index 65ae9aed624ae..0000000000000 --- a/tests/baselines/reference/resolveBareImports(module=nodenext,resolvebareimports=true).js +++ /dev/null @@ -1,14 +0,0 @@ -//// [tests/cases/compiler/resolveBareImports.ts] //// - -//// [resolveBareImports.ts] -import "does-not-exist"; -import "./does-not-exist-either"; -import "./does-not-exist-either.js"; - - -//// [resolveBareImports.js] -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -require("does-not-exist"); -require("./does-not-exist-either"); -require("./does-not-exist-either.js"); diff --git a/tests/baselines/reference/resolveBareImports(module=nodenext,resolvebareimports=true).symbols b/tests/baselines/reference/resolveBareImports(module=nodenext,resolvebareimports=true).symbols deleted file mode 100644 index f692f5ab5649b..0000000000000 --- a/tests/baselines/reference/resolveBareImports(module=nodenext,resolvebareimports=true).symbols +++ /dev/null @@ -1,8 +0,0 @@ -//// [tests/cases/compiler/resolveBareImports.ts] //// - -=== resolveBareImports.ts === - -import "does-not-exist"; -import "./does-not-exist-either"; -import "./does-not-exist-either.js"; - diff --git a/tests/baselines/reference/resolveBareImports(module=nodenext,resolvebareimports=true).types b/tests/baselines/reference/resolveBareImports(module=nodenext,resolvebareimports=true).types deleted file mode 100644 index f692f5ab5649b..0000000000000 --- a/tests/baselines/reference/resolveBareImports(module=nodenext,resolvebareimports=true).types +++ /dev/null @@ -1,8 +0,0 @@ -//// [tests/cases/compiler/resolveBareImports.ts] //// - -=== resolveBareImports.ts === - -import "does-not-exist"; -import "./does-not-exist-either"; -import "./does-not-exist-either.js"; - diff --git a/tests/baselines/reference/resolveBareImports(module=preserve).symbols b/tests/baselines/reference/resolveBareImports(module=preserve).symbols deleted file mode 100644 index f692f5ab5649b..0000000000000 --- a/tests/baselines/reference/resolveBareImports(module=preserve).symbols +++ /dev/null @@ -1,8 +0,0 @@ -//// [tests/cases/compiler/resolveBareImports.ts] //// - -=== resolveBareImports.ts === - -import "does-not-exist"; -import "./does-not-exist-either"; -import "./does-not-exist-either.js"; - diff --git a/tests/baselines/reference/resolveBareImports(module=preserve).types b/tests/baselines/reference/resolveBareImports(module=preserve).types deleted file mode 100644 index f692f5ab5649b..0000000000000 --- a/tests/baselines/reference/resolveBareImports(module=preserve).types +++ /dev/null @@ -1,8 +0,0 @@ -//// [tests/cases/compiler/resolveBareImports.ts] //// - -=== resolveBareImports.ts === - -import "does-not-exist"; -import "./does-not-exist-either"; -import "./does-not-exist-either.js"; - diff --git a/tests/baselines/reference/resolveBareImports(module=preserve,resolvebareimports=false).symbols b/tests/baselines/reference/resolveBareImports(module=preserve,resolvebareimports=false).symbols deleted file mode 100644 index f692f5ab5649b..0000000000000 --- a/tests/baselines/reference/resolveBareImports(module=preserve,resolvebareimports=false).symbols +++ /dev/null @@ -1,8 +0,0 @@ -//// [tests/cases/compiler/resolveBareImports.ts] //// - -=== resolveBareImports.ts === - -import "does-not-exist"; -import "./does-not-exist-either"; -import "./does-not-exist-either.js"; - diff --git a/tests/baselines/reference/resolveBareImports(module=preserve,resolvebareimports=false).types b/tests/baselines/reference/resolveBareImports(module=preserve,resolvebareimports=false).types deleted file mode 100644 index f692f5ab5649b..0000000000000 --- a/tests/baselines/reference/resolveBareImports(module=preserve,resolvebareimports=false).types +++ /dev/null @@ -1,8 +0,0 @@ -//// [tests/cases/compiler/resolveBareImports.ts] //// - -=== resolveBareImports.ts === - -import "does-not-exist"; -import "./does-not-exist-either"; -import "./does-not-exist-either.js"; - diff --git a/tests/baselines/reference/resolveBareImports(module=preserve,resolvebareimports=true).js b/tests/baselines/reference/resolveBareImports(module=preserve,resolvebareimports=true).js deleted file mode 100644 index 5d215405c4664..0000000000000 --- a/tests/baselines/reference/resolveBareImports(module=preserve,resolvebareimports=true).js +++ /dev/null @@ -1,12 +0,0 @@ -//// [tests/cases/compiler/resolveBareImports.ts] //// - -//// [resolveBareImports.ts] -import "does-not-exist"; -import "./does-not-exist-either"; -import "./does-not-exist-either.js"; - - -//// [resolveBareImports.js] -import "does-not-exist"; -import "./does-not-exist-either"; -import "./does-not-exist-either.js"; diff --git a/tests/baselines/reference/resolveBareImports(module=preserve,resolvebareimports=true).symbols b/tests/baselines/reference/resolveBareImports(module=preserve,resolvebareimports=true).symbols deleted file mode 100644 index f692f5ab5649b..0000000000000 --- a/tests/baselines/reference/resolveBareImports(module=preserve,resolvebareimports=true).symbols +++ /dev/null @@ -1,8 +0,0 @@ -//// [tests/cases/compiler/resolveBareImports.ts] //// - -=== resolveBareImports.ts === - -import "does-not-exist"; -import "./does-not-exist-either"; -import "./does-not-exist-either.js"; - diff --git a/tests/baselines/reference/resolveBareImports(module=preserve,resolvebareimports=true).types b/tests/baselines/reference/resolveBareImports(module=preserve,resolvebareimports=true).types deleted file mode 100644 index f692f5ab5649b..0000000000000 --- a/tests/baselines/reference/resolveBareImports(module=preserve,resolvebareimports=true).types +++ /dev/null @@ -1,8 +0,0 @@ -//// [tests/cases/compiler/resolveBareImports.ts] //// - -=== resolveBareImports.ts === - -import "does-not-exist"; -import "./does-not-exist-either"; -import "./does-not-exist-either.js"; - diff --git a/tests/baselines/reference/resolveBareImports(module=commonjs,resolvebareimports=false).js b/tests/baselines/reference/resolveSideEffectImports(module=commonjs,resolvesideeffectimports=false).js similarity index 66% rename from tests/baselines/reference/resolveBareImports(module=commonjs,resolvebareimports=false).js rename to tests/baselines/reference/resolveSideEffectImports(module=commonjs,resolvesideeffectimports=false).js index 65ae9aed624ae..541824db2da0a 100644 --- a/tests/baselines/reference/resolveBareImports(module=commonjs,resolvebareimports=false).js +++ b/tests/baselines/reference/resolveSideEffectImports(module=commonjs,resolvesideeffectimports=false).js @@ -1,12 +1,12 @@ -//// [tests/cases/compiler/resolveBareImports.ts] //// +//// [tests/cases/compiler/resolveSideEffectImports.ts] //// -//// [resolveBareImports.ts] +//// [resolveSideEffectImports.ts] import "does-not-exist"; import "./does-not-exist-either"; import "./does-not-exist-either.js"; -//// [resolveBareImports.js] +//// [resolveSideEffectImports.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); require("does-not-exist"); diff --git a/tests/baselines/reference/resolveSideEffectImports(module=commonjs,resolvesideeffectimports=false).symbols b/tests/baselines/reference/resolveSideEffectImports(module=commonjs,resolvesideeffectimports=false).symbols new file mode 100644 index 0000000000000..b44476ea5a49c --- /dev/null +++ b/tests/baselines/reference/resolveSideEffectImports(module=commonjs,resolvesideeffectimports=false).symbols @@ -0,0 +1,8 @@ +//// [tests/cases/compiler/resolveSideEffectImports.ts] //// + +=== resolveSideEffectImports.ts === + +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + diff --git a/tests/baselines/reference/resolveSideEffectImports(module=commonjs,resolvesideeffectimports=false).types b/tests/baselines/reference/resolveSideEffectImports(module=commonjs,resolvesideeffectimports=false).types new file mode 100644 index 0000000000000..b44476ea5a49c --- /dev/null +++ b/tests/baselines/reference/resolveSideEffectImports(module=commonjs,resolvesideeffectimports=false).types @@ -0,0 +1,8 @@ +//// [tests/cases/compiler/resolveSideEffectImports.ts] //// + +=== resolveSideEffectImports.ts === + +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + diff --git a/tests/baselines/reference/resolveBareImports(module=commonjs,resolvebareimports=true).errors.txt b/tests/baselines/reference/resolveSideEffectImports(module=commonjs,resolvesideeffectimports=true).errors.txt similarity index 53% rename from tests/baselines/reference/resolveBareImports(module=commonjs,resolvebareimports=true).errors.txt rename to tests/baselines/reference/resolveSideEffectImports(module=commonjs,resolvesideeffectimports=true).errors.txt index 38f3361d4fa2c..a88ba78e2cfce 100644 --- a/tests/baselines/reference/resolveBareImports(module=commonjs,resolvebareimports=true).errors.txt +++ b/tests/baselines/reference/resolveSideEffectImports(module=commonjs,resolvesideeffectimports=true).errors.txt @@ -1,9 +1,9 @@ -resolveBareImports.ts(1,8): error TS2307: Cannot find module 'does-not-exist' or its corresponding type declarations. -resolveBareImports.ts(2,8): error TS2307: Cannot find module './does-not-exist-either' or its corresponding type declarations. -resolveBareImports.ts(3,8): error TS2307: Cannot find module './does-not-exist-either.js' or its corresponding type declarations. +resolveSideEffectImports.ts(1,8): error TS2307: Cannot find module 'does-not-exist' or its corresponding type declarations. +resolveSideEffectImports.ts(2,8): error TS2307: Cannot find module './does-not-exist-either' or its corresponding type declarations. +resolveSideEffectImports.ts(3,8): error TS2307: Cannot find module './does-not-exist-either.js' or its corresponding type declarations. -==== resolveBareImports.ts (3 errors) ==== +==== resolveSideEffectImports.ts (3 errors) ==== import "does-not-exist"; ~~~~~~~~~~~~~~~~ !!! error TS2307: Cannot find module 'does-not-exist' or its corresponding type declarations. diff --git a/tests/baselines/reference/resolveBareImports(module=commonjs).js b/tests/baselines/reference/resolveSideEffectImports(module=commonjs,resolvesideeffectimports=true).js similarity index 66% rename from tests/baselines/reference/resolveBareImports(module=commonjs).js rename to tests/baselines/reference/resolveSideEffectImports(module=commonjs,resolvesideeffectimports=true).js index 65ae9aed624ae..541824db2da0a 100644 --- a/tests/baselines/reference/resolveBareImports(module=commonjs).js +++ b/tests/baselines/reference/resolveSideEffectImports(module=commonjs,resolvesideeffectimports=true).js @@ -1,12 +1,12 @@ -//// [tests/cases/compiler/resolveBareImports.ts] //// +//// [tests/cases/compiler/resolveSideEffectImports.ts] //// -//// [resolveBareImports.ts] +//// [resolveSideEffectImports.ts] import "does-not-exist"; import "./does-not-exist-either"; import "./does-not-exist-either.js"; -//// [resolveBareImports.js] +//// [resolveSideEffectImports.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); require("does-not-exist"); diff --git a/tests/baselines/reference/resolveSideEffectImports(module=commonjs,resolvesideeffectimports=true).symbols b/tests/baselines/reference/resolveSideEffectImports(module=commonjs,resolvesideeffectimports=true).symbols new file mode 100644 index 0000000000000..b44476ea5a49c --- /dev/null +++ b/tests/baselines/reference/resolveSideEffectImports(module=commonjs,resolvesideeffectimports=true).symbols @@ -0,0 +1,8 @@ +//// [tests/cases/compiler/resolveSideEffectImports.ts] //// + +=== resolveSideEffectImports.ts === + +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + diff --git a/tests/baselines/reference/resolveSideEffectImports(module=commonjs,resolvesideeffectimports=true).types b/tests/baselines/reference/resolveSideEffectImports(module=commonjs,resolvesideeffectimports=true).types new file mode 100644 index 0000000000000..b44476ea5a49c --- /dev/null +++ b/tests/baselines/reference/resolveSideEffectImports(module=commonjs,resolvesideeffectimports=true).types @@ -0,0 +1,8 @@ +//// [tests/cases/compiler/resolveSideEffectImports.ts] //// + +=== resolveSideEffectImports.ts === + +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + diff --git a/tests/baselines/reference/resolveBareImports(module=commonjs,resolvebareimports=true).js b/tests/baselines/reference/resolveSideEffectImports(module=nodenext,resolvesideeffectimports=false).js similarity index 66% rename from tests/baselines/reference/resolveBareImports(module=commonjs,resolvebareimports=true).js rename to tests/baselines/reference/resolveSideEffectImports(module=nodenext,resolvesideeffectimports=false).js index 65ae9aed624ae..541824db2da0a 100644 --- a/tests/baselines/reference/resolveBareImports(module=commonjs,resolvebareimports=true).js +++ b/tests/baselines/reference/resolveSideEffectImports(module=nodenext,resolvesideeffectimports=false).js @@ -1,12 +1,12 @@ -//// [tests/cases/compiler/resolveBareImports.ts] //// +//// [tests/cases/compiler/resolveSideEffectImports.ts] //// -//// [resolveBareImports.ts] +//// [resolveSideEffectImports.ts] import "does-not-exist"; import "./does-not-exist-either"; import "./does-not-exist-either.js"; -//// [resolveBareImports.js] +//// [resolveSideEffectImports.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); require("does-not-exist"); diff --git a/tests/baselines/reference/resolveSideEffectImports(module=nodenext,resolvesideeffectimports=false).symbols b/tests/baselines/reference/resolveSideEffectImports(module=nodenext,resolvesideeffectimports=false).symbols new file mode 100644 index 0000000000000..b44476ea5a49c --- /dev/null +++ b/tests/baselines/reference/resolveSideEffectImports(module=nodenext,resolvesideeffectimports=false).symbols @@ -0,0 +1,8 @@ +//// [tests/cases/compiler/resolveSideEffectImports.ts] //// + +=== resolveSideEffectImports.ts === + +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + diff --git a/tests/baselines/reference/resolveSideEffectImports(module=nodenext,resolvesideeffectimports=false).types b/tests/baselines/reference/resolveSideEffectImports(module=nodenext,resolvesideeffectimports=false).types new file mode 100644 index 0000000000000..b44476ea5a49c --- /dev/null +++ b/tests/baselines/reference/resolveSideEffectImports(module=nodenext,resolvesideeffectimports=false).types @@ -0,0 +1,8 @@ +//// [tests/cases/compiler/resolveSideEffectImports.ts] //// + +=== resolveSideEffectImports.ts === + +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + diff --git a/tests/baselines/reference/resolveBareImports(module=nodenext,resolvebareimports=true).errors.txt b/tests/baselines/reference/resolveSideEffectImports(module=nodenext,resolvesideeffectimports=true).errors.txt similarity index 53% rename from tests/baselines/reference/resolveBareImports(module=nodenext,resolvebareimports=true).errors.txt rename to tests/baselines/reference/resolveSideEffectImports(module=nodenext,resolvesideeffectimports=true).errors.txt index 38f3361d4fa2c..a88ba78e2cfce 100644 --- a/tests/baselines/reference/resolveBareImports(module=nodenext,resolvebareimports=true).errors.txt +++ b/tests/baselines/reference/resolveSideEffectImports(module=nodenext,resolvesideeffectimports=true).errors.txt @@ -1,9 +1,9 @@ -resolveBareImports.ts(1,8): error TS2307: Cannot find module 'does-not-exist' or its corresponding type declarations. -resolveBareImports.ts(2,8): error TS2307: Cannot find module './does-not-exist-either' or its corresponding type declarations. -resolveBareImports.ts(3,8): error TS2307: Cannot find module './does-not-exist-either.js' or its corresponding type declarations. +resolveSideEffectImports.ts(1,8): error TS2307: Cannot find module 'does-not-exist' or its corresponding type declarations. +resolveSideEffectImports.ts(2,8): error TS2307: Cannot find module './does-not-exist-either' or its corresponding type declarations. +resolveSideEffectImports.ts(3,8): error TS2307: Cannot find module './does-not-exist-either.js' or its corresponding type declarations. -==== resolveBareImports.ts (3 errors) ==== +==== resolveSideEffectImports.ts (3 errors) ==== import "does-not-exist"; ~~~~~~~~~~~~~~~~ !!! error TS2307: Cannot find module 'does-not-exist' or its corresponding type declarations. diff --git a/tests/baselines/reference/resolveBareImports(module=nodenext).js b/tests/baselines/reference/resolveSideEffectImports(module=nodenext,resolvesideeffectimports=true).js similarity index 66% rename from tests/baselines/reference/resolveBareImports(module=nodenext).js rename to tests/baselines/reference/resolveSideEffectImports(module=nodenext,resolvesideeffectimports=true).js index 65ae9aed624ae..541824db2da0a 100644 --- a/tests/baselines/reference/resolveBareImports(module=nodenext).js +++ b/tests/baselines/reference/resolveSideEffectImports(module=nodenext,resolvesideeffectimports=true).js @@ -1,12 +1,12 @@ -//// [tests/cases/compiler/resolveBareImports.ts] //// +//// [tests/cases/compiler/resolveSideEffectImports.ts] //// -//// [resolveBareImports.ts] +//// [resolveSideEffectImports.ts] import "does-not-exist"; import "./does-not-exist-either"; import "./does-not-exist-either.js"; -//// [resolveBareImports.js] +//// [resolveSideEffectImports.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); require("does-not-exist"); diff --git a/tests/baselines/reference/resolveSideEffectImports(module=nodenext,resolvesideeffectimports=true).symbols b/tests/baselines/reference/resolveSideEffectImports(module=nodenext,resolvesideeffectimports=true).symbols new file mode 100644 index 0000000000000..b44476ea5a49c --- /dev/null +++ b/tests/baselines/reference/resolveSideEffectImports(module=nodenext,resolvesideeffectimports=true).symbols @@ -0,0 +1,8 @@ +//// [tests/cases/compiler/resolveSideEffectImports.ts] //// + +=== resolveSideEffectImports.ts === + +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + diff --git a/tests/baselines/reference/resolveSideEffectImports(module=nodenext,resolvesideeffectimports=true).types b/tests/baselines/reference/resolveSideEffectImports(module=nodenext,resolvesideeffectimports=true).types new file mode 100644 index 0000000000000..b44476ea5a49c --- /dev/null +++ b/tests/baselines/reference/resolveSideEffectImports(module=nodenext,resolvesideeffectimports=true).types @@ -0,0 +1,8 @@ +//// [tests/cases/compiler/resolveSideEffectImports.ts] //// + +=== resolveSideEffectImports.ts === + +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + diff --git a/tests/baselines/reference/resolveBareImports(module=preserve).js b/tests/baselines/reference/resolveSideEffectImports(module=preserve,resolvesideeffectimports=false).js similarity index 58% rename from tests/baselines/reference/resolveBareImports(module=preserve).js rename to tests/baselines/reference/resolveSideEffectImports(module=preserve,resolvesideeffectimports=false).js index 5d215405c4664..b67f2ac1fb0bf 100644 --- a/tests/baselines/reference/resolveBareImports(module=preserve).js +++ b/tests/baselines/reference/resolveSideEffectImports(module=preserve,resolvesideeffectimports=false).js @@ -1,12 +1,12 @@ -//// [tests/cases/compiler/resolveBareImports.ts] //// +//// [tests/cases/compiler/resolveSideEffectImports.ts] //// -//// [resolveBareImports.ts] +//// [resolveSideEffectImports.ts] import "does-not-exist"; import "./does-not-exist-either"; import "./does-not-exist-either.js"; -//// [resolveBareImports.js] +//// [resolveSideEffectImports.js] import "does-not-exist"; import "./does-not-exist-either"; import "./does-not-exist-either.js"; diff --git a/tests/baselines/reference/resolveSideEffectImports(module=preserve,resolvesideeffectimports=false).symbols b/tests/baselines/reference/resolveSideEffectImports(module=preserve,resolvesideeffectimports=false).symbols new file mode 100644 index 0000000000000..b44476ea5a49c --- /dev/null +++ b/tests/baselines/reference/resolveSideEffectImports(module=preserve,resolvesideeffectimports=false).symbols @@ -0,0 +1,8 @@ +//// [tests/cases/compiler/resolveSideEffectImports.ts] //// + +=== resolveSideEffectImports.ts === + +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + diff --git a/tests/baselines/reference/resolveSideEffectImports(module=preserve,resolvesideeffectimports=false).types b/tests/baselines/reference/resolveSideEffectImports(module=preserve,resolvesideeffectimports=false).types new file mode 100644 index 0000000000000..b44476ea5a49c --- /dev/null +++ b/tests/baselines/reference/resolveSideEffectImports(module=preserve,resolvesideeffectimports=false).types @@ -0,0 +1,8 @@ +//// [tests/cases/compiler/resolveSideEffectImports.ts] //// + +=== resolveSideEffectImports.ts === + +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + diff --git a/tests/baselines/reference/resolveBareImports(module=preserve,resolvebareimports=true).errors.txt b/tests/baselines/reference/resolveSideEffectImports(module=preserve,resolvesideeffectimports=true).errors.txt similarity index 53% rename from tests/baselines/reference/resolveBareImports(module=preserve,resolvebareimports=true).errors.txt rename to tests/baselines/reference/resolveSideEffectImports(module=preserve,resolvesideeffectimports=true).errors.txt index 38f3361d4fa2c..a88ba78e2cfce 100644 --- a/tests/baselines/reference/resolveBareImports(module=preserve,resolvebareimports=true).errors.txt +++ b/tests/baselines/reference/resolveSideEffectImports(module=preserve,resolvesideeffectimports=true).errors.txt @@ -1,9 +1,9 @@ -resolveBareImports.ts(1,8): error TS2307: Cannot find module 'does-not-exist' or its corresponding type declarations. -resolveBareImports.ts(2,8): error TS2307: Cannot find module './does-not-exist-either' or its corresponding type declarations. -resolveBareImports.ts(3,8): error TS2307: Cannot find module './does-not-exist-either.js' or its corresponding type declarations. +resolveSideEffectImports.ts(1,8): error TS2307: Cannot find module 'does-not-exist' or its corresponding type declarations. +resolveSideEffectImports.ts(2,8): error TS2307: Cannot find module './does-not-exist-either' or its corresponding type declarations. +resolveSideEffectImports.ts(3,8): error TS2307: Cannot find module './does-not-exist-either.js' or its corresponding type declarations. -==== resolveBareImports.ts (3 errors) ==== +==== resolveSideEffectImports.ts (3 errors) ==== import "does-not-exist"; ~~~~~~~~~~~~~~~~ !!! error TS2307: Cannot find module 'does-not-exist' or its corresponding type declarations. diff --git a/tests/baselines/reference/resolveBareImports(module=preserve,resolvebareimports=false).js b/tests/baselines/reference/resolveSideEffectImports(module=preserve,resolvesideeffectimports=true).js similarity index 58% rename from tests/baselines/reference/resolveBareImports(module=preserve,resolvebareimports=false).js rename to tests/baselines/reference/resolveSideEffectImports(module=preserve,resolvesideeffectimports=true).js index 5d215405c4664..b67f2ac1fb0bf 100644 --- a/tests/baselines/reference/resolveBareImports(module=preserve,resolvebareimports=false).js +++ b/tests/baselines/reference/resolveSideEffectImports(module=preserve,resolvesideeffectimports=true).js @@ -1,12 +1,12 @@ -//// [tests/cases/compiler/resolveBareImports.ts] //// +//// [tests/cases/compiler/resolveSideEffectImports.ts] //// -//// [resolveBareImports.ts] +//// [resolveSideEffectImports.ts] import "does-not-exist"; import "./does-not-exist-either"; import "./does-not-exist-either.js"; -//// [resolveBareImports.js] +//// [resolveSideEffectImports.js] import "does-not-exist"; import "./does-not-exist-either"; import "./does-not-exist-either.js"; diff --git a/tests/baselines/reference/resolveSideEffectImports(module=preserve,resolvesideeffectimports=true).symbols b/tests/baselines/reference/resolveSideEffectImports(module=preserve,resolvesideeffectimports=true).symbols new file mode 100644 index 0000000000000..b44476ea5a49c --- /dev/null +++ b/tests/baselines/reference/resolveSideEffectImports(module=preserve,resolvesideeffectimports=true).symbols @@ -0,0 +1,8 @@ +//// [tests/cases/compiler/resolveSideEffectImports.ts] //// + +=== resolveSideEffectImports.ts === + +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + diff --git a/tests/baselines/reference/resolveSideEffectImports(module=preserve,resolvesideeffectimports=true).types b/tests/baselines/reference/resolveSideEffectImports(module=preserve,resolvesideeffectimports=true).types new file mode 100644 index 0000000000000..b44476ea5a49c --- /dev/null +++ b/tests/baselines/reference/resolveSideEffectImports(module=preserve,resolvesideeffectimports=true).types @@ -0,0 +1,8 @@ +//// [tests/cases/compiler/resolveSideEffectImports.ts] //// + +=== resolveSideEffectImports.ts === + +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + diff --git a/tests/cases/compiler/resolveBareImports.ts b/tests/cases/compiler/resolveSideEffectImports.ts similarity index 76% rename from tests/cases/compiler/resolveBareImports.ts rename to tests/cases/compiler/resolveSideEffectImports.ts index b2ffd869d273a..3457e84647d21 100644 --- a/tests/cases/compiler/resolveBareImports.ts +++ b/tests/cases/compiler/resolveSideEffectImports.ts @@ -1,4 +1,4 @@ -// @resolveBareImports: true,false +// @resolveSideEffectImports: true,false // @module: commonjs,nodenext,preserve import "does-not-exist"; From eb5d76df32a51bae7eaf245e253eb56f6e405060 Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Tue, 16 Jul 2024 16:36:06 -0700 Subject: [PATCH 05/22] Update tests --- ...onjs,resolvesideeffectimports=false).symbols | 8 -------- ...mmonjs,resolvesideeffectimports=false).types | 8 -------- ...monjs,resolvesideeffectimports=true).symbols | 8 -------- ...ommonjs,resolvesideeffectimports=true).types | 8 -------- ...next,resolvesideeffectimports=false).symbols | 8 -------- ...denext,resolvesideeffectimports=false).types | 8 -------- ...enext,resolvesideeffectimports=true).symbols | 8 -------- ...odenext,resolvesideeffectimports=true).types | 8 -------- ...erve,resolvesideeffectimports=false).symbols | 8 -------- ...eserve,resolvesideeffectimports=false).types | 8 -------- ...serve,resolvesideeffectimports=true).symbols | 8 -------- ...reserve,resolvesideeffectimports=true).types | 8 -------- ...commonjs,resolvesideeffectimports=false).js} | 6 +++--- ...onjs,resolvesideeffectimports=false).symbols | 8 ++++++++ ...mmonjs,resolvesideeffectimports=false).types | 8 ++++++++ ...s,resolvesideeffectimports=true).errors.txt} | 8 ++++---- ...=commonjs,resolvesideeffectimports=true).js} | 6 +++--- ...monjs,resolvesideeffectimports=true).symbols | 8 ++++++++ ...ommonjs,resolvesideeffectimports=true).types | 8 ++++++++ ...nodenext,resolvesideeffectimports=false).js} | 6 +++--- ...next,resolvesideeffectimports=false).symbols | 8 ++++++++ ...denext,resolvesideeffectimports=false).types | 8 ++++++++ ...t,resolvesideeffectimports=true).errors.txt} | 8 ++++---- ...=nodenext,resolvesideeffectimports=true).js} | 6 +++--- ...enext,resolvesideeffectimports=true).symbols | 8 ++++++++ ...odenext,resolvesideeffectimports=true).types | 8 ++++++++ ...preserve,resolvesideeffectimports=false).js} | 6 +++--- ...erve,resolvesideeffectimports=false).symbols | 8 ++++++++ ...eserve,resolvesideeffectimports=false).types | 8 ++++++++ ...e,resolvesideeffectimports=true).errors.txt} | 8 ++++---- ...=preserve,resolvesideeffectimports=true).js} | 6 +++--- ...serve,resolvesideeffectimports=true).symbols | 8 ++++++++ ...reserve,resolvesideeffectimports=true).types | 8 ++++++++ ...alse,resolvesideeffectimports=false).symbols | 6 ++++++ ...=false,resolvesideeffectimports=false).types | 6 ++++++ ...false,resolvesideeffectimports=true).symbols | 6 ++++++ ...y=false,resolvesideeffectimports=true).types | 6 ++++++ ...true,resolvesideeffectimports=false).symbols | 6 ++++++ ...y=true,resolvesideeffectimports=false).types | 6 ++++++ ...ue,resolvesideeffectimports=true).errors.txt | 16 ++++++++++++++++ ...=true,resolvesideeffectimports=true).symbols | 6 ++++++ ...ny=true,resolvesideeffectimports=true).types | 6 ++++++ ...deEffectImports.ts => sideEffectImports1.ts} | 0 tests/cases/compiler/sideEffectImports2.ts | 17 +++++++++++++++++ 44 files changed, 207 insertions(+), 126 deletions(-) delete mode 100644 tests/baselines/reference/resolveSideEffectImports(module=commonjs,resolvesideeffectimports=false).symbols delete mode 100644 tests/baselines/reference/resolveSideEffectImports(module=commonjs,resolvesideeffectimports=false).types delete mode 100644 tests/baselines/reference/resolveSideEffectImports(module=commonjs,resolvesideeffectimports=true).symbols delete mode 100644 tests/baselines/reference/resolveSideEffectImports(module=commonjs,resolvesideeffectimports=true).types delete mode 100644 tests/baselines/reference/resolveSideEffectImports(module=nodenext,resolvesideeffectimports=false).symbols delete mode 100644 tests/baselines/reference/resolveSideEffectImports(module=nodenext,resolvesideeffectimports=false).types delete mode 100644 tests/baselines/reference/resolveSideEffectImports(module=nodenext,resolvesideeffectimports=true).symbols delete mode 100644 tests/baselines/reference/resolveSideEffectImports(module=nodenext,resolvesideeffectimports=true).types delete mode 100644 tests/baselines/reference/resolveSideEffectImports(module=preserve,resolvesideeffectimports=false).symbols delete mode 100644 tests/baselines/reference/resolveSideEffectImports(module=preserve,resolvesideeffectimports=false).types delete mode 100644 tests/baselines/reference/resolveSideEffectImports(module=preserve,resolvesideeffectimports=true).symbols delete mode 100644 tests/baselines/reference/resolveSideEffectImports(module=preserve,resolvesideeffectimports=true).types rename tests/baselines/reference/{resolveSideEffectImports(module=commonjs,resolvesideeffectimports=false).js => sideEffectImports1(module=commonjs,resolvesideeffectimports=false).js} (66%) create mode 100644 tests/baselines/reference/sideEffectImports1(module=commonjs,resolvesideeffectimports=false).symbols create mode 100644 tests/baselines/reference/sideEffectImports1(module=commonjs,resolvesideeffectimports=false).types rename tests/baselines/reference/{resolveSideEffectImports(module=nodenext,resolvesideeffectimports=true).errors.txt => sideEffectImports1(module=commonjs,resolvesideeffectimports=true).errors.txt} (53%) rename tests/baselines/reference/{resolveSideEffectImports(module=nodenext,resolvesideeffectimports=false).js => sideEffectImports1(module=commonjs,resolvesideeffectimports=true).js} (66%) create mode 100644 tests/baselines/reference/sideEffectImports1(module=commonjs,resolvesideeffectimports=true).symbols create mode 100644 tests/baselines/reference/sideEffectImports1(module=commonjs,resolvesideeffectimports=true).types rename tests/baselines/reference/{resolveSideEffectImports(module=nodenext,resolvesideeffectimports=true).js => sideEffectImports1(module=nodenext,resolvesideeffectimports=false).js} (66%) create mode 100644 tests/baselines/reference/sideEffectImports1(module=nodenext,resolvesideeffectimports=false).symbols create mode 100644 tests/baselines/reference/sideEffectImports1(module=nodenext,resolvesideeffectimports=false).types rename tests/baselines/reference/{resolveSideEffectImports(module=preserve,resolvesideeffectimports=true).errors.txt => sideEffectImports1(module=nodenext,resolvesideeffectimports=true).errors.txt} (53%) rename tests/baselines/reference/{resolveSideEffectImports(module=commonjs,resolvesideeffectimports=true).js => sideEffectImports1(module=nodenext,resolvesideeffectimports=true).js} (66%) create mode 100644 tests/baselines/reference/sideEffectImports1(module=nodenext,resolvesideeffectimports=true).symbols create mode 100644 tests/baselines/reference/sideEffectImports1(module=nodenext,resolvesideeffectimports=true).types rename tests/baselines/reference/{resolveSideEffectImports(module=preserve,resolvesideeffectimports=false).js => sideEffectImports1(module=preserve,resolvesideeffectimports=false).js} (58%) create mode 100644 tests/baselines/reference/sideEffectImports1(module=preserve,resolvesideeffectimports=false).symbols create mode 100644 tests/baselines/reference/sideEffectImports1(module=preserve,resolvesideeffectimports=false).types rename tests/baselines/reference/{resolveSideEffectImports(module=commonjs,resolvesideeffectimports=true).errors.txt => sideEffectImports1(module=preserve,resolvesideeffectimports=true).errors.txt} (53%) rename tests/baselines/reference/{resolveSideEffectImports(module=preserve,resolvesideeffectimports=true).js => sideEffectImports1(module=preserve,resolvesideeffectimports=true).js} (58%) create mode 100644 tests/baselines/reference/sideEffectImports1(module=preserve,resolvesideeffectimports=true).symbols create mode 100644 tests/baselines/reference/sideEffectImports1(module=preserve,resolvesideeffectimports=true).types create mode 100644 tests/baselines/reference/sideEffectImports2(noimplicitany=false,resolvesideeffectimports=false).symbols create mode 100644 tests/baselines/reference/sideEffectImports2(noimplicitany=false,resolvesideeffectimports=false).types create mode 100644 tests/baselines/reference/sideEffectImports2(noimplicitany=false,resolvesideeffectimports=true).symbols create mode 100644 tests/baselines/reference/sideEffectImports2(noimplicitany=false,resolvesideeffectimports=true).types create mode 100644 tests/baselines/reference/sideEffectImports2(noimplicitany=true,resolvesideeffectimports=false).symbols create mode 100644 tests/baselines/reference/sideEffectImports2(noimplicitany=true,resolvesideeffectimports=false).types create mode 100644 tests/baselines/reference/sideEffectImports2(noimplicitany=true,resolvesideeffectimports=true).errors.txt create mode 100644 tests/baselines/reference/sideEffectImports2(noimplicitany=true,resolvesideeffectimports=true).symbols create mode 100644 tests/baselines/reference/sideEffectImports2(noimplicitany=true,resolvesideeffectimports=true).types rename tests/cases/compiler/{resolveSideEffectImports.ts => sideEffectImports1.ts} (100%) create mode 100644 tests/cases/compiler/sideEffectImports2.ts diff --git a/tests/baselines/reference/resolveSideEffectImports(module=commonjs,resolvesideeffectimports=false).symbols b/tests/baselines/reference/resolveSideEffectImports(module=commonjs,resolvesideeffectimports=false).symbols deleted file mode 100644 index b44476ea5a49c..0000000000000 --- a/tests/baselines/reference/resolveSideEffectImports(module=commonjs,resolvesideeffectimports=false).symbols +++ /dev/null @@ -1,8 +0,0 @@ -//// [tests/cases/compiler/resolveSideEffectImports.ts] //// - -=== resolveSideEffectImports.ts === - -import "does-not-exist"; -import "./does-not-exist-either"; -import "./does-not-exist-either.js"; - diff --git a/tests/baselines/reference/resolveSideEffectImports(module=commonjs,resolvesideeffectimports=false).types b/tests/baselines/reference/resolveSideEffectImports(module=commonjs,resolvesideeffectimports=false).types deleted file mode 100644 index b44476ea5a49c..0000000000000 --- a/tests/baselines/reference/resolveSideEffectImports(module=commonjs,resolvesideeffectimports=false).types +++ /dev/null @@ -1,8 +0,0 @@ -//// [tests/cases/compiler/resolveSideEffectImports.ts] //// - -=== resolveSideEffectImports.ts === - -import "does-not-exist"; -import "./does-not-exist-either"; -import "./does-not-exist-either.js"; - diff --git a/tests/baselines/reference/resolveSideEffectImports(module=commonjs,resolvesideeffectimports=true).symbols b/tests/baselines/reference/resolveSideEffectImports(module=commonjs,resolvesideeffectimports=true).symbols deleted file mode 100644 index b44476ea5a49c..0000000000000 --- a/tests/baselines/reference/resolveSideEffectImports(module=commonjs,resolvesideeffectimports=true).symbols +++ /dev/null @@ -1,8 +0,0 @@ -//// [tests/cases/compiler/resolveSideEffectImports.ts] //// - -=== resolveSideEffectImports.ts === - -import "does-not-exist"; -import "./does-not-exist-either"; -import "./does-not-exist-either.js"; - diff --git a/tests/baselines/reference/resolveSideEffectImports(module=commonjs,resolvesideeffectimports=true).types b/tests/baselines/reference/resolveSideEffectImports(module=commonjs,resolvesideeffectimports=true).types deleted file mode 100644 index b44476ea5a49c..0000000000000 --- a/tests/baselines/reference/resolveSideEffectImports(module=commonjs,resolvesideeffectimports=true).types +++ /dev/null @@ -1,8 +0,0 @@ -//// [tests/cases/compiler/resolveSideEffectImports.ts] //// - -=== resolveSideEffectImports.ts === - -import "does-not-exist"; -import "./does-not-exist-either"; -import "./does-not-exist-either.js"; - diff --git a/tests/baselines/reference/resolveSideEffectImports(module=nodenext,resolvesideeffectimports=false).symbols b/tests/baselines/reference/resolveSideEffectImports(module=nodenext,resolvesideeffectimports=false).symbols deleted file mode 100644 index b44476ea5a49c..0000000000000 --- a/tests/baselines/reference/resolveSideEffectImports(module=nodenext,resolvesideeffectimports=false).symbols +++ /dev/null @@ -1,8 +0,0 @@ -//// [tests/cases/compiler/resolveSideEffectImports.ts] //// - -=== resolveSideEffectImports.ts === - -import "does-not-exist"; -import "./does-not-exist-either"; -import "./does-not-exist-either.js"; - diff --git a/tests/baselines/reference/resolveSideEffectImports(module=nodenext,resolvesideeffectimports=false).types b/tests/baselines/reference/resolveSideEffectImports(module=nodenext,resolvesideeffectimports=false).types deleted file mode 100644 index b44476ea5a49c..0000000000000 --- a/tests/baselines/reference/resolveSideEffectImports(module=nodenext,resolvesideeffectimports=false).types +++ /dev/null @@ -1,8 +0,0 @@ -//// [tests/cases/compiler/resolveSideEffectImports.ts] //// - -=== resolveSideEffectImports.ts === - -import "does-not-exist"; -import "./does-not-exist-either"; -import "./does-not-exist-either.js"; - diff --git a/tests/baselines/reference/resolveSideEffectImports(module=nodenext,resolvesideeffectimports=true).symbols b/tests/baselines/reference/resolveSideEffectImports(module=nodenext,resolvesideeffectimports=true).symbols deleted file mode 100644 index b44476ea5a49c..0000000000000 --- a/tests/baselines/reference/resolveSideEffectImports(module=nodenext,resolvesideeffectimports=true).symbols +++ /dev/null @@ -1,8 +0,0 @@ -//// [tests/cases/compiler/resolveSideEffectImports.ts] //// - -=== resolveSideEffectImports.ts === - -import "does-not-exist"; -import "./does-not-exist-either"; -import "./does-not-exist-either.js"; - diff --git a/tests/baselines/reference/resolveSideEffectImports(module=nodenext,resolvesideeffectimports=true).types b/tests/baselines/reference/resolveSideEffectImports(module=nodenext,resolvesideeffectimports=true).types deleted file mode 100644 index b44476ea5a49c..0000000000000 --- a/tests/baselines/reference/resolveSideEffectImports(module=nodenext,resolvesideeffectimports=true).types +++ /dev/null @@ -1,8 +0,0 @@ -//// [tests/cases/compiler/resolveSideEffectImports.ts] //// - -=== resolveSideEffectImports.ts === - -import "does-not-exist"; -import "./does-not-exist-either"; -import "./does-not-exist-either.js"; - diff --git a/tests/baselines/reference/resolveSideEffectImports(module=preserve,resolvesideeffectimports=false).symbols b/tests/baselines/reference/resolveSideEffectImports(module=preserve,resolvesideeffectimports=false).symbols deleted file mode 100644 index b44476ea5a49c..0000000000000 --- a/tests/baselines/reference/resolveSideEffectImports(module=preserve,resolvesideeffectimports=false).symbols +++ /dev/null @@ -1,8 +0,0 @@ -//// [tests/cases/compiler/resolveSideEffectImports.ts] //// - -=== resolveSideEffectImports.ts === - -import "does-not-exist"; -import "./does-not-exist-either"; -import "./does-not-exist-either.js"; - diff --git a/tests/baselines/reference/resolveSideEffectImports(module=preserve,resolvesideeffectimports=false).types b/tests/baselines/reference/resolveSideEffectImports(module=preserve,resolvesideeffectimports=false).types deleted file mode 100644 index b44476ea5a49c..0000000000000 --- a/tests/baselines/reference/resolveSideEffectImports(module=preserve,resolvesideeffectimports=false).types +++ /dev/null @@ -1,8 +0,0 @@ -//// [tests/cases/compiler/resolveSideEffectImports.ts] //// - -=== resolveSideEffectImports.ts === - -import "does-not-exist"; -import "./does-not-exist-either"; -import "./does-not-exist-either.js"; - diff --git a/tests/baselines/reference/resolveSideEffectImports(module=preserve,resolvesideeffectimports=true).symbols b/tests/baselines/reference/resolveSideEffectImports(module=preserve,resolvesideeffectimports=true).symbols deleted file mode 100644 index b44476ea5a49c..0000000000000 --- a/tests/baselines/reference/resolveSideEffectImports(module=preserve,resolvesideeffectimports=true).symbols +++ /dev/null @@ -1,8 +0,0 @@ -//// [tests/cases/compiler/resolveSideEffectImports.ts] //// - -=== resolveSideEffectImports.ts === - -import "does-not-exist"; -import "./does-not-exist-either"; -import "./does-not-exist-either.js"; - diff --git a/tests/baselines/reference/resolveSideEffectImports(module=preserve,resolvesideeffectimports=true).types b/tests/baselines/reference/resolveSideEffectImports(module=preserve,resolvesideeffectimports=true).types deleted file mode 100644 index b44476ea5a49c..0000000000000 --- a/tests/baselines/reference/resolveSideEffectImports(module=preserve,resolvesideeffectimports=true).types +++ /dev/null @@ -1,8 +0,0 @@ -//// [tests/cases/compiler/resolveSideEffectImports.ts] //// - -=== resolveSideEffectImports.ts === - -import "does-not-exist"; -import "./does-not-exist-either"; -import "./does-not-exist-either.js"; - diff --git a/tests/baselines/reference/resolveSideEffectImports(module=commonjs,resolvesideeffectimports=false).js b/tests/baselines/reference/sideEffectImports1(module=commonjs,resolvesideeffectimports=false).js similarity index 66% rename from tests/baselines/reference/resolveSideEffectImports(module=commonjs,resolvesideeffectimports=false).js rename to tests/baselines/reference/sideEffectImports1(module=commonjs,resolvesideeffectimports=false).js index 541824db2da0a..b9f2790a4b268 100644 --- a/tests/baselines/reference/resolveSideEffectImports(module=commonjs,resolvesideeffectimports=false).js +++ b/tests/baselines/reference/sideEffectImports1(module=commonjs,resolvesideeffectimports=false).js @@ -1,12 +1,12 @@ -//// [tests/cases/compiler/resolveSideEffectImports.ts] //// +//// [tests/cases/compiler/sideEffectImports1.ts] //// -//// [resolveSideEffectImports.ts] +//// [sideEffectImports1.ts] import "does-not-exist"; import "./does-not-exist-either"; import "./does-not-exist-either.js"; -//// [resolveSideEffectImports.js] +//// [sideEffectImports1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); require("does-not-exist"); diff --git a/tests/baselines/reference/sideEffectImports1(module=commonjs,resolvesideeffectimports=false).symbols b/tests/baselines/reference/sideEffectImports1(module=commonjs,resolvesideeffectimports=false).symbols new file mode 100644 index 0000000000000..e9f4818d85a4b --- /dev/null +++ b/tests/baselines/reference/sideEffectImports1(module=commonjs,resolvesideeffectimports=false).symbols @@ -0,0 +1,8 @@ +//// [tests/cases/compiler/sideEffectImports1.ts] //// + +=== sideEffectImports1.ts === + +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + diff --git a/tests/baselines/reference/sideEffectImports1(module=commonjs,resolvesideeffectimports=false).types b/tests/baselines/reference/sideEffectImports1(module=commonjs,resolvesideeffectimports=false).types new file mode 100644 index 0000000000000..e9f4818d85a4b --- /dev/null +++ b/tests/baselines/reference/sideEffectImports1(module=commonjs,resolvesideeffectimports=false).types @@ -0,0 +1,8 @@ +//// [tests/cases/compiler/sideEffectImports1.ts] //// + +=== sideEffectImports1.ts === + +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + diff --git a/tests/baselines/reference/resolveSideEffectImports(module=nodenext,resolvesideeffectimports=true).errors.txt b/tests/baselines/reference/sideEffectImports1(module=commonjs,resolvesideeffectimports=true).errors.txt similarity index 53% rename from tests/baselines/reference/resolveSideEffectImports(module=nodenext,resolvesideeffectimports=true).errors.txt rename to tests/baselines/reference/sideEffectImports1(module=commonjs,resolvesideeffectimports=true).errors.txt index a88ba78e2cfce..e1813116cb006 100644 --- a/tests/baselines/reference/resolveSideEffectImports(module=nodenext,resolvesideeffectimports=true).errors.txt +++ b/tests/baselines/reference/sideEffectImports1(module=commonjs,resolvesideeffectimports=true).errors.txt @@ -1,9 +1,9 @@ -resolveSideEffectImports.ts(1,8): error TS2307: Cannot find module 'does-not-exist' or its corresponding type declarations. -resolveSideEffectImports.ts(2,8): error TS2307: Cannot find module './does-not-exist-either' or its corresponding type declarations. -resolveSideEffectImports.ts(3,8): error TS2307: Cannot find module './does-not-exist-either.js' or its corresponding type declarations. +sideEffectImports1.ts(1,8): error TS2307: Cannot find module 'does-not-exist' or its corresponding type declarations. +sideEffectImports1.ts(2,8): error TS2307: Cannot find module './does-not-exist-either' or its corresponding type declarations. +sideEffectImports1.ts(3,8): error TS2307: Cannot find module './does-not-exist-either.js' or its corresponding type declarations. -==== resolveSideEffectImports.ts (3 errors) ==== +==== sideEffectImports1.ts (3 errors) ==== import "does-not-exist"; ~~~~~~~~~~~~~~~~ !!! error TS2307: Cannot find module 'does-not-exist' or its corresponding type declarations. diff --git a/tests/baselines/reference/resolveSideEffectImports(module=nodenext,resolvesideeffectimports=false).js b/tests/baselines/reference/sideEffectImports1(module=commonjs,resolvesideeffectimports=true).js similarity index 66% rename from tests/baselines/reference/resolveSideEffectImports(module=nodenext,resolvesideeffectimports=false).js rename to tests/baselines/reference/sideEffectImports1(module=commonjs,resolvesideeffectimports=true).js index 541824db2da0a..b9f2790a4b268 100644 --- a/tests/baselines/reference/resolveSideEffectImports(module=nodenext,resolvesideeffectimports=false).js +++ b/tests/baselines/reference/sideEffectImports1(module=commonjs,resolvesideeffectimports=true).js @@ -1,12 +1,12 @@ -//// [tests/cases/compiler/resolveSideEffectImports.ts] //// +//// [tests/cases/compiler/sideEffectImports1.ts] //// -//// [resolveSideEffectImports.ts] +//// [sideEffectImports1.ts] import "does-not-exist"; import "./does-not-exist-either"; import "./does-not-exist-either.js"; -//// [resolveSideEffectImports.js] +//// [sideEffectImports1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); require("does-not-exist"); diff --git a/tests/baselines/reference/sideEffectImports1(module=commonjs,resolvesideeffectimports=true).symbols b/tests/baselines/reference/sideEffectImports1(module=commonjs,resolvesideeffectimports=true).symbols new file mode 100644 index 0000000000000..e9f4818d85a4b --- /dev/null +++ b/tests/baselines/reference/sideEffectImports1(module=commonjs,resolvesideeffectimports=true).symbols @@ -0,0 +1,8 @@ +//// [tests/cases/compiler/sideEffectImports1.ts] //// + +=== sideEffectImports1.ts === + +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + diff --git a/tests/baselines/reference/sideEffectImports1(module=commonjs,resolvesideeffectimports=true).types b/tests/baselines/reference/sideEffectImports1(module=commonjs,resolvesideeffectimports=true).types new file mode 100644 index 0000000000000..e9f4818d85a4b --- /dev/null +++ b/tests/baselines/reference/sideEffectImports1(module=commonjs,resolvesideeffectimports=true).types @@ -0,0 +1,8 @@ +//// [tests/cases/compiler/sideEffectImports1.ts] //// + +=== sideEffectImports1.ts === + +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + diff --git a/tests/baselines/reference/resolveSideEffectImports(module=nodenext,resolvesideeffectimports=true).js b/tests/baselines/reference/sideEffectImports1(module=nodenext,resolvesideeffectimports=false).js similarity index 66% rename from tests/baselines/reference/resolveSideEffectImports(module=nodenext,resolvesideeffectimports=true).js rename to tests/baselines/reference/sideEffectImports1(module=nodenext,resolvesideeffectimports=false).js index 541824db2da0a..b9f2790a4b268 100644 --- a/tests/baselines/reference/resolveSideEffectImports(module=nodenext,resolvesideeffectimports=true).js +++ b/tests/baselines/reference/sideEffectImports1(module=nodenext,resolvesideeffectimports=false).js @@ -1,12 +1,12 @@ -//// [tests/cases/compiler/resolveSideEffectImports.ts] //// +//// [tests/cases/compiler/sideEffectImports1.ts] //// -//// [resolveSideEffectImports.ts] +//// [sideEffectImports1.ts] import "does-not-exist"; import "./does-not-exist-either"; import "./does-not-exist-either.js"; -//// [resolveSideEffectImports.js] +//// [sideEffectImports1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); require("does-not-exist"); diff --git a/tests/baselines/reference/sideEffectImports1(module=nodenext,resolvesideeffectimports=false).symbols b/tests/baselines/reference/sideEffectImports1(module=nodenext,resolvesideeffectimports=false).symbols new file mode 100644 index 0000000000000..e9f4818d85a4b --- /dev/null +++ b/tests/baselines/reference/sideEffectImports1(module=nodenext,resolvesideeffectimports=false).symbols @@ -0,0 +1,8 @@ +//// [tests/cases/compiler/sideEffectImports1.ts] //// + +=== sideEffectImports1.ts === + +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + diff --git a/tests/baselines/reference/sideEffectImports1(module=nodenext,resolvesideeffectimports=false).types b/tests/baselines/reference/sideEffectImports1(module=nodenext,resolvesideeffectimports=false).types new file mode 100644 index 0000000000000..e9f4818d85a4b --- /dev/null +++ b/tests/baselines/reference/sideEffectImports1(module=nodenext,resolvesideeffectimports=false).types @@ -0,0 +1,8 @@ +//// [tests/cases/compiler/sideEffectImports1.ts] //// + +=== sideEffectImports1.ts === + +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + diff --git a/tests/baselines/reference/resolveSideEffectImports(module=preserve,resolvesideeffectimports=true).errors.txt b/tests/baselines/reference/sideEffectImports1(module=nodenext,resolvesideeffectimports=true).errors.txt similarity index 53% rename from tests/baselines/reference/resolveSideEffectImports(module=preserve,resolvesideeffectimports=true).errors.txt rename to tests/baselines/reference/sideEffectImports1(module=nodenext,resolvesideeffectimports=true).errors.txt index a88ba78e2cfce..e1813116cb006 100644 --- a/tests/baselines/reference/resolveSideEffectImports(module=preserve,resolvesideeffectimports=true).errors.txt +++ b/tests/baselines/reference/sideEffectImports1(module=nodenext,resolvesideeffectimports=true).errors.txt @@ -1,9 +1,9 @@ -resolveSideEffectImports.ts(1,8): error TS2307: Cannot find module 'does-not-exist' or its corresponding type declarations. -resolveSideEffectImports.ts(2,8): error TS2307: Cannot find module './does-not-exist-either' or its corresponding type declarations. -resolveSideEffectImports.ts(3,8): error TS2307: Cannot find module './does-not-exist-either.js' or its corresponding type declarations. +sideEffectImports1.ts(1,8): error TS2307: Cannot find module 'does-not-exist' or its corresponding type declarations. +sideEffectImports1.ts(2,8): error TS2307: Cannot find module './does-not-exist-either' or its corresponding type declarations. +sideEffectImports1.ts(3,8): error TS2307: Cannot find module './does-not-exist-either.js' or its corresponding type declarations. -==== resolveSideEffectImports.ts (3 errors) ==== +==== sideEffectImports1.ts (3 errors) ==== import "does-not-exist"; ~~~~~~~~~~~~~~~~ !!! error TS2307: Cannot find module 'does-not-exist' or its corresponding type declarations. diff --git a/tests/baselines/reference/resolveSideEffectImports(module=commonjs,resolvesideeffectimports=true).js b/tests/baselines/reference/sideEffectImports1(module=nodenext,resolvesideeffectimports=true).js similarity index 66% rename from tests/baselines/reference/resolveSideEffectImports(module=commonjs,resolvesideeffectimports=true).js rename to tests/baselines/reference/sideEffectImports1(module=nodenext,resolvesideeffectimports=true).js index 541824db2da0a..b9f2790a4b268 100644 --- a/tests/baselines/reference/resolveSideEffectImports(module=commonjs,resolvesideeffectimports=true).js +++ b/tests/baselines/reference/sideEffectImports1(module=nodenext,resolvesideeffectimports=true).js @@ -1,12 +1,12 @@ -//// [tests/cases/compiler/resolveSideEffectImports.ts] //// +//// [tests/cases/compiler/sideEffectImports1.ts] //// -//// [resolveSideEffectImports.ts] +//// [sideEffectImports1.ts] import "does-not-exist"; import "./does-not-exist-either"; import "./does-not-exist-either.js"; -//// [resolveSideEffectImports.js] +//// [sideEffectImports1.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); require("does-not-exist"); diff --git a/tests/baselines/reference/sideEffectImports1(module=nodenext,resolvesideeffectimports=true).symbols b/tests/baselines/reference/sideEffectImports1(module=nodenext,resolvesideeffectimports=true).symbols new file mode 100644 index 0000000000000..e9f4818d85a4b --- /dev/null +++ b/tests/baselines/reference/sideEffectImports1(module=nodenext,resolvesideeffectimports=true).symbols @@ -0,0 +1,8 @@ +//// [tests/cases/compiler/sideEffectImports1.ts] //// + +=== sideEffectImports1.ts === + +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + diff --git a/tests/baselines/reference/sideEffectImports1(module=nodenext,resolvesideeffectimports=true).types b/tests/baselines/reference/sideEffectImports1(module=nodenext,resolvesideeffectimports=true).types new file mode 100644 index 0000000000000..e9f4818d85a4b --- /dev/null +++ b/tests/baselines/reference/sideEffectImports1(module=nodenext,resolvesideeffectimports=true).types @@ -0,0 +1,8 @@ +//// [tests/cases/compiler/sideEffectImports1.ts] //// + +=== sideEffectImports1.ts === + +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + diff --git a/tests/baselines/reference/resolveSideEffectImports(module=preserve,resolvesideeffectimports=false).js b/tests/baselines/reference/sideEffectImports1(module=preserve,resolvesideeffectimports=false).js similarity index 58% rename from tests/baselines/reference/resolveSideEffectImports(module=preserve,resolvesideeffectimports=false).js rename to tests/baselines/reference/sideEffectImports1(module=preserve,resolvesideeffectimports=false).js index b67f2ac1fb0bf..6885c11fb0db7 100644 --- a/tests/baselines/reference/resolveSideEffectImports(module=preserve,resolvesideeffectimports=false).js +++ b/tests/baselines/reference/sideEffectImports1(module=preserve,resolvesideeffectimports=false).js @@ -1,12 +1,12 @@ -//// [tests/cases/compiler/resolveSideEffectImports.ts] //// +//// [tests/cases/compiler/sideEffectImports1.ts] //// -//// [resolveSideEffectImports.ts] +//// [sideEffectImports1.ts] import "does-not-exist"; import "./does-not-exist-either"; import "./does-not-exist-either.js"; -//// [resolveSideEffectImports.js] +//// [sideEffectImports1.js] import "does-not-exist"; import "./does-not-exist-either"; import "./does-not-exist-either.js"; diff --git a/tests/baselines/reference/sideEffectImports1(module=preserve,resolvesideeffectimports=false).symbols b/tests/baselines/reference/sideEffectImports1(module=preserve,resolvesideeffectimports=false).symbols new file mode 100644 index 0000000000000..e9f4818d85a4b --- /dev/null +++ b/tests/baselines/reference/sideEffectImports1(module=preserve,resolvesideeffectimports=false).symbols @@ -0,0 +1,8 @@ +//// [tests/cases/compiler/sideEffectImports1.ts] //// + +=== sideEffectImports1.ts === + +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + diff --git a/tests/baselines/reference/sideEffectImports1(module=preserve,resolvesideeffectimports=false).types b/tests/baselines/reference/sideEffectImports1(module=preserve,resolvesideeffectimports=false).types new file mode 100644 index 0000000000000..e9f4818d85a4b --- /dev/null +++ b/tests/baselines/reference/sideEffectImports1(module=preserve,resolvesideeffectimports=false).types @@ -0,0 +1,8 @@ +//// [tests/cases/compiler/sideEffectImports1.ts] //// + +=== sideEffectImports1.ts === + +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + diff --git a/tests/baselines/reference/resolveSideEffectImports(module=commonjs,resolvesideeffectimports=true).errors.txt b/tests/baselines/reference/sideEffectImports1(module=preserve,resolvesideeffectimports=true).errors.txt similarity index 53% rename from tests/baselines/reference/resolveSideEffectImports(module=commonjs,resolvesideeffectimports=true).errors.txt rename to tests/baselines/reference/sideEffectImports1(module=preserve,resolvesideeffectimports=true).errors.txt index a88ba78e2cfce..e1813116cb006 100644 --- a/tests/baselines/reference/resolveSideEffectImports(module=commonjs,resolvesideeffectimports=true).errors.txt +++ b/tests/baselines/reference/sideEffectImports1(module=preserve,resolvesideeffectimports=true).errors.txt @@ -1,9 +1,9 @@ -resolveSideEffectImports.ts(1,8): error TS2307: Cannot find module 'does-not-exist' or its corresponding type declarations. -resolveSideEffectImports.ts(2,8): error TS2307: Cannot find module './does-not-exist-either' or its corresponding type declarations. -resolveSideEffectImports.ts(3,8): error TS2307: Cannot find module './does-not-exist-either.js' or its corresponding type declarations. +sideEffectImports1.ts(1,8): error TS2307: Cannot find module 'does-not-exist' or its corresponding type declarations. +sideEffectImports1.ts(2,8): error TS2307: Cannot find module './does-not-exist-either' or its corresponding type declarations. +sideEffectImports1.ts(3,8): error TS2307: Cannot find module './does-not-exist-either.js' or its corresponding type declarations. -==== resolveSideEffectImports.ts (3 errors) ==== +==== sideEffectImports1.ts (3 errors) ==== import "does-not-exist"; ~~~~~~~~~~~~~~~~ !!! error TS2307: Cannot find module 'does-not-exist' or its corresponding type declarations. diff --git a/tests/baselines/reference/resolveSideEffectImports(module=preserve,resolvesideeffectimports=true).js b/tests/baselines/reference/sideEffectImports1(module=preserve,resolvesideeffectimports=true).js similarity index 58% rename from tests/baselines/reference/resolveSideEffectImports(module=preserve,resolvesideeffectimports=true).js rename to tests/baselines/reference/sideEffectImports1(module=preserve,resolvesideeffectimports=true).js index b67f2ac1fb0bf..6885c11fb0db7 100644 --- a/tests/baselines/reference/resolveSideEffectImports(module=preserve,resolvesideeffectimports=true).js +++ b/tests/baselines/reference/sideEffectImports1(module=preserve,resolvesideeffectimports=true).js @@ -1,12 +1,12 @@ -//// [tests/cases/compiler/resolveSideEffectImports.ts] //// +//// [tests/cases/compiler/sideEffectImports1.ts] //// -//// [resolveSideEffectImports.ts] +//// [sideEffectImports1.ts] import "does-not-exist"; import "./does-not-exist-either"; import "./does-not-exist-either.js"; -//// [resolveSideEffectImports.js] +//// [sideEffectImports1.js] import "does-not-exist"; import "./does-not-exist-either"; import "./does-not-exist-either.js"; diff --git a/tests/baselines/reference/sideEffectImports1(module=preserve,resolvesideeffectimports=true).symbols b/tests/baselines/reference/sideEffectImports1(module=preserve,resolvesideeffectimports=true).symbols new file mode 100644 index 0000000000000..e9f4818d85a4b --- /dev/null +++ b/tests/baselines/reference/sideEffectImports1(module=preserve,resolvesideeffectimports=true).symbols @@ -0,0 +1,8 @@ +//// [tests/cases/compiler/sideEffectImports1.ts] //// + +=== sideEffectImports1.ts === + +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + diff --git a/tests/baselines/reference/sideEffectImports1(module=preserve,resolvesideeffectimports=true).types b/tests/baselines/reference/sideEffectImports1(module=preserve,resolvesideeffectimports=true).types new file mode 100644 index 0000000000000..e9f4818d85a4b --- /dev/null +++ b/tests/baselines/reference/sideEffectImports1(module=preserve,resolvesideeffectimports=true).types @@ -0,0 +1,8 @@ +//// [tests/cases/compiler/sideEffectImports1.ts] //// + +=== sideEffectImports1.ts === + +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + diff --git a/tests/baselines/reference/sideEffectImports2(noimplicitany=false,resolvesideeffectimports=false).symbols b/tests/baselines/reference/sideEffectImports2(noimplicitany=false,resolvesideeffectimports=false).symbols new file mode 100644 index 0000000000000..aa7b41f4c55e6 --- /dev/null +++ b/tests/baselines/reference/sideEffectImports2(noimplicitany=false,resolvesideeffectimports=false).symbols @@ -0,0 +1,6 @@ +//// [tests/cases/compiler/sideEffectImports2.ts] //// + +=== index.ts === + +import "source-map-support/register"; + diff --git a/tests/baselines/reference/sideEffectImports2(noimplicitany=false,resolvesideeffectimports=false).types b/tests/baselines/reference/sideEffectImports2(noimplicitany=false,resolvesideeffectimports=false).types new file mode 100644 index 0000000000000..aa7b41f4c55e6 --- /dev/null +++ b/tests/baselines/reference/sideEffectImports2(noimplicitany=false,resolvesideeffectimports=false).types @@ -0,0 +1,6 @@ +//// [tests/cases/compiler/sideEffectImports2.ts] //// + +=== index.ts === + +import "source-map-support/register"; + diff --git a/tests/baselines/reference/sideEffectImports2(noimplicitany=false,resolvesideeffectimports=true).symbols b/tests/baselines/reference/sideEffectImports2(noimplicitany=false,resolvesideeffectimports=true).symbols new file mode 100644 index 0000000000000..aa7b41f4c55e6 --- /dev/null +++ b/tests/baselines/reference/sideEffectImports2(noimplicitany=false,resolvesideeffectimports=true).symbols @@ -0,0 +1,6 @@ +//// [tests/cases/compiler/sideEffectImports2.ts] //// + +=== index.ts === + +import "source-map-support/register"; + diff --git a/tests/baselines/reference/sideEffectImports2(noimplicitany=false,resolvesideeffectimports=true).types b/tests/baselines/reference/sideEffectImports2(noimplicitany=false,resolvesideeffectimports=true).types new file mode 100644 index 0000000000000..aa7b41f4c55e6 --- /dev/null +++ b/tests/baselines/reference/sideEffectImports2(noimplicitany=false,resolvesideeffectimports=true).types @@ -0,0 +1,6 @@ +//// [tests/cases/compiler/sideEffectImports2.ts] //// + +=== index.ts === + +import "source-map-support/register"; + diff --git a/tests/baselines/reference/sideEffectImports2(noimplicitany=true,resolvesideeffectimports=false).symbols b/tests/baselines/reference/sideEffectImports2(noimplicitany=true,resolvesideeffectimports=false).symbols new file mode 100644 index 0000000000000..aa7b41f4c55e6 --- /dev/null +++ b/tests/baselines/reference/sideEffectImports2(noimplicitany=true,resolvesideeffectimports=false).symbols @@ -0,0 +1,6 @@ +//// [tests/cases/compiler/sideEffectImports2.ts] //// + +=== index.ts === + +import "source-map-support/register"; + diff --git a/tests/baselines/reference/sideEffectImports2(noimplicitany=true,resolvesideeffectimports=false).types b/tests/baselines/reference/sideEffectImports2(noimplicitany=true,resolvesideeffectimports=false).types new file mode 100644 index 0000000000000..aa7b41f4c55e6 --- /dev/null +++ b/tests/baselines/reference/sideEffectImports2(noimplicitany=true,resolvesideeffectimports=false).types @@ -0,0 +1,6 @@ +//// [tests/cases/compiler/sideEffectImports2.ts] //// + +=== index.ts === + +import "source-map-support/register"; + diff --git a/tests/baselines/reference/sideEffectImports2(noimplicitany=true,resolvesideeffectimports=true).errors.txt b/tests/baselines/reference/sideEffectImports2(noimplicitany=true,resolvesideeffectimports=true).errors.txt new file mode 100644 index 0000000000000..bb1e606940878 --- /dev/null +++ b/tests/baselines/reference/sideEffectImports2(noimplicitany=true,resolvesideeffectimports=true).errors.txt @@ -0,0 +1,16 @@ +index.ts(1,8): error TS7016: Could not find a declaration file for module 'source-map-support/register'. 'node_modules/source-map-support/register.js' implicitly has an 'any' type. + + +==== tsconfig.json (0 errors) ==== + { + "include": ["index.ts"], + } + +==== index.ts (1 errors) ==== + import "source-map-support/register"; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS7016: Could not find a declaration file for module 'source-map-support/register'. 'node_modules/source-map-support/register.js' implicitly has an 'any' type. + +==== node_modules/source-map-support/register.js (0 errors) ==== + module.exports = {}; + \ No newline at end of file diff --git a/tests/baselines/reference/sideEffectImports2(noimplicitany=true,resolvesideeffectimports=true).symbols b/tests/baselines/reference/sideEffectImports2(noimplicitany=true,resolvesideeffectimports=true).symbols new file mode 100644 index 0000000000000..aa7b41f4c55e6 --- /dev/null +++ b/tests/baselines/reference/sideEffectImports2(noimplicitany=true,resolvesideeffectimports=true).symbols @@ -0,0 +1,6 @@ +//// [tests/cases/compiler/sideEffectImports2.ts] //// + +=== index.ts === + +import "source-map-support/register"; + diff --git a/tests/baselines/reference/sideEffectImports2(noimplicitany=true,resolvesideeffectimports=true).types b/tests/baselines/reference/sideEffectImports2(noimplicitany=true,resolvesideeffectimports=true).types new file mode 100644 index 0000000000000..aa7b41f4c55e6 --- /dev/null +++ b/tests/baselines/reference/sideEffectImports2(noimplicitany=true,resolvesideeffectimports=true).types @@ -0,0 +1,6 @@ +//// [tests/cases/compiler/sideEffectImports2.ts] //// + +=== index.ts === + +import "source-map-support/register"; + diff --git a/tests/cases/compiler/resolveSideEffectImports.ts b/tests/cases/compiler/sideEffectImports1.ts similarity index 100% rename from tests/cases/compiler/resolveSideEffectImports.ts rename to tests/cases/compiler/sideEffectImports1.ts diff --git a/tests/cases/compiler/sideEffectImports2.ts b/tests/cases/compiler/sideEffectImports2.ts new file mode 100644 index 0000000000000..5e64f59295b43 --- /dev/null +++ b/tests/cases/compiler/sideEffectImports2.ts @@ -0,0 +1,17 @@ +// @resolveSideEffectImports: true,false +// @module: nodenext +// @noImplicitAny: true,false +// @noEmit: true + +// @filename: tsconfig.json +{ + "include": ["index.ts"], +} + +// @filename: index.ts + +import "source-map-support/register"; + +// @filename: node_modules/source-map-support/register.js + +module.exports = {}; From 3961061aa33bf8ad4aa70813f13540616a313c39 Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Tue, 16 Jul 2024 16:47:23 -0700 Subject: [PATCH 06/22] Ignore implicit any on side effect import --- src/compiler/checker.ts | 4 ++++ ...rue,resolvesideeffectimports=true).errors.txt | 16 ---------------- 2 files changed, 4 insertions(+), 16 deletions(-) delete mode 100644 tests/baselines/reference/sideEffectImports2(noimplicitany=true,resolvesideeffectimports=true).errors.txt diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 42c1eef3b1abf..25cfac26f77d0 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -4673,6 +4673,10 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { // May be an untyped module. If so, ignore resolutionDiagnostic. if (resolvedModule && !resolutionExtensionIsTSOrJson(resolvedModule.extension) && resolutionDiagnostic === undefined || resolutionDiagnostic === Diagnostics.Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type) { + if (isImportDeclaration(location) && !location.importClause) { + // This a side-effect import; ignore the implicit any. + return undefined; + } if (isForAugmentation) { const diag = Diagnostics.Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augmented; error(errorNode, diag, moduleReference, resolvedModule!.resolvedFileName); diff --git a/tests/baselines/reference/sideEffectImports2(noimplicitany=true,resolvesideeffectimports=true).errors.txt b/tests/baselines/reference/sideEffectImports2(noimplicitany=true,resolvesideeffectimports=true).errors.txt deleted file mode 100644 index bb1e606940878..0000000000000 --- a/tests/baselines/reference/sideEffectImports2(noimplicitany=true,resolvesideeffectimports=true).errors.txt +++ /dev/null @@ -1,16 +0,0 @@ -index.ts(1,8): error TS7016: Could not find a declaration file for module 'source-map-support/register'. 'node_modules/source-map-support/register.js' implicitly has an 'any' type. - - -==== tsconfig.json (0 errors) ==== - { - "include": ["index.ts"], - } - -==== index.ts (1 errors) ==== - import "source-map-support/register"; - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7016: Could not find a declaration file for module 'source-map-support/register'. 'node_modules/source-map-support/register.js' implicitly has an 'any' type. - -==== node_modules/source-map-support/register.js (0 errors) ==== - module.exports = {}; - \ No newline at end of file From 956752305635420ee45b27ba63292b6207657150 Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Tue, 16 Jul 2024 16:51:57 -0700 Subject: [PATCH 07/22] Test not a module --- ...on=auto,resolvesideeffectimports=false).js | 15 +++++++++++++++ ...to,resolvesideeffectimports=false).symbols | 12 ++++++++++++ ...auto,resolvesideeffectimports=false).types | 19 +++++++++++++++++++ ...,resolvesideeffectimports=true).errors.txt | 11 +++++++++++ ...ion=auto,resolvesideeffectimports=true).js | 15 +++++++++++++++ ...uto,resolvesideeffectimports=true).symbols | 12 ++++++++++++ ...=auto,resolvesideeffectimports=true).types | 19 +++++++++++++++++++ ...n=force,resolvesideeffectimports=false).js | 17 +++++++++++++++++ ...ce,resolvesideeffectimports=false).symbols | 12 ++++++++++++ ...orce,resolvesideeffectimports=false).types | 19 +++++++++++++++++++ ...on=force,resolvesideeffectimports=true).js | 17 +++++++++++++++++ ...rce,resolvesideeffectimports=true).symbols | 12 ++++++++++++ ...force,resolvesideeffectimports=true).types | 19 +++++++++++++++++++ ...=legacy,resolvesideeffectimports=false).js | 15 +++++++++++++++ ...cy,resolvesideeffectimports=false).symbols | 12 ++++++++++++ ...gacy,resolvesideeffectimports=false).types | 19 +++++++++++++++++++ ...,resolvesideeffectimports=true).errors.txt | 11 +++++++++++ ...n=legacy,resolvesideeffectimports=true).js | 15 +++++++++++++++ ...acy,resolvesideeffectimports=true).symbols | 12 ++++++++++++ ...egacy,resolvesideeffectimports=true).types | 19 +++++++++++++++++++ tests/cases/compiler/sideEffectImports3.ts | 9 +++++++++ 21 files changed, 311 insertions(+) create mode 100644 tests/baselines/reference/sideEffectImports3(moduledetection=auto,resolvesideeffectimports=false).js create mode 100644 tests/baselines/reference/sideEffectImports3(moduledetection=auto,resolvesideeffectimports=false).symbols create mode 100644 tests/baselines/reference/sideEffectImports3(moduledetection=auto,resolvesideeffectimports=false).types create mode 100644 tests/baselines/reference/sideEffectImports3(moduledetection=auto,resolvesideeffectimports=true).errors.txt create mode 100644 tests/baselines/reference/sideEffectImports3(moduledetection=auto,resolvesideeffectimports=true).js create mode 100644 tests/baselines/reference/sideEffectImports3(moduledetection=auto,resolvesideeffectimports=true).symbols create mode 100644 tests/baselines/reference/sideEffectImports3(moduledetection=auto,resolvesideeffectimports=true).types create mode 100644 tests/baselines/reference/sideEffectImports3(moduledetection=force,resolvesideeffectimports=false).js create mode 100644 tests/baselines/reference/sideEffectImports3(moduledetection=force,resolvesideeffectimports=false).symbols create mode 100644 tests/baselines/reference/sideEffectImports3(moduledetection=force,resolvesideeffectimports=false).types create mode 100644 tests/baselines/reference/sideEffectImports3(moduledetection=force,resolvesideeffectimports=true).js create mode 100644 tests/baselines/reference/sideEffectImports3(moduledetection=force,resolvesideeffectimports=true).symbols create mode 100644 tests/baselines/reference/sideEffectImports3(moduledetection=force,resolvesideeffectimports=true).types create mode 100644 tests/baselines/reference/sideEffectImports3(moduledetection=legacy,resolvesideeffectimports=false).js create mode 100644 tests/baselines/reference/sideEffectImports3(moduledetection=legacy,resolvesideeffectimports=false).symbols create mode 100644 tests/baselines/reference/sideEffectImports3(moduledetection=legacy,resolvesideeffectimports=false).types create mode 100644 tests/baselines/reference/sideEffectImports3(moduledetection=legacy,resolvesideeffectimports=true).errors.txt create mode 100644 tests/baselines/reference/sideEffectImports3(moduledetection=legacy,resolvesideeffectimports=true).js create mode 100644 tests/baselines/reference/sideEffectImports3(moduledetection=legacy,resolvesideeffectimports=true).symbols create mode 100644 tests/baselines/reference/sideEffectImports3(moduledetection=legacy,resolvesideeffectimports=true).types create mode 100644 tests/cases/compiler/sideEffectImports3.ts diff --git a/tests/baselines/reference/sideEffectImports3(moduledetection=auto,resolvesideeffectimports=false).js b/tests/baselines/reference/sideEffectImports3(moduledetection=auto,resolvesideeffectimports=false).js new file mode 100644 index 0000000000000..f0426f699a23a --- /dev/null +++ b/tests/baselines/reference/sideEffectImports3(moduledetection=auto,resolvesideeffectimports=false).js @@ -0,0 +1,15 @@ +//// [tests/cases/compiler/sideEffectImports3.ts] //// + +//// [index.ts] +import "./not-a-module"; + +//// [not-a-module.ts] +console.log("Hello, world!"); + + +//// [not-a-module.js] +console.log("Hello, world!"); +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +require("./not-a-module"); diff --git a/tests/baselines/reference/sideEffectImports3(moduledetection=auto,resolvesideeffectimports=false).symbols b/tests/baselines/reference/sideEffectImports3(moduledetection=auto,resolvesideeffectimports=false).symbols new file mode 100644 index 0000000000000..727efa084bed4 --- /dev/null +++ b/tests/baselines/reference/sideEffectImports3(moduledetection=auto,resolvesideeffectimports=false).symbols @@ -0,0 +1,12 @@ +//// [tests/cases/compiler/sideEffectImports3.ts] //// + +=== index.ts === + +import "./not-a-module"; + +=== not-a-module.ts === +console.log("Hello, world!"); +>console.log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) +>console : Symbol(console, Decl(lib.dom.d.ts, --, --)) +>log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) + diff --git a/tests/baselines/reference/sideEffectImports3(moduledetection=auto,resolvesideeffectimports=false).types b/tests/baselines/reference/sideEffectImports3(moduledetection=auto,resolvesideeffectimports=false).types new file mode 100644 index 0000000000000..a956316561eae --- /dev/null +++ b/tests/baselines/reference/sideEffectImports3(moduledetection=auto,resolvesideeffectimports=false).types @@ -0,0 +1,19 @@ +//// [tests/cases/compiler/sideEffectImports3.ts] //// + +=== index.ts === + +import "./not-a-module"; + +=== not-a-module.ts === +console.log("Hello, world!"); +>console.log("Hello, world!") : void +> : ^^^^ +>console.log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>console : Console +> : ^^^^^^^ +>log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>"Hello, world!" : "Hello, world!" +> : ^^^^^^^^^^^^^^^ + diff --git a/tests/baselines/reference/sideEffectImports3(moduledetection=auto,resolvesideeffectimports=true).errors.txt b/tests/baselines/reference/sideEffectImports3(moduledetection=auto,resolvesideeffectimports=true).errors.txt new file mode 100644 index 0000000000000..075a729378ac1 --- /dev/null +++ b/tests/baselines/reference/sideEffectImports3(moduledetection=auto,resolvesideeffectimports=true).errors.txt @@ -0,0 +1,11 @@ +index.ts(1,8): error TS2306: File 'not-a-module.ts' is not a module. + + +==== index.ts (1 errors) ==== + import "./not-a-module"; + ~~~~~~~~~~~~~~~~ +!!! error TS2306: File 'not-a-module.ts' is not a module. + +==== not-a-module.ts (0 errors) ==== + console.log("Hello, world!"); + \ No newline at end of file diff --git a/tests/baselines/reference/sideEffectImports3(moduledetection=auto,resolvesideeffectimports=true).js b/tests/baselines/reference/sideEffectImports3(moduledetection=auto,resolvesideeffectimports=true).js new file mode 100644 index 0000000000000..f0426f699a23a --- /dev/null +++ b/tests/baselines/reference/sideEffectImports3(moduledetection=auto,resolvesideeffectimports=true).js @@ -0,0 +1,15 @@ +//// [tests/cases/compiler/sideEffectImports3.ts] //// + +//// [index.ts] +import "./not-a-module"; + +//// [not-a-module.ts] +console.log("Hello, world!"); + + +//// [not-a-module.js] +console.log("Hello, world!"); +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +require("./not-a-module"); diff --git a/tests/baselines/reference/sideEffectImports3(moduledetection=auto,resolvesideeffectimports=true).symbols b/tests/baselines/reference/sideEffectImports3(moduledetection=auto,resolvesideeffectimports=true).symbols new file mode 100644 index 0000000000000..727efa084bed4 --- /dev/null +++ b/tests/baselines/reference/sideEffectImports3(moduledetection=auto,resolvesideeffectimports=true).symbols @@ -0,0 +1,12 @@ +//// [tests/cases/compiler/sideEffectImports3.ts] //// + +=== index.ts === + +import "./not-a-module"; + +=== not-a-module.ts === +console.log("Hello, world!"); +>console.log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) +>console : Symbol(console, Decl(lib.dom.d.ts, --, --)) +>log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) + diff --git a/tests/baselines/reference/sideEffectImports3(moduledetection=auto,resolvesideeffectimports=true).types b/tests/baselines/reference/sideEffectImports3(moduledetection=auto,resolvesideeffectimports=true).types new file mode 100644 index 0000000000000..a956316561eae --- /dev/null +++ b/tests/baselines/reference/sideEffectImports3(moduledetection=auto,resolvesideeffectimports=true).types @@ -0,0 +1,19 @@ +//// [tests/cases/compiler/sideEffectImports3.ts] //// + +=== index.ts === + +import "./not-a-module"; + +=== not-a-module.ts === +console.log("Hello, world!"); +>console.log("Hello, world!") : void +> : ^^^^ +>console.log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>console : Console +> : ^^^^^^^ +>log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>"Hello, world!" : "Hello, world!" +> : ^^^^^^^^^^^^^^^ + diff --git a/tests/baselines/reference/sideEffectImports3(moduledetection=force,resolvesideeffectimports=false).js b/tests/baselines/reference/sideEffectImports3(moduledetection=force,resolvesideeffectimports=false).js new file mode 100644 index 0000000000000..47f2c89560585 --- /dev/null +++ b/tests/baselines/reference/sideEffectImports3(moduledetection=force,resolvesideeffectimports=false).js @@ -0,0 +1,17 @@ +//// [tests/cases/compiler/sideEffectImports3.ts] //// + +//// [index.ts] +import "./not-a-module"; + +//// [not-a-module.ts] +console.log("Hello, world!"); + + +//// [not-a-module.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +console.log("Hello, world!"); +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +require("./not-a-module"); diff --git a/tests/baselines/reference/sideEffectImports3(moduledetection=force,resolvesideeffectimports=false).symbols b/tests/baselines/reference/sideEffectImports3(moduledetection=force,resolvesideeffectimports=false).symbols new file mode 100644 index 0000000000000..727efa084bed4 --- /dev/null +++ b/tests/baselines/reference/sideEffectImports3(moduledetection=force,resolvesideeffectimports=false).symbols @@ -0,0 +1,12 @@ +//// [tests/cases/compiler/sideEffectImports3.ts] //// + +=== index.ts === + +import "./not-a-module"; + +=== not-a-module.ts === +console.log("Hello, world!"); +>console.log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) +>console : Symbol(console, Decl(lib.dom.d.ts, --, --)) +>log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) + diff --git a/tests/baselines/reference/sideEffectImports3(moduledetection=force,resolvesideeffectimports=false).types b/tests/baselines/reference/sideEffectImports3(moduledetection=force,resolvesideeffectimports=false).types new file mode 100644 index 0000000000000..a956316561eae --- /dev/null +++ b/tests/baselines/reference/sideEffectImports3(moduledetection=force,resolvesideeffectimports=false).types @@ -0,0 +1,19 @@ +//// [tests/cases/compiler/sideEffectImports3.ts] //// + +=== index.ts === + +import "./not-a-module"; + +=== not-a-module.ts === +console.log("Hello, world!"); +>console.log("Hello, world!") : void +> : ^^^^ +>console.log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>console : Console +> : ^^^^^^^ +>log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>"Hello, world!" : "Hello, world!" +> : ^^^^^^^^^^^^^^^ + diff --git a/tests/baselines/reference/sideEffectImports3(moduledetection=force,resolvesideeffectimports=true).js b/tests/baselines/reference/sideEffectImports3(moduledetection=force,resolvesideeffectimports=true).js new file mode 100644 index 0000000000000..47f2c89560585 --- /dev/null +++ b/tests/baselines/reference/sideEffectImports3(moduledetection=force,resolvesideeffectimports=true).js @@ -0,0 +1,17 @@ +//// [tests/cases/compiler/sideEffectImports3.ts] //// + +//// [index.ts] +import "./not-a-module"; + +//// [not-a-module.ts] +console.log("Hello, world!"); + + +//// [not-a-module.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +console.log("Hello, world!"); +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +require("./not-a-module"); diff --git a/tests/baselines/reference/sideEffectImports3(moduledetection=force,resolvesideeffectimports=true).symbols b/tests/baselines/reference/sideEffectImports3(moduledetection=force,resolvesideeffectimports=true).symbols new file mode 100644 index 0000000000000..727efa084bed4 --- /dev/null +++ b/tests/baselines/reference/sideEffectImports3(moduledetection=force,resolvesideeffectimports=true).symbols @@ -0,0 +1,12 @@ +//// [tests/cases/compiler/sideEffectImports3.ts] //// + +=== index.ts === + +import "./not-a-module"; + +=== not-a-module.ts === +console.log("Hello, world!"); +>console.log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) +>console : Symbol(console, Decl(lib.dom.d.ts, --, --)) +>log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) + diff --git a/tests/baselines/reference/sideEffectImports3(moduledetection=force,resolvesideeffectimports=true).types b/tests/baselines/reference/sideEffectImports3(moduledetection=force,resolvesideeffectimports=true).types new file mode 100644 index 0000000000000..a956316561eae --- /dev/null +++ b/tests/baselines/reference/sideEffectImports3(moduledetection=force,resolvesideeffectimports=true).types @@ -0,0 +1,19 @@ +//// [tests/cases/compiler/sideEffectImports3.ts] //// + +=== index.ts === + +import "./not-a-module"; + +=== not-a-module.ts === +console.log("Hello, world!"); +>console.log("Hello, world!") : void +> : ^^^^ +>console.log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>console : Console +> : ^^^^^^^ +>log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>"Hello, world!" : "Hello, world!" +> : ^^^^^^^^^^^^^^^ + diff --git a/tests/baselines/reference/sideEffectImports3(moduledetection=legacy,resolvesideeffectimports=false).js b/tests/baselines/reference/sideEffectImports3(moduledetection=legacy,resolvesideeffectimports=false).js new file mode 100644 index 0000000000000..f0426f699a23a --- /dev/null +++ b/tests/baselines/reference/sideEffectImports3(moduledetection=legacy,resolvesideeffectimports=false).js @@ -0,0 +1,15 @@ +//// [tests/cases/compiler/sideEffectImports3.ts] //// + +//// [index.ts] +import "./not-a-module"; + +//// [not-a-module.ts] +console.log("Hello, world!"); + + +//// [not-a-module.js] +console.log("Hello, world!"); +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +require("./not-a-module"); diff --git a/tests/baselines/reference/sideEffectImports3(moduledetection=legacy,resolvesideeffectimports=false).symbols b/tests/baselines/reference/sideEffectImports3(moduledetection=legacy,resolvesideeffectimports=false).symbols new file mode 100644 index 0000000000000..727efa084bed4 --- /dev/null +++ b/tests/baselines/reference/sideEffectImports3(moduledetection=legacy,resolvesideeffectimports=false).symbols @@ -0,0 +1,12 @@ +//// [tests/cases/compiler/sideEffectImports3.ts] //// + +=== index.ts === + +import "./not-a-module"; + +=== not-a-module.ts === +console.log("Hello, world!"); +>console.log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) +>console : Symbol(console, Decl(lib.dom.d.ts, --, --)) +>log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) + diff --git a/tests/baselines/reference/sideEffectImports3(moduledetection=legacy,resolvesideeffectimports=false).types b/tests/baselines/reference/sideEffectImports3(moduledetection=legacy,resolvesideeffectimports=false).types new file mode 100644 index 0000000000000..a956316561eae --- /dev/null +++ b/tests/baselines/reference/sideEffectImports3(moduledetection=legacy,resolvesideeffectimports=false).types @@ -0,0 +1,19 @@ +//// [tests/cases/compiler/sideEffectImports3.ts] //// + +=== index.ts === + +import "./not-a-module"; + +=== not-a-module.ts === +console.log("Hello, world!"); +>console.log("Hello, world!") : void +> : ^^^^ +>console.log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>console : Console +> : ^^^^^^^ +>log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>"Hello, world!" : "Hello, world!" +> : ^^^^^^^^^^^^^^^ + diff --git a/tests/baselines/reference/sideEffectImports3(moduledetection=legacy,resolvesideeffectimports=true).errors.txt b/tests/baselines/reference/sideEffectImports3(moduledetection=legacy,resolvesideeffectimports=true).errors.txt new file mode 100644 index 0000000000000..075a729378ac1 --- /dev/null +++ b/tests/baselines/reference/sideEffectImports3(moduledetection=legacy,resolvesideeffectimports=true).errors.txt @@ -0,0 +1,11 @@ +index.ts(1,8): error TS2306: File 'not-a-module.ts' is not a module. + + +==== index.ts (1 errors) ==== + import "./not-a-module"; + ~~~~~~~~~~~~~~~~ +!!! error TS2306: File 'not-a-module.ts' is not a module. + +==== not-a-module.ts (0 errors) ==== + console.log("Hello, world!"); + \ No newline at end of file diff --git a/tests/baselines/reference/sideEffectImports3(moduledetection=legacy,resolvesideeffectimports=true).js b/tests/baselines/reference/sideEffectImports3(moduledetection=legacy,resolvesideeffectimports=true).js new file mode 100644 index 0000000000000..f0426f699a23a --- /dev/null +++ b/tests/baselines/reference/sideEffectImports3(moduledetection=legacy,resolvesideeffectimports=true).js @@ -0,0 +1,15 @@ +//// [tests/cases/compiler/sideEffectImports3.ts] //// + +//// [index.ts] +import "./not-a-module"; + +//// [not-a-module.ts] +console.log("Hello, world!"); + + +//// [not-a-module.js] +console.log("Hello, world!"); +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +require("./not-a-module"); diff --git a/tests/baselines/reference/sideEffectImports3(moduledetection=legacy,resolvesideeffectimports=true).symbols b/tests/baselines/reference/sideEffectImports3(moduledetection=legacy,resolvesideeffectimports=true).symbols new file mode 100644 index 0000000000000..727efa084bed4 --- /dev/null +++ b/tests/baselines/reference/sideEffectImports3(moduledetection=legacy,resolvesideeffectimports=true).symbols @@ -0,0 +1,12 @@ +//// [tests/cases/compiler/sideEffectImports3.ts] //// + +=== index.ts === + +import "./not-a-module"; + +=== not-a-module.ts === +console.log("Hello, world!"); +>console.log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) +>console : Symbol(console, Decl(lib.dom.d.ts, --, --)) +>log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) + diff --git a/tests/baselines/reference/sideEffectImports3(moduledetection=legacy,resolvesideeffectimports=true).types b/tests/baselines/reference/sideEffectImports3(moduledetection=legacy,resolvesideeffectimports=true).types new file mode 100644 index 0000000000000..a956316561eae --- /dev/null +++ b/tests/baselines/reference/sideEffectImports3(moduledetection=legacy,resolvesideeffectimports=true).types @@ -0,0 +1,19 @@ +//// [tests/cases/compiler/sideEffectImports3.ts] //// + +=== index.ts === + +import "./not-a-module"; + +=== not-a-module.ts === +console.log("Hello, world!"); +>console.log("Hello, world!") : void +> : ^^^^ +>console.log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>console : Console +> : ^^^^^^^ +>log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>"Hello, world!" : "Hello, world!" +> : ^^^^^^^^^^^^^^^ + diff --git a/tests/cases/compiler/sideEffectImports3.ts b/tests/cases/compiler/sideEffectImports3.ts new file mode 100644 index 0000000000000..93868f1e80767 --- /dev/null +++ b/tests/cases/compiler/sideEffectImports3.ts @@ -0,0 +1,9 @@ +// @resolveSideEffectImports: true,false +// @module: nodenext +// @moduleDetection: legacy,auto,force + +// @filename: index.ts +import "./not-a-module"; + +// @filename: not-a-module.ts +console.log("Hello, world!"); From 3dbcad1f607719cab5d2aa85a0e21de0073a22e8 Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Tue, 16 Jul 2024 16:53:05 -0700 Subject: [PATCH 08/22] Ignore not a module --- src/compiler/checker.ts | 4 ++++ ...ion=auto,resolvesideeffectimports=true).errors.txt | 11 ----------- ...n=legacy,resolvesideeffectimports=true).errors.txt | 11 ----------- 3 files changed, 4 insertions(+), 22 deletions(-) delete mode 100644 tests/baselines/reference/sideEffectImports3(moduledetection=auto,resolvesideeffectimports=true).errors.txt delete mode 100644 tests/baselines/reference/sideEffectImports3(moduledetection=legacy,resolvesideeffectimports=true).errors.txt diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 25cfac26f77d0..8e870c2c24340 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -4646,6 +4646,10 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { return getMergedSymbol(sourceFile.symbol); } if (errorNode && moduleNotFoundError) { + if (isImportDeclaration(location) && !location.importClause) { + // This a side-effect import; ignore the fact that it's not a module. + return undefined; + } // report errors only if it was requested error(errorNode, Diagnostics.File_0_is_not_a_module, sourceFile.fileName); } diff --git a/tests/baselines/reference/sideEffectImports3(moduledetection=auto,resolvesideeffectimports=true).errors.txt b/tests/baselines/reference/sideEffectImports3(moduledetection=auto,resolvesideeffectimports=true).errors.txt deleted file mode 100644 index 075a729378ac1..0000000000000 --- a/tests/baselines/reference/sideEffectImports3(moduledetection=auto,resolvesideeffectimports=true).errors.txt +++ /dev/null @@ -1,11 +0,0 @@ -index.ts(1,8): error TS2306: File 'not-a-module.ts' is not a module. - - -==== index.ts (1 errors) ==== - import "./not-a-module"; - ~~~~~~~~~~~~~~~~ -!!! error TS2306: File 'not-a-module.ts' is not a module. - -==== not-a-module.ts (0 errors) ==== - console.log("Hello, world!"); - \ No newline at end of file diff --git a/tests/baselines/reference/sideEffectImports3(moduledetection=legacy,resolvesideeffectimports=true).errors.txt b/tests/baselines/reference/sideEffectImports3(moduledetection=legacy,resolvesideeffectimports=true).errors.txt deleted file mode 100644 index 075a729378ac1..0000000000000 --- a/tests/baselines/reference/sideEffectImports3(moduledetection=legacy,resolvesideeffectimports=true).errors.txt +++ /dev/null @@ -1,11 +0,0 @@ -index.ts(1,8): error TS2306: File 'not-a-module.ts' is not a module. - - -==== index.ts (1 errors) ==== - import "./not-a-module"; - ~~~~~~~~~~~~~~~~ -!!! error TS2306: File 'not-a-module.ts' is not a module. - -==== not-a-module.ts (0 errors) ==== - console.log("Hello, world!"); - \ No newline at end of file From 62c0db0bdd0948c0c731817bb0ad55720271556f Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Tue, 16 Jul 2024 16:54:10 -0700 Subject: [PATCH 09/22] Force enable again for extended testing --- src/compiler/checker.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 8e870c2c24340..bb4370cda97fc 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -1502,7 +1502,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { var noImplicitThis = getStrictOptionValue(compilerOptions, "noImplicitThis"); var useUnknownInCatchVariables = getStrictOptionValue(compilerOptions, "useUnknownInCatchVariables"); var exactOptionalPropertyTypes = compilerOptions.exactOptionalPropertyTypes; - var resolveSideEffectImports = compilerOptions.resolveSideEffectImports; + // var resolveSideEffectImports = compilerOptions.resolveSideEffectImports; var checkBinaryExpression = createCheckBinaryExpression(); var emitResolver = createResolver(); @@ -47144,7 +47144,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } } } - else if (resolveSideEffectImports && !importClause) { + else if (!importClause) { void resolveExternalModuleName(node, node.moduleSpecifier); } } From f8b65c23b5c2f4c0b0bc7f5fb1eafef98ff72687 Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Tue, 16 Jul 2024 17:07:26 -0700 Subject: [PATCH 10/22] Revert "Force enable again for extended testing" This reverts commit 62c0db0bdd0948c0c731817bb0ad55720271556f. --- src/compiler/checker.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index bb4370cda97fc..8e870c2c24340 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -1502,7 +1502,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { var noImplicitThis = getStrictOptionValue(compilerOptions, "noImplicitThis"); var useUnknownInCatchVariables = getStrictOptionValue(compilerOptions, "useUnknownInCatchVariables"); var exactOptionalPropertyTypes = compilerOptions.exactOptionalPropertyTypes; - // var resolveSideEffectImports = compilerOptions.resolveSideEffectImports; + var resolveSideEffectImports = compilerOptions.resolveSideEffectImports; var checkBinaryExpression = createCheckBinaryExpression(); var emitResolver = createResolver(); @@ -47144,7 +47144,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } } } - else if (!importClause) { + else if (resolveSideEffectImports && !importClause) { void resolveExternalModuleName(node, node.moduleSpecifier); } } From 66e718ad7d48832d388fe9cda4aada9ece502f0a Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Wed, 17 Jul 2024 09:17:14 -0700 Subject: [PATCH 11/22] Code tweak --- src/compiler/checker.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 8e870c2c24340..99dbc6d06b2ca 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -4565,6 +4565,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { if (ambientModule) { return ambientModule; } + const isSideEffectImport = isImportDeclaration(location) && !location.importClause; const currentSourceFile = getSourceFileOfNode(location); const contextSpecifier = isStringLiteralLike(location) ? location @@ -4646,7 +4647,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { return getMergedSymbol(sourceFile.symbol); } if (errorNode && moduleNotFoundError) { - if (isImportDeclaration(location) && !location.importClause) { + if (isSideEffectImport) { // This a side-effect import; ignore the fact that it's not a module. return undefined; } @@ -4677,7 +4678,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { // May be an untyped module. If so, ignore resolutionDiagnostic. if (resolvedModule && !resolutionExtensionIsTSOrJson(resolvedModule.extension) && resolutionDiagnostic === undefined || resolutionDiagnostic === Diagnostics.Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type) { - if (isImportDeclaration(location) && !location.importClause) { + if (isSideEffectImport) { // This a side-effect import; ignore the implicit any. return undefined; } From 1e566bf3452cefbbbd28c9241bdb6496e9d343cd Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Wed, 17 Jul 2024 09:32:12 -0700 Subject: [PATCH 12/22] Maybe test --- ...mports4(resolvesideeffectimports=false).js | 33 +++++++++++++++++ ...s4(resolvesideeffectimports=false).symbols | 6 ++++ ...rts4(resolvesideeffectimports=false).types | 6 ++++ ...Imports4(resolvesideeffectimports=true).js | 33 +++++++++++++++++ ...ts4(resolvesideeffectimports=true).symbols | 6 ++++ ...orts4(resolvesideeffectimports=true).types | 6 ++++ tests/cases/compiler/sideEffectImports4.ts | 36 +++++++++++++++++++ 7 files changed, 126 insertions(+) create mode 100644 tests/baselines/reference/sideEffectImports4(resolvesideeffectimports=false).js create mode 100644 tests/baselines/reference/sideEffectImports4(resolvesideeffectimports=false).symbols create mode 100644 tests/baselines/reference/sideEffectImports4(resolvesideeffectimports=false).types create mode 100644 tests/baselines/reference/sideEffectImports4(resolvesideeffectimports=true).js create mode 100644 tests/baselines/reference/sideEffectImports4(resolvesideeffectimports=true).symbols create mode 100644 tests/baselines/reference/sideEffectImports4(resolvesideeffectimports=true).types create mode 100644 tests/cases/compiler/sideEffectImports4.ts diff --git a/tests/baselines/reference/sideEffectImports4(resolvesideeffectimports=false).js b/tests/baselines/reference/sideEffectImports4(resolvesideeffectimports=false).js new file mode 100644 index 0000000000000..4dd388e90fe49 --- /dev/null +++ b/tests/baselines/reference/sideEffectImports4(resolvesideeffectimports=false).js @@ -0,0 +1,33 @@ +//// [tests/cases/compiler/sideEffectImports4.ts] //// + +//// [package.json] +{ + "name": "server-only", + "version": "0.0.1", + "main": "index.js", + "exports": { + ".": { + "react-server": "./empty.js", + "default": "./index.js" + } + } +} + +//// [index.js] +throw new Error(); + +//// [empty.js] +// Empty + +//// [package.json] +{ + "name": "root", + "type": "module" +} + +//// [index.ts] +import "server-only"; + + +//// [index.js] +import "server-only"; diff --git a/tests/baselines/reference/sideEffectImports4(resolvesideeffectimports=false).symbols b/tests/baselines/reference/sideEffectImports4(resolvesideeffectimports=false).symbols new file mode 100644 index 0000000000000..6e5527be87a3c --- /dev/null +++ b/tests/baselines/reference/sideEffectImports4(resolvesideeffectimports=false).symbols @@ -0,0 +1,6 @@ +//// [tests/cases/compiler/sideEffectImports4.ts] //// + +=== index.ts === + +import "server-only"; + diff --git a/tests/baselines/reference/sideEffectImports4(resolvesideeffectimports=false).types b/tests/baselines/reference/sideEffectImports4(resolvesideeffectimports=false).types new file mode 100644 index 0000000000000..6e5527be87a3c --- /dev/null +++ b/tests/baselines/reference/sideEffectImports4(resolvesideeffectimports=false).types @@ -0,0 +1,6 @@ +//// [tests/cases/compiler/sideEffectImports4.ts] //// + +=== index.ts === + +import "server-only"; + diff --git a/tests/baselines/reference/sideEffectImports4(resolvesideeffectimports=true).js b/tests/baselines/reference/sideEffectImports4(resolvesideeffectimports=true).js new file mode 100644 index 0000000000000..4dd388e90fe49 --- /dev/null +++ b/tests/baselines/reference/sideEffectImports4(resolvesideeffectimports=true).js @@ -0,0 +1,33 @@ +//// [tests/cases/compiler/sideEffectImports4.ts] //// + +//// [package.json] +{ + "name": "server-only", + "version": "0.0.1", + "main": "index.js", + "exports": { + ".": { + "react-server": "./empty.js", + "default": "./index.js" + } + } +} + +//// [index.js] +throw new Error(); + +//// [empty.js] +// Empty + +//// [package.json] +{ + "name": "root", + "type": "module" +} + +//// [index.ts] +import "server-only"; + + +//// [index.js] +import "server-only"; diff --git a/tests/baselines/reference/sideEffectImports4(resolvesideeffectimports=true).symbols b/tests/baselines/reference/sideEffectImports4(resolvesideeffectimports=true).symbols new file mode 100644 index 0000000000000..6e5527be87a3c --- /dev/null +++ b/tests/baselines/reference/sideEffectImports4(resolvesideeffectimports=true).symbols @@ -0,0 +1,6 @@ +//// [tests/cases/compiler/sideEffectImports4.ts] //// + +=== index.ts === + +import "server-only"; + diff --git a/tests/baselines/reference/sideEffectImports4(resolvesideeffectimports=true).types b/tests/baselines/reference/sideEffectImports4(resolvesideeffectimports=true).types new file mode 100644 index 0000000000000..6e5527be87a3c --- /dev/null +++ b/tests/baselines/reference/sideEffectImports4(resolvesideeffectimports=true).types @@ -0,0 +1,6 @@ +//// [tests/cases/compiler/sideEffectImports4.ts] //// + +=== index.ts === + +import "server-only"; + diff --git a/tests/cases/compiler/sideEffectImports4.ts b/tests/cases/compiler/sideEffectImports4.ts new file mode 100644 index 0000000000000..b09a6bbbf8f8a --- /dev/null +++ b/tests/cases/compiler/sideEffectImports4.ts @@ -0,0 +1,36 @@ +// @resolveSideEffectImports: true,false +// @strict: true +// @noImplicitReferences: true +// @module: esnext +// @moduleResolution: bundler +// @moduleDetection: force +// @allowJs: true +// @checkJs: true + +// @filename: node_modules/server-only/package.json +{ + "name": "server-only", + "version": "0.0.1", + "main": "index.js", + "exports": { + ".": { + "react-server": "./empty.js", + "default": "./index.js" + } + } +} + +// @filename: node_modules/server-only/index.js +throw new Error(); + +// @filename: node_modules/server-only/empty.js +// Empty + +// @filename: package.json +{ + "name": "root", + "type": "module" +} + +// @filename: index.ts +import "server-only"; From 0c311de762ad2bdfec2b458e4962c9e7b5fc7d9d Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Wed, 17 Jul 2024 11:57:33 -0700 Subject: [PATCH 13/22] Enable this by default for testing --- src/compiler/checker.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 99dbc6d06b2ca..c836c50c1f3cb 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -47145,7 +47145,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } } } - else if (resolveSideEffectImports && !importClause) { + else if (!importClause) { void resolveExternalModuleName(node, node.moduleSpecifier); } } From 62232b03f31c24d8c1d5f68f39a4be92f98fc181 Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Wed, 17 Jul 2024 14:00:48 -0700 Subject: [PATCH 14/22] Revert "Enable this by default for testing" This reverts commit 0c311de762ad2bdfec2b458e4962c9e7b5fc7d9d. --- src/compiler/checker.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index c836c50c1f3cb..99dbc6d06b2ca 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -47145,7 +47145,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } } } - else if (!importClause) { + else if (resolveSideEffectImports && !importClause) { void resolveExternalModuleName(node, node.moduleSpecifier); } } From 0e9b34e21337195372387d1f0b4b08b09f0893de Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Thu, 18 Jul 2024 15:27:24 -0700 Subject: [PATCH 15/22] affectsSemanticDiagnostics --- src/compiler/commandLineParser.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/compiler/commandLineParser.ts b/src/compiler/commandLineParser.ts index c4053856a3ccc..80306fced1c56 100644 --- a/src/compiler/commandLineParser.ts +++ b/src/compiler/commandLineParser.ts @@ -1194,7 +1194,8 @@ const commandOptionsWithoutBuild: CommandLineOption[] = [ { name: "resolveSideEffectImports", type: "boolean", - affectsModuleResolution: true, + affectsSemanticDiagnostics: true, + affectsBuildInfo: true, category: Diagnostics.Modules, description: Diagnostics.Resolve_side_effect_imports, defaultValueDescription: false, From 2f0dae19bd825c77bb26ee1001be0210731eca8d Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Fri, 19 Jul 2024 12:50:08 -0700 Subject: [PATCH 16/22] Add failing suggestion diag test --- .../fourslash/sideEffectImportsSuggestion1.ts | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 tests/cases/fourslash/sideEffectImportsSuggestion1.ts diff --git a/tests/cases/fourslash/sideEffectImportsSuggestion1.ts b/tests/cases/fourslash/sideEffectImportsSuggestion1.ts new file mode 100644 index 0000000000000..bf52019405c15 --- /dev/null +++ b/tests/cases/fourslash/sideEffectImportsSuggestion1.ts @@ -0,0 +1,19 @@ +/// + +// @allowJs: true +// @noEmit: true +// @module: commonjs +// @resolveSideEffectImports: true + +// @filename: moduleA/a.js +//// import "b"; +//// import "c"; + +// @filename: node_modules/b.ts +//// var a = 10; + +// @filename: node_modules/c.js +//// exports.a = 10; +//// c = 10; + +verify.getSuggestionDiagnostics([]); From 499972844d82a1b318a716790fb7e02e2eae276b Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Fri, 19 Jul 2024 12:53:27 -0700 Subject: [PATCH 17/22] Ignore side effect in one more place --- src/compiler/checker.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index ab6e4daa1dec2..99689d133af23 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -4623,6 +4623,10 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { if (sourceFile.symbol) { if (errorNode && resolvedModule.isExternalLibraryImport && !resolutionExtensionIsTSOrJson(resolvedModule.extension)) { + if (isSideEffectImport) { + // This a side-effect import; ignore the implicit any. + return undefined; + } errorOnImplicitAnyModule(/*isError*/ false, errorNode, currentSourceFile, mode, resolvedModule, moduleReference); } if (errorNode && (moduleResolutionKind === ModuleResolutionKind.Node16 || moduleResolutionKind === ModuleResolutionKind.NodeNext)) { From 0061fa89c24c0ca89f210330ed090b0730c4981c Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Fri, 19 Jul 2024 14:03:40 -0700 Subject: [PATCH 18/22] program update tests --- .../unittests/tsbuildWatch/programUpdates.ts | 36 ++++ .../unittests/tscWatch/programUpdates.ts | 36 ++++ ...solveSideEffectImports-changes-to-false.js | 157 ++++++++++++++++ ...resolveSideEffectImports-of-config-file.js | 172 ++++++++++++++++++ 4 files changed, 401 insertions(+) create mode 100644 tests/baselines/reference/tsbuildWatch/programUpdates/works-when-resolveSideEffectImports-changes-to-false.js create mode 100644 tests/baselines/reference/tscWatch/programUpdates/when-changing-resolveSideEffectImports-of-config-file.js diff --git a/src/testRunner/unittests/tsbuildWatch/programUpdates.ts b/src/testRunner/unittests/tsbuildWatch/programUpdates.ts index d5dfc7d2742db..d53145a9a77e7 100644 --- a/src/testRunner/unittests/tsbuildWatch/programUpdates.ts +++ b/src/testRunner/unittests/tsbuildWatch/programUpdates.ts @@ -796,4 +796,40 @@ createSomeObject().message;`, }), commandLineArgs: ["--b", "src/project", "-i", "-w"], }); + + verifyTscWatch({ + scenario: "programUpdates", + subScenario: "works when resolveSideEffectImports changes to false", + commandLineArgs: ["-b", "-w"], + sys: () => { + const index: File = { + path: `/user/username/projects/myproject/index.ts`, + content: `import "does-not-exist";`, + }; + const configFile: File = { + path: `/user/username/projects/myproject/tsconfig.json`, + content: jsonToReadableText({ + compilerOptions: { + resolveSideEffectImports: true, + }, + }), + }; + return createWatchedSystem([index, configFile, libFile], { currentDirectory: "/user/username/projects/myproject" }); + }, + edits: [ + { + caption: "Change tsconfig to set resolveSideEffectImports to false", + edit: sys => + sys.writeFile( + `/user/username/projects/myproject/tsconfig.json`, + jsonToReadableText({ + compilerOptions: { + resolveSideEffectImports: false, + }, + }), + ), + timeouts: sys => sys.runQueuedTimeoutCallbacks(), + }, + ], + }); }); diff --git a/src/testRunner/unittests/tscWatch/programUpdates.ts b/src/testRunner/unittests/tscWatch/programUpdates.ts index 626367c7f3084..776a79e629034 100644 --- a/src/testRunner/unittests/tscWatch/programUpdates.ts +++ b/src/testRunner/unittests/tscWatch/programUpdates.ts @@ -2245,4 +2245,40 @@ import { x } from "../b";`, }, ], }); + + verifyTscWatch({ + scenario, + subScenario: "when changing resolveSideEffectImports of config file", + commandLineArgs: ["-w", "-p", ".", "--extendedDiagnostics"], + sys: () => { + const module1: File = { + path: `/user/username/projects/myproject/a.ts`, + content: `import "does-not-exist";`, + }; + const config: File = { + path: `/user/username/projects/myproject/tsconfig.json`, + content: jsonToReadableText({ + compilerOptions: { + resolveSideEffectImports: false, + }, + }), + }; + return createWatchedSystem([module1, config, libFile], { currentDirectory: "/user/username/projects/myproject" }); + }, + edits: [ + { + caption: "Change resolveSideEffectImports to true", + edit: sys => + sys.writeFile( + `/user/username/projects/myproject/tsconfig.json`, + jsonToReadableText({ + compilerOptions: { + resolveSideEffectImports: true, + }, + }), + ), + timeouts: sys => sys.runQueuedTimeoutCallbacks(), + }, + ], + }); }); diff --git a/tests/baselines/reference/tsbuildWatch/programUpdates/works-when-resolveSideEffectImports-changes-to-false.js b/tests/baselines/reference/tsbuildWatch/programUpdates/works-when-resolveSideEffectImports-changes-to-false.js new file mode 100644 index 0000000000000..f0f3b1afde261 --- /dev/null +++ b/tests/baselines/reference/tsbuildWatch/programUpdates/works-when-resolveSideEffectImports-changes-to-false.js @@ -0,0 +1,157 @@ +currentDirectory:: /user/username/projects/myproject useCaseSensitiveFileNames: false +Input:: +//// [/user/username/projects/myproject/index.ts] +import "does-not-exist"; + +//// [/user/username/projects/myproject/tsconfig.json] +{ + "compilerOptions": { + "resolveSideEffectImports": true + } +} + +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } + + +/a/lib/tsc.js -b -w +Output:: +>> Screen clear +[HH:MM:SS AM] Starting compilation in watch mode... + +index.ts:1:8 - error TS2307: Cannot find module 'does-not-exist' or its corresponding type declarations. + +1 import "does-not-exist"; +   ~~~~~~~~~~~~~~~~ + +[HH:MM:SS AM] Found 1 error. Watching for file changes. + + + +//// [/user/username/projects/myproject/index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +require("does-not-exist"); + + +//// [/user/username/projects/myproject/tsconfig.tsbuildinfo] +{"root":["./index.ts"],"errors":true,"version":"FakeTSVersion"} + +//// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "root": [ + "./index.ts" + ], + "errors": true, + "version": "FakeTSVersion", + "size": 63 +} + + +FsWatches:: +/user/username/projects/myproject/index.ts: *new* + {} +/user/username/projects/myproject/tsconfig.json: *new* + {} + +FsWatchesRecursive:: +/user/username/projects/myproject: *new* + {} + +Program root files: [ + "/user/username/projects/myproject/index.ts" +] +Program options: { + "resolveSideEffectImports": true, + "watch": true, + "tscBuild": true, + "configFilePath": "/user/username/projects/myproject/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/myproject/index.ts + +Semantic diagnostics in builder refreshed for:: +/a/lib/lib.d.ts +/user/username/projects/myproject/index.ts + +Shape signatures in builder refreshed for:: +/a/lib/lib.d.ts (used version) +/user/username/projects/myproject/index.ts (used version) + +exitCode:: ExitStatus.undefined + +Change:: Change tsconfig to set resolveSideEffectImports to false + +Input:: +//// [/user/username/projects/myproject/tsconfig.json] +{ + "compilerOptions": { + "resolveSideEffectImports": false + } +} + + +Timeout callback:: count: 1 +1: timerToBuildInvalidatedProject *new* + +Before running Timeout callback:: count: 1 +1: timerToBuildInvalidatedProject + +Host is moving to new time +After running Timeout callback:: count: 0 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +[HH:MM:SS AM] Found 0 errors. Watching for file changes. + + + +//// [/user/username/projects/myproject/index.js] file changed its modified time +//// [/user/username/projects/myproject/tsconfig.tsbuildinfo] +{"root":["./index.ts"],"version":"FakeTSVersion"} + +//// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "root": [ + "./index.ts" + ], + "version": "FakeTSVersion", + "size": 49 +} + + + +Program root files: [ + "/user/username/projects/myproject/index.ts" +] +Program options: { + "resolveSideEffectImports": false, + "watch": true, + "tscBuild": true, + "configFilePath": "/user/username/projects/myproject/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/myproject/index.ts + +Semantic diagnostics in builder refreshed for:: +/a/lib/lib.d.ts +/user/username/projects/myproject/index.ts + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined diff --git a/tests/baselines/reference/tscWatch/programUpdates/when-changing-resolveSideEffectImports-of-config-file.js b/tests/baselines/reference/tscWatch/programUpdates/when-changing-resolveSideEffectImports-of-config-file.js new file mode 100644 index 0000000000000..cf151a6730e3b --- /dev/null +++ b/tests/baselines/reference/tscWatch/programUpdates/when-changing-resolveSideEffectImports-of-config-file.js @@ -0,0 +1,172 @@ +currentDirectory:: /user/username/projects/myproject useCaseSensitiveFileNames: false +Input:: +//// [/user/username/projects/myproject/a.ts] +import "does-not-exist"; + +//// [/user/username/projects/myproject/tsconfig.json] +{ + "compilerOptions": { + "resolveSideEffectImports": false + } +} + +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } + + +/a/lib/tsc.js -w -p . --extendedDiagnostics +Output:: +[HH:MM:SS AM] Starting compilation in watch mode... + +Current directory: /user/username/projects/myproject CaseSensitiveFileNames: false +FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/tsconfig.json 2000 undefined Config file +Synchronizing program +CreatingProgramWith:: + roots: ["/user/username/projects/myproject/a.ts"] + options: {"resolveSideEffectImports":false,"watch":true,"project":"/user/username/projects/myproject","extendedDiagnostics":true,"configFilePath":"/user/username/projects/myproject/tsconfig.json"} +FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/a.ts 250 undefined Source file +FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 250 undefined Source file +DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules 1 undefined Failed Lookup Locations +Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules 1 undefined Failed Lookup Locations +DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules 1 undefined Failed Lookup Locations +Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules 1 undefined Failed Lookup Locations +DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Type roots +Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Type roots +DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Type roots +Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Type roots +[HH:MM:SS AM] Found 0 errors. Watching for file changes. + +DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject 1 undefined Wild card directory +Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject 1 undefined Wild card directory + + +//// [/user/username/projects/myproject/a.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +require("does-not-exist"); + + + +PolledWatches:: +/user/username/projects/myproject/node_modules: *new* + {"pollingInterval":500} +/user/username/projects/myproject/node_modules/@types: *new* + {"pollingInterval":500} +/user/username/projects/node_modules: *new* + {"pollingInterval":500} +/user/username/projects/node_modules/@types: *new* + {"pollingInterval":500} + +FsWatches:: +/a/lib/lib.d.ts: *new* + {} +/user/username/projects/myproject/a.ts: *new* + {} +/user/username/projects/myproject/tsconfig.json: *new* + {} + +FsWatchesRecursive:: +/user/username/projects/myproject: *new* + {} + +Program root files: [ + "/user/username/projects/myproject/a.ts" +] +Program options: { + "resolveSideEffectImports": false, + "watch": true, + "project": "/user/username/projects/myproject", + "extendedDiagnostics": true, + "configFilePath": "/user/username/projects/myproject/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/myproject/a.ts + +Semantic diagnostics in builder refreshed for:: +/a/lib/lib.d.ts +/user/username/projects/myproject/a.ts + +Shape signatures in builder refreshed for:: +/a/lib/lib.d.ts (used version) +/user/username/projects/myproject/a.ts (used version) + +exitCode:: ExitStatus.undefined + +Change:: Change resolveSideEffectImports to true + +Input:: +//// [/user/username/projects/myproject/tsconfig.json] +{ + "compilerOptions": { + "resolveSideEffectImports": true + } +} + + +Output:: +FileWatcher:: Triggered with /user/username/projects/myproject/tsconfig.json 1:: WatchInfo: /user/username/projects/myproject/tsconfig.json 2000 undefined Config file +Scheduling update +Elapsed:: *ms FileWatcher:: Triggered with /user/username/projects/myproject/tsconfig.json 1:: WatchInfo: /user/username/projects/myproject/tsconfig.json 2000 undefined Config file + + +Timeout callback:: count: 1 +1: timerToUpdateProgram *new* + +Before running Timeout callback:: count: 1 +1: timerToUpdateProgram + +Host is moving to new time +After running Timeout callback:: count: 0 +Output:: +Reloading config file: /user/username/projects/myproject/tsconfig.json +Synchronizing program +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +CreatingProgramWith:: + roots: ["/user/username/projects/myproject/a.ts"] + options: {"resolveSideEffectImports":true,"watch":true,"project":"/user/username/projects/myproject","extendedDiagnostics":true,"configFilePath":"/user/username/projects/myproject/tsconfig.json"} +a.ts:1:8 - error TS2307: Cannot find module 'does-not-exist' or its corresponding type declarations. + +1 import "does-not-exist"; +   ~~~~~~~~~~~~~~~~ + +[HH:MM:SS AM] Found 1 error. Watching for file changes. + + + + + +Program root files: [ + "/user/username/projects/myproject/a.ts" +] +Program options: { + "resolveSideEffectImports": true, + "watch": true, + "project": "/user/username/projects/myproject", + "extendedDiagnostics": true, + "configFilePath": "/user/username/projects/myproject/tsconfig.json" +} +Program structureReused: Completely +Program files:: +/a/lib/lib.d.ts +/user/username/projects/myproject/a.ts + +Semantic diagnostics in builder refreshed for:: +/a/lib/lib.d.ts +/user/username/projects/myproject/a.ts + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined From 9ee0e58799062217f763c134e35a9bfb9196e44e Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Fri, 19 Jul 2024 14:17:00 -0700 Subject: [PATCH 19/22] Rename to noUncheckedSideEffectImports --- src/compiler/checker.ts | 4 ++-- src/compiler/commandLineParser.ts | 2 +- src/compiler/types.ts | 2 +- .../unittests/tsbuildWatch/programUpdates.ts | 8 ++++---- .../unittests/tscWatch/programUpdates.ts | 8 ++++---- tests/baselines/reference/api/typescript.d.ts | 2 +- .../Default initialized TSConfig/tsconfig.json | 2 +- .../Initialized TSConfig with --help/tsconfig.json | 2 +- .../tsconfig.json | 2 +- .../tsconfig.json | 2 +- .../tsconfig.json | 2 +- .../tsconfig.json | 2 +- .../tsconfig.json | 2 +- .../tsconfig.json | 2 +- .../tsconfig.json | 2 +- .../tsconfig.json | 2 +- .../tsconfig.json | 2 +- .../noUncheckedSideEffectImports/tsconfig.json | 5 +++++ .../resolveSideEffectImports/tsconfig.json | 5 ----- ...ommonjs,nouncheckedsideeffectimports=false).js} | 0 ...js,nouncheckedsideeffectimports=false).symbols} | 0 ...onjs,nouncheckedsideeffectimports=false).types} | 0 ...,nouncheckedsideeffectimports=true).errors.txt} | 0 ...commonjs,nouncheckedsideeffectimports=true).js} | 0 ...njs,nouncheckedsideeffectimports=true).symbols} | 0 ...monjs,nouncheckedsideeffectimports=true).types} | 0 ...odenext,nouncheckedsideeffectimports=false).js} | 0 ...xt,nouncheckedsideeffectimports=false).symbols} | 0 ...next,nouncheckedsideeffectimports=false).types} | 0 ...,nouncheckedsideeffectimports=true).errors.txt} | 0 ...nodenext,nouncheckedsideeffectimports=true).js} | 0 ...ext,nouncheckedsideeffectimports=true).symbols} | 0 ...enext,nouncheckedsideeffectimports=true).types} | 0 ...reserve,nouncheckedsideeffectimports=false).js} | 0 ...ve,nouncheckedsideeffectimports=false).symbols} | 0 ...erve,nouncheckedsideeffectimports=false).types} | 0 ...,nouncheckedsideeffectimports=true).errors.txt} | 0 ...preserve,nouncheckedsideeffectimports=true).js} | 0 ...rve,nouncheckedsideeffectimports=true).symbols} | 0 ...serve,nouncheckedsideeffectimports=true).types} | 0 ...se,nouncheckedsideeffectimports=false).symbols} | 0 ...alse,nouncheckedsideeffectimports=false).types} | 0 ...lse,nouncheckedsideeffectimports=true).symbols} | 0 ...false,nouncheckedsideeffectimports=true).types} | 0 ...ue,nouncheckedsideeffectimports=false).symbols} | 0 ...true,nouncheckedsideeffectimports=false).types} | 0 ...rue,nouncheckedsideeffectimports=true).symbols} | 0 ...=true,nouncheckedsideeffectimports=true).types} | 0 ...on=auto,nouncheckedsideeffectimports=false).js} | 0 ...to,nouncheckedsideeffectimports=false).symbols} | 0 ...auto,nouncheckedsideeffectimports=false).types} | 0 ...ion=auto,nouncheckedsideeffectimports=true).js} | 0 ...uto,nouncheckedsideeffectimports=true).symbols} | 0 ...=auto,nouncheckedsideeffectimports=true).types} | 0 ...n=force,nouncheckedsideeffectimports=false).js} | 0 ...ce,nouncheckedsideeffectimports=false).symbols} | 0 ...orce,nouncheckedsideeffectimports=false).types} | 0 ...on=force,nouncheckedsideeffectimports=true).js} | 0 ...rce,nouncheckedsideeffectimports=true).symbols} | 0 ...force,nouncheckedsideeffectimports=true).types} | 0 ...=legacy,nouncheckedsideeffectimports=false).js} | 0 ...cy,nouncheckedsideeffectimports=false).symbols} | 0 ...gacy,nouncheckedsideeffectimports=false).types} | 0 ...n=legacy,nouncheckedsideeffectimports=true).js} | 0 ...acy,nouncheckedsideeffectimports=true).symbols} | 0 ...egacy,nouncheckedsideeffectimports=true).types} | 0 ...mports4(nouncheckedsideeffectimports=false).js} | 0 ...s4(nouncheckedsideeffectimports=false).symbols} | 0 ...rts4(nouncheckedsideeffectimports=false).types} | 0 ...Imports4(nouncheckedsideeffectimports=true).js} | 0 ...ts4(nouncheckedsideeffectimports=true).symbols} | 0 ...orts4(nouncheckedsideeffectimports=true).types} | 0 ...UncheckedSideEffectImports-changes-to-false.js} | 10 +++++----- ...noUncheckedSideEffectImports-of-config-file.js} | 14 +++++++------- tests/cases/compiler/sideEffectImports1.ts | 2 +- tests/cases/compiler/sideEffectImports2.ts | 2 +- tests/cases/compiler/sideEffectImports3.ts | 2 +- tests/cases/compiler/sideEffectImports4.ts | 2 +- .../fourslash/sideEffectImportsSuggestion1.ts | 2 +- 79 files changed, 46 insertions(+), 46 deletions(-) create mode 100644 tests/baselines/reference/config/showConfig/Shows tsconfig for single option/noUncheckedSideEffectImports/tsconfig.json delete mode 100644 tests/baselines/reference/config/showConfig/Shows tsconfig for single option/resolveSideEffectImports/tsconfig.json rename tests/baselines/reference/{sideEffectImports1(module=commonjs,resolvesideeffectimports=false).js => sideEffectImports1(module=commonjs,nouncheckedsideeffectimports=false).js} (100%) rename tests/baselines/reference/{sideEffectImports1(module=commonjs,resolvesideeffectimports=false).symbols => sideEffectImports1(module=commonjs,nouncheckedsideeffectimports=false).symbols} (100%) rename tests/baselines/reference/{sideEffectImports1(module=commonjs,resolvesideeffectimports=false).types => sideEffectImports1(module=commonjs,nouncheckedsideeffectimports=false).types} (100%) rename tests/baselines/reference/{sideEffectImports1(module=commonjs,resolvesideeffectimports=true).errors.txt => sideEffectImports1(module=commonjs,nouncheckedsideeffectimports=true).errors.txt} (100%) rename tests/baselines/reference/{sideEffectImports1(module=commonjs,resolvesideeffectimports=true).js => sideEffectImports1(module=commonjs,nouncheckedsideeffectimports=true).js} (100%) rename tests/baselines/reference/{sideEffectImports1(module=commonjs,resolvesideeffectimports=true).symbols => sideEffectImports1(module=commonjs,nouncheckedsideeffectimports=true).symbols} (100%) rename tests/baselines/reference/{sideEffectImports1(module=commonjs,resolvesideeffectimports=true).types => sideEffectImports1(module=commonjs,nouncheckedsideeffectimports=true).types} (100%) rename tests/baselines/reference/{sideEffectImports1(module=nodenext,resolvesideeffectimports=false).js => sideEffectImports1(module=nodenext,nouncheckedsideeffectimports=false).js} (100%) rename tests/baselines/reference/{sideEffectImports1(module=nodenext,resolvesideeffectimports=false).symbols => sideEffectImports1(module=nodenext,nouncheckedsideeffectimports=false).symbols} (100%) rename tests/baselines/reference/{sideEffectImports1(module=nodenext,resolvesideeffectimports=false).types => sideEffectImports1(module=nodenext,nouncheckedsideeffectimports=false).types} (100%) rename tests/baselines/reference/{sideEffectImports1(module=nodenext,resolvesideeffectimports=true).errors.txt => sideEffectImports1(module=nodenext,nouncheckedsideeffectimports=true).errors.txt} (100%) rename tests/baselines/reference/{sideEffectImports1(module=nodenext,resolvesideeffectimports=true).js => sideEffectImports1(module=nodenext,nouncheckedsideeffectimports=true).js} (100%) rename tests/baselines/reference/{sideEffectImports1(module=nodenext,resolvesideeffectimports=true).symbols => sideEffectImports1(module=nodenext,nouncheckedsideeffectimports=true).symbols} (100%) rename tests/baselines/reference/{sideEffectImports1(module=nodenext,resolvesideeffectimports=true).types => sideEffectImports1(module=nodenext,nouncheckedsideeffectimports=true).types} (100%) rename tests/baselines/reference/{sideEffectImports1(module=preserve,resolvesideeffectimports=false).js => sideEffectImports1(module=preserve,nouncheckedsideeffectimports=false).js} (100%) rename tests/baselines/reference/{sideEffectImports1(module=preserve,resolvesideeffectimports=false).symbols => sideEffectImports1(module=preserve,nouncheckedsideeffectimports=false).symbols} (100%) rename tests/baselines/reference/{sideEffectImports1(module=preserve,resolvesideeffectimports=false).types => sideEffectImports1(module=preserve,nouncheckedsideeffectimports=false).types} (100%) rename tests/baselines/reference/{sideEffectImports1(module=preserve,resolvesideeffectimports=true).errors.txt => sideEffectImports1(module=preserve,nouncheckedsideeffectimports=true).errors.txt} (100%) rename tests/baselines/reference/{sideEffectImports1(module=preserve,resolvesideeffectimports=true).js => sideEffectImports1(module=preserve,nouncheckedsideeffectimports=true).js} (100%) rename tests/baselines/reference/{sideEffectImports1(module=preserve,resolvesideeffectimports=true).symbols => sideEffectImports1(module=preserve,nouncheckedsideeffectimports=true).symbols} (100%) rename tests/baselines/reference/{sideEffectImports1(module=preserve,resolvesideeffectimports=true).types => sideEffectImports1(module=preserve,nouncheckedsideeffectimports=true).types} (100%) rename tests/baselines/reference/{sideEffectImports2(noimplicitany=false,resolvesideeffectimports=false).symbols => sideEffectImports2(noimplicitany=false,nouncheckedsideeffectimports=false).symbols} (100%) rename tests/baselines/reference/{sideEffectImports2(noimplicitany=false,resolvesideeffectimports=false).types => sideEffectImports2(noimplicitany=false,nouncheckedsideeffectimports=false).types} (100%) rename tests/baselines/reference/{sideEffectImports2(noimplicitany=false,resolvesideeffectimports=true).symbols => sideEffectImports2(noimplicitany=false,nouncheckedsideeffectimports=true).symbols} (100%) rename tests/baselines/reference/{sideEffectImports2(noimplicitany=false,resolvesideeffectimports=true).types => sideEffectImports2(noimplicitany=false,nouncheckedsideeffectimports=true).types} (100%) rename tests/baselines/reference/{sideEffectImports2(noimplicitany=true,resolvesideeffectimports=false).symbols => sideEffectImports2(noimplicitany=true,nouncheckedsideeffectimports=false).symbols} (100%) rename tests/baselines/reference/{sideEffectImports2(noimplicitany=true,resolvesideeffectimports=false).types => sideEffectImports2(noimplicitany=true,nouncheckedsideeffectimports=false).types} (100%) rename tests/baselines/reference/{sideEffectImports2(noimplicitany=true,resolvesideeffectimports=true).symbols => sideEffectImports2(noimplicitany=true,nouncheckedsideeffectimports=true).symbols} (100%) rename tests/baselines/reference/{sideEffectImports2(noimplicitany=true,resolvesideeffectimports=true).types => sideEffectImports2(noimplicitany=true,nouncheckedsideeffectimports=true).types} (100%) rename tests/baselines/reference/{sideEffectImports3(moduledetection=auto,resolvesideeffectimports=false).js => sideEffectImports3(moduledetection=auto,nouncheckedsideeffectimports=false).js} (100%) rename tests/baselines/reference/{sideEffectImports3(moduledetection=auto,resolvesideeffectimports=false).symbols => sideEffectImports3(moduledetection=auto,nouncheckedsideeffectimports=false).symbols} (100%) rename tests/baselines/reference/{sideEffectImports3(moduledetection=auto,resolvesideeffectimports=false).types => sideEffectImports3(moduledetection=auto,nouncheckedsideeffectimports=false).types} (100%) rename tests/baselines/reference/{sideEffectImports3(moduledetection=auto,resolvesideeffectimports=true).js => sideEffectImports3(moduledetection=auto,nouncheckedsideeffectimports=true).js} (100%) rename tests/baselines/reference/{sideEffectImports3(moduledetection=auto,resolvesideeffectimports=true).symbols => sideEffectImports3(moduledetection=auto,nouncheckedsideeffectimports=true).symbols} (100%) rename tests/baselines/reference/{sideEffectImports3(moduledetection=auto,resolvesideeffectimports=true).types => sideEffectImports3(moduledetection=auto,nouncheckedsideeffectimports=true).types} (100%) rename tests/baselines/reference/{sideEffectImports3(moduledetection=force,resolvesideeffectimports=false).js => sideEffectImports3(moduledetection=force,nouncheckedsideeffectimports=false).js} (100%) rename tests/baselines/reference/{sideEffectImports3(moduledetection=force,resolvesideeffectimports=false).symbols => sideEffectImports3(moduledetection=force,nouncheckedsideeffectimports=false).symbols} (100%) rename tests/baselines/reference/{sideEffectImports3(moduledetection=force,resolvesideeffectimports=false).types => sideEffectImports3(moduledetection=force,nouncheckedsideeffectimports=false).types} (100%) rename tests/baselines/reference/{sideEffectImports3(moduledetection=force,resolvesideeffectimports=true).js => sideEffectImports3(moduledetection=force,nouncheckedsideeffectimports=true).js} (100%) rename tests/baselines/reference/{sideEffectImports3(moduledetection=force,resolvesideeffectimports=true).symbols => sideEffectImports3(moduledetection=force,nouncheckedsideeffectimports=true).symbols} (100%) rename tests/baselines/reference/{sideEffectImports3(moduledetection=force,resolvesideeffectimports=true).types => sideEffectImports3(moduledetection=force,nouncheckedsideeffectimports=true).types} (100%) rename tests/baselines/reference/{sideEffectImports3(moduledetection=legacy,resolvesideeffectimports=false).js => sideEffectImports3(moduledetection=legacy,nouncheckedsideeffectimports=false).js} (100%) rename tests/baselines/reference/{sideEffectImports3(moduledetection=legacy,resolvesideeffectimports=false).symbols => sideEffectImports3(moduledetection=legacy,nouncheckedsideeffectimports=false).symbols} (100%) rename tests/baselines/reference/{sideEffectImports3(moduledetection=legacy,resolvesideeffectimports=false).types => sideEffectImports3(moduledetection=legacy,nouncheckedsideeffectimports=false).types} (100%) rename tests/baselines/reference/{sideEffectImports3(moduledetection=legacy,resolvesideeffectimports=true).js => sideEffectImports3(moduledetection=legacy,nouncheckedsideeffectimports=true).js} (100%) rename tests/baselines/reference/{sideEffectImports3(moduledetection=legacy,resolvesideeffectimports=true).symbols => sideEffectImports3(moduledetection=legacy,nouncheckedsideeffectimports=true).symbols} (100%) rename tests/baselines/reference/{sideEffectImports3(moduledetection=legacy,resolvesideeffectimports=true).types => sideEffectImports3(moduledetection=legacy,nouncheckedsideeffectimports=true).types} (100%) rename tests/baselines/reference/{sideEffectImports4(resolvesideeffectimports=false).js => sideEffectImports4(nouncheckedsideeffectimports=false).js} (100%) rename tests/baselines/reference/{sideEffectImports4(resolvesideeffectimports=false).symbols => sideEffectImports4(nouncheckedsideeffectimports=false).symbols} (100%) rename tests/baselines/reference/{sideEffectImports4(resolvesideeffectimports=false).types => sideEffectImports4(nouncheckedsideeffectimports=false).types} (100%) rename tests/baselines/reference/{sideEffectImports4(resolvesideeffectimports=true).js => sideEffectImports4(nouncheckedsideeffectimports=true).js} (100%) rename tests/baselines/reference/{sideEffectImports4(resolvesideeffectimports=true).symbols => sideEffectImports4(nouncheckedsideeffectimports=true).symbols} (100%) rename tests/baselines/reference/{sideEffectImports4(resolvesideeffectimports=true).types => sideEffectImports4(nouncheckedsideeffectimports=true).types} (100%) rename tests/baselines/reference/tsbuildWatch/programUpdates/{works-when-resolveSideEffectImports-changes-to-false.js => works-when-noUncheckedSideEffectImports-changes-to-false.js} (91%) rename tests/baselines/reference/tscWatch/programUpdates/{when-changing-resolveSideEffectImports-of-config-file.js => when-changing-noUncheckedSideEffectImports-of-config-file.js} (88%) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 99689d133af23..5305853155518 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -1504,7 +1504,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { var noImplicitThis = getStrictOptionValue(compilerOptions, "noImplicitThis"); var useUnknownInCatchVariables = getStrictOptionValue(compilerOptions, "useUnknownInCatchVariables"); var exactOptionalPropertyTypes = compilerOptions.exactOptionalPropertyTypes; - var resolveSideEffectImports = compilerOptions.resolveSideEffectImports; + var noUncheckedSideEffectImports = compilerOptions.noUncheckedSideEffectImports; var checkBinaryExpression = createCheckBinaryExpression(); var emitResolver = createResolver(); @@ -47243,7 +47243,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } } } - else if (resolveSideEffectImports && !importClause) { + else if (noUncheckedSideEffectImports && !importClause) { void resolveExternalModuleName(node, node.moduleSpecifier); } } diff --git a/src/compiler/commandLineParser.ts b/src/compiler/commandLineParser.ts index 081039f7e1aad..3354b24eddb7d 100644 --- a/src/compiler/commandLineParser.ts +++ b/src/compiler/commandLineParser.ts @@ -1202,7 +1202,7 @@ const commandOptionsWithoutBuild: CommandLineOption[] = [ description: Diagnostics.Conditions_to_set_in_addition_to_the_resolver_specific_defaults_when_resolving_imports, }, { - name: "resolveSideEffectImports", + name: "noUncheckedSideEffectImports", type: "boolean", affectsSemanticDiagnostics: true, affectsBuildInfo: true, diff --git a/src/compiler/types.ts b/src/compiler/types.ts index 5e007f5b96996..7ccdae935b1ce 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -7418,7 +7418,7 @@ export interface CompilerOptions { target?: ScriptTarget; traceResolution?: boolean; useUnknownInCatchVariables?: boolean; - resolveSideEffectImports?: boolean; + noUncheckedSideEffectImports?: boolean; resolveJsonModule?: boolean; types?: string[]; /** Paths used to compute primary types search locations */ diff --git a/src/testRunner/unittests/tsbuildWatch/programUpdates.ts b/src/testRunner/unittests/tsbuildWatch/programUpdates.ts index d53145a9a77e7..b77ed3c5016e8 100644 --- a/src/testRunner/unittests/tsbuildWatch/programUpdates.ts +++ b/src/testRunner/unittests/tsbuildWatch/programUpdates.ts @@ -799,7 +799,7 @@ createSomeObject().message;`, verifyTscWatch({ scenario: "programUpdates", - subScenario: "works when resolveSideEffectImports changes to false", + subScenario: "works when noUncheckedSideEffectImports changes to false", commandLineArgs: ["-b", "-w"], sys: () => { const index: File = { @@ -810,7 +810,7 @@ createSomeObject().message;`, path: `/user/username/projects/myproject/tsconfig.json`, content: jsonToReadableText({ compilerOptions: { - resolveSideEffectImports: true, + noUncheckedSideEffectImports: true, }, }), }; @@ -818,13 +818,13 @@ createSomeObject().message;`, }, edits: [ { - caption: "Change tsconfig to set resolveSideEffectImports to false", + caption: "Change tsconfig to set noUncheckedSideEffectImports to false", edit: sys => sys.writeFile( `/user/username/projects/myproject/tsconfig.json`, jsonToReadableText({ compilerOptions: { - resolveSideEffectImports: false, + noUncheckedSideEffectImports: false, }, }), ), diff --git a/src/testRunner/unittests/tscWatch/programUpdates.ts b/src/testRunner/unittests/tscWatch/programUpdates.ts index 776a79e629034..6bfa06fcaa42d 100644 --- a/src/testRunner/unittests/tscWatch/programUpdates.ts +++ b/src/testRunner/unittests/tscWatch/programUpdates.ts @@ -2248,7 +2248,7 @@ import { x } from "../b";`, verifyTscWatch({ scenario, - subScenario: "when changing resolveSideEffectImports of config file", + subScenario: "when changing noUncheckedSideEffectImports of config file", commandLineArgs: ["-w", "-p", ".", "--extendedDiagnostics"], sys: () => { const module1: File = { @@ -2259,7 +2259,7 @@ import { x } from "../b";`, path: `/user/username/projects/myproject/tsconfig.json`, content: jsonToReadableText({ compilerOptions: { - resolveSideEffectImports: false, + noUncheckedSideEffectImports: false, }, }), }; @@ -2267,13 +2267,13 @@ import { x } from "../b";`, }, edits: [ { - caption: "Change resolveSideEffectImports to true", + caption: "Change noUncheckedSideEffectImports to true", edit: sys => sys.writeFile( `/user/username/projects/myproject/tsconfig.json`, jsonToReadableText({ compilerOptions: { - resolveSideEffectImports: true, + noUncheckedSideEffectImports: true, }, }), ), diff --git a/tests/baselines/reference/api/typescript.d.ts b/tests/baselines/reference/api/typescript.d.ts index 5ab921aab01b4..85d35b85c9c6d 100644 --- a/tests/baselines/reference/api/typescript.d.ts +++ b/tests/baselines/reference/api/typescript.d.ts @@ -7017,7 +7017,7 @@ declare namespace ts { target?: ScriptTarget; traceResolution?: boolean; useUnknownInCatchVariables?: boolean; - resolveSideEffectImports?: boolean; + noUncheckedSideEffectImports?: boolean; resolveJsonModule?: boolean; types?: string[]; /** Paths used to compute primary types search locations */ diff --git a/tests/baselines/reference/config/initTSConfig/Default initialized TSConfig/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Default initialized TSConfig/tsconfig.json index 0f2710b1060b7..72921b5d6db9c 100644 --- a/tests/baselines/reference/config/initTSConfig/Default initialized TSConfig/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Default initialized TSConfig/tsconfig.json @@ -39,7 +39,7 @@ // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ - // "resolveSideEffectImports": true, /* Resolve side effect imports. */ + // "noUncheckedSideEffectImports": true, /* Resolve side effect imports. */ // "resolveJsonModule": true, /* Enable importing .json files. */ // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with --help/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with --help/tsconfig.json index 0f2710b1060b7..72921b5d6db9c 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with --help/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with --help/tsconfig.json @@ -39,7 +39,7 @@ // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ - // "resolveSideEffectImports": true, /* Resolve side effect imports. */ + // "noUncheckedSideEffectImports": true, /* Resolve side effect imports. */ // "resolveJsonModule": true, /* Enable importing .json files. */ // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with --watch/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with --watch/tsconfig.json index 0f2710b1060b7..72921b5d6db9c 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with --watch/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with --watch/tsconfig.json @@ -39,7 +39,7 @@ // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ - // "resolveSideEffectImports": true, /* Resolve side effect imports. */ + // "noUncheckedSideEffectImports": true, /* Resolve side effect imports. */ // "resolveJsonModule": true, /* Enable importing .json files. */ // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with advanced options/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with advanced options/tsconfig.json index de3fc0b172634..7209abc21f9ce 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with advanced options/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with advanced options/tsconfig.json @@ -39,7 +39,7 @@ // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ - // "resolveSideEffectImports": true, /* Resolve side effect imports. */ + // "noUncheckedSideEffectImports": true, /* Resolve side effect imports. */ // "resolveJsonModule": true, /* Enable importing .json files. */ // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with boolean value compiler options/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with boolean value compiler options/tsconfig.json index 8a2e34e090bc4..fe1193f01c248 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with boolean value compiler options/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with boolean value compiler options/tsconfig.json @@ -39,7 +39,7 @@ // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ - // "resolveSideEffectImports": true, /* Resolve side effect imports. */ + // "noUncheckedSideEffectImports": true, /* Resolve side effect imports. */ // "resolveJsonModule": true, /* Enable importing .json files. */ // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with enum value compiler options/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with enum value compiler options/tsconfig.json index 5fe3db0093bef..092fdcbedc146 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with enum value compiler options/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with enum value compiler options/tsconfig.json @@ -39,7 +39,7 @@ // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ - // "resolveSideEffectImports": true, /* Resolve side effect imports. */ + // "noUncheckedSideEffectImports": true, /* Resolve side effect imports. */ // "resolveJsonModule": true, /* Enable importing .json files. */ // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with files options/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with files options/tsconfig.json index 2778c91551342..fbdf40521423f 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with files options/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with files options/tsconfig.json @@ -39,7 +39,7 @@ // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ - // "resolveSideEffectImports": true, /* Resolve side effect imports. */ + // "noUncheckedSideEffectImports": true, /* Resolve side effect imports. */ // "resolveJsonModule": true, /* Enable importing .json files. */ // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with incorrect compiler option value/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with incorrect compiler option value/tsconfig.json index 0b9e002335d2a..e6bae1bbd93bc 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with incorrect compiler option value/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with incorrect compiler option value/tsconfig.json @@ -39,7 +39,7 @@ // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ - // "resolveSideEffectImports": true, /* Resolve side effect imports. */ + // "noUncheckedSideEffectImports": true, /* Resolve side effect imports. */ // "resolveJsonModule": true, /* Enable importing .json files. */ // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with incorrect compiler option/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with incorrect compiler option/tsconfig.json index 0f2710b1060b7..72921b5d6db9c 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with incorrect compiler option/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with incorrect compiler option/tsconfig.json @@ -39,7 +39,7 @@ // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ - // "resolveSideEffectImports": true, /* Resolve side effect imports. */ + // "noUncheckedSideEffectImports": true, /* Resolve side effect imports. */ // "resolveJsonModule": true, /* Enable importing .json files. */ // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with list compiler options with enum value/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with list compiler options with enum value/tsconfig.json index 2cc3c5f4a6715..33ed00c916cbc 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with list compiler options with enum value/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with list compiler options with enum value/tsconfig.json @@ -39,7 +39,7 @@ // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ - // "resolveSideEffectImports": true, /* Resolve side effect imports. */ + // "noUncheckedSideEffectImports": true, /* Resolve side effect imports. */ // "resolveJsonModule": true, /* Enable importing .json files. */ // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with list compiler options/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with list compiler options/tsconfig.json index ce1448f15dec9..7df8f84248c70 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with list compiler options/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with list compiler options/tsconfig.json @@ -39,7 +39,7 @@ // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ - // "resolveSideEffectImports": true, /* Resolve side effect imports. */ + // "noUncheckedSideEffectImports": true, /* Resolve side effect imports. */ // "resolveJsonModule": true, /* Enable importing .json files. */ // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ diff --git a/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/noUncheckedSideEffectImports/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/noUncheckedSideEffectImports/tsconfig.json new file mode 100644 index 0000000000000..ebfea7ecd974d --- /dev/null +++ b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/noUncheckedSideEffectImports/tsconfig.json @@ -0,0 +1,5 @@ +{ + "compilerOptions": { + "noUncheckedSideEffectImports": true + } +} diff --git a/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/resolveSideEffectImports/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/resolveSideEffectImports/tsconfig.json deleted file mode 100644 index bfd2f88a8a359..0000000000000 --- a/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/resolveSideEffectImports/tsconfig.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "compilerOptions": { - "resolveSideEffectImports": true - } -} diff --git a/tests/baselines/reference/sideEffectImports1(module=commonjs,resolvesideeffectimports=false).js b/tests/baselines/reference/sideEffectImports1(module=commonjs,nouncheckedsideeffectimports=false).js similarity index 100% rename from tests/baselines/reference/sideEffectImports1(module=commonjs,resolvesideeffectimports=false).js rename to tests/baselines/reference/sideEffectImports1(module=commonjs,nouncheckedsideeffectimports=false).js diff --git a/tests/baselines/reference/sideEffectImports1(module=commonjs,resolvesideeffectimports=false).symbols b/tests/baselines/reference/sideEffectImports1(module=commonjs,nouncheckedsideeffectimports=false).symbols similarity index 100% rename from tests/baselines/reference/sideEffectImports1(module=commonjs,resolvesideeffectimports=false).symbols rename to tests/baselines/reference/sideEffectImports1(module=commonjs,nouncheckedsideeffectimports=false).symbols diff --git a/tests/baselines/reference/sideEffectImports1(module=commonjs,resolvesideeffectimports=false).types b/tests/baselines/reference/sideEffectImports1(module=commonjs,nouncheckedsideeffectimports=false).types similarity index 100% rename from tests/baselines/reference/sideEffectImports1(module=commonjs,resolvesideeffectimports=false).types rename to tests/baselines/reference/sideEffectImports1(module=commonjs,nouncheckedsideeffectimports=false).types diff --git a/tests/baselines/reference/sideEffectImports1(module=commonjs,resolvesideeffectimports=true).errors.txt b/tests/baselines/reference/sideEffectImports1(module=commonjs,nouncheckedsideeffectimports=true).errors.txt similarity index 100% rename from tests/baselines/reference/sideEffectImports1(module=commonjs,resolvesideeffectimports=true).errors.txt rename to tests/baselines/reference/sideEffectImports1(module=commonjs,nouncheckedsideeffectimports=true).errors.txt diff --git a/tests/baselines/reference/sideEffectImports1(module=commonjs,resolvesideeffectimports=true).js b/tests/baselines/reference/sideEffectImports1(module=commonjs,nouncheckedsideeffectimports=true).js similarity index 100% rename from tests/baselines/reference/sideEffectImports1(module=commonjs,resolvesideeffectimports=true).js rename to tests/baselines/reference/sideEffectImports1(module=commonjs,nouncheckedsideeffectimports=true).js diff --git a/tests/baselines/reference/sideEffectImports1(module=commonjs,resolvesideeffectimports=true).symbols b/tests/baselines/reference/sideEffectImports1(module=commonjs,nouncheckedsideeffectimports=true).symbols similarity index 100% rename from tests/baselines/reference/sideEffectImports1(module=commonjs,resolvesideeffectimports=true).symbols rename to tests/baselines/reference/sideEffectImports1(module=commonjs,nouncheckedsideeffectimports=true).symbols diff --git a/tests/baselines/reference/sideEffectImports1(module=commonjs,resolvesideeffectimports=true).types b/tests/baselines/reference/sideEffectImports1(module=commonjs,nouncheckedsideeffectimports=true).types similarity index 100% rename from tests/baselines/reference/sideEffectImports1(module=commonjs,resolvesideeffectimports=true).types rename to tests/baselines/reference/sideEffectImports1(module=commonjs,nouncheckedsideeffectimports=true).types diff --git a/tests/baselines/reference/sideEffectImports1(module=nodenext,resolvesideeffectimports=false).js b/tests/baselines/reference/sideEffectImports1(module=nodenext,nouncheckedsideeffectimports=false).js similarity index 100% rename from tests/baselines/reference/sideEffectImports1(module=nodenext,resolvesideeffectimports=false).js rename to tests/baselines/reference/sideEffectImports1(module=nodenext,nouncheckedsideeffectimports=false).js diff --git a/tests/baselines/reference/sideEffectImports1(module=nodenext,resolvesideeffectimports=false).symbols b/tests/baselines/reference/sideEffectImports1(module=nodenext,nouncheckedsideeffectimports=false).symbols similarity index 100% rename from tests/baselines/reference/sideEffectImports1(module=nodenext,resolvesideeffectimports=false).symbols rename to tests/baselines/reference/sideEffectImports1(module=nodenext,nouncheckedsideeffectimports=false).symbols diff --git a/tests/baselines/reference/sideEffectImports1(module=nodenext,resolvesideeffectimports=false).types b/tests/baselines/reference/sideEffectImports1(module=nodenext,nouncheckedsideeffectimports=false).types similarity index 100% rename from tests/baselines/reference/sideEffectImports1(module=nodenext,resolvesideeffectimports=false).types rename to tests/baselines/reference/sideEffectImports1(module=nodenext,nouncheckedsideeffectimports=false).types diff --git a/tests/baselines/reference/sideEffectImports1(module=nodenext,resolvesideeffectimports=true).errors.txt b/tests/baselines/reference/sideEffectImports1(module=nodenext,nouncheckedsideeffectimports=true).errors.txt similarity index 100% rename from tests/baselines/reference/sideEffectImports1(module=nodenext,resolvesideeffectimports=true).errors.txt rename to tests/baselines/reference/sideEffectImports1(module=nodenext,nouncheckedsideeffectimports=true).errors.txt diff --git a/tests/baselines/reference/sideEffectImports1(module=nodenext,resolvesideeffectimports=true).js b/tests/baselines/reference/sideEffectImports1(module=nodenext,nouncheckedsideeffectimports=true).js similarity index 100% rename from tests/baselines/reference/sideEffectImports1(module=nodenext,resolvesideeffectimports=true).js rename to tests/baselines/reference/sideEffectImports1(module=nodenext,nouncheckedsideeffectimports=true).js diff --git a/tests/baselines/reference/sideEffectImports1(module=nodenext,resolvesideeffectimports=true).symbols b/tests/baselines/reference/sideEffectImports1(module=nodenext,nouncheckedsideeffectimports=true).symbols similarity index 100% rename from tests/baselines/reference/sideEffectImports1(module=nodenext,resolvesideeffectimports=true).symbols rename to tests/baselines/reference/sideEffectImports1(module=nodenext,nouncheckedsideeffectimports=true).symbols diff --git a/tests/baselines/reference/sideEffectImports1(module=nodenext,resolvesideeffectimports=true).types b/tests/baselines/reference/sideEffectImports1(module=nodenext,nouncheckedsideeffectimports=true).types similarity index 100% rename from tests/baselines/reference/sideEffectImports1(module=nodenext,resolvesideeffectimports=true).types rename to tests/baselines/reference/sideEffectImports1(module=nodenext,nouncheckedsideeffectimports=true).types diff --git a/tests/baselines/reference/sideEffectImports1(module=preserve,resolvesideeffectimports=false).js b/tests/baselines/reference/sideEffectImports1(module=preserve,nouncheckedsideeffectimports=false).js similarity index 100% rename from tests/baselines/reference/sideEffectImports1(module=preserve,resolvesideeffectimports=false).js rename to tests/baselines/reference/sideEffectImports1(module=preserve,nouncheckedsideeffectimports=false).js diff --git a/tests/baselines/reference/sideEffectImports1(module=preserve,resolvesideeffectimports=false).symbols b/tests/baselines/reference/sideEffectImports1(module=preserve,nouncheckedsideeffectimports=false).symbols similarity index 100% rename from tests/baselines/reference/sideEffectImports1(module=preserve,resolvesideeffectimports=false).symbols rename to tests/baselines/reference/sideEffectImports1(module=preserve,nouncheckedsideeffectimports=false).symbols diff --git a/tests/baselines/reference/sideEffectImports1(module=preserve,resolvesideeffectimports=false).types b/tests/baselines/reference/sideEffectImports1(module=preserve,nouncheckedsideeffectimports=false).types similarity index 100% rename from tests/baselines/reference/sideEffectImports1(module=preserve,resolvesideeffectimports=false).types rename to tests/baselines/reference/sideEffectImports1(module=preserve,nouncheckedsideeffectimports=false).types diff --git a/tests/baselines/reference/sideEffectImports1(module=preserve,resolvesideeffectimports=true).errors.txt b/tests/baselines/reference/sideEffectImports1(module=preserve,nouncheckedsideeffectimports=true).errors.txt similarity index 100% rename from tests/baselines/reference/sideEffectImports1(module=preserve,resolvesideeffectimports=true).errors.txt rename to tests/baselines/reference/sideEffectImports1(module=preserve,nouncheckedsideeffectimports=true).errors.txt diff --git a/tests/baselines/reference/sideEffectImports1(module=preserve,resolvesideeffectimports=true).js b/tests/baselines/reference/sideEffectImports1(module=preserve,nouncheckedsideeffectimports=true).js similarity index 100% rename from tests/baselines/reference/sideEffectImports1(module=preserve,resolvesideeffectimports=true).js rename to tests/baselines/reference/sideEffectImports1(module=preserve,nouncheckedsideeffectimports=true).js diff --git a/tests/baselines/reference/sideEffectImports1(module=preserve,resolvesideeffectimports=true).symbols b/tests/baselines/reference/sideEffectImports1(module=preserve,nouncheckedsideeffectimports=true).symbols similarity index 100% rename from tests/baselines/reference/sideEffectImports1(module=preserve,resolvesideeffectimports=true).symbols rename to tests/baselines/reference/sideEffectImports1(module=preserve,nouncheckedsideeffectimports=true).symbols diff --git a/tests/baselines/reference/sideEffectImports1(module=preserve,resolvesideeffectimports=true).types b/tests/baselines/reference/sideEffectImports1(module=preserve,nouncheckedsideeffectimports=true).types similarity index 100% rename from tests/baselines/reference/sideEffectImports1(module=preserve,resolvesideeffectimports=true).types rename to tests/baselines/reference/sideEffectImports1(module=preserve,nouncheckedsideeffectimports=true).types diff --git a/tests/baselines/reference/sideEffectImports2(noimplicitany=false,resolvesideeffectimports=false).symbols b/tests/baselines/reference/sideEffectImports2(noimplicitany=false,nouncheckedsideeffectimports=false).symbols similarity index 100% rename from tests/baselines/reference/sideEffectImports2(noimplicitany=false,resolvesideeffectimports=false).symbols rename to tests/baselines/reference/sideEffectImports2(noimplicitany=false,nouncheckedsideeffectimports=false).symbols diff --git a/tests/baselines/reference/sideEffectImports2(noimplicitany=false,resolvesideeffectimports=false).types b/tests/baselines/reference/sideEffectImports2(noimplicitany=false,nouncheckedsideeffectimports=false).types similarity index 100% rename from tests/baselines/reference/sideEffectImports2(noimplicitany=false,resolvesideeffectimports=false).types rename to tests/baselines/reference/sideEffectImports2(noimplicitany=false,nouncheckedsideeffectimports=false).types diff --git a/tests/baselines/reference/sideEffectImports2(noimplicitany=false,resolvesideeffectimports=true).symbols b/tests/baselines/reference/sideEffectImports2(noimplicitany=false,nouncheckedsideeffectimports=true).symbols similarity index 100% rename from tests/baselines/reference/sideEffectImports2(noimplicitany=false,resolvesideeffectimports=true).symbols rename to tests/baselines/reference/sideEffectImports2(noimplicitany=false,nouncheckedsideeffectimports=true).symbols diff --git a/tests/baselines/reference/sideEffectImports2(noimplicitany=false,resolvesideeffectimports=true).types b/tests/baselines/reference/sideEffectImports2(noimplicitany=false,nouncheckedsideeffectimports=true).types similarity index 100% rename from tests/baselines/reference/sideEffectImports2(noimplicitany=false,resolvesideeffectimports=true).types rename to tests/baselines/reference/sideEffectImports2(noimplicitany=false,nouncheckedsideeffectimports=true).types diff --git a/tests/baselines/reference/sideEffectImports2(noimplicitany=true,resolvesideeffectimports=false).symbols b/tests/baselines/reference/sideEffectImports2(noimplicitany=true,nouncheckedsideeffectimports=false).symbols similarity index 100% rename from tests/baselines/reference/sideEffectImports2(noimplicitany=true,resolvesideeffectimports=false).symbols rename to tests/baselines/reference/sideEffectImports2(noimplicitany=true,nouncheckedsideeffectimports=false).symbols diff --git a/tests/baselines/reference/sideEffectImports2(noimplicitany=true,resolvesideeffectimports=false).types b/tests/baselines/reference/sideEffectImports2(noimplicitany=true,nouncheckedsideeffectimports=false).types similarity index 100% rename from tests/baselines/reference/sideEffectImports2(noimplicitany=true,resolvesideeffectimports=false).types rename to tests/baselines/reference/sideEffectImports2(noimplicitany=true,nouncheckedsideeffectimports=false).types diff --git a/tests/baselines/reference/sideEffectImports2(noimplicitany=true,resolvesideeffectimports=true).symbols b/tests/baselines/reference/sideEffectImports2(noimplicitany=true,nouncheckedsideeffectimports=true).symbols similarity index 100% rename from tests/baselines/reference/sideEffectImports2(noimplicitany=true,resolvesideeffectimports=true).symbols rename to tests/baselines/reference/sideEffectImports2(noimplicitany=true,nouncheckedsideeffectimports=true).symbols diff --git a/tests/baselines/reference/sideEffectImports2(noimplicitany=true,resolvesideeffectimports=true).types b/tests/baselines/reference/sideEffectImports2(noimplicitany=true,nouncheckedsideeffectimports=true).types similarity index 100% rename from tests/baselines/reference/sideEffectImports2(noimplicitany=true,resolvesideeffectimports=true).types rename to tests/baselines/reference/sideEffectImports2(noimplicitany=true,nouncheckedsideeffectimports=true).types diff --git a/tests/baselines/reference/sideEffectImports3(moduledetection=auto,resolvesideeffectimports=false).js b/tests/baselines/reference/sideEffectImports3(moduledetection=auto,nouncheckedsideeffectimports=false).js similarity index 100% rename from tests/baselines/reference/sideEffectImports3(moduledetection=auto,resolvesideeffectimports=false).js rename to tests/baselines/reference/sideEffectImports3(moduledetection=auto,nouncheckedsideeffectimports=false).js diff --git a/tests/baselines/reference/sideEffectImports3(moduledetection=auto,resolvesideeffectimports=false).symbols b/tests/baselines/reference/sideEffectImports3(moduledetection=auto,nouncheckedsideeffectimports=false).symbols similarity index 100% rename from tests/baselines/reference/sideEffectImports3(moduledetection=auto,resolvesideeffectimports=false).symbols rename to tests/baselines/reference/sideEffectImports3(moduledetection=auto,nouncheckedsideeffectimports=false).symbols diff --git a/tests/baselines/reference/sideEffectImports3(moduledetection=auto,resolvesideeffectimports=false).types b/tests/baselines/reference/sideEffectImports3(moduledetection=auto,nouncheckedsideeffectimports=false).types similarity index 100% rename from tests/baselines/reference/sideEffectImports3(moduledetection=auto,resolvesideeffectimports=false).types rename to tests/baselines/reference/sideEffectImports3(moduledetection=auto,nouncheckedsideeffectimports=false).types diff --git a/tests/baselines/reference/sideEffectImports3(moduledetection=auto,resolvesideeffectimports=true).js b/tests/baselines/reference/sideEffectImports3(moduledetection=auto,nouncheckedsideeffectimports=true).js similarity index 100% rename from tests/baselines/reference/sideEffectImports3(moduledetection=auto,resolvesideeffectimports=true).js rename to tests/baselines/reference/sideEffectImports3(moduledetection=auto,nouncheckedsideeffectimports=true).js diff --git a/tests/baselines/reference/sideEffectImports3(moduledetection=auto,resolvesideeffectimports=true).symbols b/tests/baselines/reference/sideEffectImports3(moduledetection=auto,nouncheckedsideeffectimports=true).symbols similarity index 100% rename from tests/baselines/reference/sideEffectImports3(moduledetection=auto,resolvesideeffectimports=true).symbols rename to tests/baselines/reference/sideEffectImports3(moduledetection=auto,nouncheckedsideeffectimports=true).symbols diff --git a/tests/baselines/reference/sideEffectImports3(moduledetection=auto,resolvesideeffectimports=true).types b/tests/baselines/reference/sideEffectImports3(moduledetection=auto,nouncheckedsideeffectimports=true).types similarity index 100% rename from tests/baselines/reference/sideEffectImports3(moduledetection=auto,resolvesideeffectimports=true).types rename to tests/baselines/reference/sideEffectImports3(moduledetection=auto,nouncheckedsideeffectimports=true).types diff --git a/tests/baselines/reference/sideEffectImports3(moduledetection=force,resolvesideeffectimports=false).js b/tests/baselines/reference/sideEffectImports3(moduledetection=force,nouncheckedsideeffectimports=false).js similarity index 100% rename from tests/baselines/reference/sideEffectImports3(moduledetection=force,resolvesideeffectimports=false).js rename to tests/baselines/reference/sideEffectImports3(moduledetection=force,nouncheckedsideeffectimports=false).js diff --git a/tests/baselines/reference/sideEffectImports3(moduledetection=force,resolvesideeffectimports=false).symbols b/tests/baselines/reference/sideEffectImports3(moduledetection=force,nouncheckedsideeffectimports=false).symbols similarity index 100% rename from tests/baselines/reference/sideEffectImports3(moduledetection=force,resolvesideeffectimports=false).symbols rename to tests/baselines/reference/sideEffectImports3(moduledetection=force,nouncheckedsideeffectimports=false).symbols diff --git a/tests/baselines/reference/sideEffectImports3(moduledetection=force,resolvesideeffectimports=false).types b/tests/baselines/reference/sideEffectImports3(moduledetection=force,nouncheckedsideeffectimports=false).types similarity index 100% rename from tests/baselines/reference/sideEffectImports3(moduledetection=force,resolvesideeffectimports=false).types rename to tests/baselines/reference/sideEffectImports3(moduledetection=force,nouncheckedsideeffectimports=false).types diff --git a/tests/baselines/reference/sideEffectImports3(moduledetection=force,resolvesideeffectimports=true).js b/tests/baselines/reference/sideEffectImports3(moduledetection=force,nouncheckedsideeffectimports=true).js similarity index 100% rename from tests/baselines/reference/sideEffectImports3(moduledetection=force,resolvesideeffectimports=true).js rename to tests/baselines/reference/sideEffectImports3(moduledetection=force,nouncheckedsideeffectimports=true).js diff --git a/tests/baselines/reference/sideEffectImports3(moduledetection=force,resolvesideeffectimports=true).symbols b/tests/baselines/reference/sideEffectImports3(moduledetection=force,nouncheckedsideeffectimports=true).symbols similarity index 100% rename from tests/baselines/reference/sideEffectImports3(moduledetection=force,resolvesideeffectimports=true).symbols rename to tests/baselines/reference/sideEffectImports3(moduledetection=force,nouncheckedsideeffectimports=true).symbols diff --git a/tests/baselines/reference/sideEffectImports3(moduledetection=force,resolvesideeffectimports=true).types b/tests/baselines/reference/sideEffectImports3(moduledetection=force,nouncheckedsideeffectimports=true).types similarity index 100% rename from tests/baselines/reference/sideEffectImports3(moduledetection=force,resolvesideeffectimports=true).types rename to tests/baselines/reference/sideEffectImports3(moduledetection=force,nouncheckedsideeffectimports=true).types diff --git a/tests/baselines/reference/sideEffectImports3(moduledetection=legacy,resolvesideeffectimports=false).js b/tests/baselines/reference/sideEffectImports3(moduledetection=legacy,nouncheckedsideeffectimports=false).js similarity index 100% rename from tests/baselines/reference/sideEffectImports3(moduledetection=legacy,resolvesideeffectimports=false).js rename to tests/baselines/reference/sideEffectImports3(moduledetection=legacy,nouncheckedsideeffectimports=false).js diff --git a/tests/baselines/reference/sideEffectImports3(moduledetection=legacy,resolvesideeffectimports=false).symbols b/tests/baselines/reference/sideEffectImports3(moduledetection=legacy,nouncheckedsideeffectimports=false).symbols similarity index 100% rename from tests/baselines/reference/sideEffectImports3(moduledetection=legacy,resolvesideeffectimports=false).symbols rename to tests/baselines/reference/sideEffectImports3(moduledetection=legacy,nouncheckedsideeffectimports=false).symbols diff --git a/tests/baselines/reference/sideEffectImports3(moduledetection=legacy,resolvesideeffectimports=false).types b/tests/baselines/reference/sideEffectImports3(moduledetection=legacy,nouncheckedsideeffectimports=false).types similarity index 100% rename from tests/baselines/reference/sideEffectImports3(moduledetection=legacy,resolvesideeffectimports=false).types rename to tests/baselines/reference/sideEffectImports3(moduledetection=legacy,nouncheckedsideeffectimports=false).types diff --git a/tests/baselines/reference/sideEffectImports3(moduledetection=legacy,resolvesideeffectimports=true).js b/tests/baselines/reference/sideEffectImports3(moduledetection=legacy,nouncheckedsideeffectimports=true).js similarity index 100% rename from tests/baselines/reference/sideEffectImports3(moduledetection=legacy,resolvesideeffectimports=true).js rename to tests/baselines/reference/sideEffectImports3(moduledetection=legacy,nouncheckedsideeffectimports=true).js diff --git a/tests/baselines/reference/sideEffectImports3(moduledetection=legacy,resolvesideeffectimports=true).symbols b/tests/baselines/reference/sideEffectImports3(moduledetection=legacy,nouncheckedsideeffectimports=true).symbols similarity index 100% rename from tests/baselines/reference/sideEffectImports3(moduledetection=legacy,resolvesideeffectimports=true).symbols rename to tests/baselines/reference/sideEffectImports3(moduledetection=legacy,nouncheckedsideeffectimports=true).symbols diff --git a/tests/baselines/reference/sideEffectImports3(moduledetection=legacy,resolvesideeffectimports=true).types b/tests/baselines/reference/sideEffectImports3(moduledetection=legacy,nouncheckedsideeffectimports=true).types similarity index 100% rename from tests/baselines/reference/sideEffectImports3(moduledetection=legacy,resolvesideeffectimports=true).types rename to tests/baselines/reference/sideEffectImports3(moduledetection=legacy,nouncheckedsideeffectimports=true).types diff --git a/tests/baselines/reference/sideEffectImports4(resolvesideeffectimports=false).js b/tests/baselines/reference/sideEffectImports4(nouncheckedsideeffectimports=false).js similarity index 100% rename from tests/baselines/reference/sideEffectImports4(resolvesideeffectimports=false).js rename to tests/baselines/reference/sideEffectImports4(nouncheckedsideeffectimports=false).js diff --git a/tests/baselines/reference/sideEffectImports4(resolvesideeffectimports=false).symbols b/tests/baselines/reference/sideEffectImports4(nouncheckedsideeffectimports=false).symbols similarity index 100% rename from tests/baselines/reference/sideEffectImports4(resolvesideeffectimports=false).symbols rename to tests/baselines/reference/sideEffectImports4(nouncheckedsideeffectimports=false).symbols diff --git a/tests/baselines/reference/sideEffectImports4(resolvesideeffectimports=false).types b/tests/baselines/reference/sideEffectImports4(nouncheckedsideeffectimports=false).types similarity index 100% rename from tests/baselines/reference/sideEffectImports4(resolvesideeffectimports=false).types rename to tests/baselines/reference/sideEffectImports4(nouncheckedsideeffectimports=false).types diff --git a/tests/baselines/reference/sideEffectImports4(resolvesideeffectimports=true).js b/tests/baselines/reference/sideEffectImports4(nouncheckedsideeffectimports=true).js similarity index 100% rename from tests/baselines/reference/sideEffectImports4(resolvesideeffectimports=true).js rename to tests/baselines/reference/sideEffectImports4(nouncheckedsideeffectimports=true).js diff --git a/tests/baselines/reference/sideEffectImports4(resolvesideeffectimports=true).symbols b/tests/baselines/reference/sideEffectImports4(nouncheckedsideeffectimports=true).symbols similarity index 100% rename from tests/baselines/reference/sideEffectImports4(resolvesideeffectimports=true).symbols rename to tests/baselines/reference/sideEffectImports4(nouncheckedsideeffectimports=true).symbols diff --git a/tests/baselines/reference/sideEffectImports4(resolvesideeffectimports=true).types b/tests/baselines/reference/sideEffectImports4(nouncheckedsideeffectimports=true).types similarity index 100% rename from tests/baselines/reference/sideEffectImports4(resolvesideeffectimports=true).types rename to tests/baselines/reference/sideEffectImports4(nouncheckedsideeffectimports=true).types diff --git a/tests/baselines/reference/tsbuildWatch/programUpdates/works-when-resolveSideEffectImports-changes-to-false.js b/tests/baselines/reference/tsbuildWatch/programUpdates/works-when-noUncheckedSideEffectImports-changes-to-false.js similarity index 91% rename from tests/baselines/reference/tsbuildWatch/programUpdates/works-when-resolveSideEffectImports-changes-to-false.js rename to tests/baselines/reference/tsbuildWatch/programUpdates/works-when-noUncheckedSideEffectImports-changes-to-false.js index f0f3b1afde261..78b898f9bbbf4 100644 --- a/tests/baselines/reference/tsbuildWatch/programUpdates/works-when-resolveSideEffectImports-changes-to-false.js +++ b/tests/baselines/reference/tsbuildWatch/programUpdates/works-when-noUncheckedSideEffectImports-changes-to-false.js @@ -6,7 +6,7 @@ import "does-not-exist"; //// [/user/username/projects/myproject/tsconfig.json] { "compilerOptions": { - "resolveSideEffectImports": true + "noUncheckedSideEffectImports": true } } @@ -72,7 +72,7 @@ Program root files: [ "/user/username/projects/myproject/index.ts" ] Program options: { - "resolveSideEffectImports": true, + "noUncheckedSideEffectImports": true, "watch": true, "tscBuild": true, "configFilePath": "/user/username/projects/myproject/tsconfig.json" @@ -92,13 +92,13 @@ Shape signatures in builder refreshed for:: exitCode:: ExitStatus.undefined -Change:: Change tsconfig to set resolveSideEffectImports to false +Change:: Change tsconfig to set noUncheckedSideEffectImports to false Input:: //// [/user/username/projects/myproject/tsconfig.json] { "compilerOptions": { - "resolveSideEffectImports": false + "noUncheckedSideEffectImports": false } } @@ -138,7 +138,7 @@ Program root files: [ "/user/username/projects/myproject/index.ts" ] Program options: { - "resolveSideEffectImports": false, + "noUncheckedSideEffectImports": false, "watch": true, "tscBuild": true, "configFilePath": "/user/username/projects/myproject/tsconfig.json" diff --git a/tests/baselines/reference/tscWatch/programUpdates/when-changing-resolveSideEffectImports-of-config-file.js b/tests/baselines/reference/tscWatch/programUpdates/when-changing-noUncheckedSideEffectImports-of-config-file.js similarity index 88% rename from tests/baselines/reference/tscWatch/programUpdates/when-changing-resolveSideEffectImports-of-config-file.js rename to tests/baselines/reference/tscWatch/programUpdates/when-changing-noUncheckedSideEffectImports-of-config-file.js index cf151a6730e3b..2a15f0cc1f6c1 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/when-changing-resolveSideEffectImports-of-config-file.js +++ b/tests/baselines/reference/tscWatch/programUpdates/when-changing-noUncheckedSideEffectImports-of-config-file.js @@ -6,7 +6,7 @@ import "does-not-exist"; //// [/user/username/projects/myproject/tsconfig.json] { "compilerOptions": { - "resolveSideEffectImports": false + "noUncheckedSideEffectImports": false } } @@ -33,7 +33,7 @@ FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/tsconfig.json Synchronizing program CreatingProgramWith:: roots: ["/user/username/projects/myproject/a.ts"] - options: {"resolveSideEffectImports":false,"watch":true,"project":"/user/username/projects/myproject","extendedDiagnostics":true,"configFilePath":"/user/username/projects/myproject/tsconfig.json"} + options: {"noUncheckedSideEffectImports":false,"watch":true,"project":"/user/username/projects/myproject","extendedDiagnostics":true,"configFilePath":"/user/username/projects/myproject/tsconfig.json"} FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/a.ts 250 undefined Source file FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 250 undefined Source file DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules 1 undefined Failed Lookup Locations @@ -83,7 +83,7 @@ Program root files: [ "/user/username/projects/myproject/a.ts" ] Program options: { - "resolveSideEffectImports": false, + "noUncheckedSideEffectImports": false, "watch": true, "project": "/user/username/projects/myproject", "extendedDiagnostics": true, @@ -104,13 +104,13 @@ Shape signatures in builder refreshed for:: exitCode:: ExitStatus.undefined -Change:: Change resolveSideEffectImports to true +Change:: Change noUncheckedSideEffectImports to true Input:: //// [/user/username/projects/myproject/tsconfig.json] { "compilerOptions": { - "resolveSideEffectImports": true + "noUncheckedSideEffectImports": true } } @@ -136,7 +136,7 @@ Synchronizing program CreatingProgramWith:: roots: ["/user/username/projects/myproject/a.ts"] - options: {"resolveSideEffectImports":true,"watch":true,"project":"/user/username/projects/myproject","extendedDiagnostics":true,"configFilePath":"/user/username/projects/myproject/tsconfig.json"} + options: {"noUncheckedSideEffectImports":true,"watch":true,"project":"/user/username/projects/myproject","extendedDiagnostics":true,"configFilePath":"/user/username/projects/myproject/tsconfig.json"} a.ts:1:8 - error TS2307: Cannot find module 'does-not-exist' or its corresponding type declarations. 1 import "does-not-exist"; @@ -152,7 +152,7 @@ Program root files: [ "/user/username/projects/myproject/a.ts" ] Program options: { - "resolveSideEffectImports": true, + "noUncheckedSideEffectImports": true, "watch": true, "project": "/user/username/projects/myproject", "extendedDiagnostics": true, diff --git a/tests/cases/compiler/sideEffectImports1.ts b/tests/cases/compiler/sideEffectImports1.ts index 3457e84647d21..d65ddd2ed5719 100644 --- a/tests/cases/compiler/sideEffectImports1.ts +++ b/tests/cases/compiler/sideEffectImports1.ts @@ -1,4 +1,4 @@ -// @resolveSideEffectImports: true,false +// @noUncheckedSideEffectImports: true,false // @module: commonjs,nodenext,preserve import "does-not-exist"; diff --git a/tests/cases/compiler/sideEffectImports2.ts b/tests/cases/compiler/sideEffectImports2.ts index 5e64f59295b43..690500233195c 100644 --- a/tests/cases/compiler/sideEffectImports2.ts +++ b/tests/cases/compiler/sideEffectImports2.ts @@ -1,4 +1,4 @@ -// @resolveSideEffectImports: true,false +// @noUncheckedSideEffectImports: true,false // @module: nodenext // @noImplicitAny: true,false // @noEmit: true diff --git a/tests/cases/compiler/sideEffectImports3.ts b/tests/cases/compiler/sideEffectImports3.ts index 93868f1e80767..dba921939c748 100644 --- a/tests/cases/compiler/sideEffectImports3.ts +++ b/tests/cases/compiler/sideEffectImports3.ts @@ -1,4 +1,4 @@ -// @resolveSideEffectImports: true,false +// @noUncheckedSideEffectImports: true,false // @module: nodenext // @moduleDetection: legacy,auto,force diff --git a/tests/cases/compiler/sideEffectImports4.ts b/tests/cases/compiler/sideEffectImports4.ts index b09a6bbbf8f8a..8ae1cc3ac876b 100644 --- a/tests/cases/compiler/sideEffectImports4.ts +++ b/tests/cases/compiler/sideEffectImports4.ts @@ -1,4 +1,4 @@ -// @resolveSideEffectImports: true,false +// @noUncheckedSideEffectImports: true,false // @strict: true // @noImplicitReferences: true // @module: esnext diff --git a/tests/cases/fourslash/sideEffectImportsSuggestion1.ts b/tests/cases/fourslash/sideEffectImportsSuggestion1.ts index bf52019405c15..80cd37f3ae3b0 100644 --- a/tests/cases/fourslash/sideEffectImportsSuggestion1.ts +++ b/tests/cases/fourslash/sideEffectImportsSuggestion1.ts @@ -3,7 +3,7 @@ // @allowJs: true // @noEmit: true // @module: commonjs -// @resolveSideEffectImports: true +// @noUncheckedSideEffectImports: true // @filename: moduleA/a.js //// import "b"; From 1a6695aa7c05f803781c9e4c9144b7d33dfc9b71 Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Fri, 19 Jul 2024 15:32:05 -0700 Subject: [PATCH 20/22] Test updates, string --- src/compiler/commandLineParser.ts | 2 +- src/compiler/diagnosticMessages.json | 2 +- .../unittests/tsbuildWatch/programUpdates.ts | 36 ---- .../tsconfig.json | 2 +- .../tsconfig.json | 2 +- .../tsconfig.json | 2 +- .../tsconfig.json | 2 +- .../tsconfig.json | 2 +- .../tsconfig.json | 2 +- .../tsconfig.json | 2 +- .../tsconfig.json | 2 +- .../tsconfig.json | 2 +- .../tsconfig.json | 2 +- .../tsconfig.json | 2 +- ...eckedSideEffectImports-changes-to-false.js | 157 ------------------ 15 files changed, 13 insertions(+), 206 deletions(-) delete mode 100644 tests/baselines/reference/tsbuildWatch/programUpdates/works-when-noUncheckedSideEffectImports-changes-to-false.js diff --git a/src/compiler/commandLineParser.ts b/src/compiler/commandLineParser.ts index 3354b24eddb7d..d78f90f1e65eb 100644 --- a/src/compiler/commandLineParser.ts +++ b/src/compiler/commandLineParser.ts @@ -1207,7 +1207,7 @@ const commandOptionsWithoutBuild: CommandLineOption[] = [ affectsSemanticDiagnostics: true, affectsBuildInfo: true, category: Diagnostics.Modules, - description: Diagnostics.Resolve_side_effect_imports, + description: Diagnostics.Check_side_effect_imports, defaultValueDescription: false, }, diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json index 43800a39eff01..8b9024132ab82 100644 --- a/src/compiler/diagnosticMessages.json +++ b/src/compiler/diagnosticMessages.json @@ -6388,7 +6388,7 @@ "category": "Message", "code": 6805 }, - "Resolve side effect imports.": { + "Check side effect imports.": { "category": "Message", "code": 6806 }, diff --git a/src/testRunner/unittests/tsbuildWatch/programUpdates.ts b/src/testRunner/unittests/tsbuildWatch/programUpdates.ts index b77ed3c5016e8..d5dfc7d2742db 100644 --- a/src/testRunner/unittests/tsbuildWatch/programUpdates.ts +++ b/src/testRunner/unittests/tsbuildWatch/programUpdates.ts @@ -796,40 +796,4 @@ createSomeObject().message;`, }), commandLineArgs: ["--b", "src/project", "-i", "-w"], }); - - verifyTscWatch({ - scenario: "programUpdates", - subScenario: "works when noUncheckedSideEffectImports changes to false", - commandLineArgs: ["-b", "-w"], - sys: () => { - const index: File = { - path: `/user/username/projects/myproject/index.ts`, - content: `import "does-not-exist";`, - }; - const configFile: File = { - path: `/user/username/projects/myproject/tsconfig.json`, - content: jsonToReadableText({ - compilerOptions: { - noUncheckedSideEffectImports: true, - }, - }), - }; - return createWatchedSystem([index, configFile, libFile], { currentDirectory: "/user/username/projects/myproject" }); - }, - edits: [ - { - caption: "Change tsconfig to set noUncheckedSideEffectImports to false", - edit: sys => - sys.writeFile( - `/user/username/projects/myproject/tsconfig.json`, - jsonToReadableText({ - compilerOptions: { - noUncheckedSideEffectImports: false, - }, - }), - ), - timeouts: sys => sys.runQueuedTimeoutCallbacks(), - }, - ], - }); }); diff --git a/tests/baselines/reference/config/initTSConfig/Default initialized TSConfig/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Default initialized TSConfig/tsconfig.json index 72921b5d6db9c..56a8ab81090be 100644 --- a/tests/baselines/reference/config/initTSConfig/Default initialized TSConfig/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Default initialized TSConfig/tsconfig.json @@ -39,7 +39,7 @@ // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ - // "noUncheckedSideEffectImports": true, /* Resolve side effect imports. */ + // "noUncheckedSideEffectImports": true, /* Check side effect imports. */ // "resolveJsonModule": true, /* Enable importing .json files. */ // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with --help/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with --help/tsconfig.json index 72921b5d6db9c..56a8ab81090be 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with --help/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with --help/tsconfig.json @@ -39,7 +39,7 @@ // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ - // "noUncheckedSideEffectImports": true, /* Resolve side effect imports. */ + // "noUncheckedSideEffectImports": true, /* Check side effect imports. */ // "resolveJsonModule": true, /* Enable importing .json files. */ // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with --watch/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with --watch/tsconfig.json index 72921b5d6db9c..56a8ab81090be 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with --watch/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with --watch/tsconfig.json @@ -39,7 +39,7 @@ // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ - // "noUncheckedSideEffectImports": true, /* Resolve side effect imports. */ + // "noUncheckedSideEffectImports": true, /* Check side effect imports. */ // "resolveJsonModule": true, /* Enable importing .json files. */ // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with advanced options/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with advanced options/tsconfig.json index 7209abc21f9ce..2128e19b491ba 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with advanced options/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with advanced options/tsconfig.json @@ -39,7 +39,7 @@ // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ - // "noUncheckedSideEffectImports": true, /* Resolve side effect imports. */ + // "noUncheckedSideEffectImports": true, /* Check side effect imports. */ // "resolveJsonModule": true, /* Enable importing .json files. */ // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with boolean value compiler options/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with boolean value compiler options/tsconfig.json index fe1193f01c248..3a57b6b66b6ff 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with boolean value compiler options/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with boolean value compiler options/tsconfig.json @@ -39,7 +39,7 @@ // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ - // "noUncheckedSideEffectImports": true, /* Resolve side effect imports. */ + // "noUncheckedSideEffectImports": true, /* Check side effect imports. */ // "resolveJsonModule": true, /* Enable importing .json files. */ // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with enum value compiler options/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with enum value compiler options/tsconfig.json index 092fdcbedc146..457ad18d7fd76 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with enum value compiler options/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with enum value compiler options/tsconfig.json @@ -39,7 +39,7 @@ // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ - // "noUncheckedSideEffectImports": true, /* Resolve side effect imports. */ + // "noUncheckedSideEffectImports": true, /* Check side effect imports. */ // "resolveJsonModule": true, /* Enable importing .json files. */ // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with files options/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with files options/tsconfig.json index fbdf40521423f..3c272c2c1027c 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with files options/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with files options/tsconfig.json @@ -39,7 +39,7 @@ // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ - // "noUncheckedSideEffectImports": true, /* Resolve side effect imports. */ + // "noUncheckedSideEffectImports": true, /* Check side effect imports. */ // "resolveJsonModule": true, /* Enable importing .json files. */ // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with incorrect compiler option value/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with incorrect compiler option value/tsconfig.json index e6bae1bbd93bc..cbec354c31b9f 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with incorrect compiler option value/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with incorrect compiler option value/tsconfig.json @@ -39,7 +39,7 @@ // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ - // "noUncheckedSideEffectImports": true, /* Resolve side effect imports. */ + // "noUncheckedSideEffectImports": true, /* Check side effect imports. */ // "resolveJsonModule": true, /* Enable importing .json files. */ // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with incorrect compiler option/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with incorrect compiler option/tsconfig.json index 72921b5d6db9c..56a8ab81090be 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with incorrect compiler option/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with incorrect compiler option/tsconfig.json @@ -39,7 +39,7 @@ // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ - // "noUncheckedSideEffectImports": true, /* Resolve side effect imports. */ + // "noUncheckedSideEffectImports": true, /* Check side effect imports. */ // "resolveJsonModule": true, /* Enable importing .json files. */ // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with list compiler options with enum value/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with list compiler options with enum value/tsconfig.json index 33ed00c916cbc..49877df48bbfd 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with list compiler options with enum value/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with list compiler options with enum value/tsconfig.json @@ -39,7 +39,7 @@ // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ - // "noUncheckedSideEffectImports": true, /* Resolve side effect imports. */ + // "noUncheckedSideEffectImports": true, /* Check side effect imports. */ // "resolveJsonModule": true, /* Enable importing .json files. */ // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with list compiler options/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with list compiler options/tsconfig.json index 7df8f84248c70..79727a965d651 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with list compiler options/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with list compiler options/tsconfig.json @@ -39,7 +39,7 @@ // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ - // "noUncheckedSideEffectImports": true, /* Resolve side effect imports. */ + // "noUncheckedSideEffectImports": true, /* Check side effect imports. */ // "resolveJsonModule": true, /* Enable importing .json files. */ // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ diff --git a/tests/baselines/reference/tsbuildWatch/programUpdates/works-when-noUncheckedSideEffectImports-changes-to-false.js b/tests/baselines/reference/tsbuildWatch/programUpdates/works-when-noUncheckedSideEffectImports-changes-to-false.js deleted file mode 100644 index 78b898f9bbbf4..0000000000000 --- a/tests/baselines/reference/tsbuildWatch/programUpdates/works-when-noUncheckedSideEffectImports-changes-to-false.js +++ /dev/null @@ -1,157 +0,0 @@ -currentDirectory:: /user/username/projects/myproject useCaseSensitiveFileNames: false -Input:: -//// [/user/username/projects/myproject/index.ts] -import "does-not-exist"; - -//// [/user/username/projects/myproject/tsconfig.json] -{ - "compilerOptions": { - "noUncheckedSideEffectImports": true - } -} - -//// [/a/lib/lib.d.ts] -/// -interface Boolean {} -interface Function {} -interface CallableFunction {} -interface NewableFunction {} -interface IArguments {} -interface Number { toExponential: any; } -interface Object {} -interface RegExp {} -interface String { charAt: any; } -interface Array { length: number; [n: number]: T; } - - -/a/lib/tsc.js -b -w -Output:: ->> Screen clear -[HH:MM:SS AM] Starting compilation in watch mode... - -index.ts:1:8 - error TS2307: Cannot find module 'does-not-exist' or its corresponding type declarations. - -1 import "does-not-exist"; -   ~~~~~~~~~~~~~~~~ - -[HH:MM:SS AM] Found 1 error. Watching for file changes. - - - -//// [/user/username/projects/myproject/index.js] -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -require("does-not-exist"); - - -//// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"root":["./index.ts"],"errors":true,"version":"FakeTSVersion"} - -//// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] -{ - "root": [ - "./index.ts" - ], - "errors": true, - "version": "FakeTSVersion", - "size": 63 -} - - -FsWatches:: -/user/username/projects/myproject/index.ts: *new* - {} -/user/username/projects/myproject/tsconfig.json: *new* - {} - -FsWatchesRecursive:: -/user/username/projects/myproject: *new* - {} - -Program root files: [ - "/user/username/projects/myproject/index.ts" -] -Program options: { - "noUncheckedSideEffectImports": true, - "watch": true, - "tscBuild": true, - "configFilePath": "/user/username/projects/myproject/tsconfig.json" -} -Program structureReused: Not -Program files:: -/a/lib/lib.d.ts -/user/username/projects/myproject/index.ts - -Semantic diagnostics in builder refreshed for:: -/a/lib/lib.d.ts -/user/username/projects/myproject/index.ts - -Shape signatures in builder refreshed for:: -/a/lib/lib.d.ts (used version) -/user/username/projects/myproject/index.ts (used version) - -exitCode:: ExitStatus.undefined - -Change:: Change tsconfig to set noUncheckedSideEffectImports to false - -Input:: -//// [/user/username/projects/myproject/tsconfig.json] -{ - "compilerOptions": { - "noUncheckedSideEffectImports": false - } -} - - -Timeout callback:: count: 1 -1: timerToBuildInvalidatedProject *new* - -Before running Timeout callback:: count: 1 -1: timerToBuildInvalidatedProject - -Host is moving to new time -After running Timeout callback:: count: 0 -Output:: ->> Screen clear -[HH:MM:SS AM] File change detected. Starting incremental compilation... - -[HH:MM:SS AM] Found 0 errors. Watching for file changes. - - - -//// [/user/username/projects/myproject/index.js] file changed its modified time -//// [/user/username/projects/myproject/tsconfig.tsbuildinfo] -{"root":["./index.ts"],"version":"FakeTSVersion"} - -//// [/user/username/projects/myproject/tsconfig.tsbuildinfo.readable.baseline.txt] -{ - "root": [ - "./index.ts" - ], - "version": "FakeTSVersion", - "size": 49 -} - - - -Program root files: [ - "/user/username/projects/myproject/index.ts" -] -Program options: { - "noUncheckedSideEffectImports": false, - "watch": true, - "tscBuild": true, - "configFilePath": "/user/username/projects/myproject/tsconfig.json" -} -Program structureReused: Not -Program files:: -/a/lib/lib.d.ts -/user/username/projects/myproject/index.ts - -Semantic diagnostics in builder refreshed for:: -/a/lib/lib.d.ts -/user/username/projects/myproject/index.ts - -No shapes updated in the builder:: - -exitCode:: ExitStatus.undefined From dd2b4c2ba3ead695acd331a5bc9908ccb5b23f23 Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Fri, 19 Jul 2024 15:53:55 -0700 Subject: [PATCH 21/22] Get ancestor declaration just like contextSpecifier, check consistently to not break public API --- src/compiler/checker.ts | 23 +++++++---------------- src/compiler/utilities.ts | 7 +++++++ 2 files changed, 14 insertions(+), 16 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 5305853155518..54421ce382a81 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -720,6 +720,7 @@ import { isSetAccessorDeclaration, isShorthandAmbientModuleSymbol, isShorthandPropertyAssignment, + isSideEffectImport, isSingleOrDoubleQuote, isSourceFile, isSourceFileJS, @@ -1504,7 +1505,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { var noImplicitThis = getStrictOptionValue(compilerOptions, "noImplicitThis"); var useUnknownInCatchVariables = getStrictOptionValue(compilerOptions, "useUnknownInCatchVariables"); var exactOptionalPropertyTypes = compilerOptions.exactOptionalPropertyTypes; - var noUncheckedSideEffectImports = compilerOptions.noUncheckedSideEffectImports; + var noUncheckedSideEffectImports = !!compilerOptions.noUncheckedSideEffectImports; var checkBinaryExpression = createCheckBinaryExpression(); var emitResolver = createResolver(); @@ -4574,7 +4575,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { if (ambientModule) { return ambientModule; } - const isSideEffectImport = isImportDeclaration(location) && !location.importClause; + const ignoreImplicitAnyOrNotAModuleErrors = noUncheckedSideEffectImports && isSideEffectImport(location); const currentSourceFile = getSourceFileOfNode(location); const contextSpecifier = isStringLiteralLike(location) ? location @@ -4623,11 +4624,9 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { if (sourceFile.symbol) { if (errorNode && resolvedModule.isExternalLibraryImport && !resolutionExtensionIsTSOrJson(resolvedModule.extension)) { - if (isSideEffectImport) { - // This a side-effect import; ignore the implicit any. - return undefined; + if (!ignoreImplicitAnyOrNotAModuleErrors) { + errorOnImplicitAnyModule(/*isError*/ false, errorNode, currentSourceFile, mode, resolvedModule, moduleReference); } - errorOnImplicitAnyModule(/*isError*/ false, errorNode, currentSourceFile, mode, resolvedModule, moduleReference); } if (errorNode && (moduleResolutionKind === ModuleResolutionKind.Node16 || moduleResolutionKind === ModuleResolutionKind.NodeNext)) { const isSyncImport = (currentSourceFile.impliedNodeFormat === ModuleKind.CommonJS && !findAncestor(location, isImportCall)) || !!findAncestor(location, isImportEqualsDeclaration); @@ -4661,11 +4660,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { // merged symbol is module declaration symbol combined with all augmentations return getMergedSymbol(sourceFile.symbol); } - if (errorNode && moduleNotFoundError) { - if (isSideEffectImport) { - // This a side-effect import; ignore the fact that it's not a module. - return undefined; - } + if (errorNode && moduleNotFoundError && !ignoreImplicitAnyOrNotAModuleErrors) { // report errors only if it was requested error(errorNode, Diagnostics.File_0_is_not_a_module, sourceFile.fileName); } @@ -4693,15 +4688,11 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { // May be an untyped module. If so, ignore resolutionDiagnostic. if (resolvedModule && !resolutionExtensionIsTSOrJson(resolvedModule.extension) && resolutionDiagnostic === undefined || resolutionDiagnostic === Diagnostics.Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type) { - if (isSideEffectImport) { - // This a side-effect import; ignore the implicit any. - return undefined; - } if (isForAugmentation) { const diag = Diagnostics.Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augmented; error(errorNode, diag, moduleReference, resolvedModule!.resolvedFileName); } - else { + else if (!ignoreImplicitAnyOrNotAModuleErrors) { errorOnImplicitAnyModule(/*isError*/ noImplicitAny && !!moduleNotFoundError, errorNode, currentSourceFile, mode, resolvedModule!, moduleReference); } // Failed imports and untyped modules are both treated in an untyped manner; only difference is whether we give a diagnostic first. diff --git a/src/compiler/utilities.ts b/src/compiler/utilities.ts index b29944a5236c3..458c589b63e8c 100644 --- a/src/compiler/utilities.ts +++ b/src/compiler/utilities.ts @@ -287,6 +287,7 @@ import { isIdentifier, isIdentifierStart, isIdentifierText, + isImportDeclaration, isImportTypeNode, isInterfaceDeclaration, isJSDoc, @@ -11758,3 +11759,9 @@ export function hasInferredType(node: Node): node is HasInferredType { return false; } } + +/** @internal */ +export function isSideEffectImport(node: Node): boolean { + const ancestor = findAncestor(node, isImportDeclaration); + return !!ancestor && !ancestor.importClause; +} From 8a6a5173ba8af73d158c71b721d25abbdbc0d397 Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Fri, 19 Jul 2024 16:01:21 -0700 Subject: [PATCH 22/22] Check directly, not using flag --- src/compiler/checker.ts | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 54421ce382a81..bba20e1a1bcdc 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -4575,7 +4575,6 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { if (ambientModule) { return ambientModule; } - const ignoreImplicitAnyOrNotAModuleErrors = noUncheckedSideEffectImports && isSideEffectImport(location); const currentSourceFile = getSourceFileOfNode(location); const contextSpecifier = isStringLiteralLike(location) ? location @@ -4624,9 +4623,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { if (sourceFile.symbol) { if (errorNode && resolvedModule.isExternalLibraryImport && !resolutionExtensionIsTSOrJson(resolvedModule.extension)) { - if (!ignoreImplicitAnyOrNotAModuleErrors) { - errorOnImplicitAnyModule(/*isError*/ false, errorNode, currentSourceFile, mode, resolvedModule, moduleReference); - } + errorOnImplicitAnyModule(/*isError*/ false, errorNode, currentSourceFile, mode, resolvedModule, moduleReference); } if (errorNode && (moduleResolutionKind === ModuleResolutionKind.Node16 || moduleResolutionKind === ModuleResolutionKind.NodeNext)) { const isSyncImport = (currentSourceFile.impliedNodeFormat === ModuleKind.CommonJS && !findAncestor(location, isImportCall)) || !!findAncestor(location, isImportEqualsDeclaration); @@ -4660,7 +4657,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { // merged symbol is module declaration symbol combined with all augmentations return getMergedSymbol(sourceFile.symbol); } - if (errorNode && moduleNotFoundError && !ignoreImplicitAnyOrNotAModuleErrors) { + if (errorNode && moduleNotFoundError && !isSideEffectImport(errorNode)) { // report errors only if it was requested error(errorNode, Diagnostics.File_0_is_not_a_module, sourceFile.fileName); } @@ -4692,7 +4689,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { const diag = Diagnostics.Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augmented; error(errorNode, diag, moduleReference, resolvedModule!.resolvedFileName); } - else if (!ignoreImplicitAnyOrNotAModuleErrors) { + else { errorOnImplicitAnyModule(/*isError*/ noImplicitAny && !!moduleNotFoundError, errorNode, currentSourceFile, mode, resolvedModule!, moduleReference); } // Failed imports and untyped modules are both treated in an untyped manner; only difference is whether we give a diagnostic first. @@ -4765,6 +4762,10 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } function errorOnImplicitAnyModule(isError: boolean, errorNode: Node, sourceFile: SourceFile, mode: ResolutionMode, { packageId, resolvedFileName }: ResolvedModuleFull, moduleReference: string): void { + if (isSideEffectImport(errorNode)) { + return; + } + let errorInfo: DiagnosticMessageChain | undefined; if (!isExternalModuleNameRelative(moduleReference) && packageId) { errorInfo = createModuleNotFoundChain(sourceFile, host, moduleReference, mode, packageId.name);