@spardutti/claude-skills 2.32.2 → 2.32.4

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.
@@ -34,36 +34,7 @@ const CONFIG = {
34
34
  ignoreStatic: true,
35
35
  tempDirName: ".stryker-tmp",
36
36
  };
37
-
38
- // Bumped whenever IGNORER changes. A project scaffolded before a rule existed
39
- // has no other way to learn about it, and the file is generated, not authored —
40
- // so a missing marker means overwrite, not keep.
41
- const IGNORER_VERSION = "v3";
42
-
43
- // .mjs, not .js: an app without "type": "module" in its package.json cannot
44
- // load ESM from a .js file, and the plugin is ESM.
45
- const IGNORER = `// Generated by @spardutti/claude-skills — ignorer ${IGNORER_VERSION}. Edits are
46
- // overwritten when the rules change.
47
- //
48
- // Ignore by WHERE the mutant sits, not by what kind it is. Disabling the
49
- // StringLiteral mutator globally would also stop mutating labels, keys and
50
- // separators — strings whose value is behaviour.
51
- //
52
- // Content in a module-level table is NOT handled here. Those are static mutants,
53
- // and \`ignoreStatic\` in stryker.config.json covers them for less.
54
- import { PluginKind, declareValuePlugin } from "@stryker-mutator/api/plugin";
55
-
56
- export const strykerPlugins = [
57
- declareValuePlugin(PluginKind.Ignore, "tailwind-classnames", {
58
- shouldIgnore(path) {
59
- if (path.find((p) => p.isJSXAttribute() && p.node.name.name === "className"))
60
- return "styling, not behaviour";
61
- if (path.find((p) => p.isCallExpression() && p.node.callee.name === "cn"))
62
- return "styling, not behaviour";
63
- },
64
- }),
65
- ];
66
- `;
37
+ import { IGNORER, IGNORER_VERSION } from "./stryker-ignorer.mjs";
67
38
 
68
39
  async function exists(p) {
69
40
  try {
@@ -0,0 +1,37 @@
1
+ // The class-name ignorer Stryker loads as a plugin — generated file content,
2
+ // not scaffolding logic, and the one step people skipped when the CLI printed
3
+ // steps instead of writing files.
4
+ //
5
+ // IGNORER_VERSION is what tells an existing install its copy is stale, so bump
6
+ // it whenever the body changes or nobody gets the fix.
7
+
8
+
9
+ // Bumped whenever IGNORER changes. A project scaffolded before a rule existed
10
+ // has no other way to learn about it, and the file is generated, not authored —
11
+ // so a missing marker means overwrite, not keep.
12
+ export const IGNORER_VERSION = "v3";
13
+
14
+ // .mjs, not .js: an app without "type": "module" in its package.json cannot
15
+ // load ESM from a .js file, and the plugin is ESM.
16
+ export const IGNORER = `// Generated by @spardutti/claude-skills — ignorer ${IGNORER_VERSION}. Edits are
17
+ // overwritten when the rules change.
18
+ //
19
+ // Ignore by WHERE the mutant sits, not by what kind it is. Disabling the
20
+ // StringLiteral mutator globally would also stop mutating labels, keys and
21
+ // separators — strings whose value is behaviour.
22
+ //
23
+ // Content in a module-level table is NOT handled here. Those are static mutants,
24
+ // and \`ignoreStatic\` in stryker.config.json covers them for less.
25
+ import { PluginKind, declareValuePlugin } from "@stryker-mutator/api/plugin";
26
+
27
+ export const strykerPlugins = [
28
+ declareValuePlugin(PluginKind.Ignore, "tailwind-classnames", {
29
+ shouldIgnore(path) {
30
+ if (path.find((p) => p.isJSXAttribute() && p.node.name.name === "className"))
31
+ return "styling, not behaviour";
32
+ if (path.find((p) => p.isCallExpression() && p.node.callee.name === "cn"))
33
+ return "styling, not behaviour";
34
+ },
35
+ }),
36
+ ];
37
+ `;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spardutti/claude-skills",
3
- "version": "2.32.2",
3
+ "version": "2.32.4",
4
4
  "description": "Guardrails for Claude Code — best-practice skills, planning commands, and delivery gates.",
5
5
  "type": "module",
6
6
  "repository": {