@codyswann/lisa 1.9.3 → 1.9.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.
Files changed (34) hide show
  1. package/README.md +59 -2
  2. package/all/copy-overwrite/CLAUDE.md +2 -3
  3. package/cdk/copy-overwrite/eslint.slow.config.ts +5 -0
  4. package/cdk/copy-overwrite/knip.json +0 -1
  5. package/cdk/tagged-merge/bin/infrastructure.js +16 -0
  6. package/cdk/tagged-merge/package.json +37 -0
  7. package/dist/core/config.d.ts +1 -1
  8. package/dist/core/config.d.ts.map +1 -1
  9. package/dist/core/config.js +1 -0
  10. package/dist/core/config.js.map +1 -1
  11. package/dist/core/lisa.d.ts.map +1 -1
  12. package/dist/core/lisa.js +2 -1
  13. package/dist/core/lisa.js.map +1 -1
  14. package/dist/strategies/index.d.ts +1 -0
  15. package/dist/strategies/index.d.ts.map +1 -1
  16. package/dist/strategies/index.js +3 -0
  17. package/dist/strategies/index.js.map +1 -1
  18. package/dist/strategies/tagged-merge-types.d.ts +30 -0
  19. package/dist/strategies/tagged-merge-types.d.ts.map +1 -0
  20. package/dist/strategies/tagged-merge-types.js +7 -0
  21. package/dist/strategies/tagged-merge-types.js.map +1 -0
  22. package/dist/strategies/tagged-merge.d.ts +206 -0
  23. package/dist/strategies/tagged-merge.d.ts.map +1 -0
  24. package/dist/strategies/tagged-merge.js +421 -0
  25. package/dist/strategies/tagged-merge.js.map +1 -0
  26. package/expo/copy-overwrite/eslint.slow.config.ts +5 -0
  27. package/expo/copy-overwrite/knip.json +0 -1
  28. package/expo/{merge → tagged-merge}/package.json +28 -28
  29. package/nestjs/{merge → tagged-merge}/package.json +28 -24
  30. package/package.json +1 -8
  31. package/typescript/copy-overwrite/eslint.slow.config.ts +6 -0
  32. package/typescript/copy-overwrite/knip.json +0 -1
  33. package/typescript/{merge → tagged-merge}/package.json +23 -21
  34. package/cdk/merge/package.json +0 -36
