mirror of
https://dev.azure.com/hugendubel/ISA/_git/ISA-Frontend
synced 2025-12-28 22:42:11 +01:00
Merged PR 1463: Node 18.x and NPM 8.x Update, Removed ngx-platform-detection
Node 18.x and NPM 8.x Update, Removed ngx-platform-detection
This commit is contained in:
committed by
Lorenz Hilpert
parent
ae08e46b30
commit
fdca2ecfee
@@ -1,5 +1,5 @@
|
||||
#stage 1
|
||||
FROM node:14 as base
|
||||
FROM node:18 as base
|
||||
ARG IS_PRODUCTION=false
|
||||
ARG SEMVERSION=1.0.0
|
||||
ARG BuildUniqueID
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { Injectable, isDevMode } from '@angular/core';
|
||||
import { EnvironmentService } from '@core/environment';
|
||||
import { PromptModalData, UiModalService, UiPromptModalComponent } from '@ui/modal';
|
||||
import { DeviceDetectorService } from 'ngx-device-detector';
|
||||
import { Observable } from 'rxjs';
|
||||
import { ScanAdapter } from './scan-adapter';
|
||||
|
||||
@@ -8,10 +8,10 @@ import { ScanAdapter } from './scan-adapter';
|
||||
export class DevScanAdapter implements ScanAdapter {
|
||||
readonly name = 'Dev';
|
||||
|
||||
constructor(private _modal: UiModalService, private _deviceDetectorService: DeviceDetectorService) {}
|
||||
constructor(private _modal: UiModalService, private _environmentService: EnvironmentService) {}
|
||||
|
||||
async init(): Promise<boolean> {
|
||||
if (this._deviceDetectorService.isTablet()) {
|
||||
if (this._environmentService.isTablet()) {
|
||||
return new Promise((resolve, reject) => {
|
||||
resolve(isDevMode());
|
||||
});
|
||||
|
||||
@@ -8,16 +8,16 @@ import { configure } from 'scandit-sdk';
|
||||
import { Config } from '@core/config';
|
||||
import { ComponentPortal } from '@angular/cdk/portal';
|
||||
import { ScanditOverlayComponent } from './scandit-overlay.component';
|
||||
import { DeviceDetectorService } from 'ngx-device-detector';
|
||||
import { EnvironmentService } from '@core/environment';
|
||||
|
||||
@Injectable()
|
||||
export class ScanditScanAdapter implements ScanAdapter {
|
||||
readonly name = 'Scandit';
|
||||
|
||||
constructor(private readonly _config: Config, private _overlay: Overlay, private _deviceDetectorService: DeviceDetectorService) {}
|
||||
constructor(private readonly _config: Config, private _overlay: Overlay, private _environmentService: EnvironmentService) {}
|
||||
|
||||
async init(): Promise<boolean> {
|
||||
if (this._deviceDetectorService.isTablet()) {
|
||||
if (this._environmentService.isTablet()) {
|
||||
await configure(this._config.get('licence.scandit'), {
|
||||
engineLocation: '/scandit/',
|
||||
});
|
||||
|
||||
@@ -1,32 +1,21 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { fromEvent } from 'rxjs';
|
||||
import { map, take, tap } from 'rxjs/operators';
|
||||
import { Platform } from '@angular/cdk/platform';
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root',
|
||||
})
|
||||
export class EnvironmentService {
|
||||
constructor() {}
|
||||
constructor(private _platform: Platform) {}
|
||||
|
||||
// /** Returns whether app is used within native container*/
|
||||
// isNative(): Promise<boolean> {
|
||||
// return fromEvent(window, 'message')
|
||||
// .pipe(
|
||||
// map((evt: MessageEvent) => evt.data),
|
||||
// tap(console.log.bind(window)),
|
||||
// map((data) => data.status === 'INIT'),
|
||||
// take(1)
|
||||
// )
|
||||
// .toPromise();
|
||||
// }
|
||||
|
||||
/** Returns whether current device is mobile phone or tablet */
|
||||
async isMobile(): Promise<boolean> {
|
||||
return 'orientation' in window;
|
||||
isDesktop(): boolean {
|
||||
return !this.isTablet();
|
||||
}
|
||||
|
||||
/** Returns whether current device is desktop */
|
||||
async isDesktop(): Promise<boolean> {
|
||||
return !(await this.isMobile());
|
||||
isTablet(): boolean {
|
||||
return this._platform.ANDROID || this._platform.IOS;
|
||||
}
|
||||
|
||||
isSafari(): boolean {
|
||||
return this._platform.SAFARI;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ import { AuthService } from '@core/auth';
|
||||
import { ScanAdapterService } from '@adapter/scan';
|
||||
import { AuthService as IsaAuthService } from '@swagger/isa';
|
||||
import { UiConfirmModalComponent, UiErrorModalComponent, UiModalService } from '@ui/modal';
|
||||
import { DeviceDetectorService } from 'ngx-device-detector';
|
||||
import { EnvironmentService } from '@core/environment';
|
||||
|
||||
@Injectable({ providedIn: 'root' })
|
||||
export class IsAuthenticatedGuard implements CanActivate {
|
||||
@@ -13,7 +13,7 @@ export class IsAuthenticatedGuard implements CanActivate {
|
||||
private _scanService: ScanAdapterService,
|
||||
private _isaAuthService: IsaAuthService,
|
||||
private _modal: UiModalService,
|
||||
private _deviceDetector: DeviceDetectorService
|
||||
private _environmentService: EnvironmentService
|
||||
) {}
|
||||
|
||||
async canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {
|
||||
@@ -32,7 +32,7 @@ export class IsAuthenticatedGuard implements CanActivate {
|
||||
}
|
||||
|
||||
async scanAndGetToken(): Promise<string> {
|
||||
if (this._deviceDetector.isDesktop()) {
|
||||
if (this._environmentService.isDesktop()) {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Observable, BehaviorSubject, fromEvent, Subject } from 'rxjs';
|
||||
import { filter, map, take, takeUntil, takeWhile } from 'rxjs/operators';
|
||||
import { Observable, fromEvent, Subject } from 'rxjs';
|
||||
import { map } from 'rxjs/operators';
|
||||
import { WindowRef } from './window-ref.service';
|
||||
import { ScanRequestType } from './scan-request.type';
|
||||
import { DeviceDetectorService } from 'ngx-device-detector';
|
||||
import { EnvironmentService } from '@core/environment';
|
||||
@Injectable({
|
||||
providedIn: 'root',
|
||||
})
|
||||
@@ -15,7 +15,7 @@ export class NativeContainerService {
|
||||
private webViewEventRecieved = false;
|
||||
private browserDetected = false;
|
||||
|
||||
constructor(private windowRef: WindowRef, private deviceDetector: DeviceDetectorService) {
|
||||
constructor(private windowRef: WindowRef, private _environmentService: EnvironmentService) {
|
||||
this.defineWindowCallback();
|
||||
|
||||
this.wm = fromEvent(this.windowRef.nativeWindow, 'message').pipe(
|
||||
@@ -68,7 +68,7 @@ export class NativeContainerService {
|
||||
// this.browserDetected = !standalone && (safari || chrome) && !crios;
|
||||
|
||||
return {
|
||||
isSafari: this.deviceDetector.browser === 'Safari',
|
||||
isSafari: this._environmentService.isSafari(),
|
||||
isNative: this.webViewEventRecieved,
|
||||
};
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
.content-wrapper {
|
||||
@apply grid grid-flow-row;
|
||||
grid-template-row: auto;
|
||||
grid-template-rows: auto;
|
||||
}
|
||||
|
||||
.actual-numbers {
|
||||
|
||||
@@ -12,8 +12,8 @@ import {
|
||||
HostListener,
|
||||
} from '@angular/core';
|
||||
import { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';
|
||||
import { EnvironmentService } from '@core/environment';
|
||||
import { UiFormControlDirective } from '@ui/form-control';
|
||||
import { DeviceDetectorService } from 'ngx-device-detector';
|
||||
import { UiSelectOptionComponent } from './ui-select-option.component';
|
||||
|
||||
@Component({
|
||||
@@ -67,7 +67,7 @@ export class UiSelectComponent extends UiFormControlDirective<any> implements Co
|
||||
|
||||
onTouched = () => {};
|
||||
|
||||
constructor(private cdr: ChangeDetectorRef, private deviceService: DeviceDetectorService) {
|
||||
constructor(private cdr: ChangeDetectorRef, private _environmentService: EnvironmentService) {
|
||||
super();
|
||||
}
|
||||
|
||||
@@ -80,7 +80,7 @@ export class UiSelectComponent extends UiFormControlDirective<any> implements Co
|
||||
if (this.readonly) {
|
||||
return;
|
||||
}
|
||||
if (this.deviceService.isDesktop()) {
|
||||
if (this._environmentService.isDesktop()) {
|
||||
this.open();
|
||||
}
|
||||
}
|
||||
|
||||
109
package-lock.json
generated
109
package-lock.json
generated
@@ -21,11 +21,11 @@
|
||||
"@angular/service-worker": "^15.0.0",
|
||||
"@mdi/js": "^7.0.96",
|
||||
"@microsoft/signalr": "^7.0.0",
|
||||
"@ngrx/component-store": "^14.3.2",
|
||||
"@ngrx/effects": "^14.3.2",
|
||||
"@ngrx/entity": "^14.3.2",
|
||||
"@ngrx/store": "^14.3.2",
|
||||
"@ngrx/store-devtools": "^14.3.2",
|
||||
"@ngrx/component-store": "^15.0.0",
|
||||
"@ngrx/effects": "^15.0.0",
|
||||
"@ngrx/entity": "^15.0.0",
|
||||
"@ngrx/store": "^15.0.0",
|
||||
"@ngrx/store-devtools": "^15.0.0",
|
||||
"@paragondata/ngx-ui": "^12.0.0-beta.23",
|
||||
"angular-oauth2-oidc": "^15.0.1",
|
||||
"angular-oauth2-oidc-jwks": "^15.0.1",
|
||||
@@ -34,7 +34,6 @@
|
||||
"lodash": "^4.17.21",
|
||||
"moment": "^2.29.4",
|
||||
"ng2-pdf-viewer": "^9.1.3",
|
||||
"ngx-device-detector": "^4.0.1",
|
||||
"rxjs": "^6.6.7",
|
||||
"scandit-sdk": "^5.12.1",
|
||||
"socket.io": "^4.5.4",
|
||||
@@ -87,6 +86,10 @@
|
||||
"ts-node": "~7.0.0",
|
||||
"tslint": "~6.1.0",
|
||||
"typescript": "~4.8.4"
|
||||
},
|
||||
"engines": {
|
||||
"node": "18.x",
|
||||
"npm": "8.x"
|
||||
}
|
||||
},
|
||||
"node_modules/@ampproject/remapping": {
|
||||
@@ -2927,64 +2930,64 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@ngrx/component-store": {
|
||||
"version": "14.3.2",
|
||||
"resolved": "https://registry.npmjs.org/@ngrx/component-store/-/component-store-14.3.2.tgz",
|
||||
"integrity": "sha512-qdh0COdMU6LmrycoIIZg678DbsNXWR05Y6pVz+t7/LszGC4+UGuXoS6CR8gSNGGMWwLVw5yh+5MXsjuqTvp3ww==",
|
||||
"version": "15.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@ngrx/component-store/-/component-store-15.1.0.tgz",
|
||||
"integrity": "sha512-aqNxZHWdHAgnxz5cdBLKmWq83PVKw9F4ZMVddsZ7d8Ow2j3BWZiYP65hPVgVpzTHuigpE4OX0cutwGC38iu1GA==",
|
||||
"dependencies": {
|
||||
"tslib": "^2.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/core": "^14.0.0",
|
||||
"@angular/core": "^15.0.0",
|
||||
"rxjs": "^6.5.3 || ^7.5.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@ngrx/effects": {
|
||||
"version": "14.3.2",
|
||||
"resolved": "https://registry.npmjs.org/@ngrx/effects/-/effects-14.3.2.tgz",
|
||||
"integrity": "sha512-6bpGfA44jzwhBcmNaTwVgnFmYOX9iKPFpXyetDe41tVESo1CsNhUBPTmISDXKN9Mx2mwGbsMxrn6QFRypSsKAQ==",
|
||||
"version": "15.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@ngrx/effects/-/effects-15.1.0.tgz",
|
||||
"integrity": "sha512-/8YnhzyAOTdI9RYJAqmIIvh8ip4M4x4DrRyrdDDc62oFM3TrVOvknUUpMp5NxKpKph8hSpevAwaeEBDWGnKkjg==",
|
||||
"dependencies": {
|
||||
"tslib": "^2.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/core": "^14.0.0",
|
||||
"@ngrx/store": "14.3.2",
|
||||
"@angular/core": "^15.0.0",
|
||||
"@ngrx/store": "15.1.0",
|
||||
"rxjs": "^6.5.3 || ^7.5.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@ngrx/entity": {
|
||||
"version": "14.3.2",
|
||||
"resolved": "https://registry.npmjs.org/@ngrx/entity/-/entity-14.3.2.tgz",
|
||||
"integrity": "sha512-Uyb36oVEiTbBJcb6TJ3OTseJdeamNKSxkvqw/uLHt+My87QaRaTEQceDWCsVCBEO4Q4Vgf2g0vbdPZdtGUZcbg==",
|
||||
"version": "15.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@ngrx/entity/-/entity-15.1.0.tgz",
|
||||
"integrity": "sha512-CvE51HR+m5Nhbh4Sr3rDcm93kGZBkbrsVsRf1HR0V7e03Y87IycAEM2loveT7pELLO3+LlZAwWUxVl1HIO/7hg==",
|
||||
"dependencies": {
|
||||
"tslib": "^2.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/core": "^14.0.0",
|
||||
"@ngrx/store": "14.3.2",
|
||||
"@angular/core": "^15.0.0",
|
||||
"@ngrx/store": "15.1.0",
|
||||
"rxjs": "^6.5.3 || ^7.5.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@ngrx/store": {
|
||||
"version": "14.3.2",
|
||||
"resolved": "https://registry.npmjs.org/@ngrx/store/-/store-14.3.2.tgz",
|
||||
"integrity": "sha512-XGHjr0arh6gClo8Ce+xqJLvW9PkeXPW2tCo9Z5qMtHFI/z5dUppLVKGmMgD/fQBDyoqWTK5xu+89tDkdeZfRjQ==",
|
||||
"version": "15.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@ngrx/store/-/store-15.1.0.tgz",
|
||||
"integrity": "sha512-Wxjme7yJnxD6il6fGZdFTdSs9gL+6OFW8/II9vApFokUb0E7UQBm8RYb9dYJ2IQJvWXwO+2ItSaecRUZgt39kA==",
|
||||
"dependencies": {
|
||||
"tslib": "^2.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/core": "^14.0.0",
|
||||
"@angular/core": "^15.0.0",
|
||||
"rxjs": "^6.5.3 || ^7.5.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@ngrx/store-devtools": {
|
||||
"version": "14.3.2",
|
||||
"resolved": "https://registry.npmjs.org/@ngrx/store-devtools/-/store-devtools-14.3.2.tgz",
|
||||
"integrity": "sha512-lm1BobiHXzBC3tqYNAghCRNfBdIbs4JyfaTO9wqOEoDCh6COvzGLi7tAo9Zjls1REZC1NiIwSw4vKK8OMc+tfA==",
|
||||
"version": "15.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@ngrx/store-devtools/-/store-devtools-15.1.0.tgz",
|
||||
"integrity": "sha512-InEFdjg2cE0nLgdWWcjXa50SFlzxSVOoeudRqkqQlJlpJ/0RPljlRXHXT63E5cUpryTxYdK2QcE4n5vngq/48g==",
|
||||
"dependencies": {
|
||||
"tslib": "^2.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@ngrx/store": "14.3.2",
|
||||
"@ngrx/store": "15.1.0",
|
||||
"rxjs": "^6.5.3 || ^7.5.0"
|
||||
}
|
||||
},
|
||||
@@ -11925,18 +11928,6 @@
|
||||
"@ngrx/store": ">=4.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/ngx-device-detector": {
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/ngx-device-detector/-/ngx-device-detector-4.0.1.tgz",
|
||||
"integrity": "sha512-n0c9nOs7900r0pL/m4L0vaDvyf72xhKIC6bpr4BZYazWeRxankO1SqJZijqoMGxiUZnZAQqXkyhRkBIErgoKVg==",
|
||||
"dependencies": {
|
||||
"tslib": "^2.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/common": "^14.0.0",
|
||||
"@angular/core": "^14.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/nice-napi": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/nice-napi/-/nice-napi-1.0.2.tgz",
|
||||
@@ -20549,41 +20540,41 @@
|
||||
}
|
||||
},
|
||||
"@ngrx/component-store": {
|
||||
"version": "14.3.2",
|
||||
"resolved": "https://registry.npmjs.org/@ngrx/component-store/-/component-store-14.3.2.tgz",
|
||||
"integrity": "sha512-qdh0COdMU6LmrycoIIZg678DbsNXWR05Y6pVz+t7/LszGC4+UGuXoS6CR8gSNGGMWwLVw5yh+5MXsjuqTvp3ww==",
|
||||
"version": "15.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@ngrx/component-store/-/component-store-15.1.0.tgz",
|
||||
"integrity": "sha512-aqNxZHWdHAgnxz5cdBLKmWq83PVKw9F4ZMVddsZ7d8Ow2j3BWZiYP65hPVgVpzTHuigpE4OX0cutwGC38iu1GA==",
|
||||
"requires": {
|
||||
"tslib": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"@ngrx/effects": {
|
||||
"version": "14.3.2",
|
||||
"resolved": "https://registry.npmjs.org/@ngrx/effects/-/effects-14.3.2.tgz",
|
||||
"integrity": "sha512-6bpGfA44jzwhBcmNaTwVgnFmYOX9iKPFpXyetDe41tVESo1CsNhUBPTmISDXKN9Mx2mwGbsMxrn6QFRypSsKAQ==",
|
||||
"version": "15.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@ngrx/effects/-/effects-15.1.0.tgz",
|
||||
"integrity": "sha512-/8YnhzyAOTdI9RYJAqmIIvh8ip4M4x4DrRyrdDDc62oFM3TrVOvknUUpMp5NxKpKph8hSpevAwaeEBDWGnKkjg==",
|
||||
"requires": {
|
||||
"tslib": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"@ngrx/entity": {
|
||||
"version": "14.3.2",
|
||||
"resolved": "https://registry.npmjs.org/@ngrx/entity/-/entity-14.3.2.tgz",
|
||||
"integrity": "sha512-Uyb36oVEiTbBJcb6TJ3OTseJdeamNKSxkvqw/uLHt+My87QaRaTEQceDWCsVCBEO4Q4Vgf2g0vbdPZdtGUZcbg==",
|
||||
"version": "15.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@ngrx/entity/-/entity-15.1.0.tgz",
|
||||
"integrity": "sha512-CvE51HR+m5Nhbh4Sr3rDcm93kGZBkbrsVsRf1HR0V7e03Y87IycAEM2loveT7pELLO3+LlZAwWUxVl1HIO/7hg==",
|
||||
"requires": {
|
||||
"tslib": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"@ngrx/store": {
|
||||
"version": "14.3.2",
|
||||
"resolved": "https://registry.npmjs.org/@ngrx/store/-/store-14.3.2.tgz",
|
||||
"integrity": "sha512-XGHjr0arh6gClo8Ce+xqJLvW9PkeXPW2tCo9Z5qMtHFI/z5dUppLVKGmMgD/fQBDyoqWTK5xu+89tDkdeZfRjQ==",
|
||||
"version": "15.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@ngrx/store/-/store-15.1.0.tgz",
|
||||
"integrity": "sha512-Wxjme7yJnxD6il6fGZdFTdSs9gL+6OFW8/II9vApFokUb0E7UQBm8RYb9dYJ2IQJvWXwO+2ItSaecRUZgt39kA==",
|
||||
"requires": {
|
||||
"tslib": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"@ngrx/store-devtools": {
|
||||
"version": "14.3.2",
|
||||
"resolved": "https://registry.npmjs.org/@ngrx/store-devtools/-/store-devtools-14.3.2.tgz",
|
||||
"integrity": "sha512-lm1BobiHXzBC3tqYNAghCRNfBdIbs4JyfaTO9wqOEoDCh6COvzGLi7tAo9Zjls1REZC1NiIwSw4vKK8OMc+tfA==",
|
||||
"version": "15.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@ngrx/store-devtools/-/store-devtools-15.1.0.tgz",
|
||||
"integrity": "sha512-InEFdjg2cE0nLgdWWcjXa50SFlzxSVOoeudRqkqQlJlpJ/0RPljlRXHXT63E5cUpryTxYdK2QcE4n5vngq/48g==",
|
||||
"requires": {
|
||||
"tslib": "^2.0.0"
|
||||
}
|
||||
@@ -27343,14 +27334,6 @@
|
||||
"deep-freeze-strict": "^1.1.1"
|
||||
}
|
||||
},
|
||||
"ngx-device-detector": {
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/ngx-device-detector/-/ngx-device-detector-4.0.1.tgz",
|
||||
"integrity": "sha512-n0c9nOs7900r0pL/m4L0vaDvyf72xhKIC6bpr4BZYazWeRxankO1SqJZijqoMGxiUZnZAQqXkyhRkBIErgoKVg==",
|
||||
"requires": {
|
||||
"tslib": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"nice-napi": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/nice-napi/-/nice-napi-1.0.2.tgz",
|
||||
|
||||
15
package.json
15
package.json
@@ -129,11 +129,11 @@
|
||||
"@angular/service-worker": "^15.0.0",
|
||||
"@mdi/js": "^7.0.96",
|
||||
"@microsoft/signalr": "^7.0.0",
|
||||
"@ngrx/component-store": "^14.3.2",
|
||||
"@ngrx/effects": "^14.3.2",
|
||||
"@ngrx/entity": "^14.3.2",
|
||||
"@ngrx/store": "^14.3.2",
|
||||
"@ngrx/store-devtools": "^14.3.2",
|
||||
"@ngrx/component-store": "^15.0.0",
|
||||
"@ngrx/effects": "^15.0.0",
|
||||
"@ngrx/entity": "^15.0.0",
|
||||
"@ngrx/store": "^15.0.0",
|
||||
"@ngrx/store-devtools": "^15.0.0",
|
||||
"@paragondata/ngx-ui": "^12.0.0-beta.23",
|
||||
"angular-oauth2-oidc": "^15.0.1",
|
||||
"angular-oauth2-oidc-jwks": "^15.0.1",
|
||||
@@ -142,7 +142,6 @@
|
||||
"lodash": "^4.17.21",
|
||||
"moment": "^2.29.4",
|
||||
"ng2-pdf-viewer": "^9.1.3",
|
||||
"ngx-device-detector": "^4.0.1",
|
||||
"rxjs": "^6.6.7",
|
||||
"scandit-sdk": "^5.12.1",
|
||||
"socket.io": "^4.5.4",
|
||||
@@ -195,5 +194,9 @@
|
||||
"ts-node": "~7.0.0",
|
||||
"tslint": "~6.1.0",
|
||||
"typescript": "~4.8.4"
|
||||
},
|
||||
"engines": {
|
||||
"node": "18.x",
|
||||
"npm": "8.x"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user