- Commit bun.lock (removes bun.lock/bun.lockb/package-lock.json/deno.lock from .gitignore) so CI reads a pinned revision of the git-dependency @revenge-mod/plugin-cli, which build.gradle.kts already declared as a buildJs input but never had a committed file to read. - Pin wrangler as a devDependency (4.120.0, matching the version already live) so `bunx wrangler deploy` resolves the local pinned install instead of "latest" at every run; verified empirically that bunx follows the local pin, not the cache/latest version. - Pin bun-version in oven-sh/setup-bun@v2 to 1.3.14, the version already in use, so CI's toolchain isn't a moving target either. - Add a post-deploy CI step (.github/scripts/verify-deploy.mjs) that fetches the live index.json, and downloads and sha256-verifies one artifact against the hash the index claims for it, failing the workflow on any mismatch. This promotes the manual verification done during implementation into a permanent regression check. - Add concurrency (cancel superseded deploys on rapid pushes), workflow_dispatch (manual redeploy without an empty commit), and an explicit permissions: contents: read block to deploy.yml. - Document in README.md that next.jarviscli.dev auto-deploys on every push to main, and that a plugin change without a manifest.json version bump silently republishes the same version pointer with different bytes, so already-installed clients never see the update.
43 lines
No EOL
1.5 KiB
JSON
43 lines
No EOL
1.5 KiB
JSON
{
|
|
"name": "revenge-next-plugs",
|
|
"private": true,
|
|
"type": "module",
|
|
"scripts": {
|
|
"build": "bun node_modules/@revenge-mod/plugin-cli/src/main.ts build",
|
|
"build:dev": "bun node_modules/@revenge-mod/plugin-cli/src/main.ts build --dev",
|
|
"generate-index": "bun node_modules/@revenge-mod/plugin-cli/src/main.ts generate-index",
|
|
"serve": "bun node_modules/@revenge-mod/plugin-cli/src/main.ts serve",
|
|
"lint": "biome check",
|
|
"lint:types": "tsc --noEmit && tsc -p cli --noEmit"
|
|
},
|
|
"dependencies": {
|
|
"@revenge-mod/devtools-client": "^1.4.0",
|
|
"@revenge-mod/devtools-shared": "^1.3.0",
|
|
"@revenge-mod/plugin-cli": "git+https://github.com/revenge-mod/revenge-plugin-cli.git",
|
|
"@revenge-mod/types": "git+https://github.com/revenge-mod/revenge-types.git"
|
|
},
|
|
"devDependencies": {
|
|
"@biomejs/biome": "^2.5.6",
|
|
"@shopify/flash-list": "^2.3.2",
|
|
"@types/node": "^26.1.2",
|
|
"@types/react": "^19.2.17",
|
|
"react-native": "0.81.6",
|
|
"typescript": "^7.0.2",
|
|
"wrangler": "4.120.0"
|
|
},
|
|
"overrides": {
|
|
"@react-native/community-cli-plugin": "npm:dry-uninstall",
|
|
"@react-native/codegen": "npm:dry-uninstall",
|
|
"babel-jest": "npm:dry-uninstall",
|
|
"babel-plugin-syntax-hermes-parser": "npm:dry-uninstall",
|
|
"hermes-compiler": "npm:dry-uninstall",
|
|
"jsc-android": "npm:dry-uninstall",
|
|
"react-devtools-core": "npm:dry-uninstall",
|
|
"recyclerlistview": "npm:dry-uninstall",
|
|
"react-native-gesture-handler": "npm:dry-uninstall",
|
|
"react-native-screens": "npm:dry-uninstall"
|
|
},
|
|
"trustedDependencies": [
|
|
"@swc/core"
|
|
]
|
|
} |