@@ -1,30 +1,34 @@
1
1
  {
2
2
  "scripts": {
3
- "test": "NODE_ENV=test jest --passWithNoTests",
4
- "test:unit": "NODE_ENV=test jest --testPathIgnorePatterns=\"\\.integration\\.test\\.(ts|tsx)$\" --passWithNoTests",
5
- "test:integration": "NODE_ENV=test jest --testPathPatterns=\"\\.integration\\.test\\.(ts|tsx)$\" --passWithNoTests",
6
- "test:cov": "NODE_ENV=test jest --coverage",
3
+ "//lisa-force-scripts-quality-assurance": "Required by Lisa in ci/cd, git hooks and claude hooks to ensure governance",
4
+ "lighthouse:check": "lhci autorun --collect.settings.chromeFlags='--no-sandbox --disable-gpu --headless'",
5
+ "playwright:build": "expo export --platform web",
6
+ "playwright:test": "bun run playwright:build && playwright test",
7
+ "playwright:test:ui": "bun run playwright:build && playwright test --ui",
8
+ "maestro:test": "maestro test .maestro/flows",
9
+ "maestro:test:smoke": "maestro test .maestro/flows --include-tags=smoke",
10
+ "maestro:studio": "maestro studio",
11
+ "//end-lisa-force-scripts-quality-assurance": "",
12
+
13
+ "//lisa-force-scripts-operations": "Required by Lisa for standard operations to run this project locally",
7
14
  "start:local": "cp .env.localhost .env.local && EXPO_ATLAS=true expo start",
8
15
  "start:dev": "EXPO_ATLAS=true cp .env.development .env.local && EXPO_ATLAS=true expo start",
9
16
  "start:staging": "cp .env.staging .env.local && EXPO_ATLAS=true expo start",
10
17
  "start:production": "cp .env.production .env.local && EXPO_ATLAS=true expo start",
18
+ "build-and-run:local:android": "expo run:android",
19
+ "build-and-run:local:ios": "expo run:ios",
11
20
  "fetch:graphql:schema:dev": "./scripts/fetch-graphql-schema.sh development",
12
21
  "fetch:graphql:schema:staging": "./scripts/fetch-graphql-schema.sh staging",
13
22
  "fetch:graphql:schema:production": "./scripts/fetch-graphql-schema.sh production",
23
+ "//end-lisa-force-scripts-operations": "",
24
+
25
+ "//lisa-force-scripts-deployment": "Required by Lisa for deployment operations for this project",
14
26
  "export:web": "expo export --platform web --source-maps",
15
- "lighthouse:check": "lhci autorun --collect.settings.chromeFlags='--no-sandbox --disable-gpu --headless'",
16
- "playwright:build": "expo export --platform web",
17
- "playwright:test": "bun run playwright:build && playwright test",
18
- "playwright:test:ui": "bun run playwright:build && playwright test --ui",
19
- "maestro:test": "maestro test .maestro/flows",
20
- "maestro:test:smoke": "maestro test .maestro/flows --include-tags=smoke",
21
- "maestro:studio": "maestro studio",
22
27
  "pre-build:eas": "cat .gitignore > .easignore && cat .easignore.extra >> .easignore",
23
- "android": "expo run:android",
24
- "ios": "expo run:ios"
28
+ "//end-lisa-force-scripts-deployment": ""
25
29
  },
26
- "main": "expo-router/entry",
27
30
  "dependencies": {
31
+ "//lisa-force-dependencies": "Required by Lisa to ensure all necessary dependencies are included for Expo/React Native/GraphQL/Gluestack operations",
28
32
  "@apollo/client": "^3.10.8",
29
33
  "@expo/metro-runtime": "~6.1.2",
30
34
  "@gluestack-ui/core": "^3.0.10",
@@ -82,15 +86,15 @@
82
86
  "react-native-store-version": "^1.4.1",
83
87
  "react-native-svg": "^15.15.1",
84
88
  "react-native-web": "^0.21.2",
85
- "react-native-worklets": "0.7.1",
86
89
  "tailwindcss": "^3.4.7",
87
90
  "tar": "^7.5.6",
88
91
  "text-encoding-polyfill": "^0.6.7",
89
- "use-debounce": "^10.1.0",
90
92
  "usehooks-ts": "^3.1.1",
91
- "zod": "^4.3.5"
93
+ "zod": "^4.3.5",
94
+ "//end-lisa-force-dependencies": ""
92
95
  },
93
96
  "devDependencies": {
97
+ "//lisa-force-dev-dependencies": "Required by Lisa to ensure all necessary dev dependencies are included for Expo/React Native/GraphQL/Gluestack operations",
94
98
  "@babel/core": "^7.20.0",
95
99
  "@babel/plugin-proposal-export-namespace-from": "^7.18.9",
96
100
  "@graphql-codegen/cli": "^6.1.0",
@@ -108,12 +112,9 @@
108
112
  "@types/eslint-plugin-tailwindcss": "^3.17.0",
109
113
  "@types/react": "~19.1.10",
110
114
  "@types/react-dom": "^19.1.7",
111
- "babel-plugin-istanbul": "^6.1.1",
112
115
  "babel-plugin-module-resolver": "^5.0.2",
113
116
  "baseline-browser-mapping": "^2.9.2",
114
117
  "eslint-config-expo": "^10.0.0",
115
- "eslint-import-resolver-typescript": "^4.0.0",
116
- "eslint-plugin-import": "^2.31.0",
117
118
  "eslint-plugin-component-structure": "file:./eslint-plugin-component-structure",
118
119
  "eslint-plugin-jsx-a11y": "^6.10.0",
119
120
  "eslint-plugin-react": "^7.37.0",
@@ -124,22 +125,21 @@
124
125
  "eslint-plugin-ui-standards": "file:./eslint-plugin-ui-standards",
125
126
  "expo-atlas": "^0.4.0",
126
127
  "globals": "^16.0.0",
127
- "@istanbuljs/nyc-config-typescript": "^1.0.2",
128
- "@jest/test-sequencer": "^30.2.0",
129
- "@types/jest": "^30.0.0",
130
- "jest": "^30.0.0",
131
128
  "jest-environment-jsdom": "^30.2.0",
132
129
  "jest-expo": "^54.0.12",
133
- "ts-jest": "^29.4.6",
134
- "react-test-renderer": "19.1.0"
130
+ "//end-lisa-force-dev-dependencies": ""
135
131
  },
136
132
  "resolutions": {
133
+ "//lisa-force-resolutions": "Required by Lisa for security and compatibility reasons",
137
134
  "eslint-plugin-react-hooks": "^7.0.0",
138
- "tar": "^7.5.6"
135
+ "tar": "^7.5.6",
136
+ "//end-lisa-force-resolutions": ""
139
137
  },
140
138
  "overrides": {
139
+ "//lisa-force-overrides": "Required by Lisa for security and compatibility reasons",
141
140
  "eslint-plugin-react-hooks": "^7.0.0",
142
141
  "zod-validation-error": "^4.0.0",
143
- "tar": "^7.5.6"
142
+ "tar": "^7.5.6",
143
+ "//end-lisa-force-overrides": ""
144
144
  }
145
145
  }
