- 
                Notifications
    You must be signed in to change notification settings 
- Fork 125
Release
        Andrew Scott edited this page Feb 5, 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-templatevscode 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 themasterbranch.
- Update versioninpackage.json.
- Update versionserver/package.json
- Optional: set a releaseVersionvariable so you can more easily copy-paste commands:releaseVersion=X.Y.Z 
- Update @angular/language-service to the latest version. Its version in package.jsonandserver/package.jsonmust be the same.
- Look at the CHANGELOG in @angular/angularfor commits related to language service, and copy them to this repo's CHANGELOG.
 Append notable commits in this repository, particularly fixes and features.
- 
yarn installto updateyarn.lockand make surenode_modulesare up to date.- Note that if you have an environment variable GITHUB_TOKEN, it will conflict with the installation of vscode. If you see the errorError installing vscode.d.ts: TypeError: Cannot set property 'Authorization' of nullyou mustunset GITHUB_TOKEN.
 
- Note that if you have an environment variable 
- Build the NPM package and vscode extension
./scripts/build.sh 
- Do a quick check to make sure everything works as expected.
- Install the .vsixthrough 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 defintion, 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 
- Release @angular/language-servernpm publish dist/npm/server --access public 
- Release vscode extension from the root of the repository. See instructions if you have not signed in before.
yarn vsce publish --packagePath dist/npm/ng-template-${releaseVersion}.vsix
- Update release notes in the Releases section.
- Upload the .vsixfile.
- [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