-
Notifications
You must be signed in to change notification settings - Fork 123
Release
Andrew Scott edited this page Jul 22, 2021
·
39 revisions
This repository contains two releasable items:
-
@angular/language-server NPM package
This is the LSP server integrated into other clients like vim, emacs, Eclipse, etc. -
Angular.ng-template
vscode extension
This is published to the Visual Studio Marketplace.
- Determine the next version (
X.Y.Z
) and the appropriate git branch.
If publishing a patch version, checkout the patch branch, otherwise checkout themaster
branch. - Set a
releaseVersion
variable so you can more easily copy-paste commands:releaseVersion=X.Y.Z
- Update
version
inpackage.json
toreleaseVersion
. - Update
version
server/package.json
toreleaseVersion
. - Manually update the version of @angular/language-service in
package.json
andserver/package.json
to the latest. The version in both files must be the same. - Look at the CHANGELOG in
@angular/angular
for commits related to language service, and copy them to this repo's CHANGELOG. - Append notable commits in this repository, particularly fixes and features, to the CHANGELOG
git log --pretty=format:'%s (%h)' vX.Y.Z-1..HEAD
- Update
yarn.lock
andnode_modules
to use the version of@angular/language-service
specified in previous step.rm -rf node_modules server/node_modules yarn install
- Build the NPM package and vscode extension
./scripts/build.sh
- Do a quick check to make sure everything works as expected.
- Install the
.vsix
through either vscode or runcode --install-extension dist/npm/ng-template-${releaseVersion}.vsix
- Open the test project in vscode
- Execute a few operations such as go to definition, hover, check semantics, and auto-complete.
- Remember to try both View Engine and Ivy mode
- Install the
- Commit the changes, tag the release, and push to upstream:
git commit -am "release: v${releaseVersion}" git tag v${releaseVersion} git push upstream && git push upstream --tags
- Make sure you're logged into Angular NPM account. If not, run the following command:
npm login --registry https://wombat-dressing-room.appspot.com --no-browser
- Release
@angular/language-server
npm publish dist/npm/server --access public
- Make sure you're logged into Azure DevOps account. If not, follow the instructions below.
- Release vscode extension from the root of the repository.
yarn vsce publish --packagePath dist/npm/ng-template-${releaseVersion}.vsix
- Update release notes in github.
- Go to the Releases section
- Navigate to the release that was published in the previous step.
- Click
edit release
- Copy the text added to the CHANGELOG
- Upload the
.vsix
file. - Click
Update Release
- [optional] Read the overall instructions in vscode's documentation
- To obtain the security token, go to go/valentine.
- Search for
Angular vscode marketplace
- Copy the Personal Access Token (PAT)
- Run
yarn vsce login Angular
- Paste the PAT