@@ -1,34 +1,40 @@
1
1
  {
2
2
  "scripts": {
3
- "test": "NODE_ENV=test jest --passWithNoTests",
4
- "test:unit": "NODE_ENV=test jest --testPathIgnorePatterns=\"\\.integration\\.test\\.(ts|tsx)$\" --passWithNoTests",
5
- "test:integration": "NODE_ENV=test jest --testPathPatterns=\"\\.integration\\.test\\.(ts|tsx)$\" --passWithNoTests",
6
- "test:cov": "NODE_ENV=test jest --coverage",
3
+ "//lisa-force-scripts-quality-assurance": "Required by Lisa in ci/cd, git hooks and claude hooks to ensure governance",
4
+ "k6": "./scripts/k6-run.sh",
5
+ "k6:smoke": "./scripts/k6-run.sh --scenario smoke",
6
+ "k6:load": "./scripts/k6-run.sh --scenario load",
7
+ "k6:stress": "./scripts/k6-run.sh --scenario stress",
8
+ "k6:spike": "./scripts/k6-run.sh --scenario spike",
9
+ "k6:soak": "./scripts/k6-run.sh --scenario soak",
10
+ "k6:docker:smoke": "./scripts/k6-run.sh --scenario smoke --docker",
11
+ "k6:docker:load": "./scripts/k6-run.sh --scenario load --docker",
12
+ "//end-lisa-force-scripts-quality-assurance": "",
13
+
14
+ "//lisa-force-scripts-operations": "Required by Lisa for standard operations to run this project locally",
7
15
  "start:local": "IS_OFFLINE=true sls offline start --noTimeout",
8
16
  "start:dev": "IS_OFFLINE=true sls offline start --stage dev",
9
17
  "start:docker": "docker compose up",
10
18
  "start:docker:build": "docker compose up --build",
11
19
  "start:docker:down": "docker compose down",
12
- "deploy:dev": "sls deploy --stage dev",
13
- "deploy:staging": "sls deploy --stage staging",
14
- "deploy:production": "sls deploy --stage production",
20
+
15
21
  "fetch:graphql:schema:dev": "./scripts/fetch-graphql-schema.sh development",
16
22
  "fetch:graphql:schema:staging": "./scripts/fetch-graphql-schema.sh staging",
17
23
  "fetch:graphql:schema:production": "./scripts/fetch-graphql-schema.sh production",
24
+ "//end-lisa-force-scripts-operations": "",
25
+
26
+ "//lisa-force-scripts-deployment": "Required by Lisa for deployment operations for this project",
27
+ "deploy:dev": "sls deploy --stage dev",
28
+ "deploy:staging": "sls deploy --stage staging",
29
+ "deploy:production": "sls deploy --stage production",
30
+
18
31
  "migration:generate": "typeorm-ts-node-commonjs migration:generate -d typeorm.config.ts src/database/migrations/$npm_config_name",
19
32
  "migration:run": "typeorm-ts-node-commonjs migration:run -d typeorm.config.ts",
20
33
  "migration:revert": "typeorm-ts-node-commonjs migration:revert -d typeorm.config.ts",
21
- "//k6-docs": "K6 load testing scripts - run locally or with Docker",
22
- "k6": "./scripts/k6-run.sh",
23
- "k6:smoke": "./scripts/k6-run.sh --scenario smoke",
24
- "k6:load": "./scripts/k6-run.sh --scenario load",
25
- "k6:stress": "./scripts/k6-run.sh --scenario stress",
26
- "k6:spike": "./scripts/k6-run.sh --scenario spike",
27
- "k6:soak": "./scripts/k6-run.sh --scenario soak",
28
- "k6:docker:smoke": "./scripts/k6-run.sh --scenario smoke --docker",
29
- "k6:docker:load": "./scripts/k6-run.sh --scenario load --docker"
34
+ "//end-lisa-force-scripts-deployment": ""
30
35
  },
31
36
  "dependencies": {
37
+ "//lisa-force-dependencies": "Required by Lisa to ensure all necessary dependencies are included for Serverless/NestJS/GraphQl operations",
32
38
  "@apollo/server": "^5.2.0",
33
39
  "@as-integrations/express5": "^1.1.2",
34
40
  "@aws-sdk/client-apigatewaymanagementapi": "^3.967.0",
@@ -58,9 +64,11 @@
58
64
  "reflect-metadata": "^0.2.2",
59
65
  "rxjs": "^7.8.2",
60
66
  "typeorm": "^0.3.28",
61
- "typeorm-naming-strategies": "^4.1.0"
67
+ "typeorm-naming-strategies": "^4.1.0",
68
+ "//end-lisa-force-dependencies": ""
62
69
  },
63
70
  "devDependencies": {
71
+ "//lisa-force-dev-dependencies": "Required by Lisa to ensure all necessary dev dependencies are included for Serverless/NestJS/GraphQl operations",
64
72
  "@graphql-codegen/cli": "^6.1.0",
65
73
  "@graphql-codegen/typescript": "^4.1.6",
66
74
  "@graphql-codegen/typescript-operations": "^4.4.2",
@@ -71,13 +79,9 @@
71
79
  "@types/aws-lambda": "^8.10.159",
72
80
  "@types/express": "^5.0.6",
73
81
  "@istanbuljs/nyc-config-typescript": "^1.0.2",
74
- "@jest/test-sequencer": "^30.2.0",
75
- "@types/jest": "^30.0.0",
76
- "jest": "^30.0.0",
77
- "ts-jest": "^29.4.6",
78
82
  "serverless": "^4.30.0",
79
83
  "serverless-esbuild": "^1.57.0",
80
- "serverless-offline": "^14.4.0"
81
- },
82
- "resolutions": {}
84
+ "serverless-offline": "^14.4.0",
85
+ "//end-lisa-force-dev-dependencies": ""
86
+ }
83
87
  }
