@codyswann/lisa 1.85.8 → 1.85.10

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.
@@ -16,6 +16,21 @@ import type { Config } from "jest";
16
16
  * Projects can override via jest.thresholds.json.
17
17
  */
18
18
  export declare const defaultThresholds: Config["coverageThreshold"];
19
+ /**
20
+ * Returns the extra `testPathIgnorePatterns` entries a stack config
21
+ * should add to skip tests that live inside `.claude/worktrees/`.
22
+ *
23
+ * When jest runs from the primary checkout, tests inside worktrees
24
+ * should be skipped — each worktree has its own jest run. When jest
25
+ * runs from INSIDE a worktree (rootDir *is* the worktree), the same
26
+ * pattern would match every test path and jest would find zero tests.
27
+ * This helper returns `["/.claude/worktrees/"]` only when the current
28
+ * working directory is outside a worktree, so each stack can spread
29
+ * it into its own `testPathIgnorePatterns` without hand-rolling the
30
+ * conditional.
31
+ * @returns Single-entry array with the worktree ignore pattern, or an empty array when already inside a worktree.
32
+ */
33
+ export declare function worktreeTestPathIgnorePatterns(): readonly string[];
19
34
  /**
20
35
  * Default patterns to exclude from coverage collection.
21
36
  * Common across all stacks — stack-specific configs extend this list.
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/configs/jest/base.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,mBAAmB,CAOzD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,yBAAyB,EAAE,SAAS,MAAM,EAatD,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,eAAe,aAChB,MAAM,CAAC,mBAAmB,CAAC,aAC1B,MAAM,CAAC,mBAAmB,CAAC,KACrC,MAAM,CAAC,mBAAmB,CAO3B,CAAC;AAEH;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,eAAgB,MAAM,EAAE,KAAG,MAyBjD,CAAC"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/configs/jest/base.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,mBAAmB,CAOzD,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,8BAA8B,IAAI,SAAS,MAAM,EAAE,CAMlE;AAED;;;GAGG;AACH,eAAO,MAAM,yBAAyB,EAAE,SAAS,MAAM,EAatD,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,eAAe,aAChB,MAAM,CAAC,mBAAmB,CAAC,aAC1B,MAAM,CAAC,mBAAmB,CAAC,KACrC,MAAM,CAAC,mBAAmB,CAO3B,CAAC;AAEH;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,eAAgB,MAAM,EAAE,KAAG,MAyBjD,CAAC"}
@@ -10,6 +10,24 @@ export const defaultThresholds = {
10
10
  lines: 70,
11
11
  },
12
12
  };
13
+ /**
14
+ * Returns the extra `testPathIgnorePatterns` entries a stack config
15
+ * should add to skip tests that live inside `.claude/worktrees/`.
16
+ *
17
+ * When jest runs from the primary checkout, tests inside worktrees
18
+ * should be skipped — each worktree has its own jest run. When jest
19
+ * runs from INSIDE a worktree (rootDir *is* the worktree), the same
20
+ * pattern would match every test path and jest would find zero tests.
21
+ * This helper returns `["/.claude/worktrees/"]` only when the current
22
+ * working directory is outside a worktree, so each stack can spread
23
+ * it into its own `testPathIgnorePatterns` without hand-rolling the
24
+ * conditional.
25
+ * @returns Single-entry array with the worktree ignore pattern, or an empty array when already inside a worktree.
26
+ */
27
+ export function worktreeTestPathIgnorePatterns() {
28
+ const isInsideWorktree = /[/\\]\.claude[/\\]worktrees(?:[/\\]|$)/.test(process.cwd());
29
+ return isInsideWorktree ? [] : ["/.claude/worktrees/"];
30
+ }
13
31
  /**
14
32
  * Default patterns to exclude from coverage collection.
15
33
  * Common across all stacks — stack-specific configs extend this list.
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/configs/jest/base.ts"],"names":[],"mappings":"AAcA;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAgC;IAC5D,MAAM,EAAE;QACN,UAAU,EAAE,EAAE;QACd,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,EAAE;QACb,KAAK,EAAE,EAAE;KACV;CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAsB;IAC1D,YAAY;IACZ,cAAc;IACd,qBAAqB;IACrB,aAAa;IACb,eAAe;IACf,eAAe;IACf,eAAe;IACf,aAAa;IACb,cAAc;IACd,kBAAkB;IAClB,kBAAkB;IAClB,sBAAsB;CACvB,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,QAAqC,EACrC,SAAsC,EACT,EAAE,CAAC,CAAC;IACjC,GAAG,QAAQ;IACX,GAAG,SAAS;IACZ,MAAM,EAAE;QACN,GAAI,QAAQ,EAAE,MAAiC;QAC/C,GAAI,SAAS,EAAE,MAAiC;KACjD;CACF,CAAC,CAAC;AAEH;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAG,OAAiB,EAAU,EAAE,CAC3D,OAAO,CAAC,MAAM,CACZ,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CACb,MAAM,CAAC,IAAI,CAAC,MAAM,CAAsB,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;IAC/D,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IACxB,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAE9B,MAAM,WAAW,GACf,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;QAC/C,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;QACzC,CAAC,CAAC,OAAO,MAAM,KAAK,QAAQ;YACxB,MAAM,KAAK,IAAI;YACf,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YACtB,OAAO,SAAS,KAAK,QAAQ;YAC7B,SAAS,KAAK,IAAI;YAClB,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;YAC3B,CAAC,CAAC;gBACE,GAAI,MAAkC;gBACtC,GAAI,SAAqC;aAC1C;YACH,CAAC,CAAC,SAAS,CAAC;IAElB,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,CAAC;AAC3C,CAAC,EAAE,GAAG,CAAC,EACT,EAAY,CACb,CAAC"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/configs/jest/base.ts"],"names":[],"mappings":"AAcA;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAgC;IAC5D,MAAM,EAAE;QACN,UAAU,EAAE,EAAE;QACd,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,EAAE;QACb,KAAK,EAAE,EAAE;KACV;CACF,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,8BAA8B;IAC5C,MAAM,gBAAgB,GAAG,wCAAwC,CAAC,IAAI,CACpE,OAAO,CAAC,GAAG,EAAE,CACd,CAAC;IAEF,OAAO,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;AACzD,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAsB;IAC1D,YAAY;IACZ,cAAc;IACd,qBAAqB;IACrB,aAAa;IACb,eAAe;IACf,eAAe;IACf,eAAe;IACf,aAAa;IACb,cAAc;IACd,kBAAkB;IAClB,kBAAkB;IAClB,sBAAsB;CACvB,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,QAAqC,EACrC,SAAsC,EACT,EAAE,CAAC,CAAC;IACjC,GAAG,QAAQ;IACX,GAAG,SAAS;IACZ,MAAM,EAAE;QACN,GAAI,QAAQ,EAAE,MAAiC;QAC/C,GAAI,SAAS,EAAE,MAAiC;KACjD;CACF,CAAC,CAAC;AAEH;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAG,OAAiB,EAAU,EAAE,CAC3D,OAAO,CAAC,MAAM,CACZ,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CACb,MAAM,CAAC,IAAI,CAAC,MAAM,CAAsB,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;IAC/D,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IACxB,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAE9B,MAAM,WAAW,GACf,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;QAC/C,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;QACzC,CAAC,CAAC,OAAO,MAAM,KAAK,QAAQ;YACxB,MAAM,KAAK,IAAI;YACf,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YACtB,OAAO,SAAS,KAAK,QAAQ;YAC7B,SAAS,KAAK,IAAI;YAClB,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;YAC3B,CAAC,CAAC;gBACE,GAAI,MAAkC;gBACtC,GAAI,SAAqC;aAC1C;YACH,CAAC,CAAC,SAAS,CAAC;IAElB,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,CAAC;AAC3C,CAAC,EAAE,GAAG,CAAC,EACT,EAAY,CACb,CAAC"}
@@ -32,8 +32,8 @@
32
32
  * @module configs/jest/expo
33
33
  */
