Angular
Endless Lifecycle Support (ELS) for Angular from TuxCare provides security fixes for Angular versions that have reached their end of life. With ELS, you can continue running Angular applications without vulnerability concerns, even after official support has ended.
Supported Versions
Angular versions from 4 to 19 are supported.
Installation
Docker compatibleHave a SecureChain token?
Follow the SecureChain installation instructions instead — the steps below are for username & password access.
Prerequisites
- npm version 9.6.3 or later
Check current version:npm --version
Update npm:npm install -g npm@latest - TuxCare registry token — contact [email protected]
- To browse available artifacts, visit TuxCare Nexus and click Sign in in the top right corner. You may need to refresh the page after logging in.
Create or update the .npmrc file
Navigate to the root directory of your Angular project and create a
.npmrcfile or update it if it already exists.Example:
my-angular-project/ ├── src/ ├── angular.json ├── package.json ├── .npmrc ⚠️ ← Create it here └── tsconfig.jsonConfigure the npm registry
Use an editor of your choice (e.g., VS Code) to add the following registry address lines to the
.npmrcfile:registry=https://registry.npmjs.org/ @els-angular:registry=https://nexus.repo.tuxcare.com/repository/els_angular/ //nexus.repo.tuxcare.com/repository/els_angular/:_auth=${TOKEN}Replace
${TOKEN}with the token you received from [email protected].Update dependencies
Manually update your
package.jsonfile by replacing Angular dependencies with TuxCare-maintained packages.Use "SSR ON" if your project is configured with Server-Side Rendering, otherwise use "SSR OFF".
To check whether your Angular project is configured with Server-Side Rendering, look for
@angular/ssrlisted in your originalpackage.jsonfile before replacing dependencies. If you see@angular/ssrlisted, SSR is ON, otherwise SSR is OFF."dependencies": { "@angular/common": "npm:@els-angular/angular-common@>=19.2.23-tuxcare.1", "@angular/compiler": "npm:@els-angular/angular-compiler@>=19.2.23-tuxcare.1", "@angular/core": "npm:@els-angular/angular-core@>=19.2.23-tuxcare.1", "@angular/forms": "npm:@els-angular/angular-forms@>=19.2.23-tuxcare.1", "@angular/platform-browser": "npm:@els-angular/angular-platform-browser@>=19.2.23-tuxcare.1", "@angular/platform-browser-dynamic": "npm:@els-angular/angular-platform-browser-dynamic@>=19.2.23-tuxcare.1", "@angular/platform-server": "npm:@els-angular/angular-platform-server@>=19.2.23-tuxcare.1", "@angular/router": "npm:@els-angular/angular-router@>=19.2.23-tuxcare.1", "@angular/ssr": "npm:@els-angular/angular-ssr@>=19.2.25-tuxcare.1" }, "devDependencies": { "@angular-devkit/build-angular": "19.2.23", "@angular/cli": "npm:@els-angular/angular-cli@>=19.2.25-tuxcare.1", "@angular/compiler-cli": "npm:@els-angular/angular-compiler-cli@>=19.2.23-tuxcare.1" }, "overrides": { "@angular/common": "npm:@els-angular/angular-common@>=19.2.23-tuxcare.1", "@angular/compiler": "npm:@els-angular/angular-compiler@>=19.2.23-tuxcare.1", "@angular/core": "npm:@els-angular/angular-core@>=19.2.23-tuxcare.1", "@angular/forms": "npm:@els-angular/angular-forms@>=19.2.23-tuxcare.1", "@angular/platform-browser": "npm:@els-angular/angular-platform-browser@>=19.2.23-tuxcare.1", "@angular/platform-browser-dynamic": "npm:@els-angular/angular-platform-browser-dynamic@>=19.2.23-tuxcare.1", "@angular/platform-server": "npm:@els-angular/angular-platform-server@>=19.2.23-tuxcare.1", "@angular/router": "npm:@els-angular/angular-router@>=19.2.23-tuxcare.1", "@angular/compiler-cli": "npm:@els-angular/angular-compiler-cli@>=19.2.23-tuxcare.1", "@angular/localize": "npm:@els-angular/angular-localize@>=19.2.23-tuxcare.1", "@angular/service-worker": "npm:@els-angular/angular-service-worker@>=19.2.23-tuxcare.1", "@angular/ssr": "npm:@els-angular/angular-ssr@>=19.2.25-tuxcare.1", "@angular/cli": "npm:@els-angular/angular-cli@>=19.2.25-tuxcare.1" }If you use any of the following non-default Angular modules, update their versions as shown below:
- "@angular/animations": "npm:@els-angular/angular-animations@>=19.2.23-tuxcare.1",
- "@angular/language-service": "npm:@els-angular/angular-language-service@>=19.2.23-tuxcare.1",
- "@angular/upgrade": "npm:@els-angular/angular-upgrade@>=19.2.23-tuxcare.1",
- "@angular/elements": "npm:@els-angular/angular-elements@>=19.2.23-tuxcare.1",
- "@angular/service-worker": "npm:@els-angular/angular-service-worker@>=19.2.23-tuxcare.1",
After adding these aliases, make sure the same modules are also listed in the
overridessection, just like the default ones.Refresh the project dependencies
Remove
node_modules,package-lock.json, and clear the npm cache:rm -rf node_modules package-lock.json && npm cache clean --forceInstall dependencies:
npm installThe token for the TuxCare repository is automatically picked up from your
.npmrcfile.Verify the setup
Use npm to list the project's dependencies and confirm that npm resolves TuxCare packages correctly:
npm listAfter reviewing the dependencies, run your application to ensure everything works correctly. The
npmtool identifies and resolves dependencies from the TuxCare ELS for Angular repository.
