Skip to content

Celtian/ngx-update-app

Repository files navigation

NgxAppVersion

npm version Package License NPM Downloads Snyk stars forks HitCount

Angular directive for updating app via service workers

Angular 17 compatible

Here's the demo

  • Lightweight
  • No dependencies!
  • Directive way
  • Customizable options...

Install

yarn add ngx-update-app

Quick start

  1. Provide config
import { provideUpdateApp } from 'ngx-update-app';

export const appConfig: ApplicationConfig = {
  providers: [
    provideUpdateApp({
      interval: 1000 * 60, // check new version every minute
      dryRun: false, // set to true if zou want to see alert on init
      onUpdateFactory: () => {
        // you can use inject() here
        return () => alert('Should update');
      }
    }),
    provideServiceWorker('ngsw-worker.js', {
      enabled: !isDevMode(),
      registrationStrategy: 'registerWhenStable:30000'
    })
  ]
};
  1. Use directive in root component
import { NgxUpdateAppDirective } from 'ngx-update-app';

@Component({
  standalone: true,
  hostDirectives: [NgxUpdateAppDirective]
})
export class AppComponent {}

Options

Option Type Default Description
interval number undefined interval to check new version in milliseconds
dryRun boolean false force update action once on init
onUpdateFactory function undefined function which will be called on update

Dependencies

None

License

Copyright © 2023 - 2024 Dominik Hladik

All contents are licensed under the MIT license.