specifier: ^50.6.2
version: 50.6.2(eslint@9.18.0(jiti@2.4.2))
eslint-plugin-perfectionist:
- specifier: ^4.6.0
- version: 4.6.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3)
+ specifier: ^4.7.0
+ version: 4.7.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3)
globals:
specifier: ^15.14.0
version: 15.14.0
specifier: ^15.4.1
version: 15.4.1
mocha:
- specifier: ^11.0.1
- version: 11.0.1
+ specifier: ^11.1.0
+ version: 11.1.0
mochawesome:
specifier: ^7.1.3
- version: 7.1.3(mocha@11.0.1)
+ version: 7.1.3(mocha@11.1.0)
neostandard:
specifier: ^0.12.0
version: 0.12.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3)
resolution: {integrity: sha512-J7+VkpeGzhOt3FeG1+SzhiMj9NzGD/M6KoGn9f4dbz3YzK9hvbhVTmLj/HiTp9DazIzJ8B4XcM80LrR9Dm1rJw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ '@typescript-eslint/scope-manager@8.21.0':
+ resolution: {integrity: sha512-G3IBKz0/0IPfdeGRMbp+4rbjfSSdnGkXsM/pFZA8zM9t9klXDnB/YnKOBQ0GoPmoROa4bCq2NeHgJa5ydsQ4mA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
'@typescript-eslint/type-utils@8.20.0':
resolution: {integrity: sha512-bPC+j71GGvA7rVNAHAtOjbVXbLN5PkwqMvy1cwGeaxUoRQXVuKCebRoLzm+IPW/NtFFpstn1ummSIasD5t60GA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
resolution: {integrity: sha512-cqaMiY72CkP+2xZRrFt3ExRBu0WmVitN/rYPZErA80mHjHx/Svgp8yfbzkJmDoQ/whcytOPO9/IZXnOc+wigRA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ '@typescript-eslint/types@8.21.0':
+ resolution: {integrity: sha512-PAL6LUuQwotLW2a8VsySDBwYMm129vFm4tMVlylzdoTybTHaAi0oBp7Ac6LhSrHHOdLM3efH+nAR6hAWoMF89A==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
'@typescript-eslint/typescript-estree@8.20.0':
resolution: {integrity: sha512-Y7ncuy78bJqHI35NwzWol8E0X7XkRVS4K4P4TCyzWkOJih5NDvtoRDW4Ba9YJJoB2igm9yXDdYI/+fkiiAxPzA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <5.8.0'
+ '@typescript-eslint/typescript-estree@8.21.0':
+ resolution: {integrity: sha512-x+aeKh/AjAArSauz0GiQZsjT8ciadNMHdkUSwBB9Z6PrKc/4knM4g3UfHml6oDJmKC88a6//cdxnO/+P2LkMcg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ typescript: '>=4.8.4 <5.8.0'
+
'@typescript-eslint/utils@8.20.0':
resolution: {integrity: sha512-dq70RUw6UK9ei7vxc4KQtBRk7qkHZv447OUZ6RPQMQl71I3NZxQJX/f32Smr+iqWrB02pHKn2yAdHBb0KNrRMA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <5.8.0'
+ '@typescript-eslint/utils@8.21.0':
+ resolution: {integrity: sha512-xcXBfcq0Kaxgj7dwejMbFyq7IOHgpNMtVuDveK7w3ZGwG9owKzhALVwKpTF2yrZmEwl9SWdetf3fxNzJQaVuxw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0
+ typescript: '>=4.8.4 <5.8.0'
+
'@typescript-eslint/visitor-keys@8.20.0':
resolution: {integrity: sha512-v/BpkeeYAsPkKCkR8BDwcno0llhzWVqPOamQrAEMdpZav2Y9OVjd9dwJyBLJWwf335B5DmlifECIkZRJCaGaHA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ '@typescript-eslint/visitor-keys@8.21.0':
+ resolution: {integrity: sha512-BkLMNpdV6prozk8LlyK/SOoWLmUFi+ZD+pcqti9ILCbVvHGk1ui1g4jJOc2WDLaeExz2qWwojxlPce5PljcT3w==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
JSONStream@1.3.5:
resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==}
hasBin: true
resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==}
engines: {node: '>=18'}
- cliui@7.0.4:
- resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==}
-
cliui@8.0.1:
resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==}
engines: {node: '>=12'}
peerDependencies:
eslint: '>=8.23.0'
- eslint-plugin-perfectionist@4.6.0:
- resolution: {integrity: sha512-kOswTebUK0LlYExRwqz7YQtvyTUIRsKfp8XrwBBeHGh2e8MBOS6K+7VvG6HpmNckyKySi1I96uPeAlptMFGcRQ==}
+ eslint-plugin-perfectionist@4.7.0:
+ resolution: {integrity: sha512-e2ODzm2SsAztFWY3ZRJd1K702vyl8Sapacjc3JluOW294CfA3+jfjin+UxjcrK48EvlNIMOp+JJB9N54YR2LRw==}
engines: {node: ^18.0.0 || >=20.0.0}
peerDependencies:
eslint: '>=8.0.0'
resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
engines: {node: '>=16 || 14 >=14.17'}
- mocha@11.0.1:
- resolution: {integrity: sha512-+3GkODfsDG71KSCQhc4IekSW+ItCK/kiez1Z28ksWvYhKXV/syxMlerR/sC7whDp7IyreZ4YxceMLdTs5hQE8A==}
+ mocha@11.1.0:
+ resolution: {integrity: sha512-8uJR5RTC2NgpY3GrYcgpZrsEd9zKbPDpob1RezyR2upGHRQtHWofmzTMzTMSV6dru3tj5Ukt0+Vnq1qhFEEwAg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
hasBin: true
engines: {node: '>= 14'}
hasBin: true
- yargs-parser@20.2.9:
- resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==}
- engines: {node: '>=10'}
-
yargs-parser@21.1.1:
resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
engines: {node: '>=12'}
resolution: {integrity: sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==}
engines: {node: '>=10'}
- yargs@16.2.0:
- resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==}
- engines: {node: '>=10'}
-
yargs@17.7.2:
resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==}
engines: {node: '>=12'}
'@stylistic/eslint-plugin@2.11.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3)':
dependencies:
- '@typescript-eslint/utils': 8.20.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3)
+ '@typescript-eslint/utils': 8.21.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3)
eslint: 9.18.0(jiti@2.4.2)
eslint-visitor-keys: 4.2.0
espree: 10.3.0
'@typescript-eslint/types': 8.20.0
'@typescript-eslint/visitor-keys': 8.20.0
+ '@typescript-eslint/scope-manager@8.21.0':
+ dependencies:
+ '@typescript-eslint/types': 8.21.0
+ '@typescript-eslint/visitor-keys': 8.21.0
+
'@typescript-eslint/type-utils@8.20.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3)':
dependencies:
'@typescript-eslint/typescript-estree': 8.20.0(typescript@5.7.3)
'@typescript-eslint/types@8.20.0': {}
+ '@typescript-eslint/types@8.21.0': {}
+
'@typescript-eslint/typescript-estree@8.20.0(typescript@5.7.3)':
dependencies:
'@typescript-eslint/types': 8.20.0
transitivePeerDependencies:
- supports-color
+ '@typescript-eslint/typescript-estree@8.21.0(typescript@5.7.3)':
+ dependencies:
+ '@typescript-eslint/types': 8.21.0
+ '@typescript-eslint/visitor-keys': 8.21.0
+ debug: 4.4.0(supports-color@8.1.1)
+ fast-glob: 3.3.3
+ is-glob: 4.0.3
+ minimatch: 9.0.5
+ semver: 7.6.3
+ ts-api-utils: 2.0.0(typescript@5.7.3)
+ typescript: 5.7.3
+ transitivePeerDependencies:
+ - supports-color
+
'@typescript-eslint/utils@8.20.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3)':
dependencies:
'@eslint-community/eslint-utils': 4.4.1(eslint@9.18.0(jiti@2.4.2))
transitivePeerDependencies:
- supports-color
+ '@typescript-eslint/utils@8.21.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3)':
+ dependencies:
+ '@eslint-community/eslint-utils': 4.4.1(eslint@9.18.0(jiti@2.4.2))
+ '@typescript-eslint/scope-manager': 8.21.0
+ '@typescript-eslint/types': 8.21.0
+ '@typescript-eslint/typescript-estree': 8.21.0(typescript@5.7.3)
+ eslint: 9.18.0(jiti@2.4.2)
+ typescript: 5.7.3
+ transitivePeerDependencies:
+ - supports-color
+
'@typescript-eslint/visitor-keys@8.20.0':
dependencies:
'@typescript-eslint/types': 8.20.0
eslint-visitor-keys: 4.2.0
+ '@typescript-eslint/visitor-keys@8.21.0':
+ dependencies:
+ '@typescript-eslint/types': 8.21.0
+ eslint-visitor-keys: 4.2.0
+
JSONStream@1.3.5:
dependencies:
jsonparse: 1.3.1
slice-ansi: 5.0.0
string-width: 7.2.0
- cliui@7.0.4:
- dependencies:
- string-width: 4.2.3
- strip-ansi: 6.0.1
- wrap-ansi: 7.0.0
-
cliui@8.0.1:
dependencies:
string-width: 4.2.3
dependencies:
'@types/doctrine': 0.0.9
'@typescript-eslint/scope-manager': 8.20.0
- '@typescript-eslint/utils': 8.20.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3)
+ '@typescript-eslint/utils': 8.21.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3)
debug: 4.4.0(supports-color@8.1.1)
doctrine: 3.0.0
enhanced-resolve: 5.18.0
minimatch: 9.0.5
semver: 7.6.3
- eslint-plugin-perfectionist@4.6.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3):
+ eslint-plugin-perfectionist@4.7.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3):
dependencies:
- '@typescript-eslint/types': 8.20.0
- '@typescript-eslint/utils': 8.20.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3)
+ '@typescript-eslint/types': 8.21.0
+ '@typescript-eslint/utils': 8.21.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3)
eslint: 9.18.0(jiti@2.4.2)
natural-orderby: 5.0.0
transitivePeerDependencies:
minipass@7.1.2: {}
- mocha@11.0.1:
+ mocha@11.1.0:
dependencies:
ansi-colors: 4.1.3
browser-stdout: 1.3.1
strip-json-comments: 3.1.1
supports-color: 8.1.1
workerpool: 6.5.1
- yargs: 16.2.0
- yargs-parser: 20.2.9
+ yargs: 17.7.2
+ yargs-parser: 21.1.1
yargs-unparser: 2.0.0
mochawesome-report-generator@6.2.0:
validator: 13.12.0
yargs: 17.7.2
- mochawesome@7.1.3(mocha@11.0.1):
+ mochawesome@7.1.3(mocha@11.1.0):
dependencies:
chalk: 4.1.2
diff: 5.2.0
lodash.isfunction: 3.0.9
lodash.isobject: 3.0.2
lodash.isstring: 4.0.1
- mocha: 11.0.1
+ mocha: 11.1.0
mochawesome-report-generator: 6.2.0
strip-ansi: 6.0.1
uuid: 8.3.2
yaml@2.7.0: {}
- yargs-parser@20.2.9: {}
-
yargs-parser@21.1.1: {}
yargs-unparser@2.0.0:
flat: 5.0.2
is-plain-obj: 2.1.0
- yargs@16.2.0:
- dependencies:
- cliui: 7.0.4
- escalade: 3.2.0
- get-caller-file: 2.0.5
- require-directory: 2.1.1
- string-width: 4.2.3
- y18n: 5.0.8
- yargs-parser: 20.2.9
-
yargs@17.7.2:
dependencies:
cliui: 8.0.1
}
}
+ private readonly workerNodeStealTask = (
+ workerNodeKey: number
+ ): Task<Data> | undefined => {
+ const workerNodes = this.workerNodes
+ .slice()
+ .sort(
+ (workerNodeA, workerNodeB) =>
+ workerNodeB.usage.tasks.queued - workerNodeA.usage.tasks.queued
+ )
+ const sourceWorkerNode = workerNodes.find(
+ (sourceWorkerNode, sourceWorkerNodeKey) =>
+ sourceWorkerNodeKey !== workerNodeKey &&
+ sourceWorkerNode.usage.tasks.queued > 0
+ )
+ if (sourceWorkerNode != null) {
+ return this.stealTask(sourceWorkerNode, workerNodeKey)
+ }
+ }
+
private readonly handleWorkerNodeIdleEvent = (
eventDetail: WorkerNodeEventDetail,
previousStolenTask?: Task<Data>
++workerNode.getTaskFunctionWorkerUsage(taskName)!.tasks.stolen
}
}
-
- private readonly workerNodeStealTask = (
- workerNodeKey: number
- ): Task<Data> | undefined => {
- const workerNodes = this.workerNodes
- .slice()
- .sort(
- (workerNodeA, workerNodeB) =>
- workerNodeB.usage.tasks.queued - workerNodeA.usage.tasks.queued
- )
- const sourceWorkerNode = workerNodes.find(
- (sourceWorkerNode, sourceWorkerNodeKey) =>
- sourceWorkerNodeKey !== workerNodeKey &&
- sourceWorkerNode.usage.tasks.queued > 0
- )
- if (sourceWorkerNode != null) {
- return this.stealTask(sourceWorkerNode, workerNodeKey)
- }
- }
}