scorm-again 3.0.5 → 3.1.0

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.
Files changed (41) hide show
  1. package/README.md +77 -1
  2. package/dist/cross-frame-api.js.map +1 -1
  3. package/dist/esm/cross-frame-api.js.map +1 -1
  4. package/dist/esm/scorm-again.js +388 -71
  5. package/dist/esm/scorm-again.js.map +1 -1
  6. package/dist/esm/scorm-again.min.js +1 -1
  7. package/dist/esm/scorm-again.min.js.map +1 -1
  8. package/dist/esm/scorm12.js +322 -69
  9. package/dist/esm/scorm12.js.map +1 -1
  10. package/dist/esm/scorm12.min.js +1 -1
  11. package/dist/esm/scorm12.min.js.map +1 -1
  12. package/dist/esm/scorm2004.js +371 -64
  13. package/dist/esm/scorm2004.js.map +1 -1
  14. package/dist/esm/scorm2004.min.js +1 -1
  15. package/dist/esm/scorm2004.min.js.map +1 -1
  16. package/dist/scorm-again.js +341 -55
  17. package/dist/scorm-again.js.map +1 -1
  18. package/dist/scorm-again.min.js +1 -1
  19. package/dist/scorm-again.min.js.map +1 -1
  20. package/dist/scorm12.js +305 -53
  21. package/dist/scorm12.js.map +1 -1
  22. package/dist/scorm12.min.js +1 -1
  23. package/dist/scorm12.min.js.map +1 -1
  24. package/dist/scorm2004.js +329 -48
  25. package/dist/scorm2004.js.map +1 -1
  26. package/dist/scorm2004.min.js +1 -1
  27. package/dist/scorm2004.min.js.map +1 -1
  28. package/dist/types/BaseAPI.d.ts +15 -5
  29. package/dist/types/Scorm12API.d.ts +2 -2
  30. package/dist/types/Scorm2004API.d.ts +3 -2
  31. package/dist/types/cmi/common/score.d.ts +2 -0
  32. package/dist/types/interfaces/services.d.ts +8 -4
  33. package/dist/types/services/AsynchronousHttpService.d.ts +3 -2
  34. package/dist/types/services/EventService.d.ts +2 -2
  35. package/dist/types/services/OfflineStorageService.d.ts +6 -1
  36. package/dist/types/services/SynchronousHttpService.d.ts +2 -2
  37. package/dist/types/services/ValidationService.d.ts +1 -1
  38. package/dist/types/types/api_types.d.ts +22 -2
  39. package/dist/types/utilities/index.d.ts +1 -0
  40. package/dist/types/utilities/url.d.ts +2 -0
  41. package/package.json +21 -21
@@ -1,7 +1,7 @@
1
1
  import { StringKeyMap } from "./utilities";
2
2
  import { BaseCMI } from "./cmi/common/base_cmi";
3
3
  import { ErrorCode } from "./constants";
4
- import { CommitObject, InternalSettings, LogLevel, ResultObject, Settings } from "./types";
4
+ import { CommitEventContext, CommitObject, CommitTrigger, InternalSettings, LogLevel, ResultObject, Settings } from "./types";
5
5
  import { IBaseAPI, ICMIDataService, IErrorHandlingService, IEventService, IHttpService, ILoggingService, IOfflineStorageService, ISerializationService, ScormEventCallback } from "./interfaces";
