pasika 0.7.1 → 0.7.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/dist/eslint/pasika/index.js +10 -26
- package/package.json +3 -3
|
@@ -6209,18 +6209,12 @@ var SOURCE_GLOB_PATTERN2 = /(?:^|[^a-z])(?:[cm]?[jt]sx?)(?:[^a-z]|$)/i;
|
|
|
6209
6209
|
var COVERAGE_FLAG_PATTERN = /(?:^|\s)--coverage(?:[=\s]|$)/;
|
|
6210
6210
|
var RELATED_PATTERN = /\brelated\b/;
|
|
6211
6211
|
var AUTO_UPDATE_PATTERN = /autoUpdate\s*:\s*true/;
|
|
6212
|
-
var CHANGED_FLAG_PATTERN = /--coverage\.changed\b/;
|
|
6213
|
-
var PER_FILE_FLAG_PATTERN = /--coverage\.thresholds\.perFile\b/;
|
|
6214
|
-
var AUTO_UPDATE_DISABLED_FLAG_PATTERN = /--coverage\.thresholds\.autoUpdate=false\b/;
|
|
6215
|
-
function hasEightyOrAboveFlag(command, metric) {
|
|
6216
|
-
return new RegExp(`--coverage\\.thresholds\\.${metric}=(?:8\\d|9\\d|100)\\b`).test(command);
|
|
6217
|
-
}
|
|
6218
6212
|
var vitestCoverageRule = {
|
|
6219
6213
|
meta: {
|
|
6220
6214
|
schema: [],
|
|
6221
6215
|
type: "problem",
|
|
6222
6216
|
docs: {
|
|
6223
|
-
description: "Require Vitest unit-test scripts, the V8 provider, a rising coverage threshold, and
|
|
6217
|
+
description: "Require Vitest unit-test scripts, the V8 provider, a rising aggregate coverage threshold, and related tests via lint-staged."
|
|
6224
6218
|
}
|
|
6225
6219
|
},
|
|
6226
6220
|
create(context) {
|
|
@@ -6279,32 +6273,22 @@ var vitestCoverageRule = {
|
|
|
6279
6273
|
message: `${configName} must set coverage.thresholds.autoUpdate to true.`
|
|
6280
6274
|
});
|
|
6281
6275
|
}
|
|
6282
|
-
const
|
|
6283
|
-
const
|
|
6284
|
-
if (
|
|
6276
|
+
const stagedTests = scriptMembers.find((member) => memberName5(member) === "test:unit:staged");
|
|
6277
|
+
const stagedTestsCommand = memberValue3(stagedTests);
|
|
6278
|
+
if (stagedTestsCommand === void 0 || !/\bvitest\b/.test(stagedTestsCommand) || !RELATED_PATTERN.test(stagedTestsCommand) || COVERAGE_FLAG_PATTERN.test(stagedTestsCommand)) {
|
|
6285
6279
|
context.report({
|
|
6286
|
-
node:
|
|
6287
|
-
message: 'package.json must declare a "test:unit:
|
|
6280
|
+
node: stagedTests ?? node,
|
|
6281
|
+
message: 'package.json must declare a "test:unit:staged" script that runs vitest related without coverage.'
|
|
6288
6282
|
});
|
|
6289
6283
|
}
|
|
6290
6284
|
const lintStaged = root.members.find((member) => memberName5(member) === "lint-staged");
|
|
6291
|
-
const
|
|
6292
|
-
(member) => SOURCE_GLOB_PATTERN2.test(memberName5(member)) && stringValues2(member.value).some((command) => command.includes("npm run test:unit:
|
|
6285
|
+
const hasStagedTests = lintStaged?.value.type === "Object" && lintStaged.value.members.some(
|
|
6286
|
+
(member) => SOURCE_GLOB_PATTERN2.test(memberName5(member)) && stringValues2(member.value).some((command) => command.includes("npm run test:unit:staged"))
|
|
6293
6287
|
);
|
|
6294
|
-
if (!
|
|
6288
|
+
if (!hasStagedTests) {
|
|
6295
6289
|
context.report({
|
|
6296
6290
|
node: lintStaged ?? node,
|
|
6297
|
-
message: 'package.json lint-staged must run "npm run test:unit:
|
|
6298
|
-
});
|
|
6299
|
-
}
|
|
6300
|
-
const changedCoverageCommandText = changedCoverageCommand ?? "";
|
|
6301
|
-
const hasEightyFloor = THRESHOLD_METRICS.every(
|
|
6302
|
-
(metric) => hasEightyOrAboveFlag(changedCoverageCommandText, metric)
|
|
6303
|
-
);
|
|
6304
|
-
if (!CHANGED_FLAG_PATTERN.test(changedCoverageCommandText) || !PER_FILE_FLAG_PATTERN.test(changedCoverageCommandText) || !hasEightyFloor || !AUTO_UPDATE_DISABLED_FLAG_PATTERN.test(changedCoverageCommandText)) {
|
|
6305
|
-
context.report({
|
|
6306
|
-
node: changedCoverage ?? node,
|
|
6307
|
-
message: 'package.json "test:unit:coverage:staged" script must pass --coverage.changed, a --coverage.thresholds.perFile of at least 80 for lines, functions, branches, and statements, and --coverage.thresholds.autoUpdate=false.'
|
|
6291
|
+
message: 'package.json lint-staged must run "npm run test:unit:staged" for staged JavaScript or TypeScript files.'
|
|
6308
6292
|
});
|
|
6309
6293
|
}
|
|
6310
6294
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pasika",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.2",
|
|
4
4
|
"description": "Reusable agent setup package",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -30,14 +30,14 @@
|
|
|
30
30
|
"prepare": "husky",
|
|
31
31
|
"test:unit": "vitest run",
|
|
32
32
|
"test:unit:coverage": "vitest run --coverage",
|
|
33
|
-
"test:unit:
|
|
33
|
+
"test:unit:staged": "vitest related --run",
|
|
34
34
|
"typecheck": "tsc --noEmit"
|
|
35
35
|
},
|
|
36
36
|
"lint-staged": {
|
|
37
37
|
"!(*.ts|*.mts|*.cts|*.tsx|*.js|*.cjs|*.mjs|*.jsx)": "npm run format:staged --",
|
|
38
38
|
"*.ts|*.mts|*.cts|*.tsx|*.js|*.cjs|*.mjs|*.jsx": [
|
|
39
39
|
"npm run lint:staged --",
|
|
40
|
-
"npm run test:unit:
|
|
40
|
+
"npm run test:unit:staged --"
|
|
41
41
|
]
|
|
42
42
|
},
|
|
43
43
|
"dependencies": {
|