From 1d8f226b47637e80c74106799208da5df93b2a04 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me=20Benoit?= Date: Fri, 15 Sep 2023 19:16:28 +0200 Subject: [PATCH] refactor!: rename staticPool tunable in worker section to fixedPool MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Jérôme Benoit --- README.md | 10 +- package.json | 6 +- pnpm-lock.yaml | 112 +++++------ src/charging-station/Bootstrap.ts | 2 +- src/utils/Configuration.ts | 18 +- src/worker/WorkerFactory.ts | 6 +- ...WorkerStaticPool.ts => WorkerFixedPool.ts} | 4 +- src/worker/WorkerTypes.ts | 2 +- ui/web/package.json | 2 +- ui/web/pnpm-lock.yaml | 176 +++++++++--------- 10 files changed, 174 insertions(+), 164 deletions(-) rename src/worker/{WorkerStaticPool.ts => WorkerFixedPool.ts} (93%) diff --git a/README.md b/README.md index 93ef8c22..dec5da6b 100644 --- a/README.md +++ b/README.md @@ -105,7 +105,7 @@ But the modifications to test have to be done to the files in the build target d | supervisionUrls | | [] | string \| string[] | string or strings array containing global connection URIs to OCPP-J servers | | supervisionUrlDistribution | round-robin/random/charging-station-affinity | charging-station-affinity | string | supervision urls distribution policy to simulated charging stations | | log | | {
"enabled": true,
"file": "logs/combined.log",
"errorFile": "logs/error.log",
"statisticsInterval": 60,
"level": "info",
"console": false,
"format": "simple",
"rotate": true
} | {
enabled: boolean;
file: string;
errorFile: string;
statisticsInterval: number;
level: string;
console: boolean;
format: string;
rotate: boolean;
maxFiles: string \| number;
maxSize: string \| number;
} | Log configuration section:
- _enabled_: enable logging
- _file_: log file relative path
- _errorFile_: error log file relative path
- _statisticsInterval_: seconds between charging stations statistics output in the logs
- _level_: emerg/alert/crit/error/warning/notice/info/debug [winston](https://github.com/winstonjs/winston) logging level
- _console_: output logs on the console
- _format_: [winston](https://github.com/winstonjs/winston) log format
- _rotate_: enable daily log files rotation
- _maxFiles_: maximum number of log files: https://github.com/winstonjs/winston-daily-rotate-file#options
- _maxSize_: maximum size of log files in bytes, or units of kb, mb, and gb: https://github.com/winstonjs/winston-daily-rotate-file#options | -| worker | | {
"processType": "workerSet",
"startDelay": 500,
"elementStartDelay": 0,
"elementsPerWorker": 'auto',
"poolMinSize": 4,
"poolMaxSize": 16
} | {
processType: WorkerProcessType;
startDelay: number;
elementStartDelay: number;
elementsPerWorker: number \| 'auto';
poolMinSize: number;
poolMaxSize: number;
} | Worker configuration section:
- _processType_: worker threads process type (`workerSet`/`staticPool`/`dynamicPool`)
- _startDelay_: milliseconds to wait at worker threads startup (only for `workerSet` worker threads process type)
- _elementStartDelay_: milliseconds to wait at charging station startup
- _elementsPerWorker_: number of charging stations per worker threads for the `workerSet` process type (`auto` means (number of stations) / (number of CPUs) \* 1.5 if (number of stations) > (number of CPUs), otherwise 1)
- _poolMinSize_: worker threads pool minimum number of threads
- _poolMaxSize_: worker threads pool maximum number of threads | +| worker | | {
"processType": "workerSet",
"startDelay": 500,
"elementStartDelay": 0,
"elementsPerWorker": 'auto',
"poolMinSize": 4,
"poolMaxSize": 16
} | {
processType: WorkerProcessType;
startDelay: number;
elementStartDelay: number;
elementsPerWorker: number \| 'auto';
poolMinSize: number;
poolMaxSize: number;
} | Worker configuration section:
- _processType_: worker threads process type (`workerSet`/`fixedPool`/`dynamicPool`)
- _startDelay_: milliseconds to wait at worker threads startup (only for `workerSet` worker threads process type)
- _elementStartDelay_: milliseconds to wait at charging station startup
- _elementsPerWorker_: number of charging stations per worker threads for the `workerSet` process type (`auto` means (number of stations) / (number of CPUs) \* 1.5 if (number of stations) > (number of CPUs), otherwise 1)
- _poolMinSize_: worker threads pool minimum number of threads
- _poolMaxSize_: worker threads pool maximum number of threads | | uiServer | | {
"enabled": false,
"type": "ws",
"version": "1.1",
"options": {
"host": "localhost",
"port": 8080
}
} | {
enabled: boolean;
type: ApplicationProtocol;
version: ApplicationProtocolVersion;
options: ServerOptions;
authentication: {
enabled: boolean;
type: AuthenticationType;
username: string;
password: string;
}
} | UI server configuration section:
- _enabled_: enable UI server
- _type_: 'http' or 'ws'
- _version_: HTTP version '1.1' or '2.0'
- _options_: node.js net module [listen options](https://nodejs.org/api/net.html#serverlistenoptions-callback) | | performanceStorage | | {
"enabled": false,
"type": "jsonfile",
"uri": "file:///performance/performanceRecords.json"
} | {
enabled: boolean;
type: string;
uri: string;
} | Performance storage configuration section:
- _enabled_: enable performance storage
- _type_: 'jsonfile' or 'mongodb'
- _uri_: storage URI | | stationTemplateUrls | | {}[] | {
file: string;
numberOfStations: number;
}[] | array of charging station configuration templates URIs configuration section (charging station configuration template file name and number of stations) | @@ -113,13 +113,13 @@ But the modifications to test have to be done to the files in the build target d #### Worker process model - **workerSet**: - Worker set executing each a static number (elementsPerWorker) of simulated charging stations from the total + Worker set executing each a fixed number (elementsPerWorker) of simulated charging stations from the total -- **staticPool**: - Statically sized worker pool executing a static total number of simulated charging stations +- **fixedPool**: + Fixedly sized worker pool executing a fixed total number of simulated charging stations - **dynamicPool** (experimental): - Dynamically sized worker pool executing a static total number of simulated charging stations + Dynamically sized worker pool executing a fixed total number of simulated charging stations ### Charging station configuration template diff --git a/package.json b/package.json index f81f5d7b..5fa26cee 100644 --- a/package.json +++ b/package.json @@ -112,7 +112,7 @@ "just-merge": "^3.2.0", "logform": "^2.5.1", "mnemonist": "^0.39.5", - "mongodb": "^6.0.0", + "mongodb": "^6.1.0", "poolifier": "^2.6.44", "source-map-support": "^0.5.21", "tar": "^6.2.0", @@ -135,7 +135,7 @@ "@rollup/plugin-typescript": "^11.1.3", "@types/mocha": "^10.0.1", "@types/mochawesome": "^6.2.1", - "@types/node": "^20.6.0", + "@types/node": "^20.6.1", "@types/sinon": "^10.0.16", "@types/tar": "^6.1.6", "@types/ws": "^8.5.5", @@ -150,7 +150,7 @@ "eslint-config-prettier": "^9.0.0", "eslint-import-resolver-typescript": "^3.6.0", "eslint-plugin-import": "^2.28.1", - "eslint-plugin-jsdoc": "^46.7.0", + "eslint-plugin-jsdoc": "^46.8.1", "eslint-plugin-n": "^16.1.0", "eslint-plugin-prettier": "^5.0.0", "eslint-plugin-tsdoc": "^0.2.17", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c518dc18..63e074cb 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -54,8 +54,8 @@ dependencies: specifier: ^0.39.5 version: 0.39.5 mongodb: - specifier: ^6.0.0 - version: 6.0.0 + specifier: ^6.1.0 + version: 6.1.0 poolifier: specifier: ^2.6.44 version: 2.6.44 @@ -115,8 +115,8 @@ devDependencies: specifier: ^6.2.1 version: 6.2.1 '@types/node': - specifier: ^20.6.0 - version: 20.6.0 + specifier: ^20.6.1 + version: 20.6.1 '@types/sinon': specifier: ^10.0.16 version: 10.0.16 @@ -160,8 +160,8 @@ devDependencies: specifier: ^2.28.1 version: 2.28.1(@typescript-eslint/parser@6.7.0)(eslint-import-resolver-typescript@3.6.0)(eslint@8.49.0) eslint-plugin-jsdoc: - specifier: ^46.7.0 - version: 46.7.0(eslint@8.49.0) + specifier: ^46.8.1 + version: 46.8.1(eslint@8.49.0) eslint-plugin-n: specifier: ^16.1.0 version: 16.1.0(eslint@8.49.0) @@ -215,7 +215,7 @@ devDependencies: version: 16.0.0 ts-node: specifier: ^10.9.1 - version: 10.9.1(@types/node@20.6.0)(typescript@5.2.2) + version: 10.9.1(@types/node@20.6.1)(typescript@5.2.2) typescript: specifier: ~5.2.2 version: 5.2.2 @@ -276,8 +276,8 @@ packages: chalk: 2.4.2 dev: true - /@babel/helper-validator-identifier@7.22.15: - resolution: {integrity: sha512-4E/F9IIEi8WR94324mbDUMo074YTheJmd7eZF5vITTeYchqAi6sYXRLHUVsmkdmY4QjfKTcB2jB7dVP3NaBElQ==} + /@babel/helper-validator-identifier@7.22.19: + resolution: {integrity: sha512-Tinq7ybnEPFFXhlYOYFiSjespWQk0dq2dRNAiMdRTOYQzEGqnnNyrTxPYHP5r6wGjlF1rFgABdDV0g8EwD6Qbg==} engines: {node: '>=6.9.0'} dev: true @@ -285,7 +285,7 @@ packages: resolution: {integrity: sha512-C/BaXcnnvBCmHTpz/VGZ8jgtE2aYlW4hxDhseJAWZb7gqGM/qtCK6iZUb0TyKFf7BOUsBH7Q7fkRsDRhg1XklQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-validator-identifier': 7.22.15 + '@babel/helper-validator-identifier': 7.22.19 chalk: 2.4.2 js-tokens: 4.0.0 dev: true @@ -742,7 +742,7 @@ packages: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 20.6.0 + '@types/node': 20.6.1 '@types/yargs': 17.0.24 chalk: 4.1.2 dev: true @@ -1317,7 +1317,7 @@ packages: optional: true dependencies: '@rollup/pluginutils': 5.0.4(rollup@3.29.1) - resolve: 1.22.4 + resolve: 1.22.5 rollup: 3.29.1 tslib: 2.6.2 typescript: 5.2.2 @@ -1457,7 +1457,7 @@ packages: resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} dependencies: '@types/minimatch': 5.1.2 - '@types/node': 20.6.0 + '@types/node': 20.6.1 dev: true /@types/http-cache-semantics@4.0.1: @@ -1517,8 +1517,8 @@ packages: resolution: {integrity: sha512-bUBrPjEry2QUTsnuEjzjbS7voGWCc30W0qzgMf90GPeDGFRakvrz47ju+oqDAKCXLUCe39u57/ORMl/O/04/9g==} dev: true - /@types/node@20.6.0: - resolution: {integrity: sha512-najjVq5KN2vsH2U/xyh2opaSEz6cZMR2SetLIlxlj08nOcmPOemJmUK2o4kUzfLqfrWE0PIrNeE16XhYDd3nqg==} + /@types/node@20.6.1: + resolution: {integrity: sha512-4LcJvuXQlv4lTHnxwyHQZ3uR9Zw2j7m1C9DfuwoTFQQP4Pmu04O6IfLYgMmHoOCt0nosItLLZAH+sOrRE0Bo8g==} /@types/normalize-package-data@2.4.1: resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} @@ -1553,7 +1553,7 @@ packages: /@types/tar@6.1.6: resolution: {integrity: sha512-HQ06kiiDXz9uqtmE9ksQUn1ovcPr1gGV9EgaCWo6FGYKD0onNBCetBzL0kfcS8Kbj1EFxJWY9jL2W4ZvvtGI8Q==} dependencies: - '@types/node': 20.6.0 + '@types/node': 20.6.1 minipass: 4.2.8 dev: true @@ -1572,14 +1572,14 @@ packages: /@types/whatwg-url@8.2.2: resolution: {integrity: sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==} dependencies: - '@types/node': 20.6.0 + '@types/node': 20.6.1 '@types/webidl-conversions': 7.0.0 dev: false /@types/ws@8.5.5: resolution: {integrity: sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg==} dependencies: - '@types/node': 20.6.0 + '@types/node': 20.6.1 dev: true /@types/yargs-parser@21.0.0: @@ -2007,7 +2007,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.2.1 - es-abstract: 1.22.1 + es-abstract: 1.22.2 get-intrinsic: 1.2.1 is-string: 1.0.7 dev: true @@ -2022,7 +2022,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.2.1 - es-abstract: 1.22.1 + es-abstract: 1.22.2 es-shim-unscopables: 1.0.0 get-intrinsic: 1.2.1 dev: true @@ -2033,7 +2033,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.2.1 - es-abstract: 1.22.1 + es-abstract: 1.22.2 es-shim-unscopables: 1.0.0 dev: true @@ -2043,7 +2043,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.2.1 - es-abstract: 1.22.1 + es-abstract: 1.22.2 es-shim-unscopables: 1.0.0 dev: true @@ -2053,7 +2053,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.2.1 - es-abstract: 1.22.1 + es-abstract: 1.22.2 es-array-method-boxes-properly: 1.0.0 is-string: 1.0.7 dev: true @@ -2065,7 +2065,7 @@ packages: array-buffer-byte-length: 1.0.0 call-bind: 1.0.2 define-properties: 1.2.1 - es-abstract: 1.22.1 + es-abstract: 1.22.2 get-intrinsic: 1.2.1 is-array-buffer: 3.0.2 is-shared-array-buffer: 1.0.2 @@ -2316,7 +2316,7 @@ packages: hasBin: true dependencies: quote-stream: 1.0.2 - resolve: 1.22.4 + resolve: 1.22.5 static-module: 3.0.4 through2: 2.0.5 dev: true @@ -2344,7 +2344,7 @@ packages: /browser-resolve@2.0.0: resolution: {integrity: sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==} dependencies: - resolve: 1.22.4 + resolve: 1.22.5 dev: true /browser-stdout@1.3.1: @@ -2444,7 +2444,7 @@ packages: querystring-es3: 0.2.1 read-only-stream: 2.0.0 readable-stream: 2.3.8 - resolve: 1.22.4 + resolve: 1.22.5 shasum-object: 1.0.0 shell-quote: 1.8.1 stream-browserify: 3.0.0 @@ -2455,7 +2455,7 @@ packages: through2: 2.0.5 timers-browserify: 1.4.2 tty-browserify: 0.0.1 - url: 0.11.2 + url: 0.11.3 util: 0.12.5 vm-browserify: 1.1.2 xtend: 4.0.2 @@ -3787,8 +3787,8 @@ packages: is-arrayish: 0.2.1 dev: true - /es-abstract@1.22.1: - resolution: {integrity: sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==} + /es-abstract@1.22.2: + resolution: {integrity: sha512-YoxfFcDmhjOgWPWsV13+2RNjq1F6UQnfs+8TftwNqtzlmFzEXvlUwdrNrYeaizfjQzRMxkZ6ElWMOJIFKdVqwA==} engines: {node: '>= 0.4'} dependencies: array-buffer-byte-length: 1.0.0 @@ -3999,7 +3999,7 @@ packages: dependencies: debug: 3.2.7 is-core-module: 2.13.0 - resolve: 1.22.4 + resolve: 1.22.5 transitivePeerDependencies: - supports-color dev: true @@ -4103,8 +4103,8 @@ packages: - supports-color dev: true - /eslint-plugin-jsdoc@46.7.0(eslint@8.49.0): - resolution: {integrity: sha512-VuNF+5WaiqocDDA6zvm+/D6DYo+DPFuSBOb8oSWbu0CVh+aaL3TAtpB0L0XdYYib1HHudMCHd2QeA25Tn1Pkfw==} + /eslint-plugin-jsdoc@46.8.1(eslint@8.49.0): + resolution: {integrity: sha512-uTce7IBluPKXIQMWJkIwFsI1gv7sZRmLjctca2K5DIxPi8fSBj9f4iru42XmGwuiMyH2f3nfc60sFmnSGv4Z/A==} engines: {node: '>=16'} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -4137,7 +4137,7 @@ packages: ignore: 5.2.4 is-core-module: 2.13.0 minimatch: 3.1.2 - resolve: 1.22.4 + resolve: 1.22.5 semver: 7.5.4 dev: true @@ -4674,7 +4674,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.2.1 - es-abstract: 1.22.1 + es-abstract: 1.22.2 functions-have-names: 1.2.3 dev: true @@ -5925,7 +5925,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.6.0 + '@types/node': 20.6.1 chalk: 4.1.2 ci-info: 3.8.0 graceful-fs: 4.2.11 @@ -6895,7 +6895,7 @@ packages: inherits: 2.0.4 parents: 1.0.1 readable-stream: 2.3.8 - resolve: 1.22.4 + resolve: 1.22.5 stream-combiner2: 1.1.1 subarg: 1.0.0 through2: 2.0.5 @@ -6917,8 +6917,8 @@ packages: whatwg-url: 11.0.0 dev: false - /mongodb@6.0.0: - resolution: {integrity: sha512-wUIYesF4DTyDccm0noE5TwGi9ISdXUAi9T2cQ4xPc+EUBZG44bfMVt2ecOG5Ypca7eCz3oRpJm6YI6c7jAnuNw==} + /mongodb@6.1.0: + resolution: {integrity: sha512-AvzNY0zMkpothZ5mJAaIo2bGDjlJQqqAbn9fvtVgwIIUPEfdrqGxqNjjbuKyrgQxg2EvCmfWdjq+4uj96c0YPw==} engines: {node: '>=16.20.1'} peerDependencies: '@aws-sdk/credential-providers': ^3.188.0 @@ -7210,7 +7210,7 @@ packages: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} dependencies: hosted-git-info: 2.8.9 - resolve: 1.22.4 + resolve: 1.22.5 semver: 7.5.4 validate-npm-package-license: 3.0.4 dev: true @@ -7311,7 +7311,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.2.1 - es-abstract: 1.22.1 + es-abstract: 1.22.2 dev: true /object.groupby@1.0.1: @@ -7319,7 +7319,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.2.1 - es-abstract: 1.22.1 + es-abstract: 1.22.2 get-intrinsic: 1.2.1 dev: true @@ -7329,7 +7329,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.2.1 - es-abstract: 1.22.1 + es-abstract: 1.22.2 dev: true /obliterator@2.0.4: @@ -7769,7 +7769,7 @@ packages: postcss: 8.4.29 postcss-value-parser: 4.2.0 read-cache: 1.0.0 - resolve: 1.22.4 + resolve: 1.22.5 dev: true /postcss-value-parser@4.2.0: @@ -7867,7 +7867,7 @@ packages: array.prototype.map: 1.0.6 call-bind: 1.0.2 define-properties: 1.2.1 - es-abstract: 1.22.1 + es-abstract: 1.22.2 get-intrinsic: 1.2.1 iterate-value: 1.0.2 dev: true @@ -8124,14 +8124,14 @@ packages: resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} engines: {node: '>= 0.10'} dependencies: - resolve: 1.22.4 + resolve: 1.22.5 dev: true /rechoir@0.8.0: resolution: {integrity: sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==} engines: {node: '>= 10.13.0'} dependencies: - resolve: 1.22.4 + resolve: 1.22.5 /redent@3.0.0: resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} @@ -8301,8 +8301,8 @@ packages: path-parse: 1.0.7 dev: true - /resolve@1.22.4: - resolution: {integrity: sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==} + /resolve@1.22.5: + resolution: {integrity: sha512-qWhv7PF1V95QPvRoUGHxOtnAlEvlXBylMZcjUR9pAumMmveFtcHJRXGIr+TkjfNJVQypqv2qcDiiars2y1PsSg==} hasBin: true dependencies: is-core-module: 2.13.0 @@ -9000,7 +9000,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.2.1 - es-abstract: 1.22.1 + es-abstract: 1.22.2 dev: true /string.prototype.trimend@1.0.7: @@ -9008,7 +9008,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.2.1 - es-abstract: 1.22.1 + es-abstract: 1.22.2 dev: true /string.prototype.trimstart@1.0.7: @@ -9016,7 +9016,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.2.1 - es-abstract: 1.22.1 + es-abstract: 1.22.2 dev: true /string_decoder@1.1.1: @@ -9378,7 +9378,7 @@ packages: yn: 3.1.1 dev: true - /ts-node@10.9.1(@types/node@20.6.0)(typescript@5.2.2): + /ts-node@10.9.1(@types/node@20.6.1)(typescript@5.2.2): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -9397,7 +9397,7 @@ packages: '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.6.0 + '@types/node': 20.6.1 acorn: 8.10.0 acorn-walk: 8.2.0 arg: 4.1.3 @@ -9741,8 +9741,8 @@ packages: requires-port: 1.0.0 dev: true - /url@0.11.2: - resolution: {integrity: sha512-7yIgNnrST44S7PJ5+jXbdIupfU1nWUdQJBFBeJRclPXiWgCvrSq5Frw8lr/i//n5sqDfzoKmBymMS81l4U/7cg==} + /url@0.11.3: + resolution: {integrity: sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==} dependencies: punycode: 1.4.1 qs: 6.11.2 diff --git a/src/charging-station/Bootstrap.ts b/src/charging-station/Bootstrap.ts index 66b2d5f8..4e8b43a9 100644 --- a/src/charging-station/Bootstrap.ts +++ b/src/charging-station/Bootstrap.ts @@ -162,7 +162,7 @@ export class Bootstrap extends EventEmitter { Configuration.workerDynamicPoolInUse() && console.warn( chalk.yellow( - 'Charging stations simulator is using dynamic pool mode. This is an experimental feature with known issues.\nPlease consider using static pool or worker set mode instead', + 'Charging stations simulator is using dynamic pool mode. This is an experimental feature with known issues.\nPlease consider using fixed pool or worker set mode instead', ), ); console.info(chalk.green('Worker set/pool information:'), this.workerImplementation?.info); diff --git a/src/utils/Configuration.ts b/src/utils/Configuration.ts index 6b8023ab..0c5a356a 100644 --- a/src/utils/Configuration.ts +++ b/src/utils/Configuration.ts @@ -104,7 +104,7 @@ export class Configuration { } public static workerPoolInUse(): boolean { - return [WorkerProcessType.dynamicPool, WorkerProcessType.staticPool].includes( + return [WorkerProcessType.dynamicPool, WorkerProcessType.fixedPool].includes( Configuration.getConfigurationSection(ConfigurationSection.worker) .processType!, ); @@ -385,17 +385,17 @@ export class Configuration { `Use '${ConfigurationSection.worker}' section to define the worker pool minimum size instead`, ); Configuration.warnDeprecatedConfigurationKey( - 'workerPoolSize;', + 'workerPoolSize', undefined, `Use '${ConfigurationSection.worker}' section to define the worker pool maximum size instead`, ); Configuration.warnDeprecatedConfigurationKey( - 'workerPoolMaxSize;', + 'workerPoolMaxSize', undefined, `Use '${ConfigurationSection.worker}' section to define the worker pool maximum size instead`, ); Configuration.warnDeprecatedConfigurationKey( - 'workerPoolStrategy;', + 'workerPoolStrategy', undefined, `Use '${ConfigurationSection.worker}' section to define the worker pool strategy instead`, ); @@ -404,6 +404,16 @@ export class Configuration { ConfigurationSection.worker, 'Not publicly exposed to end users', ); + if ( + Configuration.getConfigurationData()?.worker?.processType === + ('staticPool' as WorkerProcessType) + ) { + console.error( + `${chalk.green(Configuration.logPrefix())} ${chalk.red( + `Deprecated configuration 'staticPool' value usage in worker section 'processType' field. Use '${WorkerProcessType.fixedPool}' value instead`, + )}`, + ); + } // log section Configuration.warnDeprecatedConfigurationKey( 'logEnabled', diff --git a/src/worker/WorkerFactory.ts b/src/worker/WorkerFactory.ts index 59fbf3a4..d248d3ba 100644 --- a/src/worker/WorkerFactory.ts +++ b/src/worker/WorkerFactory.ts @@ -3,8 +3,8 @@ import { isMainThread } from 'node:worker_threads'; import type { WorkerAbstract } from './WorkerAbstract'; import { DEFAULT_WORKER_OPTIONS } from './WorkerConstants'; import { WorkerDynamicPool } from './WorkerDynamicPool'; +import { WorkerFixedPool } from './WorkerFixedPool'; import { WorkerSet } from './WorkerSet'; -import { WorkerStaticPool } from './WorkerStaticPool'; import { type WorkerData, type WorkerOptions, WorkerProcessType } from './WorkerTypes'; export class WorkerFactory { @@ -26,8 +26,8 @@ export class WorkerFactory { case WorkerProcessType.workerSet: workerImplementation = new WorkerSet(workerScript, workerOptions); break; - case WorkerProcessType.staticPool: - workerImplementation = new WorkerStaticPool(workerScript, workerOptions); + case WorkerProcessType.fixedPool: + workerImplementation = new WorkerFixedPool(workerScript, workerOptions); break; case WorkerProcessType.dynamicPool: workerImplementation = new WorkerDynamicPool(workerScript, workerOptions); diff --git a/src/worker/WorkerStaticPool.ts b/src/worker/WorkerFixedPool.ts similarity index 93% rename from src/worker/WorkerStaticPool.ts rename to src/worker/WorkerFixedPool.ts index fb70bc43..f2a47cef 100644 --- a/src/worker/WorkerStaticPool.ts +++ b/src/worker/WorkerFixedPool.ts @@ -4,11 +4,11 @@ import { WorkerAbstract } from './WorkerAbstract'; import type { WorkerData, WorkerOptions } from './WorkerTypes'; import { randomizeDelay, sleep } from './WorkerUtils'; -export class WorkerStaticPool extends WorkerAbstract { +export class WorkerFixedPool extends WorkerAbstract { private readonly pool: FixedThreadPool; /** - * Creates a new `WorkerStaticPool`. + * Creates a new `WorkerFixedPool`. * * @param workerScript - * @param workerOptions - diff --git a/src/worker/WorkerTypes.ts b/src/worker/WorkerTypes.ts index 12d5ab26..806808d8 100644 --- a/src/worker/WorkerTypes.ts +++ b/src/worker/WorkerTypes.ts @@ -6,7 +6,7 @@ export enum WorkerProcessType { workerSet = 'workerSet', /** @experimental */ dynamicPool = 'dynamicPool', - staticPool = 'staticPool', + fixedPool = 'fixedPool', } export interface SetInfo { diff --git a/ui/web/package.json b/ui/web/package.json index c123fc00..c57e2091 100644 --- a/ui/web/package.json +++ b/ui/web/package.json @@ -39,7 +39,7 @@ "devDependencies": { "@tsconfig/node20": "^20.1.2", "@types/jsdom": "^21.1.2", - "@types/node": "^20.6.0", + "@types/node": "^20.6.1", "@typescript-eslint/eslint-plugin": "^6.7.0", "@typescript-eslint/parser": "^6.7.0", "@vitejs/plugin-vue": "^4.3.4", diff --git a/ui/web/pnpm-lock.yaml b/ui/web/pnpm-lock.yaml index ec7678e6..a200879a 100644 --- a/ui/web/pnpm-lock.yaml +++ b/ui/web/pnpm-lock.yaml @@ -29,8 +29,8 @@ devDependencies: specifier: ^21.1.2 version: 21.1.2 '@types/node': - specifier: ^20.6.0 - version: 20.6.0 + specifier: ^20.6.1 + version: 20.6.1 '@typescript-eslint/eslint-plugin': specifier: ^6.7.0 version: 6.7.0(@typescript-eslint/parser@6.7.0)(eslint@8.49.0)(typescript@5.2.2) @@ -90,7 +90,7 @@ devDependencies: version: 5.2.2 vite: specifier: ^4.4.9 - version: 4.4.9(@types/node@20.6.0) + version: 4.4.9(@types/node@20.6.1) vitest: specifier: ^0.34.4 version: 0.34.4(jsdom@22.1.0) @@ -123,20 +123,20 @@ packages: engines: {node: '>=6.9.0'} dev: true - /@babel/core@7.22.17: - resolution: {integrity: sha512-2EENLmhpwplDux5PSsZnSbnSkB3tZ6QTksgO25xwEL7pIDcNOMhF5v/s6RzwjMZzZzw9Ofc30gHv5ChCC8pifQ==} + /@babel/core@7.22.19: + resolution: {integrity: sha512-Q8Yj5X4LHVYTbLCKVz0//2D2aDmHF4xzCdEttYvKOnWvErGsa6geHXD6w46x64n5tP69VfeH+IfSrdyH3MLhwA==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.1 '@babel/code-frame': 7.22.13 '@babel/generator': 7.22.15 '@babel/helper-compilation-targets': 7.22.15 - '@babel/helper-module-transforms': 7.22.17(@babel/core@7.22.17) + '@babel/helper-module-transforms': 7.22.19(@babel/core@7.22.19) '@babel/helpers': 7.22.15 '@babel/parser': 7.22.16 '@babel/template': 7.22.15 - '@babel/traverse': 7.22.17 - '@babel/types': 7.22.17 + '@babel/traverse': 7.22.19 + '@babel/types': 7.22.19 convert-source-map: 1.9.0 debug: 4.3.4 gensync: 1.0.0-beta.2 @@ -150,7 +150,7 @@ packages: resolution: {integrity: sha512-Zu9oWARBqeVOW0dZOjXc3JObrzuqothQ3y/n1kUtrjCoCPLkXUwMvOo/F/TCfoHMbWIFlWwpZtkZVb9ga4U2pA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.17 + '@babel/types': 7.22.19 '@jridgewell/gen-mapping': 0.3.3 '@jridgewell/trace-mapping': 0.3.19 jsesc: 2.5.2 @@ -160,7 +160,7 @@ packages: resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.17 + '@babel/types': 7.22.19 dev: true /@babel/helper-compilation-targets@7.22.15: @@ -174,19 +174,19 @@ packages: semver: 7.5.4 dev: true - /@babel/helper-create-class-features-plugin@7.22.15(@babel/core@7.22.17): + /@babel/helper-create-class-features-plugin@7.22.15(@babel/core@7.22.19): resolution: {integrity: sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.19 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.22.5 '@babel/helper-function-name': 7.22.5 '@babel/helper-member-expression-to-functions': 7.22.15 '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/helper-replace-supers': 7.22.9(@babel/core@7.22.17) + '@babel/helper-replace-supers': 7.22.9(@babel/core@7.22.19) '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 semver: 7.5.4 @@ -202,49 +202,49 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.22.15 - '@babel/types': 7.22.17 + '@babel/types': 7.22.19 dev: true /@babel/helper-hoist-variables@7.22.5: resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.17 + '@babel/types': 7.22.19 dev: true /@babel/helper-member-expression-to-functions@7.22.15: resolution: {integrity: sha512-qLNsZbgrNh0fDQBCPocSL8guki1hcPvltGDv/NxvUoABwFq7GkKSu1nRXeJkVZc+wJvne2E0RKQz+2SQrz6eAA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.17 + '@babel/types': 7.22.19 dev: true /@babel/helper-module-imports@7.22.15: resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.17 + '@babel/types': 7.22.19 dev: true - /@babel/helper-module-transforms@7.22.17(@babel/core@7.22.17): - resolution: {integrity: sha512-XouDDhQESrLHTpnBtCKExJdyY4gJCdrvH2Pyv8r8kovX2U8G0dRUOT45T9XlbLtuu9CLXP15eusnkprhoPV5iQ==} + /@babel/helper-module-transforms@7.22.19(@babel/core@7.22.19): + resolution: {integrity: sha512-m6h1cJvn+OJ+R3jOHp30faq5xKJ7VbjwDj5RGgHuRlU9hrMeKsGC+JpihkR5w1g7IfseCPPtZ0r7/hB4UKaYlA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.19 '@babel/helper-environment-visitor': 7.22.5 '@babel/helper-module-imports': 7.22.15 '@babel/helper-simple-access': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 - '@babel/helper-validator-identifier': 7.22.15 + '@babel/helper-validator-identifier': 7.22.19 dev: true /@babel/helper-optimise-call-expression@7.22.5: resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.17 + '@babel/types': 7.22.19 dev: true /@babel/helper-plugin-utils@7.22.5: @@ -252,13 +252,13 @@ packages: engines: {node: '>=6.9.0'} dev: true - /@babel/helper-replace-supers@7.22.9(@babel/core@7.22.17): + /@babel/helper-replace-supers@7.22.9(@babel/core@7.22.19): resolution: {integrity: sha512-LJIKvvpgPOPUThdYqcX6IXRuIcTkcAub0IaDRGCZH0p5GPUp7PhRU9QVgFcDDd51BaPkk77ZjqFwh6DZTAEmGg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.19 '@babel/helper-environment-visitor': 7.22.5 '@babel/helper-member-expression-to-functions': 7.22.15 '@babel/helper-optimise-call-expression': 7.22.5 @@ -268,29 +268,29 @@ packages: resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.17 + '@babel/types': 7.22.19 dev: true /@babel/helper-skip-transparent-expression-wrappers@7.22.5: resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.17 + '@babel/types': 7.22.19 dev: true /@babel/helper-split-export-declaration@7.22.6: resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.17 + '@babel/types': 7.22.19 dev: true /@babel/helper-string-parser@7.22.5: resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==} engines: {node: '>=6.9.0'} - /@babel/helper-validator-identifier@7.22.15: - resolution: {integrity: sha512-4E/F9IIEi8WR94324mbDUMo074YTheJmd7eZF5vITTeYchqAi6sYXRLHUVsmkdmY4QjfKTcB2jB7dVP3NaBElQ==} + /@babel/helper-validator-identifier@7.22.19: + resolution: {integrity: sha512-Tinq7ybnEPFFXhlYOYFiSjespWQk0dq2dRNAiMdRTOYQzEGqnnNyrTxPYHP5r6wGjlF1rFgABdDV0g8EwD6Qbg==} engines: {node: '>=6.9.0'} /@babel/helper-validator-option@7.22.15: @@ -303,8 +303,8 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.22.15 - '@babel/traverse': 7.22.17 - '@babel/types': 7.22.17 + '@babel/traverse': 7.22.19 + '@babel/types': 7.22.19 transitivePeerDependencies: - supports-color dev: true @@ -313,7 +313,7 @@ packages: resolution: {integrity: sha512-C/BaXcnnvBCmHTpz/VGZ8jgtE2aYlW4hxDhseJAWZb7gqGM/qtCK6iZUb0TyKFf7BOUsBH7Q7fkRsDRhg1XklQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-validator-identifier': 7.22.15 + '@babel/helper-validator-identifier': 7.22.19 chalk: 2.4.2 js-tokens: 4.0.0 dev: true @@ -323,39 +323,39 @@ packages: engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.22.17 + '@babel/types': 7.22.19 - /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.22.17): + /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.22.19): resolution: {integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.19 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.22.17): + /@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.22.19): resolution: {integrity: sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.19 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-typescript@7.22.15(@babel/core@7.22.17): + /@babel/plugin-transform-typescript@7.22.15(@babel/core@7.22.19): resolution: {integrity: sha512-1uirS0TnijxvQLnlv5wQBwOX3E1wCFX7ITv+9pBV2wKEk4K+M5tqDaoNXnTH8tjEIYHLO98MwiTWO04Ggz4XuA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.19 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.22.17) + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.22.19) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.17) + '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.19) dev: true /@babel/template@7.22.15: @@ -364,11 +364,11 @@ packages: dependencies: '@babel/code-frame': 7.22.13 '@babel/parser': 7.22.16 - '@babel/types': 7.22.17 + '@babel/types': 7.22.19 dev: true - /@babel/traverse@7.22.17: - resolution: {integrity: sha512-xK4Uwm0JnAMvxYZxOVecss85WxTEIbTa7bnGyf/+EgCL5Zt3U7htUpEOWv9detPlamGKuRzCqw74xVglDWpPdg==} + /@babel/traverse@7.22.19: + resolution: {integrity: sha512-ZCcpVPK64krfdScRbpxF6xA5fz7IOsfMwx1tcACvCzt6JY+0aHkBk7eIU8FRDSZRU5Zei6Z4JfgAxN1bqXGECg==} engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.22.13 @@ -378,19 +378,19 @@ packages: '@babel/helper-hoist-variables': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 '@babel/parser': 7.22.16 - '@babel/types': 7.22.17 + '@babel/types': 7.22.19 debug: 4.3.4 globals: 11.12.0 transitivePeerDependencies: - supports-color dev: true - /@babel/types@7.22.17: - resolution: {integrity: sha512-YSQPHLFtQNE5xN9tHuZnzu8vPr61wVTBZdfv1meex1NBosa4iT05k/Jw06ddJugi4bk7The/oSwQGFcksmEJQg==} + /@babel/types@7.22.19: + resolution: {integrity: sha512-P7LAw/LbojPzkgp5oznjE6tQEIWbp4PkkfrZDINTro9zgBRtI324/EYsiSI7lhPbpIQ+DCeR2NNmMWANGGfZsg==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-string-parser': 7.22.5 - '@babel/helper-validator-identifier': 7.22.15 + '@babel/helper-validator-identifier': 7.22.19 to-fast-properties: 2.0.0 /@bcoe/v8-coverage@0.2.3: @@ -779,7 +779,7 @@ packages: /@types/jsdom@21.1.2: resolution: {integrity: sha512-bGj+7TaCkOwkJfx7HtS9p22Ij0A2aKMuz8a1+owpkxa1wU/HUBy/WAXhdv90uDdVI9rSjGvUrXmLSeA9VP3JeA==} dependencies: - '@types/node': 20.6.0 + '@types/node': 20.6.1 '@types/tough-cookie': 4.0.3 parse5: 7.1.2 dev: true @@ -792,8 +792,8 @@ packages: resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} dev: true - /@types/node@20.6.0: - resolution: {integrity: sha512-najjVq5KN2vsH2U/xyh2opaSEz6cZMR2SetLIlxlj08nOcmPOemJmUK2o4kUzfLqfrWE0PIrNeE16XhYDd3nqg==} + /@types/node@20.6.1: + resolution: {integrity: sha512-4LcJvuXQlv4lTHnxwyHQZ3uR9Zw2j7m1C9DfuwoTFQQP4Pmu04O6IfLYgMmHoOCt0nosItLLZAH+sOrRE0Bo8g==} dev: true /@types/semver@7.5.2: @@ -942,10 +942,10 @@ packages: vite: ^4.0.0 vue: ^3.0.0 dependencies: - '@babel/core': 7.22.17 - '@babel/plugin-transform-typescript': 7.22.15(@babel/core@7.22.17) - '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.22.17) - vite: 4.4.9(@types/node@20.6.0) + '@babel/core': 7.22.19 + '@babel/plugin-transform-typescript': 7.22.15(@babel/core@7.22.19) + '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.22.19) + vite: 4.4.9(@types/node@20.6.1) vue: 3.3.4 transitivePeerDependencies: - supports-color @@ -958,7 +958,7 @@ packages: vite: ^4.0.0 vue: ^3.2.25 dependencies: - vite: 4.4.9(@types/node@20.6.0) + vite: 4.4.9(@types/node@20.6.1) vue: 3.3.4 dev: true @@ -1025,17 +1025,17 @@ packages: resolution: {integrity: sha512-SgUymFpMoAyWeYWLAY+MkCK3QEROsiUnfaw5zxOVD/M64KQs8D/4oK6Q5omVA2hnvEOE0SCkH2TZxs/jnnUj7w==} dev: true - /@vue/babel-plugin-jsx@1.1.5(@babel/core@7.22.17): + /@vue/babel-plugin-jsx@1.1.5(@babel/core@7.22.19): resolution: {integrity: sha512-nKs1/Bg9U1n3qSWnsHhCVQtAzI6aQXqua8j/bZrau8ywT1ilXQbK4FwEJGmU8fV7tcpuFvWmmN7TMmV1OBma1g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.17 + '@babel/core': 7.22.19 '@babel/helper-module-imports': 7.22.15 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.17) + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.19) '@babel/template': 7.22.15 - '@babel/traverse': 7.22.17 - '@babel/types': 7.22.17 + '@babel/traverse': 7.22.19 + '@babel/types': 7.22.19 '@vue/babel-helper-vue-transform-on': 1.1.5 camelcase: 6.3.0 html-tags: 3.3.1 @@ -1270,7 +1270,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.2.1 - es-abstract: 1.22.1 + es-abstract: 1.22.2 get-intrinsic: 1.2.1 is-string: 1.0.7 dev: true @@ -1286,7 +1286,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.2.1 - es-abstract: 1.22.1 + es-abstract: 1.22.2 es-shim-unscopables: 1.0.0 get-intrinsic: 1.2.1 dev: true @@ -1297,7 +1297,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.2.1 - es-abstract: 1.22.1 + es-abstract: 1.22.2 es-shim-unscopables: 1.0.0 dev: true @@ -1307,7 +1307,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.2.1 - es-abstract: 1.22.1 + es-abstract: 1.22.2 es-shim-unscopables: 1.0.0 dev: true @@ -1318,7 +1318,7 @@ packages: array-buffer-byte-length: 1.0.0 call-bind: 1.0.2 define-properties: 1.2.1 - es-abstract: 1.22.1 + es-abstract: 1.22.2 get-intrinsic: 1.2.1 is-array-buffer: 3.0.2 is-shared-array-buffer: 1.0.2 @@ -1383,7 +1383,7 @@ packages: hasBin: true dependencies: caniuse-lite: 1.0.30001534 - electron-to-chromium: 1.4.520 + electron-to-chromium: 1.4.522 node-releases: 2.0.13 update-browserslist-db: 1.0.11(browserslist@4.21.10) dev: true @@ -1702,8 +1702,8 @@ packages: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} dev: false - /electron-to-chromium@1.4.520: - resolution: {integrity: sha512-Frfus2VpYADsrh1lB3v/ft/WVFlVzOIm+Q0p7U7VqHI6qr7NWHYKe+Wif3W50n7JAFoBsWVsoU0+qDks6WQ60g==} + /electron-to-chromium@1.4.522: + resolution: {integrity: sha512-KGKjcafTpOxda0kqwQ72M0tDmX6RsGhUJTy0Hr7slt0+CgHh9Oex8JdjY9Og68dUkTLUlBOJC0A5W5Mw3QSGCg==} dev: true /emoji-regex@8.0.0: @@ -1732,8 +1732,8 @@ packages: engines: {node: '>=0.12'} dev: true - /es-abstract@1.22.1: - resolution: {integrity: sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==} + /es-abstract@1.22.2: + resolution: {integrity: sha512-YoxfFcDmhjOgWPWsV13+2RNjq1F6UQnfs+8TftwNqtzlmFzEXvlUwdrNrYeaizfjQzRMxkZ6ElWMOJIFKdVqwA==} engines: {node: '>= 0.4'} dependencies: array-buffer-byte-length: 1.0.0 @@ -1869,7 +1869,7 @@ packages: dependencies: debug: 3.2.7 is-core-module: 2.13.0 - resolve: 1.22.4 + resolve: 1.22.5 transitivePeerDependencies: - supports-color dev: true @@ -2264,7 +2264,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.2.1 - es-abstract: 1.22.1 + es-abstract: 1.22.2 functions-have-names: 1.2.3 dev: true @@ -3100,7 +3100,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.2.1 - es-abstract: 1.22.1 + es-abstract: 1.22.2 dev: true /object.groupby@1.0.1: @@ -3108,7 +3108,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.2.1 - es-abstract: 1.22.1 + es-abstract: 1.22.2 get-intrinsic: 1.2.1 dev: true @@ -3118,7 +3118,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.2.1 - es-abstract: 1.22.1 + es-abstract: 1.22.2 dev: true /on-finished@2.4.1: @@ -3365,8 +3365,8 @@ packages: resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} dev: true - /resolve@1.22.4: - resolution: {integrity: sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==} + /resolve@1.22.5: + resolution: {integrity: sha512-qWhv7PF1V95QPvRoUGHxOtnAlEvlXBylMZcjUR9pAumMmveFtcHJRXGIr+TkjfNJVQypqv2qcDiiars2y1PsSg==} hasBin: true dependencies: is-core-module: 2.13.0 @@ -3586,7 +3586,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.2.1 - es-abstract: 1.22.1 + es-abstract: 1.22.2 dev: true /string.prototype.trimend@1.0.7: @@ -3594,7 +3594,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.2.1 - es-abstract: 1.22.1 + es-abstract: 1.22.2 dev: true /string.prototype.trimstart@1.0.7: @@ -3602,7 +3602,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.2.1 - es-abstract: 1.22.1 + es-abstract: 1.22.2 dev: true /strip-ansi@6.0.1: @@ -3898,7 +3898,7 @@ packages: convert-source-map: 1.9.0 dev: true - /vite-node@0.34.4(@types/node@20.6.0): + /vite-node@0.34.4(@types/node@20.6.1): resolution: {integrity: sha512-ho8HtiLc+nsmbwZMw8SlghESEE3KxJNp04F/jPUCLVvaURwt0d+r9LxEqCX5hvrrOQ0GSyxbYr5ZfRYhQ0yVKQ==} engines: {node: '>=v14.18.0'} hasBin: true @@ -3908,7 +3908,7 @@ packages: mlly: 1.4.2 pathe: 1.1.1 picocolors: 1.0.0 - vite: 4.4.9(@types/node@20.6.0) + vite: 4.4.9(@types/node@20.6.1) transitivePeerDependencies: - '@types/node' - less @@ -3920,7 +3920,7 @@ packages: - terser dev: true - /vite@4.4.9(@types/node@20.6.0): + /vite@4.4.9(@types/node@20.6.1): resolution: {integrity: sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true @@ -3948,7 +3948,7 @@ packages: terser: optional: true dependencies: - '@types/node': 20.6.0 + '@types/node': 20.6.1 esbuild: 0.18.20 postcss: 8.4.29 rollup: 3.29.1 @@ -3989,7 +3989,7 @@ packages: dependencies: '@types/chai': 4.3.6 '@types/chai-subset': 1.3.3 - '@types/node': 20.6.0 + '@types/node': 20.6.1 '@vitest/expect': 0.34.4 '@vitest/runner': 0.34.4 '@vitest/snapshot': 0.34.4 @@ -4009,8 +4009,8 @@ packages: strip-literal: 1.3.0 tinybench: 2.5.1 tinypool: 0.7.0 - vite: 4.4.9(@types/node@20.6.0) - vite-node: 0.34.4(@types/node@20.6.0) + vite: 4.4.9(@types/node@20.6.1) + vite-node: 0.34.4(@types/node@20.6.1) why-is-node-running: 2.2.2 transitivePeerDependencies: - less -- 2.34.1