diff --git a/.husky/commit-msg b/.husky/commit-msg old mode 100644 new mode 100755 diff --git a/.husky/pre-commit b/.husky/pre-commit old mode 100644 new mode 100755 diff --git a/package-lock.json b/package-lock.json index 3e0a6d2..7646e2a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20,7 +20,7 @@ "@angular/platform-browser-dynamic": "^15.0.1", "@angular/router": "^15.0.1", "rxjs": "~7.5.5", - "tslib": "^2.3.1", + "tslib": "^2.4.1", "zone.js": "~0.11.5" }, "devDependencies": { diff --git a/package.json b/package.json index 780e5de..d88ce79 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,7 @@ "@angular/platform-browser-dynamic": "^15.0.1", "@angular/router": "^15.0.1", "rxjs": "~7.5.5", - "tslib": "^2.3.1", + "tslib": "^2.4.1", "zone.js": "~0.11.5" }, "devDependencies": { diff --git a/projects/ngx-matomo-client/package.json b/projects/ngx-matomo-client/package.json index b3bb58b..2865ff0 100644 --- a/projects/ngx-matomo-client/package.json +++ b/projects/ngx-matomo-client/package.json @@ -13,9 +13,7 @@ "@angular/common": "^15.0.0 || ^16.0.0", "@angular/core": "^15.0.0 || ^16.0.0" }, - "dependencies": { - "tslib": "^2.0.0" - }, + "dependencies": {}, "repository": { "type": "git", "url": "https://github.com/EmmanuelRoux/ngx-matomo.git", @@ -33,5 +31,6 @@ "schematics": "./schematics/collection.json", "ng-add": { "save": true - } + }, + "sideEffects": false } diff --git a/projects/ngx-matomo-client/router/ngx-matomo-router.module.ts b/projects/ngx-matomo-client/router/ngx-matomo-router.module.ts index 2618c5b..eaf7d72 100644 --- a/projects/ngx-matomo-client/router/ngx-matomo-router.module.ts +++ b/projects/ngx-matomo-client/router/ngx-matomo-router.module.ts @@ -21,15 +21,18 @@ export class NgxMatomoRouterModule { } } - static forRoot({ - interceptors, - ...config - }: MatomoRouterConfigurationWithInterceptors = {}): ModuleWithProviders { + static forRoot( + configWithInterceptors: MatomoRouterConfigurationWithInterceptors = {} + ): ModuleWithProviders { + // Note: not using "rest" syntax here, in order to avoid any dependency on tslib (and reduce package size) + // The only drawback of this is that MATOMO_ROUTER_CONFIGURATION will actually + // contain a reference to provided interceptors return { ngModule: NgxMatomoRouterModule, + providers: [ - { provide: MATOMO_ROUTER_CONFIGURATION, useValue: config }, - provideInterceptors(interceptors), + { provide: MATOMO_ROUTER_CONFIGURATION, useValue: configWithInterceptors }, + provideInterceptors(configWithInterceptors.interceptors), ], }; } diff --git a/projects/ngx-matomo-client/router/page-url-provider.ts b/projects/ngx-matomo-client/router/page-url-provider.ts index 0cb1648..843258a 100644 --- a/projects/ngx-matomo-client/router/page-url-provider.ts +++ b/projects/ngx-matomo-client/router/page-url-provider.ts @@ -1,5 +1,5 @@ import { APP_BASE_HREF, PlatformLocation } from '@angular/common'; -import { Inject, inject, InjectionToken, Optional } from '@angular/core'; +import { inject, InjectionToken } from '@angular/core'; import { NavigationEnd } from '@angular/router'; import { Observable, of } from 'rxjs'; import { INTERNAL_ROUTER_CONFIGURATION, InternalRouterConfiguration } from './configuration'; @@ -26,10 +26,8 @@ function trimTrailingSlash(str: string): string { export class DefaultPageUrlProvider implements PageUrlProvider { constructor( - @Optional() - @Inject(INTERNAL_ROUTER_CONFIGURATION) private readonly config: InternalRouterConfiguration, - @Optional() @Inject(APP_BASE_HREF) private readonly baseHref: string | null, + private readonly baseHref: string | null, private readonly platformLocation: PlatformLocation ) {}