This GitHub Action (written in JavaScript) modifies the root package.json of a project and replaces the version of all Angular related dependencies for given base version.
When necessary it updates the angular.json to use the correct builder.
Create a workflow .yml file in your repositories .github/workflows directory. An example workflow is available below. For more information, reference the GitHub Help Documentation for Creating a workflow file.
angular-version: The base Angular version used to match the dependency version. Ex: 8.0.x, 10.0.x. To check the full list of supported versions, see supported versions.root-path: The path to the root folder of the project where thepackage.jsonandangular.jsonfiles are located. Defaults to./.
name: CI workflow
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
angular-version:
- 6.0.x
- 6.1.x
- 7.0.x
- 7.1.x
- 7.2.x
- 8.0.x
- 8.1.x
- 8.2.x
- 9.0.x
- 9.1.x
- 10.0.x
- 10.1.x
- 10.2.x
- 11.0.x
- 11.1.x
- 11.2.x
- 12.0.x
- 12.1.x
- 12.2.x
- 13.0.x
steps:
- uses: actions/checkout@v2
- name: Use Node.js 12.x
uses: actions/setup-node@v2
with:
node-version: 12.x
- name: Use Angular ${{ matrix.angular-version }}
uses: ngworker/angular-versions-action@v4
with:
angular-version: ${{ matrix.angular-version }}
- run: yarn install
- run: yarn lint
- run: yarn build
- run: yarn testThis example use the github matrix to build, lint and test your code against different versions of Angular. This should be specially useful for library authors.
At the moment this actions supports a limited set of Angular versions listed below.
- 6.0.x
- 6.1.x
- 7.0.x
- 7.1.x
- 7.2.x
- 8.0.x
- 8.1.x
- 8.2.x
- 9.0.x
- 9.1.x
- 10.0.x
- 10.1.x
- 10.2.x
- 11.0.x
- 11.1.x
- 11.2.x
- 12.0.x
- 12.1.x
- 12.2.x
- 13.0.x
The following packages are managed by this action:
@angular/animations@angular/cdk@angular/cli@angular/common@angular/compiler@angular/compiler-cli@angular/core@angular-builders/jest@angular-devkit/build-angular@angular-devkit/build-ng-packagr@angular-devkit/schematics-cli@angular/elements@angular/forms@angular/google-maps@angular/material@angular/platform-browser@angular/platform-browser-dynamic@angular/router@angular/youtube-player@types/nodecodelyzerng-packagrrxjstsickletslibtslintts-nodetypescriptzone.js
- Replace the
angular.jsonlibrary builder (ng-packagr) based on the angular version.- Use
@angular-devkit/build-ng-packagr:buildfor version prior (<) Angular 10.1 - Use
@angular-devkit/build-angular:ng-packagrfor version post (>=) Angular 10.1
- Use
- Remove
allowedCommonJsDependenciesoptions on Angular versions under 10
We would love you to contribute to @ngworker/angular-versions-action, pull requests are welcome! Please see the CONTRIBUTING.md for more information.
Thanks goes to these wonderful people (emoji key):
Nacho Vazquez 💬 🐛 💼 💻 📖 💡 🤔 🚇 🚧 📆 👀 🛡️ |
Lars Gyrup Brink Nielsen 🐛 💻 📖 💡 🤔 🚇 🚧 🧑🏫 📦 🔌 👀 |
Tim Deschryver 📖 |
profanis 📖 |
This project follows the all-contributors specification. Contributions of any kind welcome!
The scripts and documentation in this project are released under the MIT License