Skip to content

Conversation

@andrewbranch
Copy link
Member

@andrewbranch andrewbranch commented Oct 24, 2025

This leaves the module default as-is for now, but changes the computed moduleResolution default for the es series to be bundler. Deprecated module modes still default to classic.

I went through compiler tests and fourslash tests and changed them to use non-deprecated options if they weren’t intending to test the newly deprecated options. That will allow them to come into typescript-go for better coverage.

Closes #62199
Closes #62206

Copilot AI review requested due to automatic review settings October 24, 2025 19:31
@github-project-automation github-project-automation bot moved this to Not started in PR Backlog Oct 24, 2025
@typescript-bot typescript-bot added Author: Team For Milestone Bug PRs that fix a bug with a specific milestone labels Oct 24, 2025
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR deprecates several legacy module formats (amd, umd, system, none) and the classic module resolution strategy, while changing the default moduleResolution for ES module formats from classic to bundler. These deprecated options will stop functioning in TypeScript 7.0.

Key Changes

  • Deprecated --module options: amd, umd, system, and none
  • Deprecated --moduleResolution classic
  • Changed default moduleResolution for ES module series from classic to bundler
  • Updated test baselines to reflect new deprecation warnings and changed module resolution behavior

Reviewed Changes

Copilot reviewed 299 out of 1932 changed files in this pull request and generated no comments.

Show a summary per file
File Description
Multiple *.errors.txt files Added deprecation warnings for deprecated module formats and classic resolution
Multiple *.js baseline files Removed AMD/UMD/System wrapper code, showing CommonJS output instead
Multiple *.types baseline files Updated type information reflecting bundler resolution
Multiple *.symbols baseline files Updated import paths from bare specifiers to relative paths
Config baseline files Updated error messages to remove deprecated options from valid choices

@typescript-bot
Copy link
Collaborator

Looks like you're introducing a change to the public API surface area. If this includes breaking changes, please document them on our wiki's API Breaking Changes page.

Also, please make sure @DanielRosenwasser and @RyanCavanaugh are aware of the changes, just as a heads up.

@jakebailey
Copy link
Member

@typescript-bot user test this
@typescript-bot test top800
@typescript-bot pack this

@typescript-bot
Copy link
Collaborator

typescript-bot commented Oct 24, 2025

Starting jobs; this comment will be updated as builds start and complete.

Command Status Results
user test this ✅ Started ✅ Results
test top800 ✅ Started 👀 Results
pack this ✅ Started ✅ Results

@typescript-bot
Copy link
Collaborator

typescript-bot commented Oct 24, 2025

Hey @jakebailey, I've packed this into an installable tgz. You can install it for testing by referencing it in your package.json like so:

{
    "devDependencies": {
        "typescript": "https://typescript.visualstudio.com/cf7ac146-d525-443c-b23c-0d58337efebc/_apis/build/builds/166375/artifacts?artifactName=tgz&fileId=C423F954FA7ABC3DA7B47D6984471C48D3D6C4A6BEF4E66FD691EC5F8B596AE802&fileName=/typescript-6.0.0-insiders.20251024.tgz"
    }
}

and then running npm install.


There is also a playground for this build and an npm module you can use via "typescript": "npm:@typescript-deploys/pr-build@6.0.0-pr-62669-3".;

@typescript-bot
Copy link
Collaborator

@jakebailey Here are the results of running the user tests with tsc comparing main and refs/pull/62669/merge:

There were infrastructure failures potentially unrelated to your change:

  • 1 instance of "Git clone failed"

Otherwise...

Everything looks good!

Copy link
Member

@jakebailey jakebailey left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🫡

@github-project-automation github-project-automation bot moved this from Not started to Needs merge in PR Backlog Oct 24, 2025
@andrewbranch
Copy link
Member Author

I am going to go ahead and port this into tsgo-port since none of these things are implemented in Corsa anyway. It should light up a bunch of new tests and make other diffs go away.

@typescript-bot cherry-pick into tsgo-port

@typescript-bot
Copy link
Collaborator

typescript-bot commented Oct 24, 2025

Starting jobs; this comment will be updated as builds start and complete.

Command Status Results
cherry-pick into tsgo-port ✅ Started ❌ Results

@typescript-bot
Copy link
Collaborator

@jakebailey Here are the results of running the top 800 repos with tsc comparing main and refs/pull/62669/merge:

Something interesting changed - please have a look.

Details

microsoft/azuredatastudio

43 of 67 projects failed to build with the old tsc and were ignored

src/tsconfig.vscode-proposed-dts.json

  • error TS5107: Option 'module=None' is deprecated and will stop functioning in TypeScript 7.0. Specify compilerOption '"ignoreDeprecations": "6.0"' to silence this error.
    • Project Scope

microsoft/vscode

12 of 63 projects failed to build with the old tsc and were ignored

src/tsconfig.vscode-proposed-dts.json

  • error TS5107: Option 'module=None' is deprecated and will stop functioning in TypeScript 7.0. Specify compilerOption '"ignoreDeprecations": "6.0"' to silence this error.
    • Project Scope

voideditor/void

25 of 58 projects failed to build with the old tsc and were ignored

src/tsconfig.vscode-proposed-dts.json

  • error TS5107: Option 'module=None' is deprecated and will stop functioning in TypeScript 7.0. Specify compilerOption '"ignoreDeprecations": "6.0"' to silence this error.
    • Project Scope

@andrewbranch andrewbranch merged commit 42f6576 into microsoft:main Oct 24, 2025
33 checks passed
@github-project-automation github-project-automation bot moved this from Needs merge to Done in PR Backlog Oct 24, 2025
@typescript-bot
Copy link
Collaborator

Hey, @andrewbranch! I was unable to cherry-pick this PR.

Check the logs at: https://github.com/microsoft/TypeScript/actions/runs/18793106856

@andrewbranch
Copy link
Member Author

Interesting; I'll try to see what Azure Data Studio and VS Code are trying to do with --module none. We are deprecating it because its behavior is inconsistent and weird in Strada, but it could potentially be useful to bring back as something coherent if a strong case for it emerges.

andrewbranch added a commit to andrewbranch/TypeScript that referenced this pull request Oct 25, 2025
andrewbranch added a commit that referenced this pull request Oct 27, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Author: Team For Milestone Bug PRs that fix a bug with a specific milestone

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Deprecate, remove --moduleResolution classic Deprecate, remove less-used --module targets (AMD, SystemJS, UMD)

3 participants