@angular-helpers/security 21.6.1 → 21.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Injectable, inject, PLATFORM_ID, InjectionToken, DestroyRef, signal, computed, NgZone, Injector, makeEnvironmentProviders } from '@angular/core';
3
- import { injectWorkerPool } from '@angular-helpers/core';
3
+ import { injectPlatform, injectWorkerPool } from '@angular-helpers/core';
4
4
  import { isPlatformBrowser, DOCUMENT } from '@angular/common';
5
5
  import { Observable, Subject, fromEvent, merge } from 'rxjs';
6
6
  import { throttleTime } from 'rxjs/operators';
@@ -223,10 +223,10 @@ class RegexAnalyzerService {
223
223
  const levels = { low: 1, medium: 2, high: 3, critical: 4 };
224
224
  return levels[risk] || 0;
225
225
  }
226
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: RegexAnalyzerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
227
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: RegexAnalyzerService });
226
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: RegexAnalyzerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
227
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: RegexAnalyzerService });
228
228
  }
229
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: RegexAnalyzerService, decorators: [{
229
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: RegexAnalyzerService, decorators: [{
230
230
  type: Injectable
231
231
  }] });
232
232
 
@@ -237,7 +237,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImpo
237
237
  class RegexWorkerPoolService {
238
238
  pool;
239
239
  constructor() {
240
- this.pool = injectWorkerPool(new URL('../workers/regex.worker', import.meta.url), {
240
+ const { document } = injectPlatform();
241
+ const workerUrl = document
242
+ ? new URL('assets/workers/regex.worker.js', document.baseURI)
243
+ : new URL('assets/workers/regex.worker.js', 'https://example.com'); // SSR: never instantiated
244
+ this.pool = injectWorkerPool(workerUrl, {
241
245
  defaultTimeout: 5000,
242
246
  fallbackExecutor: async (type, data) => {
243
247
  if (type !== 'regex-test')
@@ -287,10 +291,10 @@ class RegexWorkerPoolService {
287
291
  ngOnDestroy() {
288
292
  this.pool.terminate();
289
293
  }
290
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: RegexWorkerPoolService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
291
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: RegexWorkerPoolService });
294
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: RegexWorkerPoolService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
295
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: RegexWorkerPoolService });
292
296
  }
293
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: RegexWorkerPoolService, decorators: [{
297
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: RegexWorkerPoolService, decorators: [{
294
298
  type: Injectable
295
299
  }], ctorParameters: () => [] });
296
300
 
@@ -357,10 +361,10 @@ class RegexSecurityService {
357
361
  safeMode: config.safeMode || false,
358
362
  };
359
363
  }
360
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: RegexSecurityService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
361
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: RegexSecurityService });
364
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: RegexSecurityService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
365
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: RegexSecurityService });
362
366
  }
363
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: RegexSecurityService, decorators: [{
367
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: RegexSecurityService, decorators: [{
364
368
  type: Injectable
365
369
  }] });
366
370
 
@@ -479,10 +483,10 @@ class WebCryptoService {
479
483
  hmacHashName(algorithm) {
480
484
  return algorithm.replace('HMAC-', '');
481
485
  }
482
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: WebCryptoService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
483
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: WebCryptoService });
486
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: WebCryptoService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
487
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: WebCryptoService });
484
488
  }
485
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: WebCryptoService, decorators: [{
489
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: WebCryptoService, decorators: [{
486
490
  type: Injectable
487
491
  }] });
488
492
 
@@ -670,10 +674,10 @@ class SecureStorageService {
670
674
  base64ToBytes(base64) {
671
675
  return Uint8Array.from(atob(base64), (c) => c.charCodeAt(0));
672
676
  }
673
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: SecureStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
674
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: SecureStorageService });
677
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: SecureStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
678
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: SecureStorageService });
675
679
  }
676
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: SecureStorageService, decorators: [{
680
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: SecureStorageService, decorators: [{
677
681
  type: Injectable
678
682
  }], ctorParameters: () => [] });
679
683
 
@@ -1019,10 +1023,10 @@ class InputSanitizerService {
1019
1023
  return null;
1020
1024
  }
