@codyswann/lisa 2.132.5 → 2.132.7

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.
Files changed (54) hide show
  1. package/dist/configs/jest/expo.d.ts +9 -33
  2. package/dist/configs/jest/expo.d.ts.map +1 -1
  3. package/dist/configs/jest/expo.js +77 -4
  4. package/dist/configs/jest/expo.js.map +1 -1
  5. package/expo/copy-overwrite/knip.json +1 -0
  6. package/expo/copy-overwrite/tsconfig.expo.json +6 -8
  7. package/expo/package-lisa/package.lisa.json +59 -54
  8. package/package.json +1 -1
  9. package/plugins/lisa/.claude-plugin/plugin.json +1 -1
  10. package/plugins/lisa/.codex-plugin/plugin.json +1 -1
  11. package/plugins/lisa-agy/plugin.json +1 -1
  12. package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
  13. package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
  14. package/plugins/lisa-cdk-agy/plugin.json +1 -1
  15. package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
  16. package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
  17. package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
  18. package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
  19. package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
  20. package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
  21. package/plugins/lisa-expo-agy/plugin.json +1 -1
  22. package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
  23. package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
  24. package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
  25. package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
  26. package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
  27. package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
  28. package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
  29. package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
  30. package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
  31. package/plugins/lisa-nestjs-agy/plugin.json +1 -1
  32. package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
  33. package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
  34. package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
  35. package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
  36. package/plugins/lisa-openclaw-agy/plugin.json +1 -1
  37. package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
  38. package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
  39. package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
  40. package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
  41. package/plugins/lisa-rails-agy/plugin.json +1 -1
  42. package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
  43. package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
  44. package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
  45. package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
  46. package/plugins/lisa-typescript-agy/plugin.json +1 -1
  47. package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
  48. package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
  49. package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
  50. package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
  51. package/plugins/lisa-wiki-agy/plugin.json +1 -1
  52. package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
  53. package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
  54. package/typescript/copy-overwrite/eslint.ignore.config.json +1 -0
@@ -1,39 +1,15 @@
1
- /**
2
- * Jest Configuration - Expo Stack
3
- *
4
- * Provides Expo/React Native-specific Jest configuration without using
5
- * the `jest-expo` preset directly. The preset's `setupFiles` include
6
- * `react-native/jest/setup.js` which redefines `window` via
7
- * `Object.defineProperties` — incompatible with jsdom's non-configurable
8
- * `window` property, causing "Cannot redefine property: window" errors.
9
- *
10
- * Instead, this config manually replicates the preset's resolution,
11
- * transform, and haste settings without any preset setupFiles.
12
- *
13
- * `setupFiles` and `setupFilesAfterEnv` are configured here to wire up
14
- * the base jest setup files (`jest.setup.pre.js` and `jest.setup.ts`).
15
- * These base files import project-local overrides (`jest.setup.pre.local.js`
16
- * and `jest.setup.local.ts`) which are create-only templates that projects
17
- * can customize without Lisa overwriting them.
18
- *
19
- * Coverage collection is scoped to standard Expo source directories
20
- * rather than a catch-all glob, preventing config files, scripts, and
21
- * plugins from distorting coverage numbers. The `app/` directory is
22
- * excluded because Expo Router file-based routing makes those files thin
23
- * wrappers (8-15 lines) that just re-export feature components.
24
- * `*View.{ts,tsx}` files are excluded because the Container/View pattern
25
- * puts all logic in Container files — Views are purely presentational.
26
- *
27
- * Inheritance chain:
28
- * expo.ts (this file)
29
- * └── base.ts
30
- * @see https://jestjs.io/docs/configuration
31
- * @see https://github.com/expo/expo/issues/40184
32
- * @module configs/jest/expo
33
- */
34
1
  import type { Config } from "jest";
35
2
  import { defaultCoverageExclusions, defaultThresholds, mergeConfigs, mergeThresholds, worktreeTestPathIgnorePatterns } from "./base.js";
36
3
  export { defaultCoverageExclusions, defaultThresholds, mergeConfigs, mergeThresholds, worktreeTestPathIgnorePatterns, };