34
34
  import type { Config } from "jest";
35
- import { defaultCoverageExclusions, defaultThresholds, mergeConfigs, mergeThresholds } from "./base.js";
36
- export { defaultCoverageExclusions, defaultThresholds, mergeConfigs, mergeThresholds, };
35
+ import { defaultCoverageExclusions, defaultThresholds, mergeConfigs, mergeThresholds, worktreeTestPathIgnorePatterns } from "./base.js";
36
+ export { defaultCoverageExclusions, defaultThresholds, mergeConfigs, mergeThresholds, worktreeTestPathIgnorePatterns, };
37
37
  /**
38
38
  * Options for configuring the Expo Jest config factory.
39
39
  */
@@ -1 +1 @@
1
- {"version":3,"file":"expo.d.ts","sourceRoot":"","sources":["../../../src/configs/jest/expo.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC,OAAO,EACL,yBAAyB,EACzB,iBAAiB,EACjB,YAAY,EACZ,eAAe,EAChB,MAAM,WAAW,CAAC;AAGnB,OAAO,EACL,yBAAyB,EACzB,iBAAiB,EACjB,YAAY,EACZ,eAAe,GAChB,CAAC;AAEF;;GAEG;AACH,UAAU,eAAe;IACvB,gEAAgE;IAChE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,mBAAmB,CAAC,CAAC;CACnD;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,qBAE3B,eAAe,KAAQ,MA8CxB,CAAC"}
1
+ {"version":3,"file":"expo.d.ts","sourceRoot":"","sources":["../../../src/configs/jest/expo.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC,OAAO,EACL,yBAAyB,EACzB,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,8BAA8B,EAC/B,MAAM,WAAW,CAAC;AAGnB,OAAO,EACL,yBAAyB,EACzB,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,8BAA8B,GAC/B,CAAC;AAEF;;GAEG;AACH,UAAU,eAAe;IACvB,gEAAgE;IAChE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,mBAAmB,CAAC,CAAC;CACnD;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,qBAE3B,eAAe,KAAQ,MAmDxB,CAAC"}
@@ -1,6 +1,6 @@
1
- import { defaultCoverageExclusions, defaultThresholds, mergeConfigs, mergeThresholds, } from "./base.js";
1
+ import { defaultCoverageExclusions, defaultThresholds, mergeConfigs, mergeThresholds, worktreeTestPathIgnorePatterns, } from "./base.js";
2
2
  // Re-export base utilities for entry-point configs
3
- export { defaultCoverageExclusions, defaultThresholds, mergeConfigs, mergeThresholds, };
3
+ export { defaultCoverageExclusions, defaultThresholds, mergeConfigs, mergeThresholds, worktreeTestPathIgnorePatterns, };
4
4
  /**
5
5
  * Creates a Jest configuration for Expo/React Native projects.
6
6
  * @param options - Configuration options for threshold overrides
@@ -33,7 +33,12 @@ export const getExpoJestConfig = ({ thresholds = defaultThresholds, } = {}) => (
33
33
  "^.+\\.(bmp|gif|jpg|jpeg|mp4|png|psd|svg|webp|ttf|otf|woff|woff2)$": "jest-expo/src/preset/assetFileTransformer.js",
34
34
  },
35
35
  testMatch: ["<rootDir>/**/*.test.ts", "<rootDir>/**/*.test.tsx"],
36
- testPathIgnorePatterns: ["/node_modules/", "/dist/", "/.expo/"],
36
+ testPathIgnorePatterns: [
37
+ "/node_modules/",
38
+ "/dist/",
39
+ "/.expo/",
40
+ ...worktreeTestPathIgnorePatterns(),
41
+ ],
37
42
  transformIgnorePatterns: [
38
43
  "node_modules/(?!((jest-)?react-native|@react-native(-community)?)|expo(nent)?|@expo(nent)?/.*|@expo-google-fonts/.*|react-navigation|@react-navigation/.*|@sentry/react-native|native-base|react-native-svg|@gluestack-ui/.*|@gluestack-style/.*|nativewind|react-native-css-interop|react-native-reanimated|react-native-worklets|lucide-react-native|@gorhom|@shopify)",
39
44
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"expo.js","sourceRoot":"","sources":["../../../src/configs/jest/expo.ts"],"names":[],"mappings":"AAmCA,OAAO,EACL,yBAAyB,EACzB,iBAAiB,EACjB,YAAY,EACZ,eAAe,GAChB,MAAM,WAAW,CAAC;AAEnB,mDAAmD;AACnD,OAAO,EACL,yBAAyB,EACzB,iBAAiB,EACjB,YAAY,EACZ,eAAe,GAChB,CAAC;AAUF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAChC,UAAU,GAAG,iBAAiB,MACX,EAAE,EAAU,EAAE,CAAC,CAAC;IACnC,eAAe,EAAE,OAAO;IACxB,KAAK,EAAE;QACL,eAAe,EAAE,KAAK;QACtB,SAAS,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC;KACxC;IACD,QAAQ,EAAE,+BAA+B;IACzC,UAAU,EAAE,CAAC,6BAA6B,CAAC;IAC3C,kBAAkB,EAAE,CAAC,yBAAyB,CAAC;IAC/C,SAAS,EAAE;QACT,aAAa,EAAE;YACb,YAAY;YACZ;gBACE,MAAM,EAAE;oBACN,IAAI,EAAE,OAAO;oBACb,OAAO,EAAE,OAAO;oBAChB,QAAQ,EAAE,KAAK;iBAChB;aACF;SACF;QACD,mEAAmE,EACjE,8CAA8C;KACjD;IACD,SAAS,EAAE,CAAC,wBAAwB,EAAE,yBAAyB,CAAC;IAChE,sBAAsB,EAAE,CAAC,gBAAgB,EAAE,QAAQ,EAAE,SAAS,CAAC;IAC/D,uBAAuB,EAAE;QACvB,0WAA0W;KAC3W;IACD,oBAAoB,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;IAChE,mBAAmB,EAAE;QACnB,0BAA0B;QAC1B,sBAAsB;QACtB,yBAAyB;QACzB,wBAAwB;QACxB,qBAAqB;QACrB,mBAAmB;QACnB,yBAAyB;QACzB,sBAAsB;QACtB,sBAAsB;QACtB,qBAAqB;QACrB,qBAAqB;QACrB,oBAAoB;QACpB,GAAG,yBAAyB;KAC7B;IACD,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACtE,WAAW,EAAE,KAAK;CACnB,CAAC,CAAC"}
1
+ {"version":3,"file":"expo.js","sourceRoot":"","sources":["../../../src/configs/jest/expo.ts"],"names":[],"mappings":"AAmCA,OAAO,EACL,yBAAyB,EACzB,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,8BAA8B,GAC/B,MAAM,WAAW,CAAC;AAEnB,mDAAmD;AACnD,OAAO,EACL,yBAAyB,EACzB,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,8BAA8B,GAC/B,CAAC;AAUF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAChC,UAAU,GAAG,iBAAiB,MACX,EAAE,EAAU,EAAE,CAAC,CAAC;IACnC,eAAe,EAAE,OAAO;IACxB,KAAK,EAAE;QACL,eAAe,EAAE,KAAK;QACtB,SAAS,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC;KACxC;IACD,QAAQ,EAAE,+BAA+B;IACzC,UAAU,EAAE,CAAC,6BAA6B,CAAC;IAC3C,kBAAkB,EAAE,CAAC,yBAAyB,CAAC;IAC/C,SAAS,EAAE;QACT,aAAa,EAAE;YACb,YAAY;YACZ;gBACE,MAAM,EAAE;oBACN,IAAI,EAAE,OAAO;oBACb,OAAO,EAAE,OAAO;oBAChB,QAAQ,EAAE,KAAK;iBAChB;aACF;SACF;QACD,mEAAmE,EACjE,8CAA8C;KACjD;IACD,SAAS,EAAE,CAAC,wBAAwB,EAAE,yBAAyB,CAAC;IAChE,sBAAsB,EAAE;QACtB,gBAAgB;QAChB,QAAQ;QACR,SAAS;QACT,GAAG,8BAA8B,EAAE;KACpC;IACD,uBAAuB,EAAE;QACvB,0WAA0W;KAC3W;IACD,oBAAoB,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;IAChE,mBAAmB,EAAE;QACnB,0BAA0B;QAC1B,sBAAsB;QACtB,yBAAyB;QACzB,wBAAwB;QACxB,qBAAqB;QACrB,mBAAmB;QACnB,yBAAyB;QACzB,sBAAsB;QACtB,sBAAsB;QACtB,qBAAqB;QACrB,qBAAqB;QACrB,oBAAoB;QACpB,GAAG,yBAAyB;KAC7B;IACD,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACtE,WAAW,EAAE,KAAK;CACnB,CAAC,CAAC"}
@@ -8,8 +8,8 @@
8
8
  * @module configs/jest/typescript
9
9
  */
10
10
  import type { Config } from "jest";
11
- import { defaultCoverageExclusions, defaultThresholds, mergeConfigs, mergeThresholds } from "./base.js";
12
- export { defaultCoverageExclusions, defaultThresholds, mergeConfigs, mergeThresholds, };
11
+ import { defaultCoverageExclusions, defaultThresholds, mergeConfigs, mergeThresholds, worktreeTestPathIgnorePatterns } from "./base.js";
12
+ export { defaultCoverageExclusions, defaultThresholds, mergeConfigs, mergeThresholds, worktreeTestPathIgnorePatterns, };
13
13
  /**
14
14
  * Options for configuring the TypeScript Jest config factory.
15
15
  */
@@ -1 +1 @@
1
- {"version":3,"file":"typescript.d.ts","sourceRoot":"","sources":["../../../src/configs/jest/typescript.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC,OAAO,EACL,yBAAyB,EACzB,iBAAiB,EACjB,YAAY,EACZ,eAAe,EAChB,MAAM,WAAW,CAAC;AAGnB,OAAO,EACL,yBAAyB,EACzB,iBAAiB,EACjB,YAAY,EACZ,eAAe,GAChB,CAAC;AAEF;;GAEG;AACH,UAAU,qBAAqB;IAC7B,gEAAgE;IAChE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,mBAAmB,CAAC,CAAC;CACnD;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,qBAEjC,qBAAqB,KAAQ,MAoB9B,CAAC"}
1
+ {"version":3,"file":"typescript.d.ts","sourceRoot":"","sources":["../../../src/configs/jest/typescript.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC,OAAO,EACL,yBAAyB,EACzB,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,8BAA8B,EAC/B,MAAM,WAAW,CAAC;AAGnB,OAAO,EACL,yBAAyB,EACzB,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,8BAA8B,GAC/B,CAAC;AAEF;;GAEG;AACH,UAAU,qBAAqB;IAC7B,gEAAgE;IAChE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,mBAAmB,CAAC,CAAC;CACnD;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,qBAEjC,qBAAqB,KAAQ,MAwB9B,CAAC"}
@@ -1,6 +1,6 @@
1
- import { defaultCoverageExclusions, defaultThresholds, mergeConfigs, mergeThresholds, } from "./base.js";
1
+ import { defaultCoverageExclusions, defaultThresholds, mergeConfigs, mergeThresholds, worktreeTestPathIgnorePatterns, } from "./base.js";
2
2
  // Re-export base utilities for stack-specific configs to use
3
- export { defaultCoverageExclusions, defaultThresholds, mergeConfigs, mergeThresholds, };
3
+ export { defaultCoverageExclusions, defaultThresholds, mergeConfigs, mergeThresholds, worktreeTestPathIgnorePatterns, };
4
4
  /**
5
5
  * Creates a Jest configuration for TypeScript/Node projects using ts-jest.
6
6
  * @param options - Configuration options for threshold overrides
@@ -13,7 +13,11 @@ export const getTypescriptJestConfig = ({ thresholds = defaultThresholds, } = {}
13
13
  preset: "ts-jest/presets/default-esm",
14
14
  testEnvironment: "node",
15
15
  testMatch: ["<rootDir>/tests/**/*.test.ts", "<rootDir>/src/**/*.test.ts"],
16
- testPathIgnorePatterns: ["/node_modules/", "/dist/"],
16
+ testPathIgnorePatterns: [
17
+ "/node_modules/",
18
+ "/dist/",
19
+ ...worktreeTestPathIgnorePatterns(),
20
+ ],
17
21
  moduleNameMapper: {
18
22
  "^(\\.{1,2}/.*)\\.js$": "$1",
19
23
  },
@@ -1 +1 @@
1
- {"version":3,"file":"typescript.js","sourceRoot":"","sources":["../../../src/configs/jest/typescript.ts"],"names":[],"mappings":"AAWA,OAAO,EACL,yBAAyB,EACzB,iBAAiB,EACjB,YAAY,EACZ,eAAe,GAChB,MAAM,WAAW,CAAC;AAEnB,6DAA6D;AAC7D,OAAO,EACL,yBAAyB,EACzB,iBAAiB,EACjB,YAAY,EACZ,eAAe,GAChB,CAAC;AAUF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,EACtC,UAAU,GAAG,iBAAiB,MACL,EAAE,EAAU,EAAE,CAAC,CAAC;IACzC,MAAM,EAAE,6BAA6B;IACrC,eAAe,EAAE,MAAM;IACvB,SAAS,EAAE,CAAC,8BAA8B,EAAE,4BAA4B,CAAC;IACzE,sBAAsB,EAAE,CAAC,gBAAgB,EAAE,QAAQ,CAAC;IACpD,gBAAgB,EAAE;QAChB,sBAAsB,EAAE,IAAI;KAC7B;IACD,SAAS,EAAE;QACT,aAAa,EAAE;YACb,SAAS;YACT;gBACE,MAAM,EAAE,IAAI;aACb;SACF;KACF;IACD,sBAAsB,EAAE,CAAC,KAAK,CAAC;IAC/B,mBAAmB,EAAE,CAAC,aAAa,EAAE,GAAG,yBAAyB,CAAC;IAClE,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACtE,WAAW,EAAE,KAAK;CACnB,CAAC,CAAC"}
1
+ {"version":3,"file":"typescript.js","sourceRoot":"","sources":["../../../src/configs/jest/typescript.ts"],"names":[],"mappings":"AAWA,OAAO,EACL,yBAAyB,EACzB,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,8BAA8B,GAC/B,MAAM,WAAW,CAAC;AAEnB,6DAA6D;AAC7D,OAAO,EACL,yBAAyB,EACzB,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,8BAA8B,GAC/B,CAAC;AAUF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,EACtC,UAAU,GAAG,iBAAiB,MACL,EAAE,EAAU,EAAE,CAAC,CAAC;IACzC,MAAM,EAAE,6BAA6B;IACrC,eAAe,EAAE,MAAM;IACvB,SAAS,EAAE,CAAC,8BAA8B,EAAE,4BAA4B,CAAC;IACzE,sBAAsB,EAAE;QACtB,gBAAgB;QAChB,QAAQ;QACR,GAAG,8BAA8B,EAAE;KACpC;IACD,gBAAgB,EAAE;QAChB,sBAAsB,EAAE,IAAI;KAC7B;IACD,SAAS,EAAE;QACT,aAAa,EAAE;YACb,SAAS;YACT;gBACE,MAAM,EAAE,IAAI;aACb;SACF;KACF;IACD,sBAAsB,EAAE,CAAC,KAAK,CAAC;IAC/B,mBAAmB,EAAE,CAAC,aAAa,EAAE,GAAG,yBAAyB,CAAC;IAClE,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACtE,WAAW,EAAE,KAAK;CACnB,CAAC,CAAC"}
@@ -44,6 +44,7 @@ import {
44
44
  defaultThresholds,
45
45
  mergeConfigs,
46
46
  mergeThresholds,
47
+ worktreeTestPathIgnorePatterns,
47
48
  } from "@codyswann/lisa/jest/base";
48
49
 
49
50
  // Re-export base utilities for entry-point configs
@@ -52,6 +53,7 @@ export {
52
53
  defaultThresholds,
53
54
  mergeConfigs,
54
55
  mergeThresholds,
56
+ worktreeTestPathIgnorePatterns,
55
57
  };
56
58
 
57
59
  /**
@@ -98,7 +100,12 @@ export const getExpoJestConfig = ({
98
100
  "jest-expo/src/preset/assetFileTransformer.js",
99
101
  },
100
102
  testMatch: ["<rootDir>/**/*.test.ts", "<rootDir>/**/*.test.tsx"],
101
- testPathIgnorePatterns: ["/node_modules/", "/dist/", "/.expo/"],
103
+ testPathIgnorePatterns: [
104
+ "/node_modules/",
105
+ "/dist/",
106
+ "/.expo/",
107
+ ...worktreeTestPathIgnorePatterns(),
108
+ ],
102
109
  transformIgnorePatterns: [
103
110
  "node_modules/(?!((jest-)?react-native|@react-native(-community)?)|expo(nent)?|@expo(nent)?/.*|@expo-google-fonts/.*|react-navigation|@react-navigation/.*|@sentry/react-native|native-base|react-native-svg|@gluestack-ui/.*|@gluestack-style/.*|nativewind|react-native-css-interop|react-native-reanimated|react-native-worklets|lucide-react-native|@gorhom|@shopify)",
104
111
  ],
package/package.json CHANGED
@@ -78,7 +78,7 @@
78
78
  "lodash": ">=4.18.1"
79
79
  },
80
80
  "name": "@codyswann/lisa",
81
- "version": "1.85.8",
81
+ "version": "1.85.10",
82
82
  "description": "Claude Code governance framework that applies guardrails, guidance, and automated enforcement to projects",
83
83
  "main": "dist/index.js",
84
84
  "exports": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa",
3
- "version": "1.85.8",
3
+ "version": "1.85.10",
4
4
  "description": "Universal governance — agents, skills, commands, hooks, and rules for all projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-cdk",
3
- "version": "1.85.8",
3
+ "version": "1.85.10",
4
4
  "description": "AWS CDK-specific plugin",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-expo",
3
- "version": "1.85.8",
3
+ "version": "1.85.10",
4
4
  "description": "Expo/React Native-specific skills, agents, rules, and MCP servers",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-nestjs",
3
- "version": "1.85.8",
3
+ "version": "1.85.10",
4
4
  "description": "NestJS-specific skills (GraphQL, TypeORM)",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-rails",
3
- "version": "1.85.8",
3
+ "version": "1.85.10",
4
4
  "description": "Ruby on Rails-specific hooks — RuboCop linting/formatting and ast-grep scanning on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-typescript",
3
- "version": "1.85.8",
3
+ "version": "1.85.10",
4
4
  "description": "TypeScript-specific hooks — Prettier formatting, ESLint linting, and ast-grep scanning on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -165,7 +165,7 @@ Automatically fixes CI failures by having Claude analyze error logs and push fix
165
165
  Automatically triages CodeRabbit review comments and either fixes valid findings or replies to dismiss invalid ones.
166
166
 
167
167
  - Triggers when CodeRabbit submits a review (not per inline comment — once per review summary)
168
- - Skips PRs authored by bots to prevent bot-to-bot loops
168
+ - Skips PRs authored by `coderabbitai[bot]` or `dependabot[bot]` to prevent bot-to-bot loops (PRs authored by `claude[bot]` or other bots are allowed)
169
169
  - For each review comment, Claude determines if the finding is valid or a misunderstanding
170
170
  - Valid findings: fixes the code and commits with conventional messages
171
171
  - Invalid findings: replies to the comment explaining why the suggestion does not apply