@7n/test 0.14.1 → 0.14.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.
- package/CHANGELOG.md +6 -0
- package/package.json +1 -1
- package/src/coverage/coverage.mjs +14 -2
package/CHANGELOG.md
CHANGED
package/package.json
CHANGED
|
@@ -226,16 +226,28 @@ export async function runCoverageSteps(opts = {}) {
|
|
|
226
226
|
return 0
|
|
227
227
|
}
|
|
228
228
|
|
|
229
|
+
/**
|
|
230
|
+
* Ключ локу/дедупу для `withLock`. `--changed` і full-режим виконують принципово різну
|
|
231
|
+
* роботу (changed ніколи не пише COVERAGE.md) — спільний ключ дозволив би успішному
|
|
232
|
+
* `--changed`-прогону (exitCode 0, той самий fingerprint дерева) дедуплікувати наступний
|
|
233
|
+
* full-прогін, і COVERAGE.md ніколи б не записався.
|
|
234
|
+
* @param {boolean} [changed] чи `--changed`-режим
|
|
235
|
+
* @returns {string} ключ локу
|
|
236
|
+
*/
|
|
237
|
+
function lockKey(changed) {
|
|
238
|
+
return changed ? 'coverage-changed' : 'coverage'
|
|
239
|
+
}
|
|
240
|
+
|
|
229
241
|
/**
|
|
230
242
|
* CLI entrypoint для `@7n/test coverage [--fix] [--changed]`.
|
|
231
243
|
* @param {{cwd?:string, fix?:boolean, changed?:boolean}} [opts]
|
|
232
244
|
* @returns {Promise<number>} exit code
|
|
233
245
|
*/
|
|
234
246
|
export async function runCoverageCli(opts = {}) {
|
|
235
|
-
const code = await withLock(
|
|
247
|
+
const code = await withLock(lockKey(opts.changed), () => runCoverageSteps(opts))
|
|
236
248
|
if (code === 0 && opts.fix) {
|
|
237
249
|
console.log('\n♻️ Повторний coverage після агента…\n')
|
|
238
|
-
return withLock(
|
|
250
|
+
return withLock(lockKey(opts.changed), () => runCoverageSteps({ cwd: opts.cwd, fix: false, changed: opts.changed }))
|
|
239
251
|
}
|
|
240
252
|
return code
|
|
241
253
|
}
|