0.2.2 • Published 5 years ago

@wiredviews/angular-version-builder v0.2.2

Weekly downloads
27
License
MIT
Repository
github
Last release
5 years ago

Version Files

Version Files builder for Angular build facade.

Description

Keeping user-agent clients up to date with the latest Angular application code can be difficult due to caching and the nature of single-page apps.

The most common approach is polling on the client side to determine if there are any updates available.

This package generates a version.ts file and a version.json file source from the version in your package.json.

The version.ts file is an ES Module and should be imported into your code base. This way the application knows its current version.

The version.json file should be deployed with the application assets to the server to indicate which version of the application is currently deployed.

The developer can then poll against the version.json file on the server and compare its version to the version exposed by the version.ts in the application. If they differ then the application knows an update is available and can prompt the user or reload the app.

Usage

  1. In the root of your Angular application:

    npm i -D @wiredviews/angular-version-builder
  2. In your angular.json add the following to architect section of the relevant project:

    "version-files": {
      "builder": "@wiredviews/angular-version-builder:files",
      "options": {
         "tsOutputPath": "environments/version.ts",
         "jsonOutputPath": "version.json"
      }
    },
  3. Run: ng run [relevant-project]:version-files Where relevant-project is the project to which you've added the target

Options

  • tsOutputPath - path to the typescript module containing your application version which you can import into your application to be deployed with it
  • jsonOutputPath - path to the json file that contains the your application version that is deployed on the server

Credits

Inspiration from https://medium.com/dailyjs/angular-cli-6-under-the-hood-builders-demystified-f0690ebcf01