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 compatible

Have 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.
  1. Create or update the .npmrc file

    Navigate to the root directory of your Angular project and create a .npmrc file or update it if it already exists.

    Example:

    my-angular-project/
    ├── src/
    ├── angular.json
    ├── package.json
    ├── .npmrc         ⚠️ ← Create it here
    └── tsconfig.json
    
  2. Configure the npm registry

    Use an editor of your choice (e.g., VS Code) to add the following registry address lines to the .npmrc file:

    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].

  3. Update dependencies

    Manually update your package.json file 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/ssr listed in your original package.json file before replacing dependencies. If you see @angular/ssr listed, 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 overrides section, just like the default ones.

  4. 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 --force
    

    Install dependencies:

    npm install
    

    The token for the TuxCare repository is automatically picked up from your .npmrc file.

  5. Verify the setup

    Use npm to list the project's dependencies and confirm that npm resolves TuxCare packages correctly:

    npm list
    

    After reviewing the dependencies, run your application to ensure everything works correctly. The npm tool identifies and resolves dependencies from the TuxCare ELS for Angular repository.

What's Next?