1021
1025
  }
1022
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: InputSanitizerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1023
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: InputSanitizerService });
1026
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: InputSanitizerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1027
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: InputSanitizerService });
1024
1028
  }
1025
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: InputSanitizerService, decorators: [{
1029
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: InputSanitizerService, decorators: [{
1026
1030
  type: Injectable
1027
1031
  }], ctorParameters: () => [] });
1028
1032
 
@@ -1054,10 +1058,10 @@ class PasswordStrengthService {
1054
1058
  assess(password) {
1055
1059
  return assessPasswordStrength(password);
1056
1060
  }
1057
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: PasswordStrengthService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1058
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: PasswordStrengthService });
1061
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: PasswordStrengthService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1062
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: PasswordStrengthService });
1059
1063
  }
1060
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: PasswordStrengthService, decorators: [{
1064
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: PasswordStrengthService, decorators: [{
1061
1065
  type: Injectable
1062
1066
  }] });
1063
1067
 
@@ -1169,10 +1173,10 @@ class JwtService {
1169
1173
  }
1170
1174
  return payload[name] ?? null;
1171
1175
  }
1172
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: JwtService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1173
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: JwtService });
1176
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: JwtService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1177
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: JwtService });
1174
1178
  }
1175
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: JwtService, decorators: [{
1179
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: JwtService, decorators: [{
1176
1180
  type: Injectable
1177
1181
  }] });
1178
1182
  function base64UrlDecode(input) {
@@ -1315,10 +1319,10 @@ class SensitiveClipboardService {
1315
1319
  // ignore
1316
1320
  }
1317
1321
  }
1318
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: SensitiveClipboardService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1319
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: SensitiveClipboardService });
1322
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: SensitiveClipboardService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1323
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: SensitiveClipboardService });
1320
1324
  }
1321
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: SensitiveClipboardService, decorators: [{
1325
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: SensitiveClipboardService, decorators: [{
1322
1326
  type: Injectable
1323
1327
  }], ctorParameters: () => [] });
1324
1328
 
@@ -1391,10 +1395,10 @@ class HibpService {
1391
1395
  const match = findSuffixMatch(body, suffix);
1392
1396
  return match > 0 ? { leaked: true, count: match } : { leaked: false, count: 0 };
1393
1397
  }
1394
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: HibpService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1395
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: HibpService, providedIn: 'root' });
1398
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: HibpService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1399
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: HibpService, providedIn: 'root' });
1396
1400
  }
1397
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: HibpService, decorators: [{
1401
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: HibpService, decorators: [{
1398
1402
  type: Injectable,
1399
1403
  args: [{
1400
1404
  providedIn: 'root',
@@ -1617,10 +1621,10 @@ class RateLimiterService {
1617
1621
  }, timeToExpiryMs);
1618
1622
  }
1619
1623
  }
1620
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: RateLimiterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1621
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: RateLimiterService });
1624
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: RateLimiterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1625
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: RateLimiterService });
1622
1626
  }
1623
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: RateLimiterService, decorators: [{
1627
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: RateLimiterService, decorators: [{
1624
1628
  type: Injectable
1625
1629
  }], ctorParameters: () => [] });
1626
1630
  function validatePolicy(policy) {
@@ -1699,10 +1703,10 @@ class CsrfService {
1699
1703
  get nativeStorage() {
1700
1704
  return this.storageTarget === 'session' ? sessionStorage : localStorage;
1701
1705
  }
1702
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: CsrfService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1703
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: CsrfService });
1706
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: CsrfService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1707
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: CsrfService });
1704
1708
  }
1705
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: CsrfService, decorators: [{
1709
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: CsrfService, decorators: [{
1706
1710
  type: Injectable
1707
1711
  }], ctorParameters: () => [] });
1708
1712
  const DEFAULT_HEADER_NAME = 'X-CSRF-Token';