4
+ /**
5
+ * Selects the React Native Jest resolver path appropriate for the installed
6
+ * Expo SDK. Prefers the SDK 56 location when `@react-native/jest-preset` is
7
+ * present, otherwise falls back to the SDK 54 location.
8
+ * @param canResolve - Resolution predicate (defaults to a real project-scoped
9
+ * `require.resolve` check); injectable for testing both SDKs.
10
+ * @returns The resolver module path for the project's installed SDK.
11
+ */
12
+ export declare const selectExpoJestResolver: (canResolve?: (specifier: string) => boolean) => string;
37
13
  /**
38
14
  * Options for configuring the Expo Jest config factory.
39
15
  */
@@ -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,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;IAClD;;;;;;OAMG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB,GAAI,8BAG/B,eAAoB,KAAG,MAuDxB,CAAC"}
1
+ {"version":3,"file":"expo.d.ts","sourceRoot":"","sources":["../../../src/configs/jest/expo.ts"],"names":[],"mappings":"AAmCA,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;AAiCF;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,GACjC,aAAY,CAAC,SAAS,EAAE,MAAM,KAAK,OAA+B,KACjE,MAAyE,CAAC;AAE7E;;GAEG;AACH,UAAU,eAAe;IACvB,gEAAgE;IAChE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAClD;;;;;;OAMG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB,GAAI,8BAG/B,eAAoB,KAAG,MAuDxB,CAAC"}
@@ -1,6 +1,79 @@
1
+ /**
2
+ * Jest Configuration - Expo Stack
3
+ *
4
+ * Provides Expo/React Native-specific Jest configuration without using
5
+ * the `jest-expo` preset directly. The preset's `setupFiles` include
6
+ * `react-native/jest/setup.js` which redefines `window` via
7
+ * `Object.defineProperties` — incompatible with jsdom's non-configurable
8
+ * `window` property, causing "Cannot redefine property: window" errors.
9
+ *
10
+ * Instead, this config manually replicates the preset's resolution,
11
+ * transform, and haste settings without any preset setupFiles.
12
+ *
13
+ * `setupFiles` and `setupFilesAfterEnv` are configured here to wire up
14
+ * the base jest setup files (`jest.setup.pre.js` and `jest.setup.ts`).
15
+ * These base files import project-local overrides (`jest.setup.pre.local.js`
16
+ * and `jest.setup.local.ts`) which are create-only templates that projects
17
+ * can customize without Lisa overwriting them.
18
+ *
19
+ * Coverage collection is scoped to standard Expo source directories
20
+ * rather than a catch-all glob, preventing config files, scripts, and
21
+ * plugins from distorting coverage numbers. The `app/` directory is
22
+ * excluded because Expo Router file-based routing makes those files thin
23
+ * wrappers (8-15 lines) that just re-export feature components.
24
+ * `*View.{ts,tsx}` files are excluded because the Container/View pattern
25
+ * puts all logic in Container files — Views are purely presentational.
26
+ *
27
+ * Inheritance chain:
28
+ * expo.ts (this file)
29
+ * └── base.ts
30
+ * @see https://jestjs.io/docs/configuration
31
+ * @see https://github.com/expo/expo/issues/40184
32
+ * @module configs/jest/expo
33
+ */
34
+ import { createRequire } from "node:module";
1
35
  import { defaultCoverageExclusions, defaultThresholds, mergeConfigs, mergeThresholds, worktreeTestPathIgnorePatterns, } from "./base.js";
2
36
  // Re-export base utilities for entry-point configs
3
37
  export { defaultCoverageExclusions, defaultThresholds, mergeConfigs, mergeThresholds, worktreeTestPathIgnorePatterns, };
