Skip to content

Create preview builds for publishing to npm and VS Code marketplace #876

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 72 commits into from
May 21, 2025

Conversation

jakebailey
Copy link
Member

@jakebailey jakebailey commented May 17, 2025

This PR adds a bunch of infrastructure to produce preview npm packages and VS Code extensions.

At a high level, users will be able to npm install @typescript/native-preview, then do npx tsgo to try out the CLI. The CLI is not called tsc to prevent conflicts at this stage.

There will be an extension "TypeScript (Native Preview)" published to the VS Code marketplace to be able to try out the language server implementation.

Eventually, these will all be marked as deprecated and users will be able to use the real deal (whenever we're "done" and move the codebase over).


This all requires building the package for a slew of platforms, binary signing, and so on. It's a bit challenging to put together and test out, but I think it should work at this point. I am explicitly not building for every platform Go supports (what esbuild does), but rather starting out building for all platforms VS Code supports. That should be sufficient for now.

TODO:

  • Extension
    • The extension needs a README. This will be visible on the marketplace.
    • The extension description needs a look.
    • Need to double check the content root set for the extension, also for the readme.
    • The extension still needs updates to rebrand it to "TypeScript (Native Preview)". I've only changed the name so far.
  • Packages
    • The package READMEs deserve a look. They're mostly generated.
    • Export an importable interface that gives the path to the executable, for tsdk loading reasons.
  • The main repo README has been modified to reflect the new stuff; also needs to be double checked.
  • Need to double check the certs (ARM is weird).
  • Finish the release pipeline (located elsewhere).

Co-authored-by: Daniel Rosenwasser <[email protected]>
Copy link
Member

@andrewbranch andrewbranch left a comment

Choose a reason for hiding this comment

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

Looks good to me aside from the extension README

Comment on lines +989 to +992
`# \`${npmPackageName}\``,
"",
`This package provides ${nodeOs}-${nodeArch} support for [${packageJson.name}](https://www.npmjs.com/package/${packageJson.name}).`,
];
Copy link
Member Author

Choose a reason for hiding this comment

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

This is a placeholder; I don't think we need any more than this but let me know.

@jakebailey jakebailey added this pull request to the merge queue May 21, 2025
Merged via the queue into main with commit 990e6b8 May 21, 2025
23 checks passed
@jakebailey jakebailey deleted the jabaile/native-preview branch May 22, 2025 18:49
@jakebailey jakebailey restored the jabaile/native-preview branch May 22, 2025 18:49
@jakebailey jakebailey deleted the jabaile/native-preview branch May 22, 2025 18:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants