40d484bede
- Prisma schema: User, Session, RepoConfig, Preview, Job, WebhookToken, NoConfigComment, AdminSettings - Backend: auth (login/logout/me/first-user setup), webhook handler with HMAC verification, EC2 service, SSH service, deploy pipeline, job queue worker, cron workers - Frontend: Login with first-user detection, Dashboard, PreviewDetail with live log streaming, Settings, Repos config, Admin panel, SetupWizard, Privacy page - Docker Compose and Dockerfile for self-hosted deployment - Uses bcryptjs for Node 24 compatibility Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
439 lines
15 KiB
JSON
439 lines
15 KiB
JSON
{
|
|
"name": "pr-previews",
|
|
"lockfileVersion": 3,
|
|
"requires": true,
|
|
"packages": {
|
|
"": {
|
|
"dependencies": {
|
|
"@prisma/client": "^6.19.3"
|
|
},
|
|
"devDependencies": {
|
|
"prisma": "^6.19.3"
|
|
}
|
|
},
|
|
"node_modules/@prisma/client": {
|
|
"version": "6.19.3",
|
|
"resolved": "https://registry.npmjs.org/@prisma/client/-/client-6.19.3.tgz",
|
|
"integrity": "sha512-mKq3jQFhjvko5LTJFHGilsuQs+W+T3Gm451NzuTDGQxwCzwXHYnIu2zGkRoW+Exq3Rob7yp2MfzSrdIiZVhrBg==",
|
|
"hasInstallScript": true,
|
|
"license": "Apache-2.0",
|
|
"engines": {
|
|
"node": ">=18.18"
|
|
},
|
|
"peerDependencies": {
|
|
"prisma": "*",
|
|
"typescript": ">=5.1.0"
|
|
},
|
|
"peerDependenciesMeta": {
|
|
"prisma": {
|
|
"optional": true
|
|
},
|
|
"typescript": {
|
|
"optional": true
|
|
}
|
|
}
|
|
},
|
|
"node_modules/@prisma/config": {
|
|
"version": "6.19.3",
|
|
"resolved": "https://registry.npmjs.org/@prisma/config/-/config-6.19.3.tgz",
|
|
"integrity": "sha512-CBPT44BjlQxEt8kiMEauji2WHTDoVBOKl7UlewXmUgBPnr/oPRZC3psci5chJnYmH0ivEIog2OU9PGWoki3DLQ==",
|
|
"devOptional": true,
|
|
"license": "Apache-2.0",
|
|
"dependencies": {
|
|
"c12": "3.1.0",
|
|
"deepmerge-ts": "7.1.5",
|
|
"effect": "3.21.0",
|
|
"empathic": "2.0.0"
|
|
}
|
|
},
|
|
"node_modules/@prisma/debug": {
|
|
"version": "6.19.3",
|
|
"resolved": "https://registry.npmjs.org/@prisma/debug/-/debug-6.19.3.tgz",
|
|
"integrity": "sha512-ljkJ+SgpXNktLG0Q/n4JGYCkKf0f8oYLyjImS2I8e2q2WCfdRRtWER062ZV/ixaNP2M2VKlWXVJiGzZaUgbKZw==",
|
|
"devOptional": true,
|
|
"license": "Apache-2.0"
|
|
},
|
|
"node_modules/@prisma/engines": {
|
|
"version": "6.19.3",
|
|
"resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-6.19.3.tgz",
|
|
"integrity": "sha512-RSYxtlYFl5pJ8ZePgMv0lZ9IzVCOdTPOegrs2qcbAEFrBI1G33h6wyC9kjQvo0DnYEhEVY0X4LsuFHXLKQk88g==",
|
|
"devOptional": true,
|
|
"hasInstallScript": true,
|
|
"license": "Apache-2.0",
|
|
"dependencies": {
|
|
"@prisma/debug": "6.19.3",
|
|
"@prisma/engines-version": "7.1.1-3.c2990dca591cba766e3b7ef5d9e8a84796e47ab7",
|
|
"@prisma/fetch-engine": "6.19.3",
|
|
"@prisma/get-platform": "6.19.3"
|
|
}
|
|
},
|
|
"node_modules/@prisma/engines-version": {
|
|
"version": "7.1.1-3.c2990dca591cba766e3b7ef5d9e8a84796e47ab7",
|
|
"resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-7.1.1-3.c2990dca591cba766e3b7ef5d9e8a84796e47ab7.tgz",
|
|
"integrity": "sha512-03bgb1VD5gvuumNf+7fVGBzfpJPjmqV423l/WxsWk2cNQ42JD0/SsFBPhN6z8iAvdHs07/7ei77SKu7aZfq8bA==",
|
|
"devOptional": true,
|
|
"license": "Apache-2.0"
|
|
},
|
|
"node_modules/@prisma/fetch-engine": {
|
|
"version": "6.19.3",
|
|
"resolved": "https://registry.npmjs.org/@prisma/fetch-engine/-/fetch-engine-6.19.3.tgz",
|
|
"integrity": "sha512-tKtl/qco9Nt7LU5iKhpultD8O4vMCZcU2CHjNTnRrL1QvSUr5W/GcyFPjNL87GtRrwBc7ubXXD9xy4EvLvt8JA==",
|
|
"devOptional": true,
|
|
"license": "Apache-2.0",
|
|
"dependencies": {
|
|
"@prisma/debug": "6.19.3",
|
|
"@prisma/engines-version": "7.1.1-3.c2990dca591cba766e3b7ef5d9e8a84796e47ab7",
|
|
"@prisma/get-platform": "6.19.3"
|
|
}
|
|
},
|
|
"node_modules/@prisma/get-platform": {
|
|
"version": "6.19.3",
|
|
"resolved": "https://registry.npmjs.org/@prisma/get-platform/-/get-platform-6.19.3.tgz",
|
|
"integrity": "sha512-xFj1VcJ1N3MKooOQAGO0W5tsd0W2QzIvW7DD7c/8H14Zmp4jseeWAITm+w2LLoLrlhoHdPPh0NMZ8mfL6puoHA==",
|
|
"devOptional": true,
|
|
"license": "Apache-2.0",
|
|
"dependencies": {
|
|
"@prisma/debug": "6.19.3"
|
|
}
|
|
},
|
|
"node_modules/@standard-schema/spec": {
|
|
"version": "1.1.0",
|
|
"resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz",
|
|
"integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==",
|
|
"devOptional": true,
|
|
"license": "MIT"
|
|
},
|
|
"node_modules/c12": {
|
|
"version": "3.1.0",
|
|
"resolved": "https://registry.npmjs.org/c12/-/c12-3.1.0.tgz",
|
|
"integrity": "sha512-uWoS8OU1MEIsOv8p/5a82c3H31LsWVR5qiyXVfBNOzfffjUWtPnhAb4BYI2uG2HfGmZmFjCtui5XNWaps+iFuw==",
|
|
"devOptional": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"chokidar": "^4.0.3",
|
|
"confbox": "^0.2.2",
|
|
"defu": "^6.1.4",
|
|
"dotenv": "^16.6.1",
|
|
"exsolve": "^1.0.7",
|
|
"giget": "^2.0.0",
|
|
"jiti": "^2.4.2",
|
|
"ohash": "^2.0.11",
|
|
"pathe": "^2.0.3",
|
|
"perfect-debounce": "^1.0.0",
|
|
"pkg-types": "^2.2.0",
|
|
"rc9": "^2.1.2"
|
|
},
|
|
"peerDependencies": {
|
|
"magicast": "^0.3.5"
|
|
},
|
|
"peerDependenciesMeta": {
|
|
"magicast": {
|
|
"optional": true
|
|
}
|
|
}
|
|
},
|
|
"node_modules/chokidar": {
|
|
"version": "4.0.3",
|
|
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz",
|
|
"integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==",
|
|
"devOptional": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"readdirp": "^4.0.1"
|
|
},
|
|
"engines": {
|
|
"node": ">= 14.16.0"
|
|
},
|
|
"funding": {
|
|
"url": "https://paulmillr.com/funding/"
|
|
}
|
|
},
|
|
"node_modules/citty": {
|
|
"version": "0.1.6",
|
|
"resolved": "https://registry.npmjs.org/citty/-/citty-0.1.6.tgz",
|
|
"integrity": "sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==",
|
|
"devOptional": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"consola": "^3.2.3"
|
|
}
|
|
},
|
|
"node_modules/confbox": {
|
|
"version": "0.2.4",
|
|
"resolved": "https://registry.npmjs.org/confbox/-/confbox-0.2.4.tgz",
|
|
"integrity": "sha512-ysOGlgTFbN2/Y6Cg3Iye8YKulHw+R2fNXHrgSmXISQdMnomY6eNDprVdW9R5xBguEqI954+S6709UyiO7B+6OQ==",
|
|
"devOptional": true,
|
|
"license": "MIT"
|
|
},
|
|
"node_modules/consola": {
|
|
"version": "3.4.2",
|
|
"resolved": "https://registry.npmjs.org/consola/-/consola-3.4.2.tgz",
|
|
"integrity": "sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==",
|
|
"devOptional": true,
|
|
"license": "MIT",
|
|
"engines": {
|
|
"node": "^14.18.0 || >=16.10.0"
|
|
}
|
|
},
|
|
"node_modules/deepmerge-ts": {
|
|
"version": "7.1.5",
|
|
"resolved": "https://registry.npmjs.org/deepmerge-ts/-/deepmerge-ts-7.1.5.tgz",
|
|
"integrity": "sha512-HOJkrhaYsweh+W+e74Yn7YStZOilkoPb6fycpwNLKzSPtruFs48nYis0zy5yJz1+ktUhHxoRDJ27RQAWLIJVJw==",
|
|
"devOptional": true,
|
|
"license": "BSD-3-Clause",
|
|
"engines": {
|
|
"node": ">=16.0.0"
|
|
}
|
|
},
|
|
"node_modules/defu": {
|
|
"version": "6.1.7",
|
|
"resolved": "https://registry.npmjs.org/defu/-/defu-6.1.7.tgz",
|
|
"integrity": "sha512-7z22QmUWiQ/2d0KkdYmANbRUVABpZ9SNYyH5vx6PZ+nE5bcC0l7uFvEfHlyld/HcGBFTL536ClDt3DEcSlEJAQ==",
|
|
"devOptional": true,
|
|
"license": "MIT"
|
|
},
|
|
"node_modules/destr": {
|
|
"version": "2.0.5",
|
|
"resolved": "https://registry.npmjs.org/destr/-/destr-2.0.5.tgz",
|
|
"integrity": "sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==",
|
|
"devOptional": true,
|
|
"license": "MIT"
|
|
},
|
|
"node_modules/dotenv": {
|
|
"version": "16.6.1",
|
|
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.6.1.tgz",
|
|
"integrity": "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==",
|
|
"devOptional": true,
|
|
"license": "BSD-2-Clause",
|
|
"engines": {
|
|
"node": ">=12"
|
|
},
|
|
"funding": {
|
|
"url": "https://dotenvx.com"
|
|
}
|
|
},
|
|
"node_modules/effect": {
|
|
"version": "3.21.0",
|
|
"resolved": "https://registry.npmjs.org/effect/-/effect-3.21.0.tgz",
|
|
"integrity": "sha512-PPN80qRokCd1f015IANNhrwOnLO7GrrMQfk4/lnZRE/8j7UPWrNNjPV0uBrZutI/nHzernbW+J0hdqQysHiSnQ==",
|
|
"devOptional": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"@standard-schema/spec": "^1.0.0",
|
|
"fast-check": "^3.23.1"
|
|
}
|
|
},
|
|
"node_modules/empathic": {
|
|
"version": "2.0.0",
|
|
"resolved": "https://registry.npmjs.org/empathic/-/empathic-2.0.0.tgz",
|
|
"integrity": "sha512-i6UzDscO/XfAcNYD75CfICkmfLedpyPDdozrLMmQc5ORaQcdMoc21OnlEylMIqI7U8eniKrPMxxtj8k0vhmJhA==",
|
|
"devOptional": true,
|
|
"license": "MIT",
|
|
"engines": {
|
|
"node": ">=14"
|
|
}
|
|
},
|
|
"node_modules/exsolve": {
|
|
"version": "1.1.0",
|
|
"resolved": "https://registry.npmjs.org/exsolve/-/exsolve-1.1.0.tgz",
|
|
"integrity": "sha512-D+42+T12DdIlJM3uepa55qGiL3sYdLBOxIl2ifQCzCHz4c7eiolaHsi3BIqEr7JxBzxv2pYZQX9kw16ziMcEmw==",
|
|
"devOptional": true,
|
|
"license": "MIT"
|
|
},
|
|
"node_modules/fast-check": {
|
|
"version": "3.23.2",
|
|
"resolved": "https://registry.npmjs.org/fast-check/-/fast-check-3.23.2.tgz",
|
|
"integrity": "sha512-h5+1OzzfCC3Ef7VbtKdcv7zsstUQwUDlYpUTvjeUsJAssPgLn7QzbboPtL5ro04Mq0rPOsMzl7q5hIbRs2wD1A==",
|
|
"devOptional": true,
|
|
"funding": [
|
|
{
|
|
"type": "individual",
|
|
"url": "https://github.com/sponsors/dubzzz"
|
|
},
|
|
{
|
|
"type": "opencollective",
|
|
"url": "https://opencollective.com/fast-check"
|
|
}
|
|
],
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"pure-rand": "^6.1.0"
|
|
},
|
|
"engines": {
|
|
"node": ">=8.0.0"
|
|
}
|
|
},
|
|
"node_modules/giget": {
|
|
"version": "2.0.0",
|
|
"resolved": "https://registry.npmjs.org/giget/-/giget-2.0.0.tgz",
|
|
"integrity": "sha512-L5bGsVkxJbJgdnwyuheIunkGatUF/zssUoxxjACCseZYAVbaqdh9Tsmmlkl8vYan09H7sbvKt4pS8GqKLBrEzA==",
|
|
"devOptional": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"citty": "^0.1.6",
|
|
"consola": "^3.4.0",
|
|
"defu": "^6.1.4",
|
|
"node-fetch-native": "^1.6.6",
|
|
"nypm": "^0.6.0",
|
|
"pathe": "^2.0.3"
|
|
},
|
|
"bin": {
|
|
"giget": "dist/cli.mjs"
|
|
}
|
|
},
|
|
"node_modules/jiti": {
|
|
"version": "2.7.0",
|
|
"resolved": "https://registry.npmjs.org/jiti/-/jiti-2.7.0.tgz",
|
|
"integrity": "sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==",
|
|
"devOptional": true,
|
|
"license": "MIT",
|
|
"bin": {
|
|
"jiti": "lib/jiti-cli.mjs"
|
|
}
|
|
},
|
|
"node_modules/node-fetch-native": {
|
|
"version": "1.6.7",
|
|
"resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.7.tgz",
|
|
"integrity": "sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==",
|
|
"devOptional": true,
|
|
"license": "MIT"
|
|
},
|
|
"node_modules/nypm": {
|
|
"version": "0.6.8",
|
|
"resolved": "https://registry.npmjs.org/nypm/-/nypm-0.6.8.tgz",
|
|
"integrity": "sha512-Q9K4Diu6l5u6xJQogeFSs/zKtyMSgFKFtRQV+tHP4kL7KPm2grpBU0dFIwFaXwNxN0MtfKWc43VpCugAa+LPsw==",
|
|
"devOptional": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"citty": "^0.2.2",
|
|
"pathe": "^2.0.3",
|
|
"tinyexec": "^1.2.4"
|
|
},
|
|
"bin": {
|
|
"nypm": "dist/cli.mjs"
|
|
},
|
|
"engines": {
|
|
"node": ">=18"
|
|
}
|
|
},
|
|
"node_modules/nypm/node_modules/citty": {
|
|
"version": "0.2.2",
|
|
"resolved": "https://registry.npmjs.org/citty/-/citty-0.2.2.tgz",
|
|
"integrity": "sha512-+6vJA3L98yv+IdfKGZHBNiGW5KHn22e/JwID0Strsz8h4S/csAu/OuICwxrg44k5MRiZHWIo8XXuJgQTriRP4w==",
|
|
"devOptional": true,
|
|
"license": "MIT"
|
|
},
|
|
"node_modules/ohash": {
|
|
"version": "2.0.11",
|
|
"resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.11.tgz",
|
|
"integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==",
|
|
"devOptional": true,
|
|
"license": "MIT"
|
|
},
|
|
"node_modules/pathe": {
|
|
"version": "2.0.3",
|
|
"resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz",
|
|
"integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==",
|
|
"devOptional": true,
|
|
"license": "MIT"
|
|
},
|
|
"node_modules/perfect-debounce": {
|
|
"version": "1.0.0",
|
|
"resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-1.0.0.tgz",
|
|
"integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==",
|
|
"devOptional": true,
|
|
"license": "MIT"
|
|
},
|
|
"node_modules/pkg-types": {
|
|
"version": "2.3.1",
|
|
"resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-2.3.1.tgz",
|
|
"integrity": "sha512-y+ichcgc2LrADuhLNAx8DFjVfgz91pRxfZdI3UDhxHvcVEZsenLO+7XaU5vOp0u/7V/wZ+plyuQxtrDlZJ+yeg==",
|
|
"devOptional": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"confbox": "^0.2.4",
|
|
"exsolve": "^1.0.8",
|
|
"pathe": "^2.0.3"
|
|
}
|
|
},
|
|
"node_modules/prisma": {
|
|
"version": "6.19.3",
|
|
"resolved": "https://registry.npmjs.org/prisma/-/prisma-6.19.3.tgz",
|
|
"integrity": "sha512-++ZJ0ijLrDJF6hNB4t4uxg2br3fC4H9Yc9tcbjr2fcNFP3rh/SBNrAgjhsqBU4Ght8JPrVofG/ZkXfnSfnYsFg==",
|
|
"devOptional": true,
|
|
"hasInstallScript": true,
|
|
"license": "Apache-2.0",
|
|
"dependencies": {
|
|
"@prisma/config": "6.19.3",
|
|
"@prisma/engines": "6.19.3"
|
|
},
|
|
"bin": {
|
|
"prisma": "build/index.js"
|
|
},
|
|
"engines": {
|
|
"node": ">=18.18"
|
|
},
|
|
"peerDependencies": {
|
|
"typescript": ">=5.1.0"
|
|
},
|
|
"peerDependenciesMeta": {
|
|
"typescript": {
|
|
"optional": true
|
|
}
|
|
}
|
|
},
|
|
"node_modules/pure-rand": {
|
|
"version": "6.1.0",
|
|
"resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz",
|
|
"integrity": "sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==",
|
|
"devOptional": true,
|
|
"funding": [
|
|
{
|
|
"type": "individual",
|
|
"url": "https://github.com/sponsors/dubzzz"
|
|
},
|
|
{
|
|
"type": "opencollective",
|
|
"url": "https://opencollective.com/fast-check"
|
|
}
|
|
],
|
|
"license": "MIT"
|
|
},
|
|
"node_modules/rc9": {
|
|
"version": "2.1.2",
|
|
"resolved": "https://registry.npmjs.org/rc9/-/rc9-2.1.2.tgz",
|
|
"integrity": "sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==",
|
|
"devOptional": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"defu": "^6.1.4",
|
|
"destr": "^2.0.3"
|
|
}
|
|
},
|
|
"node_modules/readdirp": {
|
|
"version": "4.1.2",
|
|
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz",
|
|
"integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==",
|
|
"devOptional": true,
|
|
"license": "MIT",
|
|
"engines": {
|
|
"node": ">= 14.18.0"
|
|
},
|
|
"funding": {
|
|
"type": "individual",
|
|
"url": "https://paulmillr.com/funding/"
|
|
}
|
|
},
|
|
"node_modules/tinyexec": {
|
|
"version": "1.2.4",
|
|
"resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.2.4.tgz",
|
|
"integrity": "sha512-SHf/r48b7vOrjve9PxJo3MN5v5yuyjHvdUcrQffT3WXMUfnGmHDVbC4k3sHJaJTgZCwpUplIaAo5ANtMyp3YHg==",
|
|
"devOptional": true,
|
|
"license": "MIT",
|
|
"engines": {
|
|
"node": ">=18"
|
|
}
|
|
}
|
|
}
|
|
}
|