38
+ /**
39
+ * SDK 56 / RN 0.85 relocated the React Native Jest resolver. On SDK 56 it
40
+ * lives at `@react-native/jest-preset/jest/resolver.js`; on SDK 54 / RN 0.81
41
+ * `@react-native/jest-preset` is not installed and the resolver still lives at
42
+ * `react-native/jest/resolver.js`. Picking the wrong one aborts Jest with a
43
+ * "module not found" error, so the choice must be made against what the
44
+ * consuming project actually has installed.
45
+ */
46
+ const SDK56_RESOLVER = "@react-native/jest-preset/jest/resolver.js";
47
+ const LEGACY_RESOLVER = "react-native/jest/resolver.js";
48
+ /**
49
+ * Predicate that reports whether a module specifier can be resolved from the
50
+ * consuming project. Mirrors the runtime auto-detection style this factory
51
+ * already uses (e.g. `existsSync` for the `/src` convention) and is injectable
52
+ * so the choice can be exercised in tests without an installed RN toolchain.
53
+ * @param specifier - The module specifier to attempt to resolve.
54
+ * @returns `true` when the specifier resolves from the project's `node_modules`.
55
+ */
56
+ const canResolveFromProject = (specifier) => {
57
+ // Resolve relative to the consuming project's CWD (where Jest runs) rather
58
+ // than Lisa's own `node_modules`, so hoisted/nested installs are honored.
59
+ const projectRequire = createRequire(`${process.cwd()}/noop.js`);
60
+ try {
61
+ projectRequire.resolve(specifier);
62
+ return true;
63
+ }
64
+ catch {
65
+ return false;
66
+ }
67
+ };
68
+ /**
69
+ * Selects the React Native Jest resolver path appropriate for the installed
70
+ * Expo SDK. Prefers the SDK 56 location when `@react-native/jest-preset` is
71
+ * present, otherwise falls back to the SDK 54 location.
72
+ * @param canResolve - Resolution predicate (defaults to a real project-scoped
73
+ * `require.resolve` check); injectable for testing both SDKs.
74
+ * @returns The resolver module path for the project's installed SDK.
75
+ */
76
+ export const selectExpoJestResolver = (canResolve = canResolveFromProject) => (canResolve(SDK56_RESOLVER) ? SDK56_RESOLVER : LEGACY_RESOLVER);
4
77
  /**
5
78
  * Creates a Jest configuration for Expo/React Native projects.
6
79
  * @param options - Configuration options for threshold overrides
@@ -17,11 +90,11 @@ export const getExpoJestConfig = ({ thresholds = defaultThresholds, sourceRoot =
17
90
  defaultPlatform: "ios",
18
91
  platforms: ["android", "ios", "native"],
19
92
  },
20
- // SDK 56 / RN 0.85 relocated the React Native Jest resolver out of
21
- // `react-native/jest/resolver.js` and into `@react-native/jest-preset`.
22
- // This resolver is what teaches Jest to resolve platform-extension files
93
+ // This resolver teaches Jest to resolve platform-extension files
23
94
  // (`.ios`/`.native`/`.web`); without it those variants do not resolve.
24
- resolver: "@react-native/jest-preset/jest/resolver.js",
95
+ // Its location moved between SDK 54 and SDK 56, so the path is chosen at
96
+ // config-build time against what the consuming project has installed.
97
+ resolver: selectExpoJestResolver(),
25
98
  setupFiles: ["<rootDir>/jest.setup.pre.js"],
26
99
  setupFilesAfterEnv: ["<rootDir>/jest.setup.ts"],
27
100
  transform: {
@@ -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,EACf,8BAA8B,GAC/B,MAAM,WAAW,CAAC;AAEnB,mDAAmD;AACnD,OAAO,EACL,yBAAyB,EACzB,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,8BAA8B,GAC/B,CAAC;AAkBF;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAChC,UAAU,GAAG,iBAAiB,EAC9B,UAAU,GAAG,EAAE,MACI,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,mEAAmE;IACnE,wEAAwE;IACxE,yEAAyE;IACzE,uEAAuE;IACvE,QAAQ,EAAE,4CAA4C;IACtD,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,GAAG,UAAU,0BAA0B;QACvC,GAAG,UAAU,sBAAsB;QACnC,GAAG,UAAU,yBAAyB;QACtC,GAAG,UAAU,wBAAwB;QACrC,GAAG,UAAU,qBAAqB;QAClC,GAAG,UAAU,mBAAmB;QAChC,GAAG,UAAU,yBAAyB;QACtC,GAAG,UAAU,sBAAsB;QACnC,GAAG,UAAU,sBAAsB;QACnC,GAAG,UAAU,qBAAqB;QAClC,GAAG,UAAU,qBAAqB;QAClC,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":"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"}
@@ -87,6 +87,7 @@
87
87
  "@react-native-community/cli-platform-ios",
88
88
  "@react-native-community/netinfo",
89
89
  "@react-native-masked-view/masked-view",
90
+ "@react-navigation/drawer",
90
91
  "@react-navigation/elements",
91
92
  "@react-navigation/native",
92
93
  "@shopify/flash-list",
@@ -1,17 +1,15 @@
1
1
  {
2
- "extends": ["expo/tsconfig.base", "@codyswann/lisa/tsconfig/base"],
2
+ "extends": [
3
+ "expo/tsconfig.base",
4
+ "@codyswann/lisa/tsconfig/base",
5
+ "./tsconfig.local.json"
6
+ ],
3
7
  "compilerOptions": {
4
8
  "strict": true,
5
9
  "jsx": "react-native",
6
10
  "noEmit": true,
7
11
  "declaration": false,
8
12
  "allowImportingTsExtensions": true,
9
- "paths": {
10
- "@/graphql/*": ["./generated/*"],
11
- "@/*": ["./*"]
12
- },
13
13
  "moduleSuffixes": [".ios", ".android", ".native", ".web", ""]
14
- },
15
- "include": ["**/*.ts", "**/*.tsx", "nativewind-env.d.ts"],
16
- "exclude": ["node_modules", "dist", "web-build", "components/ui"]
14
+ }
17
15
  }
@@ -55,12 +55,68 @@
55
55
  },
56
56
  "dependencies": {
57
57
  "@apollo/client": "^3.10.8",
58
+ "@hookform/resolvers": "^3.9.0",
59
+ "apollo-link-sentry": "^4.0.0",
60
+ "base-64": "^1.0.0",
61
+ "date-fns": "^3.6.0",
62
+ "date-fns-tz": "^3.1.3",
63
+ "events": "^3.3.0",
64
+ "graphql": "^16.12.0",
65
+ "i18n-js": "^4.5.1",
66
+ "patch-package": "^8.0.0",
67
+ "react-hook-form": "^7.70.0",
68
+ "tailwindcss": "^3.4.7",
69
+ "tar": ">=7.5.11",
70
+ "text-encoding-polyfill": "^0.6.7",
71
+ "usehooks-ts": "^3.1.1",
72
+ "zod": "^4.3.5"
73
+ },
74
+ "devDependencies": {
75
+ "@babel/core": "^7.20.0",
76
+ "@babel/plugin-proposal-export-namespace-from": "^7.18.9",
77
+ "@codyswann/lisa": "^2.106.0",
78
+ "@graphql-codegen/cli": "^6.1.0",
79
+ "@graphql-codegen/typescript": "^4.1.6",
80
+ "@graphql-codegen/typescript-operations": "^4.4.2",
81
+ "@graphql-codegen/typescript-react-apollo": "^4.3.4",
82
+ "@lhci/cli": "^0.15.1",
83
+ "@playwright/test": "^1.57.0",
84
+ "@types/base-64": "^1.0.2",
85
+ "@types/eslint-plugin-jsx-a11y": "^6.10.1",
86
+ "@types/eslint-plugin-tailwindcss": "^3.17.0",
87
+ "babel-plugin-module-resolver": "^5.0.2",
88
+ "baseline-browser-mapping": "^2.9.2",
89
+ "jest": "^30.0.0",
90
+ "ts-jest": "^29.4.6",
91
+ "@types/jest": "^30.0.0",
92
+ "@jest/test-sequencer": "^30.2.0",
93
+ "jest-environment-jsdom": "^30.2.0",
94
+ "serve": "^14.2.0",
95
+ "eslint-plugin-oxlint": "^1.62.0",
96
+ "oxlint": "^1.62.0",
97
+ "oxlint-tsgolint": "^0.22.1"
98
+ },
99
+ "resolutions": {
100
+ "@isaacs/brace-expansion": "^5.0.1",
101
+ "eslint-plugin-react-hooks": "^7.0.0",
102
+ "fast-xml-parser": "^5.3.6",
103
+ "tar": ">=7.5.11"
104
+ },
105
+ "overrides": {
106
+ "@isaacs/brace-expansion": "^5.0.1",
107
+ "eslint-plugin-react-hooks": "^7.0.0",
108
+ "fast-xml-parser": "^5.3.6",
109
+ "zod-validation-error": "^4.0.0",
110
+ "tar": ">=7.5.11"
111
+ }
112
+ },
113
+ "defaults": {
114
+ "dependencies": {
58
115
  "@expo/html-elements": "^0.12.5",
59
116
  "@expo/metro-runtime": "~6.1.2",
60
117
  "@gluestack-ui/core": "^3.0.10",
61
118
  "@gluestack-ui/utils": "^3.0.7",
62
119
  "@gorhom/bottom-sheet": "^5.2.6",
63
- "@hookform/resolvers": "^3.9.0",
64
120
  "@legendapp/motion": "^2.4.0",
65
121
  "@react-native-async-storage/async-storage": "2.2.0",
66
122
  "@react-native-masked-view/masked-view": "^0.3.2",
@@ -69,11 +125,6 @@
69
125
  "@sentry/react-native": "~7.11.0",
70
126
  "@shopify/flash-list": "2.0.2",
71
127
  "@shopify/react-native-skia": "2.6.2",
72
- "apollo-link-sentry": "^4.0.0",
73
- "base-64": "^1.0.0",
74
- "date-fns": "^3.6.0",
75
- "date-fns-tz": "^3.1.3",
76
- "events": "^3.3.0",
77
128
  "expo": "~56.0.0",
78
129
  "expo-application": "~56.0.3",
79
130
  "expo-battery": "~56.0.4",
@@ -95,14 +146,10 @@
95
146
  "expo-status-bar": "~56.0.4",
96
147
  "expo-system-ui": "~56.0.5",
97
148
  "expo-updates": "~56.0.17",
98
- "graphql": "^16.12.0",
99
- "i18n-js": "^4.5.1",
100
149
  "lucide-react-native": "^0.562.0",
101
150
  "nativewind": "^4.2.1",
102
- "patch-package": "^8.0.0",
103
151
  "react": "19.2.3",
104
152
  "react-dom": "19.2.3",
105
- "react-hook-form": "^7.70.0",
106
153
  "react-native": "0.85.3",
107
154
  "react-native-gesture-handler": "~2.31.1",
108
155
  "react-native-keyboard-controller": "1.21.6",
@@ -110,59 +157,17 @@
110
157
  "react-native-safe-area-context": "^5.6.2",
111
158
  "react-native-screens": "4.25.2",
112
159
  "react-native-svg": "^15.15.1",
113
- "react-native-web": "^0.21.2",
114
- "tailwindcss": "^3.4.7",
115
- "tar": ">=7.5.11",
116
- "text-encoding-polyfill": "^0.6.7",
117
- "usehooks-ts": "^3.1.1",
118
- "zod": "^4.3.5"
160
+ "react-native-web": "^0.21.2"
119
161
  },
120
162
  "devDependencies": {
121
- "@babel/core": "^7.20.0",
122
- "@babel/plugin-proposal-export-namespace-from": "^7.18.9",
123
- "@codyswann/lisa": "^2.106.0",
124
- "@graphql-codegen/cli": "^6.1.0",
125
- "@graphql-codegen/typescript": "^4.1.6",
126
- "@graphql-codegen/typescript-operations": "^4.4.2",
127
- "@graphql-codegen/typescript-react-apollo": "^4.3.4",
128
- "@lhci/cli": "^0.15.1",
129
- "@playwright/test": "^1.57.0",
130
163
  "@react-native-community/cli": "^20.0.2",
131
164
  "@react-native-community/cli-platform-android": "^20.0.2",
132
165
  "@react-native-community/cli-platform-ios": "^20.0.2",
133
166
  "@testing-library/react-native": "^13.0.0",
134
- "@types/base-64": "^1.0.2",
135
- "@types/eslint-plugin-jsx-a11y": "^6.10.1",
136
- "@types/eslint-plugin-tailwindcss": "^3.17.0",
137
167
  "@types/react": "~19.2.15",
138
168
  "@types/react-dom": "~19.2.3",
139
- "babel-plugin-module-resolver": "^5.0.2",
140
- "baseline-browser-mapping": "^2.9.2",
141
169
  "expo-atlas": "^0.4.0",
142
- "jest": "^30.0.0",
143
- "ts-jest": "^29.4.6",
144
- "@types/jest": "^30.0.0",
145
- "@jest/test-sequencer": "^30.2.0",
146
- "jest-environment-jsdom": "^30.2.0",
147
- "jest-expo": "~56.0.4",
148
- "react-test-renderer": "19.2.3",
149
- "serve": "^14.2.0",
150
- "eslint-plugin-oxlint": "^1.62.0",
151
- "oxlint": "^1.62.0",
152
- "oxlint-tsgolint": "^0.22.1"
153
- },
154
- "resolutions": {
155
- "@isaacs/brace-expansion": "^5.0.1",
156
- "eslint-plugin-react-hooks": "^7.0.0",
157
- "fast-xml-parser": "^5.3.6",
158
- "tar": ">=7.5.11"
159
- },
160
- "overrides": {
161
- "@isaacs/brace-expansion": "^5.0.1",
162
- "eslint-plugin-react-hooks": "^7.0.0",
163
- "fast-xml-parser": "^5.3.6",
164
- "zod-validation-error": "^4.0.0",
165
- "tar": ">=7.5.11"
170
+ "jest-expo": "~56.0.4"
166
171
  }
167
172
  }
168
173
  }
package/package.json CHANGED
@@ -83,7 +83,7 @@
83
83
  "lodash": ">=4.18.1"
84
84
  },
85
85
  "name": "@codyswann/lisa",
86
- "version": "2.132.5",
86
+ "version": "2.132.7",
87
87
  "description": "Claude Code governance framework that applies guardrails, guidance, and automated enforcement to projects",
88
88
  "main": "dist/index.js",
89
89
  "exports": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa",
3
- "version": "2.132.5",
3
+ "version": "2.132.7",
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",
3
- "version": "2.132.5",
3
+ "version": "2.132.7",
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",
3
- "version": "2.132.5",
3
+ "version": "2.132.7",
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": "2.132.5",
3
+ "version": "2.132.7",
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-cdk",
3
- "version": "2.132.5",
3
+ "version": "2.132.7",
4
4
  "description": "AWS CDK-specific Lisa plugin.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-cdk",
3
- "version": "2.132.5",
3
+ "version": "2.132.7",
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-cdk",
3
- "version": "2.132.5",
3
+ "version": "2.132.7",
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-cdk",
3
- "version": "2.132.5",
3
+ "version": "2.132.7",
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",
3
- "version": "2.132.5",
3
+ "version": "2.132.7",
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",
3
- "version": "2.132.5",
3
+ "version": "2.132.7",
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-expo",
3
- "version": "2.132.5",
3
+ "version": "2.132.7",
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-expo",
3
- "version": "2.132.5",
3
+ "version": "2.132.7",
4
4
  "description": "Expo and 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-expo",
3
- "version": "2.132.5",
3
+ "version": "2.132.7",
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-expo",
3
- "version": "2.132.5",
3
+ "version": "2.132.7",
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-expo",
3
- "version": "2.132.5",
3
+ "version": "2.132.7",
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-harper-fabric",
3
- "version": "2.132.5",
3
+ "version": "2.132.7",
4
4
  "description": "Harper/Fabric-specific rules for TypeScript component apps",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-harper-fabric",
3
- "version": "2.132.5",
3
+ "version": "2.132.7",
4
4
  "description": "Harper/Fabric-specific Lisa rules for TypeScript component apps.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-harper-fabric",
3
- "version": "2.132.5",
3
+ "version": "2.132.7",
4
4
  "description": "Harper/Fabric-specific rules for TypeScript component apps",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-harper-fabric",
3
- "version": "2.132.5",
3
+ "version": "2.132.7",
4
4
  "description": "Harper/Fabric-specific rules for TypeScript component apps",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-harper-fabric",
3
- "version": "2.132.5",
3
+ "version": "2.132.7",
4
4
  "description": "Harper/Fabric-specific rules for TypeScript component apps",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-nestjs",
3
- "version": "2.132.5",
3
+ "version": "2.132.7",
4
4
  "description": "NestJS-specific skills (GraphQL, TypeORM) and hooks (migration write-protection)",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-nestjs",
3
- "version": "2.132.5",
3
+ "version": "2.132.7",
4
4
  "description": "NestJS-specific skills and migration write-protection hooks.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-nestjs",
3
- "version": "2.132.5",
3
+ "version": "2.132.7",
4
4
  "description": "NestJS-specific skills (GraphQL, TypeORM) and hooks (migration write-protection)",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-nestjs",
3
- "version": "2.132.5",
3
+ "version": "2.132.7",
4
4
  "description": "NestJS-specific skills (GraphQL, TypeORM) and hooks (migration write-protection)",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-nestjs",
3
- "version": "2.132.5",
3
+ "version": "2.132.7",
4
4
  "description": "NestJS-specific skills (GraphQL, TypeORM) and hooks (migration write-protection)",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-openclaw",
3
- "version": "2.132.5",
3
+ "version": "2.132.7",
4
4
  "description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-openclaw",
3
- "version": "2.132.5",
3
+ "version": "2.132.7",
4
4
  "description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, across Claude and Codex.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-openclaw",
3
- "version": "2.132.5",
3
+ "version": "2.132.7",
4
4
  "description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-openclaw",
3
- "version": "2.132.5",
3
+ "version": "2.132.7",
4
4
  "description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-openclaw",
3
- "version": "2.132.5",
3
+ "version": "2.132.7",
4
4
  "description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-rails",
3
- "version": "2.132.5",
3
+ "version": "2.132.7",
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-rails",
3
- "version": "2.132.5",
3
+ "version": "2.132.7",
4
4
  "description": "Ruby on Rails-specific skills and hooks for RuboCop and ast-grep scanning on edit.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-rails",
3
- "version": "2.132.5",
3
+ "version": "2.132.7",
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-rails",
3
- "version": "2.132.5",
3
+ "version": "2.132.7",
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-rails",
3
- "version": "2.132.5",
3
+ "version": "2.132.7",
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": "2.132.5",
3
+ "version": "2.132.7",
4
4
  "description": "TypeScript-specific hooks — Prettier formatting, ESLint linting, ast-grep scanning, and error-suppression blocking on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-typescript",
3
- "version": "2.132.5",
3
+ "version": "2.132.7",
4
4
  "description": "TypeScript-specific hooks for formatting, linting, 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": "2.132.5",
3
+ "version": "2.132.7",
4
4
  "description": "TypeScript-specific hooks — Prettier formatting, ESLint linting, ast-grep scanning, and error-suppression blocking on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-typescript",
3
- "version": "2.132.5",
3
+ "version": "2.132.7",
4
4
  "description": "TypeScript-specific hooks — Prettier formatting, ESLint linting, ast-grep scanning, and error-suppression blocking on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-typescript",
3
- "version": "2.132.5",
3
+ "version": "2.132.7",
4
4
  "description": "TypeScript-specific hooks — Prettier formatting, ESLint linting, ast-grep scanning, and error-suppression blocking on edit",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-wiki",
3
- "version": "2.132.5",
3
+ "version": "2.132.7",
4
4
  "description": "LLM Wiki — a distributable, git-native markdown knowledge base for Claude Code and Codex",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-wiki",
3
- "version": "2.132.5",
3
+ "version": "2.132.7",
4
4
  "description": "Distributable LLM Wiki kernel — ingest, query, lint, and maintain a git-native markdown knowledge base across Claude and Codex.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-wiki",
3
- "version": "2.132.5",
3
+ "version": "2.132.7",
4
4
  "description": "LLM Wiki — a distributable, git-native markdown knowledge base for Claude Code and Codex",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-wiki",
3
- "version": "2.132.5",
3
+ "version": "2.132.7",
4
4
  "description": "LLM Wiki — a distributable, git-native markdown knowledge base for Claude Code and Codex",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa-wiki",
3
- "version": "2.132.5",
3
+ "version": "2.132.7",
4
4
  "description": "LLM Wiki — a distributable, git-native markdown knowledge base for Claude Code and Codex",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -48,6 +48,7 @@
48
48
  ".lighthouseci/**",
49
49
 
50
50
  ".expo/**",
51
+ ".codex/**",
51
52
  ".github/**",
52
53
  "public/**",
53
54
  ".dead/**",