- The publisher is Svelte
- Extension builds with a personal access token created through one of the members of that publisher which is added to GitHub settings (NOTE: this will change December 1st, PATs with global access scope are removed then by Microsoft)
- Secret needs to be renewed once a year
- The publisher is Svelte
- Extension builds with a personal access token created through one of the members of that publisher which is added to GitHub settings
- Deployments come from a bot:
svelte-language-tools-deploy(an account some member have access to; it could also be done through other members of the language tools team)
- Everything except the VS Code extension is released as an npm package through changesets. Run
pnpm changesetat the root after finishing the work and before opening a PR. Merging a PR will create a "Version packages" PR, merging it will release the packages. Some notes:svelte2tsx,svelte-language-serverandtypescript-svelte-pluginare treated as semi-public and therefore have major version 0. That means that even features should get a patch version, and breaking changes get a minor. No majors.svelte-checkbundlessvelte2tsxandsvelte-language-server. Therefore, if you change something in one of those packages that affectssvelte-check, you need to create a changeset for it, too
- VS Code extension builds are triggered by creating a new tag, which is best done through the "do a release" on Github. The tag name is
extensions-<major.minor.patch>and the part after the dash equals the version that is then shown on the marketplace, so each tag should have a higher version than the previous. After publishing a release with that tag through Github UI a workflow starts that deploys the extension - When deploying changes, FIRST merge the "Version packages" PR, then WAIT until it's done (+3 minutes, to give npm time to update its caches etc), and only THEN do the VS Code extension release. Reason is that the VS Code extension has the other packages in this repo as regular npm dependencies, so they need to be available there first.