6
6
  export default abstract class BaseAPI implements IBaseAPI {
7
7
  private _timeout?;
@@ -15,6 +15,10 @@ export default abstract class BaseAPI implements IBaseAPI {
15
15
  private readonly _offlineStorageService?;
16
16
  private readonly _cmiValueAccessService;
17
17
  private _courseId;
18
+ private _pendingCommitCount;
19
+ private _commitSequence;
20
+ private readonly _commitSettleWaiters;
21
+ protected readonly _setCMIElements: Set<string>;
18
22
  protected constructor(error_codes: ErrorCode, settings?: Settings, httpService?: IHttpService, eventService?: IEventService, serializationService?: ISerializationService, cmiDataService?: ICMIDataService, errorHandlingService?: IErrorHandlingService, loggingService?: ILoggingService, offlineStorageService?: IOfflineStorageService);
19
23
  abstract cmi: BaseCMI;
20
24
  startingData?: StringKeyMap;
@@ -36,16 +40,21 @@ export default abstract class BaseAPI implements IBaseAPI {
36
40
  abstract lmsGetDiagnostic(CMIErrorCode: string | number): string;
37
41
  abstract validateCorrectResponse(_CMIElement: string, _value: any): void;
38
42
  abstract getChildElement(_CMIElement: string, _value: any, _foundFirstIndex: boolean): BaseCMI | null;
39
- abstract storeData(_calculateTotalTime: boolean): ResultObject;
43
+ abstract storeData(_calculateTotalTime: boolean, _trigger?: CommitTrigger): ResultObject;
40
44
  abstract renderCommitCMI(_terminateCommit: boolean, _includeTotalTime?: boolean): StringKeyMap | Array<string>;
41
45
  abstract renderCommitObject(_terminateCommit: boolean, _includeTotalTime?: boolean): CommitObject;
42
46
  apiLog(functionName: string, logMessage: string, messageLevel: LogLevel, CMIElement?: string): void;
43
47
  get settings(): InternalSettings;
44
48
  set settings(settings: Settings);
49
+ get pendingCommitCount(): number;
50
+ whenCommitsSettled(options?: {
51
+ timeoutMs?: number;
52
+ }): Promise<void>;
53
+ private _flushCommitSettleWaiters;
45
54
  terminate(callbackName: string, checkTerminated: boolean): string;
46
55
  getValue(callbackName: string, checkTerminated: boolean, CMIElement: string): string;
47
56
  setValue(callbackName: string, commitCallback: string, checkTerminated: boolean, CMIElement: string, value: any): string;
48
- commit(callbackName: string, checkTerminated?: boolean): string;
57
+ commit(callbackName: string, checkTerminated?: boolean, trigger?: CommitTrigger): string;
49
58
  getLastError(callbackName: string): string;
50
59
  getErrorString(callbackName: string, CMIErrorCode: string | number): string;
51
60
  getDiagnostic(callbackName: string, CMIErrorCode: string | number): string;
@@ -56,13 +65,14 @@ export default abstract class BaseAPI implements IBaseAPI {
56
65
  setCMIValue(_CMIElement: string, _value: any): string;
57
66
  _commonSetCMIValue(methodName: string, scorm2004: boolean, CMIElement: string, value: any): string;
58
67
  _commonGetCMIValue(methodName: string, scorm2004: boolean, CMIElement: string): any;
68
+ protected checkUninitializedGet(_CMIElement: string, _returnValue: any): void;
59
69
  isInitialized(): boolean;
60
70
  isNotInitialized(): boolean;
61
71
  isTerminated(): boolean;
62
72
  on(listenerName: string, callback: ScormEventCallback): void;
63
73
  off(listenerName: string, callback: ScormEventCallback): void;
64
74
  clear(listenerName: string): void;
65
- processListeners(functionName: string, CMIElement?: string, value?: any): void;
75
+ processListeners(functionName: string, CMIElement?: string, value?: any, context?: CommitEventContext): void;
66
76
  throwSCORMError(CMIElement: string | undefined, errorNumber: number | undefined, message?: string): void;
67
77
  clearSCORMError(success: string): void;
68
78
  loadFromFlattenedJSON(json: StringKeyMap, CMIElement?: string): void;
@@ -70,7 +80,7 @@ export default abstract class BaseAPI implements IBaseAPI {
70
80
  loadFromJSON(json: StringKeyMap, CMIElement?: string): void;
71
81
  renderCMIToJSONString(): string;
72
82
  renderCMIToJSONObject(): StringKeyMap;
73
- processHttpRequest(url: string, params: CommitObject | StringKeyMap | Array<any>, immediate?: boolean): ResultObject;
83
+ processHttpRequest(url: string, params: CommitObject | StringKeyMap | Array<any>, immediate?: boolean, trigger?: CommitTrigger): ResultObject;
74
84
  scheduleCommit(when: number, callback: string): void;
75
85
  clearScheduledCommit(): void;
76
86
  private _checkObjectHasProperty;
@@ -3,7 +3,7 @@ import { StringKeyMap } from "./utilities";
3
3
  import { BaseCMI } from "./cmi/common/base_cmi";
4
4
  import { CMI } from "./cmi/scorm12/cmi";
5
5
  import { NAV } from "./cmi/scorm12/nav";
6
- import { CommitObject, ResultObject, Settings } from "./types";
6
+ import { CommitObject, CommitTrigger, ResultObject, Settings } from "./types";
7
7
  import { IHttpService } from "./interfaces";
8
8
  declare class Scorm12API extends BaseAPI {
9
9
  private static _globalLearnerPrefs;
@@ -38,7 +38,7 @@ declare class Scorm12API extends BaseAPI {
38
38
  replaceWithAnotherScormAPI(newAPI: Scorm12API): void;
39
39
  renderCommitCMI(terminateCommit: boolean, includeTotalTime?: boolean): StringKeyMap | Array<string>;
40
40
  renderCommitObject(terminateCommit: boolean, includeTotalTime?: boolean): CommitObject;
41
- storeData(terminateCommit: boolean): ResultObject;
41
+ storeData(terminateCommit: boolean, trigger?: CommitTrigger): ResultObject;
42
42
  private processCommitData;
43
43
  }
44
44
  export default Scorm12API;
@@ -4,7 +4,7 @@ import { BaseCMI } from "./cmi/common/base_cmi";
4
4
  import { CMI } from "./cmi/scorm2004/cmi";
5
5
  import { CMIObjectivesObject } from "./cmi/scorm2004/objectives";
6
6
  import { ADL } from "./cmi/scorm2004/adl";
7
- import { CommitObject, ResultObject, SequencingStateMetadata, Settings } from "./types";
7
+ import { CommitObject, CommitTrigger, ResultObject, SequencingStateMetadata, Settings } from "./types";
8
8
  import { IHttpService } from "./interfaces";
9
9
  import { SequencingConfiguration, SequencingEventListeners, SequencingService } from "./services";
10
10
  declare class Scorm2004API extends BaseAPI {
@@ -51,11 +51,12 @@ declare class Scorm2004API extends BaseAPI {
51
51
  validateCorrectResponse(CMIElement: string, value: any): void;
52
52
  private _peekCMIValue;
53
53
  getCMIValue(CMIElement: string): any;
54
+ protected checkUninitializedGet(CMIElement: string, returnValue: any): void;
54
55
  getLmsErrorMessageDetails(errorNumber: string | number, detail: boolean): string;
55
56
  replaceWithAnotherScormAPI(newAPI: Scorm2004API): void;
56
57
  renderCommitCMI(terminateCommit: boolean, includeTotalTime?: boolean): StringKeyMap | Array<any>;
57
58
  renderCommitObject(terminateCommit: boolean, includeTotalTime?: boolean): CommitObject;
58
- storeData(terminateCommit: boolean): ResultObject;
59
+ storeData(terminateCommit: boolean, trigger?: CommitTrigger): ResultObject;
59
60
  private configureSequencing;
60
61
  private configureActivityTree;
61
62
  private configureSequencingRules;
@@ -9,6 +9,7 @@ export declare class CMIScore extends BaseCMI {
9
9
  private readonly __invalid_range_code;
10
10
  private readonly __decimal_regex;
11
11
  private readonly __error_class;
12
+ private readonly __allow_empty_string;
12
13
  protected _raw: string;
13
14
  protected _min: string;
14
15
  protected _max: string;
@@ -22,6 +23,7 @@ export declare class CMIScore extends BaseCMI {
22
23
  invalidRangeCode?: number;
23
24
  decimalRegex?: string;
24
25
  errorClass: typeof BaseScormValidationError;
26
+ allowEmptyString?: boolean;
25
27
  });
26
28
  reset(): void;
27
29
  get _children(): string;
@@ -1,11 +1,12 @@
1
- import { CommitObject, LogLevel, ResultObject, Settings } from "../types/api_types";
1
+ import { CommitEventContext, CommitMetadata, CommitObject, LogLevel, ResultObject, Settings } from "../types/api_types";
2
2
  import { ErrorCode } from "../constants/error_codes";
3
3
  import { LogLevelEnum } from "../constants/enums";
4
4
  import { BaseCMI } from "../cmi/common/base_cmi";
5
5
  import { ValidationError } from "../exceptions";
6
6
  import { StringKeyMap } from "../utilities";
7
7
  export interface IHttpService {
8
- processHttpRequest(url: string, params: CommitObject | StringKeyMap | Array<any>, immediate: boolean, apiLog: (functionName: string, message: any, messageLevel: LogLevelEnum, CMIElement?: string) => void, processListeners: (functionName: string, CMIElement?: string, value?: any) => void): ResultObject;
8
+ readonly reportsRequestCompletion?: boolean;
9
+ processHttpRequest(url: string, params: CommitObject | StringKeyMap | Array<any>, immediate: boolean, apiLog: (functionName: string, message: any, messageLevel: LogLevelEnum, CMIElement?: string) => void, processListeners: (functionName: string, CMIElement?: string, value?: any) => void, metadata?: CommitMetadata, onRequestComplete?: () => void): ResultObject;
9
10
  updateSettings(settings: Settings): void;
10
11
  }
11
12
  export type ScormEventCallback = (...args: any[]) => void;
@@ -13,7 +14,7 @@ export interface IEventService {
13
14
  on(listenerName: string, callback: ScormEventCallback): void;
14
15
  off(listenerName: string, callback: ScormEventCallback): void;
15
16
  clear(listenerName: string): void;
16
- processListeners(functionName: string, CMIElement?: string, value?: any): void;
17
+ processListeners(functionName: string, CMIElement?: string, value?: any, context?: CommitEventContext): void;
17
18
  reset(): void;
18
19
  }
19
20
  export interface ISerializationService {
@@ -49,7 +50,10 @@ export interface ILoggingService {
49
50
  debug(logMessage: string): void;
50
51
  }
51
52
  export interface IOfflineStorageService {
52
- storeOffline(courseId: string, commitData: CommitObject): ResultObject;
53
+ storeOffline(courseId: string, commitData: CommitObject, metadata?: {
54
+ isTerminateCommit?: boolean;
55
+ sequence?: number;
56
+ }): ResultObject;
53
57
  getOfflineData(courseId: string): Promise<CommitObject | null>;
54
58
  syncOfflineData(): Promise<boolean>;
55
59
  hasPendingOfflineData(courseId: string): Promise<boolean>;
@@ -1,13 +1,14 @@
1
- import { CommitObject, InternalSettings, ResultObject } from "../types/api_types";
1
+ import { CommitMetadata, CommitObject, InternalSettings, ResultObject } from "../types/api_types";
2
2
  import { LogLevelEnum } from "../constants/enums";
3
3
  import { IHttpService } from "../interfaces/services";
4
4
  import { ErrorCode } from "../constants/error_codes";
5
5
  import { StringKeyMap } from "../utilities";
6
6
  export declare class AsynchronousHttpService implements IHttpService {
7
+ readonly reportsRequestCompletion = true;
7
8
  private settings;
8
9
  private error_codes;
9
10
  constructor(settings: InternalSettings, error_codes: ErrorCode);
10
- processHttpRequest(url: string, params: CommitObject | StringKeyMap | Array<any>, immediate: boolean | undefined, apiLog: (functionName: string, message: any, messageLevel: LogLevelEnum, CMIElement?: string) => void, processListeners: (functionName: string, CMIElement?: string, value?: any) => void): ResultObject;
11
+ processHttpRequest(url: string, params: CommitObject | StringKeyMap | Array<any>, immediate: boolean | undefined, apiLog: (functionName: string, message: any, messageLevel: LogLevelEnum, CMIElement?: string) => void, processListeners: (functionName: string, CMIElement?: string, value?: any) => void, metadata?: CommitMetadata, onRequestComplete?: () => void): ResultObject;
11
12
  private _performAsyncRequest;
12
13
  private _prepareRequestBody;
13
14
  private performFetch;
@@ -1,4 +1,4 @@
1
- import { LogLevel } from "../types/api_types";
1
+ import { CommitEventContext, LogLevel } from "../types/api_types";
2
2
  import { IEventService, ScormEventCallback } from "../interfaces/services";
3
3
  export declare class EventService implements IEventService {
4
4
  private listenerMap;
@@ -9,7 +9,7 @@ export declare class EventService implements IEventService {
9
9
  on(listenerName: string, callback: ScormEventCallback): void;
10
10
  off(listenerName: string, callback: ScormEventCallback): void;
11
11
  clear(listenerName: string): void;
12
- processListeners(functionName: string, CMIElement?: string, value?: any): void;
12
+ processListeners(functionName: string, CMIElement?: string, value?: any, context?: CommitEventContext): void;
13
13
  reset(): void;
14
14
  }
15
15
  //# sourceMappingURL=EventService.d.ts.map
@@ -1,6 +1,10 @@
1
1
  import { CommitObject, InternalSettings, ResultObject } from "../types/api_types";
2
2
  import { LogLevelEnum } from "../constants/enums";
3
3
  import { ErrorCode } from "../constants/error_codes";
4
+ type OfflineCommitMetadata = {
5
+ isTerminateCommit?: boolean;
6
+ sequence?: number;
7
+ };
4
8
  export declare class OfflineStorageService {
5
9
  private apiLog;
6
10
  private settings;
@@ -14,7 +18,7 @@ export declare class OfflineStorageService {
14
18
  constructor(settings: InternalSettings, error_codes: ErrorCode, apiLog: (functionName: string, message: any, messageLevel: LogLevelEnum, CMIElement?: string) => void);
15
19
  private handleOnlineStatusChange;
16
20
  private handleCustomNetworkStatus;
17
- storeOffline(courseId: string, commitData: CommitObject): ResultObject;
21
+ storeOffline(courseId: string, commitData: CommitObject, metadata?: OfflineCommitMetadata): ResultObject;
18
22
  getOfflineData(courseId: string): Promise<CommitObject | null>;
19
23
  syncOfflineData(): Promise<boolean>;
20
24
  private sendDataToLMS;
@@ -25,4 +29,5 @@ export declare class OfflineStorageService {
25
29
  updateSettings(settings: InternalSettings): void;
26
30
  destroy(): void;
27
31
  }
32
+ export {};
28
33
  //# sourceMappingURL=OfflineStorageService.d.ts.map
@@ -1,4 +1,4 @@
1
- import { CommitObject, InternalSettings, ResultObject } from "../types/api_types";
1
+ import { CommitMetadata, CommitObject, InternalSettings, ResultObject } from "../types/api_types";
2
2
  import { IHttpService } from "../interfaces/services";
3
3
  import { ErrorCode } from "../constants/error_codes";
4
4
  import { StringKeyMap } from "../utilities";
@@ -6,7 +6,7 @@ export declare class SynchronousHttpService implements IHttpService {
6
6
  private settings;
7
7
  private error_codes;
8
8
  constructor(settings: InternalSettings, error_codes: ErrorCode);
9
- processHttpRequest(url: string, params: CommitObject | StringKeyMap | Array<any>, immediate: boolean | undefined, _apiLog: (functionName: string, message: any, messageLevel: number, CMIElement?: string) => void, _processListeners: (functionName: string, CMIElement?: string, value?: any) => void): ResultObject;
9
+ processHttpRequest(url: string, params: CommitObject | StringKeyMap | Array<any>, immediate: boolean | undefined, _apiLog: (functionName: string, message: any, messageLevel: number, CMIElement?: string) => void, _processListeners: (functionName: string, CMIElement?: string, value?: any) => void, metadata?: CommitMetadata, _onRequestComplete?: () => void): ResultObject;
10
10
  private _handleImmediateRequest;
11
11
  private _performSyncXHR;
12
12
  private _prepareRequestBody;
@@ -1,6 +1,6 @@
1
1
  import { BaseScormValidationError } from "../exceptions";
2
2
  export declare class ValidationService {
3
- validateScore(CMIElement: string, value: string, decimalRegex: string, scoreRange: string | false, invalidTypeCode: number, invalidRangeCode: number, errorClass: typeof BaseScormValidationError): boolean;
3
+ validateScore(CMIElement: string, value: string, decimalRegex: string, scoreRange: string | false, invalidTypeCode: number, invalidRangeCode: number, errorClass: typeof BaseScormValidationError, allowEmptyString?: boolean): boolean;
4
4
  validateScorm12Audio(CMIElement: string, value: string): boolean;
5
5
  validateScorm12Language(CMIElement: string, value: string): boolean;
6
6
  validateScorm12Speed(CMIElement: string, value: string): boolean;
@@ -2,6 +2,19 @@ import { CompletionStatus, LogLevelEnum, SuccessStatus } from "../constants/enum
2
2
  import { StringKeyMap } from "../utilities";
3
3
  import { SequencingSettings } from "./sequencing_types";
4
4
  import type { IHttpService } from "../interfaces/services";
5
+ export type CommitTrigger = "autocommit" | "manual" | "terminate" | "offline-replay";
6
+ export type CommitMetadata = {
7
+ isTerminateCommit: boolean;
8
+ trigger: CommitTrigger;
9
+ sequence?: number;
10
+ };
11
+ export type CommitEventContext = {
12
+ url: string;
13
+ trigger: CommitTrigger;
14
+ isTerminateCommit: boolean;
15
+ sequence?: number;
16
+ errorCode?: number;
17
+ };
5
18
  export type Settings = {
6
19
  autocommit?: boolean | undefined;
7
20
  autocommitSeconds?: number | undefined;
@@ -22,7 +35,10 @@ export type Settings = {
22
35
  fetchMode?: "cors" | "no-cors" | "same-origin" | "navigate" | undefined;
23
36
  responseHandler?: ((response: Response) => Promise<ResultObject>) | undefined;
24
37
  xhrResponseHandler?: ((xhr: XMLHttpRequest) => ResultObject) | undefined;
25
- requestHandler?: ((commitObject: unknown) => unknown) | undefined;
38
+ requestHandler?: ((commitObject: unknown, metadata?: CommitMetadata) => unknown) | undefined;
39
+ terminateCommitParam?: string | undefined;
40
+ terminateCommitPayloadField?: string | undefined;
41
+ includeCommitSequence?: boolean | undefined;
26
42
  onLogMessage?: ((messageLevel: LogLevel, logMessage: string) => void) | undefined;
27
43
  mastery_override?: boolean | undefined;
28
44
  score_overrides_status?: boolean | undefined;
@@ -66,7 +82,10 @@ export type InternalSettings = {
66
82
  fetchMode: "cors" | "no-cors" | "same-origin" | "navigate";
67
83
  responseHandler: (response: Response) => Promise<ResultObject>;
68
84
  xhrResponseHandler: (xhr: XMLHttpRequest) => ResultObject;
69
- requestHandler: (commitObject: unknown) => unknown;
85
+ requestHandler: (commitObject: unknown, metadata?: CommitMetadata) => unknown;
86
+ terminateCommitParam?: string | undefined;
87
+ terminateCommitPayloadField?: string | undefined;
88
+ includeCommitSequence?: boolean | undefined;
70
89
  onLogMessage?: ((messageLevel: LogLevel, logMessage: string) => void) | undefined;
71
90
  mastery_override?: boolean | undefined;
72
91
  score_overrides_status?: boolean | undefined;
@@ -121,6 +140,7 @@ export type CommitObject = {
121
140
  sessionId?: string;
122
141
  activityId?: string;
123
142
  attempt?: number;
143
+ commitSequence?: number;
124
144
  };
125
145
  export type CommitObjectWithScore = CommitObject & {
126
146
  score: ScoreObject;
@@ -1,4 +1,5 @@
1
1
  export * from "./core";
2
+ export { appendQueryParam } from "./url";
2
3
  export { PlayerEventAdapter } from "./PlayerEventAdapter";
3
4
  export type { NavigationState, ScoStatus, CourseProgress, ScoDelivery, SessionEndReason, SessionEndData, PlayerEventAdapterCallbacks, PlayerEventAdapterConfig, } from "./PlayerEventAdapter";
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,2 @@
1
+ export declare const appendQueryParam: (url: string, name: string, value: string | number | boolean) => string;
2
+ //# sourceMappingURL=url.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "scorm-again",
3
- "version": "3.0.5",
3
+ "version": "3.1.0",
4
4
  "description": "A modern SCORM JavaScript run-time library for SCORM 1.2 and SCORM 2004",
5
5
  "main": "dist/scorm-again.js",
6
6
  "types": "index.d.ts",
@@ -90,44 +90,44 @@
90
90
  "test": "test"
91
91
  },
92
92
  "devDependencies": {
93
- "@babel/core": "7.29.7",
94
- "@babel/preset-env": "7.29.7",
95
- "@cyclonedx/cyclonedx-npm": "4.2.1",
93
+ "@babel/core": "<8",
94
+ "@babel/preset-env": "<8",
95
+ "@cyclonedx/cyclonedx-npm": "^5.0.0",
96
96
  "@eslint/js": "10.0.1",
97
97
  "@mo36924/rollup-plugin-cache": "1.6.11",
98
- "@playwright/test": "1.60.0",
99
- "@rollup/plugin-babel": "7.0.0",
98
+ "@playwright/test": "1.61.1",
99
+ "@rollup/plugin-babel": "7.1.0",
100
100
  "@rollup/plugin-terser": "1.0.0",
101
101
  "@rollup/plugin-typescript": "12.3.0",
102
102
  "@types/cors": "^2.8.19",
103
103
  "@types/express": "^5.0.6",
104
- "@vitest/coverage-v8": "4.1.7",
105
- "@vitest/ui": "4.1.7",
104
+ "@vitest/coverage-v8": "4.1.9",
105
+ "@vitest/ui": "4.1.9",
106
106
  "cors": "^2.8.6",
107
- "esbuild": "0.28.0",
108
- "eslint": "10.4.0",
109
- "eslint-plugin-jsdoc": "63.0.0",
107
+ "esbuild": "0.28.1",
108
+ "eslint": "10.6.0",
109
+ "eslint-plugin-jsdoc": "63.0.10",
110
110
  "express": "^5.2.1",
111
111
  "extract-zip": "2.0.1",
112
112
  "fast-check": "4.8.0",
113
113
  "glob": "13.0.6",
114
- "globals": "17.6.0",
114
+ "globals": "17.7.0",
115
115
  "jsdom": "29.1.1",
116
- "monocart-coverage-reports": "^2.12.11",
117
- "monocart-reporter": "^2.11.2",
118
- "playwright": "1.60.0",
119
- "prettier": "3.8.3",
120
- "rollup": "4.60.4",
116
+ "monocart-coverage-reports": "^2.12.12",
117
+ "monocart-reporter": "^2.12.1",
118
+ "playwright": "1.61.1",
119
+ "prettier": "3.9.4",
120
+ "rollup": "4.62.2",
121
121
  "rollup-plugin-dts": "6.4.1",
122
122
  "rollup-plugin-esbuild": "6.2.1",
123
123
  "standard-version": "9.5.0",
124
124
  "terser": "5.48.0",
125
125
  "tslib": "2.8.1",
126
- "tsx": "4.22.3",
126
+ "tsx": "4.22.5",
127
127
  "typescript": "6.0.3",
128
- "typescript-eslint": "8.60.0",
129
- "vite": "8.0.14",
130
- "vitest": "4.1.7"
128
+ "typescript-eslint": "8.62.1",
129
+ "vite": "8.1.3",
130
+ "vitest": "4.1.9"
131
131
  },
132
132
  "engines": {
133
133
  "node": ">=20.19.0"