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.
@@ -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 an 80% floor on staged files via lint-staged."
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 changedCoverage = scriptMembers.find((member) => memberName5(member) === "test:unit:coverage:staged");
6283
- const changedCoverageCommand = memberValue3(changedCoverage);
6284
- if (changedCoverageCommand === void 0 || !/\bvitest\b/.test(changedCoverageCommand) || !RELATED_PATTERN.test(changedCoverageCommand) || !COVERAGE_FLAG_PATTERN.test(changedCoverageCommand)) {
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: changedCoverage ?? node,
6287
- message: 'package.json must declare a "test:unit:coverage:staged" script that runs vitest related with coverage.'
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 hasStagedChangedCoverage = lintStaged?.value.type === "Object" && lintStaged.value.members.some(
6292
- (member) => SOURCE_GLOB_PATTERN2.test(memberName5(member)) && stringValues2(member.value).some((command) => command.includes("npm run test:unit:coverage:staged"))
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 (!hasStagedChangedCoverage) {
6288
+ if (!hasStagedTests) {
6295
6289
  context.report({
6296
6290
  node: lintStaged ?? node,
6297
- message: 'package.json lint-staged must run "npm run test:unit:coverage:staged" for staged JavaScript or TypeScript files.'
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.1",
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:coverage:staged": "vitest related --run --coverage --coverage.changed --coverage.thresholds.perFile --coverage.thresholds.lines=80 --coverage.thresholds.functions=80 --coverage.thresholds.branches=80 --coverage.thresholds.statements=80 --coverage.thresholds.autoUpdate=false",
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:coverage:staged --"
40
+ "npm run test:unit:staged --"
41
41
  ]
42
42
  },
43
43
  "dependencies": {