@codyswann/lisa 1.9.2 → 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 (38) hide show
  1. package/README.md +59 -2
  2. package/all/copy-overwrite/.claude/hooks/README.md +57 -0
  3. package/all/copy-overwrite/.claude/hooks/pre-push.sh +41 -0
  4. package/all/copy-overwrite/CLAUDE.md +2 -3
  5. package/cdk/copy-overwrite/eslint.slow.config.ts +5 -0
  6. package/cdk/copy-overwrite/knip.json +0 -1
  7. package/cdk/tagged-merge/bin/infrastructure.js +16 -0
  8. package/cdk/tagged-merge/package.json +37 -0
  9. package/dist/core/config.d.ts +1 -1
  10. package/dist/core/config.d.ts.map +1 -1
  11. package/dist/core/config.js +1 -0
  12. package/dist/core/config.js.map +1 -1
  13. package/dist/core/lisa.d.ts.map +1 -1
  14. package/dist/core/lisa.js +2 -1
  15. package/dist/core/lisa.js.map +1 -1
  16. package/dist/strategies/index.d.ts +1 -0
  17. package/dist/strategies/index.d.ts.map +1 -1
  18. package/dist/strategies/index.js +3 -0
  19. package/dist/strategies/index.js.map +1 -1
  20. package/dist/strategies/tagged-merge-types.d.ts +30 -0
  21. package/dist/strategies/tagged-merge-types.d.ts.map +1 -0
  22. package/dist/strategies/tagged-merge-types.js +7 -0
  23. package/dist/strategies/tagged-merge-types.js.map +1 -0
  24. package/dist/strategies/tagged-merge.d.ts +206 -0
  25. package/dist/strategies/tagged-merge.d.ts.map +1 -0
  26. package/dist/strategies/tagged-merge.js +421 -0
  27. package/dist/strategies/tagged-merge.js.map +1 -0
  28. package/expo/copy-overwrite/eslint.slow.config.ts +5 -0
  29. package/expo/copy-overwrite/knip.json +0 -1
  30. package/expo/{merge → tagged-merge}/package.json +28 -28
  31. package/nestjs/{merge → tagged-merge}/package.json +28 -24
  32. package/package.json +1 -8
  33. package/typescript/copy-overwrite/.github/workflows/quality.yml +45 -1
  34. package/typescript/copy-overwrite/eslint.slow.config.ts +6 -0
  35. package/typescript/copy-overwrite/knip.json +0 -1
  36. package/typescript/{merge → tagged-merge}/package.json +23 -21
  37. package/cdk/merge/package.json +0 -36
  38. package/typescript/copy-overwrite/.github/workflows/lint-slow.yml +0 -40
@@ -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.2",
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": {
@@ -93,8 +93,13 @@ on:
93
93
  required: false
94
94
  default: false
95
95
  type: boolean
96
+ skip_lint_slow:
97
+ description: 'Skip the slow lint rules job'
98
+ required: false
99
+ default: false
100
+ type: boolean
96
101
  skip_jobs:
97
- description: 'Jobs to skip (comma-separated: lint,typecheck,test,test:unit,test:integration,test:e2e,maestro_e2e,playwright_e2e,format,build,dead_code,sg_scan,npm_security_scan,github_issue)'
102
+ description: 'Jobs to skip (comma-separated: lint,lint_slow,typecheck,test,test:unit,test:integration,test:e2e,maestro_e2e,playwright_e2e,format,build,dead_code,sg_scan,npm_security_scan,github_issue)'
98
103
  required: false
99
104
  default: ''
100
105
  type: string
@@ -290,6 +295,45 @@ jobs:
290
295
  NODE_OPTIONS: --max-old-space-size=6144
291
296
  working-directory: ${{ inputs.working_directory || '.' }}
292
297
 
298
+ lint_slow:
299
+ name: 🐢 Slow Lint Rules
300
+ runs-on: ubuntu-latest
301
+ timeout-minutes: 20
302
+ if: ${{ !inputs.skip_lint_slow && !contains(inputs.skip_jobs, 'lint_slow') }}
303
+
304
+ steps:
305
+ - name: 📥 Checkout repository
306
+ uses: actions/checkout@v4
307
+
308
+ - name: 🔧 Setup Node.js
309
+ uses: actions/setup-node@v4
310
+ with:
311
+ node-version: ${{ inputs.node_version }}
312
+ cache: ${{ inputs.package_manager != 'bun' && inputs.package_manager || '' }}
313
+
314
+ - name: 🍞 Setup Bun
315
+ if: inputs.package_manager == 'bun'
316
+ uses: oven-sh/setup-bun@v2
317
+ with:
318
+ bun-version: latest
319
+
320
+ - name: 📥 Install dependencies
321
+ run: |
322
+ if [ "${{ inputs.package_manager }}" = "npm" ]; then
323
+ npm ci
324
+ elif [ "${{ inputs.package_manager }}" = "yarn" ]; then
325
+ yarn install --frozen-lockfile
326
+ elif [ "${{ inputs.package_manager }}" = "bun" ]; then
327
+ bun install --frozen-lockfile
328
+ fi
329
+ working-directory: ${{ inputs.working_directory || '.' }}
330
+
331
+ - name: 🐢 Run slow lint rules
332
+ run: ${{ inputs.package_manager }} run lint:slow
333
+ env:
334
+ NODE_OPTIONS: --max-old-space-size=6144
335
+ working-directory: ${{ inputs.working_directory || '.' }}
336
+
293
337
  typecheck:
294
338
  name: 🔍 Type Check
295
339
  runs-on: ubuntu-latest
@@ -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
- }
@@ -1,40 +0,0 @@
1
- # This file is managed by Lisa.
2
- # Do not edit directly — changes will be overwritten on the next `lisa` run.
3
-
4
- name: 🐢 Slow Lint Rules
5
-
6
- on:
7
- schedule:
8
- # Run nightly at 2 AM UTC
9
- - cron: '0 2 * * *'
10
- workflow_dispatch:
11
- # Allow manual triggering
12
-
13
- jobs:
14
- lint-slow:
15
- name: 🐢 Slow Lint Rules
16
- runs-on: ubuntu-latest
17
- steps:
18
- - name: 📥 Checkout
19
- uses: actions/checkout@v4
20
-
21
- - name: 📦 Setup Bun
22
- uses: oven-sh/setup-bun@v2
23
- with:
24
- bun-version: latest
25
-
26
- - name: 📦 Install dependencies
27
- run: bun install --frozen-lockfile
28
-
29
- - name: 🐢 Run slow lint rules
30
- run: bun run lint:slow
31
-
32
- create_issue_on_failure:
33
- name: 📌 Create Issue on Failure
34
- needs: [lint-slow]
35
- if: ${{ failure() }}
36
- uses: ./.github/workflows/create-issue-on-failure.yml
37
- with:
38
- workflow_name: 'Slow Lint Rules'
39
- failed_job: 'lint-slow'
40
- secrets: inherit