@codyswann/lisa 1.12.2 → 1.12.3
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.
- package/README.md +1 -1
- package/cdk/copy-overwrite/knip.json +2 -1
- package/dist/strategies/package-lisa.d.ts +8 -8
- package/dist/strategies/package-lisa.d.ts.map +1 -1
- package/dist/strategies/package-lisa.js +18 -14
- package/dist/strategies/package-lisa.js.map +1 -1
- package/expo/copy-overwrite/.github/workflows/build.yml +1 -1
- package/expo/copy-overwrite/.github/workflows/lighthouse.yml +1 -1
- package/expo/copy-overwrite/knip.json +1 -0
- package/expo/copy-overwrite/lighthouserc.js +3 -0
- package/expo/create-only/.github/workflows/deploy.yml +1 -1
- package/nestjs/create-only/.github/workflows/deploy.yml +37 -31
- package/package.json +21 -19
- package/typescript/copy-overwrite/.github/workflows/quality.yml +15 -15
- package/typescript/copy-overwrite/.github/workflows/release.yml +1 -1
- package/typescript/package-lisa/package.lisa.json +2 -2
package/README.md
CHANGED
|
@@ -772,7 +772,7 @@ Each type directory contains subdirectories that control how files are applied:
|
|
|
772
772
|
"engines": {
|
|
773
773
|
"//lisa-defaults-engines": "Defaults - projects can override",
|
|
774
774
|
"node": "22.21.1",
|
|
775
|
-
"bun": "
|
|
775
|
+
"bun": "1.3.8",
|
|
776
776
|
"//end-lisa-defaults-engines": ""
|
|
777
777
|
},
|
|
778
778
|
"//lisa-merge-trusted-dependencies": "Lisa's + project's combined",
|
|
@@ -84,21 +84,21 @@ export declare class PackageLisaStrategy implements ICopyStrategy {
|
|
|
84
84
|
*/
|
|
85
85
|
private detectProjectTypes;
|
|
86
86
|
/**
|
|
87
|
-
* Check if package.json
|
|
87
|
+
* Check if package.json dependencies/devDependencies contain a specific package
|
|
88
88
|
* @param projectDir - The project directory to check
|
|
89
|
-
* @param
|
|
90
|
-
* @returns True if the
|
|
89
|
+
* @param packageName - The exact package name to check for (e.g., "typescript", "expo")
|
|
90
|
+
* @returns True if the package is in dependencies or devDependencies, false otherwise
|
|
91
91
|
* @private
|
|
92
92
|
*/
|
|
93
|
-
private
|
|
93
|
+
private packageJsonHasDependency;
|
|
94
94
|
/**
|
|
95
|
-
* Check if package.json
|
|
95
|
+
* Check if package.json dependencies/devDependencies contain a package starting with prefix
|
|
96
96
|
* @param projectDir - The project directory to check
|
|
97
|
-
* @param prefix - The prefix to check for (e.g., "@nestjs"
|
|
98
|
-
* @returns True if any
|
|
97
|
+
* @param prefix - The prefix to check for (e.g., "@nestjs", "aws-cdk")
|
|
98
|
+
* @returns True if any dependency starts with the given prefix, false otherwise
|
|
99
99
|
* @private
|
|
100
100
|
*/
|
|
101
|
-
private
|
|
101
|
+
private packageJsonHasDependencyPrefix;
|
|
102
102
|
/**
|
|
103
103
|
* Get a field value from package.json
|
|
104
104
|
* @param projectDir - The project directory containing the package.json
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-lisa.d.ts","sourceRoot":"","sources":["../../src/strategies/package-lisa.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAe,MAAM,mBAAmB,CAAC;AAE1E,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAc9E;;;;;;;;;;;;;;;;GAgBG;AAEH;;;;;;GAMG;AACH,qBAAa,mBAAoB,YAAW,aAAa;IACvD,QAAQ,CAAC,IAAI,EAAG,cAAc,CAAU;IAExC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkB;IAC/C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAmB;IACjD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAc;IACvC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAc;IACvC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAmB;IACjD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAc;IAEvC;;;;;;;;;;;;;OAaG;IACG,KAAK,CACT,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,mBAAmB,CAAC;IA6C/B;;;;;;;;OAQG;YACW,iBAAiB;IAc/B;;;;;;;;OAQG;YACW,iBAAiB;IA4B/B;;;;;;OAMG;YACW,gBAAgB;IAsB9B;;;;;;OAMG;YACW,kBAAkB;IA8ChC;;;;;;OAMG;YACW,
|
|
1
|
+
{"version":3,"file":"package-lisa.d.ts","sourceRoot":"","sources":["../../src/strategies/package-lisa.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAe,MAAM,mBAAmB,CAAC;AAE1E,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAc9E;;;;;;;;;;;;;;;;GAgBG;AAEH;;;;;;GAMG;AACH,qBAAa,mBAAoB,YAAW,aAAa;IACvD,QAAQ,CAAC,IAAI,EAAG,cAAc,CAAU;IAExC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkB;IAC/C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAmB;IACjD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAc;IACvC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAc;IACvC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAmB;IACjD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAc;IAEvC;;;;;;;;;;;;;OAaG;IACG,KAAK,CACT,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,mBAAmB,CAAC;IA6C/B;;;;;;;;OAQG;YACW,iBAAiB;IAc/B;;;;;;;;OAQG;YACW,iBAAiB;IA4B/B;;;;;;OAMG;YACW,gBAAgB;IAsB9B;;;;;;OAMG;YACW,kBAAkB;IA8ChC;;;;;;OAMG;YACW,wBAAwB;IAgBtC;;;;;;OAMG;YACW,8BAA8B;IAmB5C;;;;;;OAMG;YACW,gBAAgB;IAW9B;;;;;;;;;OASG;YACW,qBAAqB;IAwCnC;;;;;;;;;;OAUG;IACH,OAAO,CAAC,mBAAmB;IAgB3B;;;;;;;;OAQG;IACH,OAAO,CAAC,cAAc;IAWtB;;;;;;;OAOG;IACH,OAAO,CAAC,kBAAkB;IAmB1B;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,aAAa;IAoBrB;;;;;;;OAOG;IACH,OAAO,CAAC,kBAAkB;IAsB1B;;;;;;;;OAQG;IACH,OAAO,CAAC,iBAAiB;CA2B1B"}
|
|
@@ -152,23 +152,23 @@ export class PackageLisaStrategy {
|
|
|
152
152
|
const types = [];
|
|
153
153
|
// TypeScript detection
|
|
154
154
|
const hasTypeScript = (await fse.pathExists(path.join(projectDir, this.TSCONFIG_JSON))) ||
|
|
155
|
-
(await this.
|
|
155
|
+
(await this.packageJsonHasDependency(projectDir, "typescript"));
|
|
156
156
|
if (hasTypeScript)
|
|
157
157
|
types.push("typescript");
|
|
158
158
|
// Expo detection
|
|
159
159
|
const hasExpo = (await fse.pathExists(path.join(projectDir, this.APP_JSON))) ||
|
|
160
160
|
(await fse.pathExists(path.join(projectDir, this.EAS_JSON))) ||
|
|
161
|
-
(await this.
|
|
161
|
+
(await this.packageJsonHasDependency(projectDir, "expo"));
|
|
162
162
|
if (hasExpo)
|
|
163
163
|
types.push("expo");
|
|
164
164
|
// NestJS detection
|
|
165
165
|
const hasNestJS = (await fse.pathExists(path.join(projectDir, this.NEST_CLI_JSON))) ||
|
|
166
|
-
(await this.
|
|
166
|
+
(await this.packageJsonHasDependencyPrefix(projectDir, "@nestjs"));
|
|
167
167
|
if (hasNestJS)
|
|
168
168
|
types.push("nestjs");
|
|
169
169
|
// CDK detection
|
|
170
170
|
const hasCDK = (await fse.pathExists(path.join(projectDir, this.CDK_JSON))) ||
|
|
171
|
-
(await this.
|
|
171
|
+
(await this.packageJsonHasDependencyPrefix(projectDir, "aws-cdk"));
|
|
172
172
|
if (hasCDK)
|
|
173
173
|
types.push("cdk");
|
|
174
174
|
// npm-package detection
|
|
@@ -183,30 +183,34 @@ export class PackageLisaStrategy {
|
|
|
183
183
|
return types;
|
|
184
184
|
}
|
|
185
185
|
/**
|
|
186
|
-
* Check if package.json
|
|
186
|
+
* Check if package.json dependencies/devDependencies contain a specific package
|
|
187
187
|
* @param projectDir - The project directory to check
|
|
188
|
-
* @param
|
|
189
|
-
* @returns True if the
|
|
188
|
+
* @param packageName - The exact package name to check for (e.g., "typescript", "expo")
|
|
189
|
+
* @returns True if the package is in dependencies or devDependencies, false otherwise
|
|
190
190
|
* @private
|
|
191
191
|
*/
|
|
192
|
-
async
|
|
192
|
+
async packageJsonHasDependency(projectDir, packageName) {
|
|
193
193
|
const packageJson = await readJsonOrNull(path.join(projectDir, this.PACKAGE_JSON));
|
|
194
194
|
if (!packageJson)
|
|
195
195
|
return false;
|
|
196
|
-
return
|
|
196
|
+
return (packageJson.dependencies?.[packageName] !== undefined ||
|
|
197
|
+
packageJson.devDependencies?.[packageName] !== undefined);
|
|
197
198
|
}
|
|
198
199
|
/**
|
|
199
|
-
* Check if package.json
|
|
200
|
+
* Check if package.json dependencies/devDependencies contain a package starting with prefix
|
|
200
201
|
* @param projectDir - The project directory to check
|
|
201
|
-
* @param prefix - The prefix to check for (e.g., "@nestjs"
|
|
202
|
-
* @returns True if any
|
|
202
|
+
* @param prefix - The prefix to check for (e.g., "@nestjs", "aws-cdk")
|
|
203
|
+
* @returns True if any dependency starts with the given prefix, false otherwise
|
|
203
204
|
* @private
|
|
204
205
|
*/
|
|
205
|
-
async
|
|
206
|
+
async packageJsonHasDependencyPrefix(projectDir, prefix) {
|
|
206
207
|
const packageJson = await readJsonOrNull(path.join(projectDir, this.PACKAGE_JSON));
|
|
207
208
|
if (!packageJson)
|
|
208
209
|
return false;
|
|
209
|
-
|
|
210
|
+
const deps = packageJson.dependencies ?? {};
|
|
211
|
+
const devDeps = packageJson.devDependencies ?? {};
|
|
212
|
+
return (Object.keys(deps).some(key => key.startsWith(prefix)) ||
|
|
213
|
+
Object.keys(devDeps).some(key => key.startsWith(prefix)));
|
|
210
214
|
}
|
|
211
215
|
/**
|
|
212
216
|
* Get a field value from package.json
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-lisa.js","sourceRoot":"","sources":["../../src/strategies/package-lisa.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"package-lisa.js","sourceRoot":"","sources":["../../src/strategies/package-lisa.ts"],"names":[],"mappings":"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"}
|
|
@@ -122,6 +122,9 @@ module.exports = {
|
|
|
122
122
|
preset: "lighthouse:recommended",
|
|
123
123
|
|
|
124
124
|
assertions: {
|
|
125
|
+
// Ignored — geolocation is required on page load for this app
|
|
126
|
+
"geolocation-on-start": "off",
|
|
127
|
+
|
|
125
128
|
// Accessibility
|
|
126
129
|
"button-name": ["error", { minScore: a.buttonName.minScore }],
|
|
127
130
|
"valid-source-maps": [
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
# This file is managed by Lisa.
|
|
2
|
-
# Do not edit directly — changes will be overwritten on the next `lisa` run.
|
|
3
|
-
|
|
4
1
|
# This is an example deployment workflow that demonstrates the recommended pattern:
|
|
5
2
|
# 1. Call the release.yml workflow to create a release
|
|
6
3
|
# 2. Implement your custom deployment logic
|
|
@@ -74,10 +71,34 @@ jobs:
|
|
|
74
71
|
package_manager: 'bun'
|
|
75
72
|
secrets: inherit
|
|
76
73
|
|
|
74
|
+
verify_aws_credentials:
|
|
75
|
+
name: Verify AWS Credentials
|
|
76
|
+
runs-on: ubuntu-latest
|
|
77
|
+
needs: [release]
|
|
78
|
+
outputs:
|
|
79
|
+
has_aws_credentials: ${{ steps.check.outputs.has_aws_credentials }}
|
|
80
|
+
steps:
|
|
81
|
+
- name: Checkout
|
|
82
|
+
uses: actions/checkout@v4
|
|
83
|
+
- uses: noliran/branch-based-secrets@v1
|
|
84
|
+
with:
|
|
85
|
+
secrets: AWS_ACCOUNT_ID
|
|
86
|
+
- id: check
|
|
87
|
+
run: |
|
|
88
|
+
if [[ -z "${AWS_ACCOUNT_ID}" ]]; then
|
|
89
|
+
echo "has_aws_credentials=false" >> $GITHUB_OUTPUT
|
|
90
|
+
else
|
|
91
|
+
echo "has_aws_credentials=true" >> $GITHUB_OUTPUT
|
|
92
|
+
fi
|
|
93
|
+
shell: bash
|
|
94
|
+
env:
|
|
95
|
+
AWS_ACCOUNT_ID: ${{ secrets[env.AWS_ACCOUNT_ID_NAME] }}
|
|
96
|
+
|
|
77
97
|
check_migration_required:
|
|
78
98
|
name: Check Migration Required
|
|
79
99
|
runs-on: ubuntu-latest
|
|
80
|
-
needs: [release]
|
|
100
|
+
needs: [release, verify_aws_credentials]
|
|
101
|
+
if: needs.verify_aws_credentials.outputs.has_aws_credentials == 'true'
|
|
81
102
|
outputs:
|
|
82
103
|
requires_migration: ${{ steps.check.outputs.requires_migration }}
|
|
83
104
|
steps:
|
|
@@ -93,6 +114,7 @@ jobs:
|
|
|
93
114
|
shell: bash
|
|
94
115
|
env:
|
|
95
116
|
SKIP_MIGRATIONS: ${{ vars.SKIP_MIGRATIONS }}
|
|
117
|
+
GITHUB_OUTPUT: ${{ github.output }}
|
|
96
118
|
|
|
97
119
|
verify_vpn:
|
|
98
120
|
name: Verify VPN
|
|
@@ -116,10 +138,11 @@ jobs:
|
|
|
116
138
|
fi
|
|
117
139
|
env:
|
|
118
140
|
OVPN_CONFIG: ${{ secrets[env.OVPN_CONFIG_NAME] }}
|
|
141
|
+
GITHUB_OUTPUT: ${{ github.output }}
|
|
119
142
|
migrate:
|
|
120
143
|
name: Schema Migrations
|
|
121
144
|
runs-on: ubuntu-latest
|
|
122
|
-
needs:
|
|
145
|
+
needs: verify_vpn
|
|
123
146
|
if: always() && needs.verify_vpn.outputs.has_vpn_setup == 'true'
|
|
124
147
|
permissions:
|
|
125
148
|
id-token: write # needed to interact with GitHub's OIDC Token endpoint.
|
|
@@ -155,33 +178,31 @@ jobs:
|
|
|
155
178
|
- name: Setup Bun
|
|
156
179
|
uses: oven-sh/setup-bun@v2
|
|
157
180
|
with:
|
|
158
|
-
bun-version:
|
|
181
|
+
bun-version: '1.3.8'
|
|
159
182
|
- name: Install dependencies
|
|
160
183
|
run: bun install
|
|
161
184
|
- name: Run Schema Migrations
|
|
162
|
-
run: STAGE=${{
|
|
185
|
+
run: STAGE=${{ github.ref_name != 'main' && github.ref_name || 'production' }} bun run migration:run
|
|
163
186
|
env:
|
|
164
187
|
SERVERLESS_ACCESS_KEY: ${{ secrets.SERVERLESS_ACCESS_KEY }}
|
|
165
188
|
AWS_PROFILE: '' # Override serverless.yml profile with empty string for CI
|
|
166
189
|
deploy:
|
|
167
|
-
needs: [
|
|
190
|
+
needs: [migrate, verify_aws_credentials]
|
|
168
191
|
if: |
|
|
169
192
|
always() &&
|
|
193
|
+
needs.verify_aws_credentials.outputs.has_aws_credentials == 'true' &&
|
|
170
194
|
(needs.migrate.result == 'success' || needs.migrate.result == 'skipped')
|
|
171
195
|
name: Deploy
|
|
172
196
|
runs-on: ubuntu-latest
|
|
173
|
-
outputs:
|
|
174
|
-
environment_url: ${{ steps.deploy.outputs.environment_url }}
|
|
175
|
-
deployment_status: ${{ steps.deploy.outputs.deployment_status }}
|
|
176
197
|
permissions:
|
|
177
198
|
id-token: write # needed to interact with GitHub's OIDC Token endpoint
|
|
178
199
|
contents: read
|
|
179
200
|
steps:
|
|
180
201
|
- uses: actions/checkout@v3
|
|
181
|
-
- name:
|
|
182
|
-
uses:
|
|
202
|
+
- name: Use Node.js 22.21.1
|
|
203
|
+
uses: actions/setup-node@v3
|
|
183
204
|
with:
|
|
184
|
-
|
|
205
|
+
node-version: 22.21.1
|
|
185
206
|
- uses: noliran/branch-based-secrets@v1
|
|
186
207
|
with:
|
|
187
208
|
secrets: AWS_ACCOUNT_ID
|
|
@@ -192,25 +213,10 @@ jobs:
|
|
|
192
213
|
role-session-name: fedeploysession
|
|
193
214
|
aws-region: us-east-1
|
|
194
215
|
- name: Install dependencies
|
|
195
|
-
run: bun install
|
|
216
|
+
run: bun run install
|
|
196
217
|
- name: serverless deploy
|
|
197
|
-
id: deploy
|
|
198
218
|
run: |
|
|
199
|
-
|
|
200
|
-
OUTPUT=$(bun run serverless deploy --stage $STAGE 2>&1) || {
|
|
201
|
-
echo "deployment_status=failed" >> $GITHUB_OUTPUT
|
|
202
|
-
echo "$OUTPUT"
|
|
203
|
-
exit 1
|
|
204
|
-
}
|
|
205
|
-
echo "$OUTPUT"
|
|
206
|
-
# Extract endpoint URL from serverless output
|
|
207
|
-
ENDPOINT_URL=$(echo "$OUTPUT" | grep -oP 'endpoint: \K(https?://[^\s]+)' | head -1 || echo "")
|
|
208
|
-
if [ -z "$ENDPOINT_URL" ]; then
|
|
209
|
-
# Fallback: try to extract any URL from output
|
|
210
|
-
ENDPOINT_URL=$(echo "$OUTPUT" | grep -oP 'https?://[^\s]+' | head -1 || echo "")
|
|
211
|
-
fi
|
|
212
|
-
echo "environment_url=$ENDPOINT_URL" >> $GITHUB_OUTPUT
|
|
213
|
-
echo "deployment_status=success" >> $GITHUB_OUTPUT
|
|
219
|
+
bun run serverless deploy --stage ${{ github.ref_name != 'main' && github.ref_name || 'production' }}
|
|
214
220
|
env:
|
|
215
221
|
SERVERLESS_ACCESS_KEY: ${{ secrets.SERVERLESS_ACCESS_KEY }}
|
|
216
222
|
AWS_PROFILE: '' # Override serverless.yml profile with empty string for CI
|
package/package.json
CHANGED
|
@@ -1,4 +1,20 @@
|
|
|
1
1
|
{
|
|
2
|
+
"engines": {
|
|
3
|
+
"npm": "please-use-bun",
|
|
4
|
+
"yarn": "please-use-bun",
|
|
5
|
+
"pnpm": "please-use-bun",
|
|
6
|
+
"bun": "1.3.8",
|
|
7
|
+
"node": "22.21.1"
|
|
8
|
+
},
|
|
9
|
+
"files": [
|
|
10
|
+
"dist",
|
|
11
|
+
"all",
|
|
12
|
+
"typescript",
|
|
13
|
+
"expo",
|
|
14
|
+
"nestjs",
|
|
15
|
+
"cdk",
|
|
16
|
+
"eslint-plugin-code-organization"
|
|
17
|
+
],
|
|
2
18
|
"trustedDependencies": [
|
|
3
19
|
"@ast-grep/cli",
|
|
4
20
|
"@sentry/cli"
|
|
@@ -27,7 +43,8 @@
|
|
|
27
43
|
"cleanup:amplify-branches": "bash scripts/cleanup-amplify-branches.sh",
|
|
28
44
|
"cleanup:github-branches": "bash scripts/cleanup-github-branches.sh",
|
|
29
45
|
"github:status": "bash scripts/github-status-check.sh",
|
|
30
|
-
"setup:deploy-key": "bash scripts/setup-deploy-key.sh"
|
|
46
|
+
"setup:deploy-key": "bash scripts/setup-deploy-key.sh",
|
|
47
|
+
"prepublishOnly": "$npm_execpath run build"
|
|
31
48
|
},
|
|
32
49
|
"devDependencies": {
|
|
33
50
|
"@commitlint/cli": "^20.3.1",
|
|
@@ -63,18 +80,12 @@
|
|
|
63
80
|
"@jest/test-sequencer": "^30.2.0",
|
|
64
81
|
"@types/jest": "^30.0.0",
|
|
65
82
|
"jest": "^30.0.0",
|
|
66
|
-
"ts-jest": "^29.4.6"
|
|
67
|
-
|
|
68
|
-
"engines": {
|
|
69
|
-
"npm": "please-use-bun",
|
|
70
|
-
"yarn": "please-use-bun",
|
|
71
|
-
"pnpm": "please-use-bun",
|
|
72
|
-
"bun": ">= 1.3.5",
|
|
73
|
-
"node": "22.21.1"
|
|
83
|
+
"ts-jest": "^29.4.6",
|
|
84
|
+
"@jest/globals": "^30.0.0"
|
|
74
85
|
},
|
|
75
86
|
"resolutions": {},
|
|
76
87
|
"name": "@codyswann/lisa",
|
|
77
|
-
"version": "1.12.
|
|
88
|
+
"version": "1.12.3",
|
|
78
89
|
"description": "Claude Code governance framework that applies guardrails, guidance, and automated enforcement to projects",
|
|
79
90
|
"main": "dist/index.js",
|
|
80
91
|
"bin": {
|
|
@@ -105,14 +116,5 @@
|
|
|
105
116
|
"minimatch": "^10.1.1",
|
|
106
117
|
"picocolors": "^1.0.0"
|
|
107
118
|
},
|
|
108
|
-
"files": [
|
|
109
|
-
"dist",
|
|
110
|
-
"all",
|
|
111
|
-
"typescript",
|
|
112
|
-
"expo",
|
|
113
|
-
"nestjs",
|
|
114
|
-
"cdk",
|
|
115
|
-
"eslint-plugin-code-organization"
|
|
116
|
-
],
|
|
117
119
|
"type": "module"
|
|
118
120
|
}
|
|
@@ -150,7 +150,7 @@ jobs:
|
|
|
150
150
|
if: inputs.package_manager == 'bun'
|
|
151
151
|
uses: oven-sh/setup-bun@v2
|
|
152
152
|
with:
|
|
153
|
-
bun-version:
|
|
153
|
+
bun-version: '1.3.8'
|
|
154
154
|
|
|
155
155
|
- name: 🔑 Generate cache key
|
|
156
156
|
id: cache
|
|
@@ -232,7 +232,7 @@ jobs:
|
|
|
232
232
|
if: inputs.package_manager == 'bun'
|
|
233
233
|
uses: oven-sh/setup-bun@v2
|
|
234
234
|
with:
|
|
235
|
-
bun-version:
|
|
235
|
+
bun-version: '1.3.8'
|
|
236
236
|
|
|
237
237
|
- name: 📥 Install dependencies
|
|
238
238
|
run: |
|
|
@@ -270,7 +270,7 @@ jobs:
|
|
|
270
270
|
if: inputs.package_manager == 'bun'
|
|
271
271
|
uses: oven-sh/setup-bun@v2
|
|
272
272
|
with:
|
|
273
|
-
bun-version:
|
|
273
|
+
bun-version: '1.3.8'
|
|
274
274
|
|
|
275
275
|
- name: 📥 Install dependencies
|
|
276
276
|
run: |
|
|
@@ -309,7 +309,7 @@ jobs:
|
|
|
309
309
|
if: inputs.package_manager == 'bun'
|
|
310
310
|
uses: oven-sh/setup-bun@v2
|
|
311
311
|
with:
|
|
312
|
-
bun-version:
|
|
312
|
+
bun-version: '1.3.8'
|
|
313
313
|
|
|
314
314
|
- name: 📦 Install dependencies
|
|
315
315
|
run: |
|
|
@@ -348,7 +348,7 @@ jobs:
|
|
|
348
348
|
if: inputs.package_manager == 'bun'
|
|
349
349
|
uses: oven-sh/setup-bun@v2
|
|
350
350
|
with:
|
|
351
|
-
bun-version:
|
|
351
|
+
bun-version: '1.3.8'
|
|
352
352
|
|
|
353
353
|
- name: 📦 Install dependencies
|
|
354
354
|
run: |
|
|
@@ -392,7 +392,7 @@ jobs:
|
|
|
392
392
|
if: inputs.package_manager == 'bun'
|
|
393
393
|
uses: oven-sh/setup-bun@v2
|
|
394
394
|
with:
|
|
395
|
-
bun-version:
|
|
395
|
+
bun-version: '1.3.8'
|
|
396
396
|
|
|
397
397
|
- name: 📦 Install dependencies
|
|
398
398
|
run: |
|
|
@@ -455,7 +455,7 @@ jobs:
|
|
|
455
455
|
if: inputs.package_manager == 'bun'
|
|
456
456
|
uses: oven-sh/setup-bun@v2
|
|
457
457
|
with:
|
|
458
|
-
bun-version:
|
|
458
|
+
bun-version: '1.3.8'
|
|
459
459
|
|
|
460
460
|
- name: 📦 Install dependencies
|
|
461
461
|
run: |
|
|
@@ -518,7 +518,7 @@ jobs:
|
|
|
518
518
|
if: inputs.package_manager == 'bun'
|
|
519
519
|
uses: oven-sh/setup-bun@v2
|
|
520
520
|
with:
|
|
521
|
-
bun-version:
|
|
521
|
+
bun-version: '1.3.8'
|
|
522
522
|
|
|
523
523
|
- name: 📦 Install dependencies
|
|
524
524
|
run: |
|
|
@@ -661,7 +661,7 @@ jobs:
|
|
|
661
661
|
if: inputs.package_manager == 'bun'
|
|
662
662
|
uses: oven-sh/setup-bun@v2
|
|
663
663
|
with:
|
|
664
|
-
bun-version:
|
|
664
|
+
bun-version: '1.3.8'
|
|
665
665
|
|
|
666
666
|
- name: 📦 Install dependencies
|
|
667
667
|
run: |
|
|
@@ -735,7 +735,7 @@ jobs:
|
|
|
735
735
|
if: inputs.package_manager == 'bun'
|
|
736
736
|
uses: oven-sh/setup-bun@v2
|
|
737
737
|
with:
|
|
738
|
-
bun-version:
|
|
738
|
+
bun-version: '1.3.8'
|
|
739
739
|
|
|
740
740
|
- name: 📦 Install dependencies
|
|
741
741
|
run: |
|
|
@@ -774,7 +774,7 @@ jobs:
|
|
|
774
774
|
if: inputs.package_manager == 'bun'
|
|
775
775
|
uses: oven-sh/setup-bun@v2
|
|
776
776
|
with:
|
|
777
|
-
bun-version:
|
|
777
|
+
bun-version: '1.3.8'
|
|
778
778
|
|
|
779
779
|
- name: 📦 Install dependencies
|
|
780
780
|
run: |
|
|
@@ -826,7 +826,7 @@ jobs:
|
|
|
826
826
|
if: inputs.package_manager == 'bun'
|
|
827
827
|
uses: oven-sh/setup-bun@v2
|
|
828
828
|
with:
|
|
829
|
-
bun-version:
|
|
829
|
+
bun-version: '1.3.8'
|
|
830
830
|
|
|
831
831
|
- name: 📦 Install dependencies
|
|
832
832
|
run: |
|
|
@@ -863,7 +863,7 @@ jobs:
|
|
|
863
863
|
if: inputs.package_manager == 'bun'
|
|
864
864
|
uses: oven-sh/setup-bun@v2
|
|
865
865
|
with:
|
|
866
|
-
bun-version:
|
|
866
|
+
bun-version: '1.3.8'
|
|
867
867
|
|
|
868
868
|
- name: 📦 Install dependencies
|
|
869
869
|
run: |
|
|
@@ -940,7 +940,7 @@ jobs:
|
|
|
940
940
|
if: inputs.package_manager == 'bun'
|
|
941
941
|
uses: oven-sh/setup-bun@v2
|
|
942
942
|
with:
|
|
943
|
-
bun-version:
|
|
943
|
+
bun-version: '1.3.8'
|
|
944
944
|
|
|
945
945
|
- name: 📦 Install dependencies
|
|
946
946
|
run: |
|
|
@@ -1132,7 +1132,7 @@ jobs:
|
|
|
1132
1132
|
if: inputs.package_manager == 'bun'
|
|
1133
1133
|
uses: oven-sh/setup-bun@v2
|
|
1134
1134
|
with:
|
|
1135
|
-
bun-version:
|
|
1135
|
+
bun-version: '1.3.8'
|
|
1136
1136
|
|
|
1137
1137
|
- name: 📦 Install dependencies
|
|
1138
1138
|
if: steps.check_snyk.outputs.has_token == 'true'
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"knip:fix": "knip --fix",
|
|
16
16
|
"sg:scan": "ast-grep scan",
|
|
17
17
|
"build": "tsc",
|
|
18
|
-
"prepare": "
|
|
18
|
+
"prepare": "node -e \"if (process.env.INIT_CWD && process.env.INIT_CWD.includes('.serverless')) { process.exit(0); }\" && husky install || true",
|
|
19
19
|
"lisa:update": "npx @codyswann/lisa@latest ."
|
|
20
20
|
},
|
|
21
21
|
"devDependencies": {
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
"npm": "please-use-bun",
|
|
62
62
|
"yarn": "please-use-bun",
|
|
63
63
|
"pnpm": "please-use-bun",
|
|
64
|
-
"bun": "
|
|
64
|
+
"bun": "1.3.8",
|
|
65
65
|
"node": "22.21.1"
|
|
66
66
|
}
|
|
67
67
|
},
|