package/package.json CHANGED
@@ -39,8 +39,6 @@
39
39
  "@types/lodash.merge": "^4.6.0",
40
40
  "@types/node": "^22.0.0",
41
41
  "@vitest/coverage-v8": "^3.0.0",
42
- "commitizen": "^4.3.0",
43
- "cz-conventional-changelog": "^3.3.0",
44
42
  "eslint": "^9.39.0",
45
43
  "eslint-config-prettier": "^10.0.0",
46
44
  "eslint-import-resolver-typescript": "^4.4.4",
@@ -69,18 +67,13 @@
69
67
  "bun": ">= 1.3.5",
70
68
  "node": "22.21.1"
71
69
  },
72
- "config": {
73
- "commitizen": {
74
- "path": "./node_modules/cz-conventional-changelog"
75
- }
76
- },
77
70
  "resolutions": {},
78
71
  "trustedDependencies": [
79
72
  "@sentry/cli",
80
73
  "@ast-grep/cli"
81
74
  ],
82
75
  "name": "@codyswann/lisa",
83
- "version": "1.9.3",
76
+ "version": "1.9.4",
84
77
  "description": "Claude Code governance framework that applies guardrails, guidance, and automated enforcement to projects",
85
78
  "main": "dist/index.js",
86
79
  "bin": {
@@ -40,6 +40,7 @@ export default [
40
40
  "**/*.mjs",
41
41
  "**/*.cjs",
42
42
  "**/*.jsx",
43
+ "**/__tests__/**",
43
44
  "cdk/**",
44
45
  "expo/**",
45
46
  "nestjs/**",
@@ -51,6 +52,11 @@ export default [
51
52
  // TypeScript files - slow import rules only
52
53
  {
53
54
  files: ["**/*.ts", "**/*.tsx"],
55
+ linterOptions: {
56
+ // Ignore inline eslint-disable comments since they reference rules
57
+ // from the main config that aren't loaded in this minimal config
58
+ noInlineConfig: true,
59
+ },
54
60
  languageOptions: {
55
61
  parser: tseslint.parser,
56
62
  parserOptions: {
@@ -16,7 +16,6 @@
16
16
  ],
17
17
  "ignoreDependencies": [
18
18
  "jscodeshift",
19
- "commitizen",
20
19
  "eslint-*",
21
20
  "lint-staged",
22
21
  "@commitlint/*",
@@ -1,32 +1,32 @@
1
1
  {
2
2
  "scripts": {
3
- "//docs": "The following commands MUST be defined for CI/CD to work properly - even if they're no-ops.",
3
+ "//lisa-force-scripts-quality-assurance": "Required by Lisa in ci/cd, git hooks and claude hooks to ensure governance",
4
+ "test": "NODE_ENV=test jest --passWithNoTests",
5
+ "test:unit": "NODE_ENV=test jest --testPathIgnorePatterns=\"\\.integration\\.test\\.(ts|tsx)$\" --passWithNoTests",
6
+ "test:integration": "NODE_ENV=test jest --testPathPatterns=\"\\.integration\\.test\\.(ts|tsx)$\" --passWithNoTests",
7
+ "test:cov": "NODE_ENV=test jest --coverage",
4
8
  "lint": "eslint . --quiet",
5
9
  "lint:fix": "eslint . --fix",
6
10
  "lint:slow": "eslint . --config eslint.slow.config.ts --quiet",
7
- "build": "tsc",
8
- "types:check": "tsc --noEmit",
9
11
  "typecheck": "tsc --noEmit",
10
12
  "format:check": "prettier --check .",
11
13
  "format": "prettier --check . --write",
12
- "prepare": "npm run build",
13
- "//end-docs": "",
14
- "start": "node dist/index.js",
15
- "dev": "tsx src/index.ts",
16
- "update-node-version": "tsx scripts/update-node-version.ts",
17
14
  "knip": "knip",
18
15
  "knip:fix": "knip --fix",
19
16
  "sg:scan": "ast-grep scan",
20
- "lisa:update": "npx @codyswann/lisa@latest ."
17
+ "build": "tsc",
18
+ "//end-lisa-force-scripts-quality-assurance": "",
19
+ "//lisa-force-scripts-operations": "Required by Lisa for standard operations for this project",
20
+ "lisa:update": "npx @codyswann/lisa@latest .",
21
+ "//end-lisa-force-scripts-operations": ""
21
22
  },
22
23
  "devDependencies": {
24
+ "//lisa-force-dev-dependencies": "Required by Lisa to ensure all necessary dev dependencies are included for standard operations",
23
25
  "@commitlint/cli": "^20.3.1",
24
26
  "@commitlint/config-conventional": "^20.3.1",
25
27
  "@eslint-community/eslint-plugin-eslint-comments": "^4.5.0",
26
28
  "@eslint/eslintrc": "^3.2.0",
27
29
  "@eslint/js": "^9.39.0",
28
- "commitizen": "^4.3.0",
29
- "cz-conventional-changelog": "^3.3.0",
30
30
  "eslint": "^9.39.0",
31
31
  "eslint-config-prettier": "^10.0.0",
32
32
  "eslint-import-resolver-typescript": "^4.4.4",
@@ -51,23 +51,25 @@
51
51
  "@types/node": "^22.0.0",
52
52
  "tsx": "^4.0.0",
53
53
  "knip": "^5.0.0",
54
- "@ast-grep/cli": "^0.40.4"
54
+ "@ast-grep/cli": "^0.40.4",
55
+ "@jest/test-sequencer": "^30.2.0",
56
+ "@types/jest": "^30.0.0",
57
+ "jest": "^30.0.0",
58
+ "ts-jest": "^29.4.6",
59
+ "//end-lisa-force-dev-dependencies": ""
55
60
  },
56
61
  "engines": {
62
+ "//lisa-defaults-engines": "Suggested by Lisa to ensure consistent environment for CDK operations. Can be overridden by the user if necessary.",
57
63
  "npm": "please-use-bun",
58
64
  "yarn": "please-use-bun",
59
65
  "pnpm": "please-use-bun",
60
66
  "bun": ">= 1.3.5",
61
- "node": "22.21.1"
62
- },
63
- "config": {
64
- "commitizen": {
65
- "path": "./node_modules/cz-conventional-changelog"
66
- }
67
+ "node": "22.21.1",
68
+ "//end-lisa-defaults-engines": ""
67
69
  },
68
- "resolutions": {},
70
+ "//lisa-merge-trusted-dependencies": "Suggested by Lisa to ensure that only trusted dependencies are used in this project",
69
71
  "trustedDependencies": [
70
- "@sentry/cli",
71
72
  "@ast-grep/cli"
72
- ]
73
+ ],
74
+ "//end-lisa-merge-trusted-dependencies": ""
73
75
  }
@@ -1,36 +0,0 @@
1
- {
2
- "scripts": {
3
- "test": "NODE_ENV=test jest --passWithNoTests",
4
- "test:unit": "NODE_ENV=test jest --testPathIgnorePatterns=\"\\.integration\\.test\\.(ts|tsx)$\" --passWithNoTests",
5
- "test:integration": "NODE_ENV=test jest --testPathPatterns=\"\\.integration\\.test\\.(ts|tsx)$\" --passWithNoTests",
6
- "test:cov": "NODE_ENV=test jest --coverage",
7
- "watch": "tsc -w",
8
- "cdk": "cdk"
9
- },
10
- "dependencies": {
11
- "@aws-cdk/aws-amplify-alpha": "^2.235.0-alpha.0",
12
- "aws-cdk-github-oidc": "^2.4.1",
13
- "aws-cdk-lib": "2.235.0",
14
- "constructs": "^10.4.5",
15
- "lodash": "^4.17.21",
16
- "source-map-support": "^0.5.21"
17
- },
18
- "devDependencies": {
19
- "@istanbuljs/nyc-config-typescript": "^1.0.2",
20
- "@jest/test-sequencer": "^30.2.0",
21
- "@types/jest": "^30.0.0",
22
- "aws-cdk": "2.235.0",
23
- "jest": "^30.0.0",
24
- "ts-jest": "^29.4.6"
25
- },
26
- "engines": {
27
- "npm": ">= 10.9.4",
28
- "yarn": "please-use-npm",
29
- "pnpm": "please-use-npm",
30
- "bun": "please-use-npm",
31
- "node": "22.21.1"
32
- },
33
- "bin": {
34
- "infrastructure": "bin/infrastructure.js"
35
- }
36
- }