@@ -1742,9 +1746,12 @@ class SessionIdleService {
1742
1746
  document = inject(DOCUMENT);
1743
1747
  injector = inject(Injector);
1744
1748
  destroyRef = inject(DestroyRef);
1745
- _isIdle = signal(false, ...(ngDevMode ? [{ debugName: "_isIdle" }] : /* istanbul ignore next */ []));
1746
- _isWarning = signal(false, ...(ngDevMode ? [{ debugName: "_isWarning" }] : /* istanbul ignore next */ []));
1747
- _timeRemaining = signal(null, ...(ngDevMode ? [{ debugName: "_timeRemaining" }] : /* istanbul ignore next */ []));
1749
+ _isIdle = signal(false, /* @ts-ignore */
1750
+ ...(ngDevMode ? [{ debugName: "_isIdle" }] : /* istanbul ignore next */ []));
1751
+ _isWarning = signal(false, /* @ts-ignore */
1752
+ ...(ngDevMode ? [{ debugName: "_isWarning" }] : /* istanbul ignore next */ []));
1753
+ _timeRemaining = signal(null, /* @ts-ignore */
1754
+ ...(ngDevMode ? [{ debugName: "_timeRemaining" }] : /* istanbul ignore next */ []));
1748
1755
  _timeoutSubject = new Subject();
1749
1756
  isIdle = this._isIdle.asReadonly();
1750
1757
  isWarning = this._isWarning.asReadonly();
@@ -1838,10 +1845,10 @@ class SessionIdleService {
1838
1845
  this.config = null;
1839
1846
  });
1840
1847
  }
1841
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: SessionIdleService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1842
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: SessionIdleService, providedIn: 'root' });
1848
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: SessionIdleService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1849
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: SessionIdleService, providedIn: 'root' });
1843
1850
  }
1844
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: SessionIdleService, decorators: [{
1851
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: SessionIdleService, decorators: [{
1845
1852
  type: Injectable,
1846
1853
  args: [{
1847
1854
  providedIn: 'root',
@@ -1855,7 +1862,8 @@ class SecureMessageService {
1855
1862
  document = inject(DOCUMENT);
1856
1863
  crypto = inject(WebCryptoService);
1857
1864
  config = null;
1858
- _lastMessage = signal(null, ...(ngDevMode ? [{ debugName: "_lastMessage" }] : /* istanbul ignore next */ []));
1865
+ _lastMessage = signal(null, /* @ts-ignore */
1866
+ ...(ngDevMode ? [{ debugName: "_lastMessage" }] : /* istanbul ignore next */ []));
1859
1867
  _messages$ = new Subject();
1860
1868
  messageHandler = null;
1861
1869
  get targetWindow() {
@@ -1941,10 +1949,10 @@ class SecureMessageService {
1941
1949
  this._messages$.next(message);
1942
1950
  });
1943
1951
  }
1944
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: SecureMessageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1945
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: SecureMessageService, providedIn: 'root' });
1952
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: SecureMessageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1953
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: SecureMessageService, providedIn: 'root' });
1946
1954
  }
1947
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: SecureMessageService, decorators: [{
1955
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: SecureMessageService, decorators: [{
1948
1956
  type: Injectable,
1949
1957
  args: [{
1950
1958
  providedIn: 'root',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@angular-helpers/security",
3
- "version": "21.6.1",
3
+ "version": "21.6.2",
4
4
  "description": "Angular security helpers for preventing ReDoS and other security vulnerabilities",
5
5
  "keywords": [
6
6
  "angular",
@@ -37,9 +37,9 @@
37
37
  "access": "public"
38
38
  },
39
39
  "peerDependencies": {
40
- "@angular/common": "^21.0.0",
41
- "@angular/core": "^21.0.0",
42
- "@angular/forms": "^21.0.0",
40
+ "@angular/common": "^22.0.0",
41
+ "@angular/core": "^22.0.0",
42
+ "@angular/forms": "^22.0.0",
43
43
  "rxjs": "^7.0.0 || ^8.0.0"
44
44
  },
45
45
  "peerDependenciesMeta": {
@@ -48,7 +48,7 @@
48
48
  }
49
49
  },
50
50
  "dependencies": {
51
- "@angular-helpers/core": "^21.14.0",
51
+ "@angular-helpers/core": "workspace:*",
52
52
  "tslib": "^2.0.0"
53
53
  },
54
54
  "module": "fesm2022/angular-helpers-security.mjs",