diff --git a/docs/specs/hosted.md b/docs/specs/hosted.md index 4fb4c825e..e7e2d970d 100644 --- a/docs/specs/hosted.md +++ b/docs/specs/hosted.md @@ -23,7 +23,7 @@ Every Worker answers `/api/health` and `/api/ready`, 404s anything else under it **Must install released core/auth packages from npm and commit their lockfile integrity hashes.** The installed packages' `dist/provenance.json` must name the same clean pgstencil commit; no runtime import depends on a sibling checkout. The auth migrations remain owned by the package; Dormouse's own tables migrate from `hosted/server/dormouse-migrations/`. **Never edit a merged migration**: a migrated database never reruns one, so append the next number (pinned by `hosted/server/tests/migrations.test.ts`). -**Must declare every peer dependency of the installed packages in `hosted/package.json`**, so they share Hosted's copy and Renovate updates them. +**Must declare every required peer dependency of the installed packages in `hosted/package.json`'s `dependencies`**, so they share Hosted's copy and Renovate updates them. **Never put an optional peer (pgstencil's tooling) in `dependencies`.** Source of truth: `WORKERS` in `hosted/scripts/workers.mjs`; `workerApp` in `hosted/server/worker-app.ts`; `verifyPackages` in `hosted/scripts/production.mjs`; `hosted/server/runtime-roles.sql`. Pinned by `hosted/server/tests/boundary.test.ts` and `hosted/server/tests/runtime-roles.test.ts`. diff --git a/docs/specs/security-supply-chain.rationale.md b/docs/specs/security-supply-chain.rationale.md index d32b8b2b1..5fa38abf9 100644 --- a/docs/specs/security-supply-chain.rationale.md +++ b/docs/specs/security-supply-chain.rationale.md @@ -6,7 +6,7 @@ Why the test is "puts on a user's machine, or Hosted serves or runs" rather than Why Hosted is disclosed though none of it is installed on a computer: `relay.dormouse.sh` serves Pocket, which keeps the phone's Client statics and is one of the two endpoints `docs/specs/remote-security-model.md` -> "Trust Model" names, and its Worker routes every Hosted session and carries the one-time handshake. Hosted's code is part of a Hosted user's trust base as much as the Terminal's is. -Why the Hosted section discloses more than ships: the relay and voice Worker bundles hold 17 npm packages each and the account Worker's 33 (34 releases), and the account page only React's three (wrangler dry-run and Vite source maps, 2026-10) — `pgstencil`, `@pgstencil/auth`, `hono`, and `pg`'s family in all three Workers, `better-auth`'s family in the account Worker alone — while the walk reaches 189 rows past the earlier sections, because `pgstencil` 0.3.0 declares its test harness (`testcontainers`, `cheerio`, `turndown`, `node-pg-migrate`) as runtime dependencies. Without that harness the walk reaches 39, which `pgstencil` 0.4.0 does once published. Pocket and the one-time page bundle only packages the Terminal already lists (their source maps, the same date). A walk over the bundles' metafiles would be exact, but the disclosure gate would then need the whole Hosted build. +Why the Hosted section discloses more than ships: the relay and voice Worker bundles hold 17 npm packages each and the account Worker's 33 (34 releases), and the account page only React's three (wrangler dry-run and Vite source maps, 2026-10) — `pgstencil`, `@pgstencil/auth`, `hono`, and `pg`'s family in all three Workers, `better-auth`'s family in the account Worker alone — while the walk reaches 39 rows past the earlier sections: the extra eight are regular dependencies of `better-auth` and `@pgstencil/auth` that no bundle holds (`@better-auth/{drizzle,mongo,prisma}-adapter`, `@standard-schema/spec`, `nanostores`, `oauth4webapi`, `openid-client`, `set-cookie-parser`). Under `pgstencil` 0.3.0 it reached 189, because that release declared its test harness (`testcontainers`, `cheerio`, `turndown`, `node-pg-migrate`) as runtime dependencies; 0.4.0 makes them optional peers, which `hosted/` installs as devDependencies. Pocket and the one-time page bundle only packages the Terminal already lists (their source maps, the same date). A walk over the bundles' metafiles would be exact, but the disclosure gate would then need the whole Hosted build. Why the Hosted walk alone skips optional peers: the sidecar and the Relay ship a `node_modules` tree, where every linked peer is on disk; Hosted ships only bundles, which hold a package only where code imports it. pnpm supplies `better-auth`'s optional peers `vitest`, `react`, and `pg` from what the workspace installs, and `vitest` alone dragged in `vite`, `playwright`, and `jsdom`: 133 rows, none bundled. Every package the three Workers and the account page bundle is still disclosed (checked against their source maps, 2026-10): an optional peer a Worker imports, such as `pg`, is reached through a dependency edge too, here `pgstencil`'s. One supplied only by a development dependency and imported by a Worker would go undisclosed. diff --git a/hosted/package.json b/hosted/package.json index 21959d0d2..ef760a013 100644 --- a/hosted/package.json +++ b/hosted/package.json @@ -19,8 +19,8 @@ "preview:smoke": "node scripts/preview-smoke.mjs" }, "dependencies": { - "@pgstencil/auth": "^0.3.0", - "pgstencil": "^0.3.0", + "@pgstencil/auth": "^0.4.0", + "pgstencil": "^0.4.0", "kysely": "^0.29.5", "hono": "^4.13.8", "@hono/node-server": "^2.0.10", @@ -39,6 +39,8 @@ "tsx": "4.23.15", "esbuild": "^0.28.2", "wrangler": "4.141.0", - "miniflare": "5.20260908.0-alpha" + "miniflare": "5.20260908.0-alpha", + "node-pg-migrate": "^9.0.0", + "testcontainers": "^12.2.1" } } diff --git a/hosted/server/tests/artifacts.test.ts b/hosted/server/tests/artifacts.test.ts index 3f5c69cc6..51fb1f939 100644 --- a/hosted/server/tests/artifacts.test.ts +++ b/hosted/server/tests/artifacts.test.ts @@ -6,17 +6,24 @@ const packages = [ ["@pgstencil/auth", "@pgstencil/auth/better-auth"], ] as const; -test("Hosted declares every peer of the installed pgstencil packages", () => { +test("Hosted declares every required peer of the installed pgstencil packages, and no optional one, in dependencies", () => { const { dependencies } = JSON.parse(readFileSync("package.json", "utf8")) as { dependencies: Record; }; for (const [name, entry] of packages) { const manifest = new URL("../package.json", import.meta.resolve(entry)); - const { peerDependencies = {} } = JSON.parse(readFileSync(manifest, "utf8")) as { + const { peerDependencies = {}, peerDependenciesMeta = {} } = JSON.parse(readFileSync(manifest, "utf8")) as { peerDependencies?: Record; + peerDependenciesMeta?: Record; }; - for (const peer of Object.keys(peerDependencies)) - expect(Object.keys(dependencies), `${name} peers on ${peer}`).toContain(peer); + for (const peer of Object.keys(peerDependencies)) { + // An optional peer is pgstencil's tooling, which the Workers never ship. + if (peerDependenciesMeta[peer]?.optional) { + expect(Object.keys(dependencies), `${name}'s optional peer ${peer}`).not.toContain(peer); + } else { + expect(Object.keys(dependencies), `${name} peers on ${peer}`).toContain(peer); + } + } } }); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 28881c74e..fb0df3bcc 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -330,8 +330,8 @@ importers: specifier: ^2.0.10 version: 2.1.4(hono@4.13.13) '@pgstencil/auth': - specifier: ^0.3.0 - version: 0.3.0(hono@4.13.13)(kysely@0.29.6)(pg@8.23.1)(pgstencil@0.3.0(kysely@0.29.6)(supports-color@10.2.2))(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(vitest@5.0.3) + specifier: ^0.4.0 + version: 0.4.0(hono@4.13.13)(kysely@0.29.6)(pg@8.23.1)(pgstencil@0.4.0(cheerio@1.2.0)(kysely@0.29.6)(node-pg-migrate@9.0.0(pg@8.23.1))(testcontainers@12.2.1(supports-color@10.2.2))(turndown@7.2.4))(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(vitest@5.0.3) hono: specifier: ^4.13.8 version: 4.13.13 @@ -339,8 +339,8 @@ importers: specifier: ^0.29.5 version: 0.29.6 pgstencil: - specifier: ^0.3.0 - version: 0.3.0(kysely@0.29.6)(supports-color@10.2.2) + specifier: ^0.4.0 + version: 0.4.0(cheerio@1.2.0)(kysely@0.29.6)(node-pg-migrate@9.0.0(pg@8.23.1))(testcontainers@12.2.1(supports-color@10.2.2))(turndown@7.2.4) react: specifier: ^19.2.6 version: 19.3.0 @@ -369,6 +369,12 @@ importers: miniflare: specifier: 5.20260908.0-alpha version: 5.20260908.0-alpha + node-pg-migrate: + specifier: ^9.0.0 + version: 9.0.0(pg@8.23.1) + testcontainers: + specifier: ^12.2.1 + version: 12.2.1(supports-color@10.2.2) tsx: specifier: 4.23.15 version: 4.23.15 @@ -1002,13 +1008,13 @@ packages: '@balena/dockerignore@1.0.2': resolution: {integrity: sha512-wMue2Sy4GAVTk6Ic4tJVcnfdau+gx2EnG7S+uAEe+TWJFqE4YoWN4/H8MSLj4eYJKxGg26lZwboEniNiNwZQ6Q==} - '@better-auth/core@1.7.7': - resolution: {integrity: sha512-srgFzHEjB2WWlokFz1i4BfG41sNhsA105Pukgqu6RrEh5A+LSkzf1mCHydVipkjt9l5qswtBMi7IL6ouHbZL4Q==} + '@better-auth/core@1.7.10': + resolution: {integrity: sha512-c5vxtnk7UxWe/iF/X5sKSgmPcN5n6biuwJBs2dMkceMwvMWBHLosue6h/vmvKns9SYKbkBNWsurFe7yIbv13dQ==} peerDependencies: - '@better-auth/utils': 0.4.2 + '@better-auth/utils': ^0.4.2 || ^0.5.0 '@better-fetch/fetch': 1.3.2 '@opentelemetry/api': ^1.9.0 - better-call: 1.4.0 + better-call: 1.4.2 jose: ^6.1.0 kysely: ^0.28.5 || ^0.29.0 nanostores: ^1.0.1 @@ -1016,47 +1022,47 @@ packages: '@opentelemetry/api': optional: true - '@better-auth/drizzle-adapter@1.7.7': - resolution: {integrity: sha512-qon0U94PR5FQysuyGoAlGVQpIIiNg5dtDpwjE63sN/HjoRWZadZzHPcS9mn7JsJyQZK6iTNhd7LD0AaXt2f78w==} + '@better-auth/drizzle-adapter@1.7.10': + resolution: {integrity: sha512-Uc/Eh9cnvorIWA6J97Hv8zjR8sCVUP6G7M3xHJGTD9qJXC69zoY4ULmNGA73AmGJB1q+VEYs2cRMtJ6fR6HP6g==} peerDependencies: - '@better-auth/core': ^1.7.7 - '@better-auth/utils': 0.4.2 + '@better-auth/core': ^1.7.10 + '@better-auth/utils': ^0.4.2 || ^0.5.0 drizzle-orm: ^0.45.2 || >=1.0.0-rc.1 <2.0.0 peerDependenciesMeta: drizzle-orm: optional: true - '@better-auth/kysely-adapter@1.7.7': - resolution: {integrity: sha512-9FONOCgOcrQI9wJ5v1oDGIg9sT7pa9RjZZQ4fsCTudo8R87SrIGNUvUxDFTJhZvUblvFfGaIBR9Vb8LA+8bqLQ==} + '@better-auth/kysely-adapter@1.7.10': + resolution: {integrity: sha512-ZWWc6h5lgcwQMTcqMLNWw+jTEMFfrqJHD+VamiCUdaAxZzVAkjLZzVA2r0vZ5w7xnTY9vWS7wuNVqAKNLRTlYQ==} peerDependencies: - '@better-auth/core': ^1.7.7 - '@better-auth/utils': 0.4.2 + '@better-auth/core': ^1.7.10 + '@better-auth/utils': ^0.4.2 || ^0.5.0 kysely: ^0.28.17 || ^0.29.0 peerDependenciesMeta: kysely: optional: true - '@better-auth/memory-adapter@1.7.7': - resolution: {integrity: sha512-FqKFEe+b5tXXV0gRbyirca+qXgMpLOeJ8Wk19yykb/scQKy0WJ4k22WzEV3TTPctQV9DZhwCXPlDtQhnlOv5Gg==} + '@better-auth/memory-adapter@1.7.10': + resolution: {integrity: sha512-3Di7y8BK5I2pCdpRaJ2ggkVliO/Swr6a/J+y9RFdwkbxhEMU1o9WD9IwoG3LFH8dvFF3kVo+GilsZsVNlYD+sw==} peerDependencies: - '@better-auth/core': ^1.7.7 - '@better-auth/utils': 0.4.2 + '@better-auth/core': ^1.7.10 + '@better-auth/utils': ^0.4.2 || ^0.5.0 - '@better-auth/mongo-adapter@1.7.7': - resolution: {integrity: sha512-ZnVDuRrXqbf0oHphrEN27oTImNH5NTO26dtWatq5cXyYAsH7goof9QIoTOmxTbBxUQahKBw9T6+9h6n+RtOE+g==} + '@better-auth/mongo-adapter@1.7.10': + resolution: {integrity: sha512-7z48PlXtlSKGvdOXfVmbjZE1vRmYyOQqHiPbeLpw+NvAPSTI9N4r7OO47u2MebA3q25e3GoGEwk5BAEE07u+PQ==} peerDependencies: - '@better-auth/core': ^1.7.7 - '@better-auth/utils': 0.4.2 + '@better-auth/core': ^1.7.10 + '@better-auth/utils': ^0.4.2 || ^0.5.0 mongodb: ^6.0.0 || ^7.0.0 peerDependenciesMeta: mongodb: optional: true - '@better-auth/prisma-adapter@1.7.7': - resolution: {integrity: sha512-4YcnrcVdvWiAZw0sZl63tWUClPXg5r3QsLn7C2sG7kKEBY06zOng0ibecyxRBixKq1zE1ceHuEUqez5Rhi+nQA==} + '@better-auth/prisma-adapter@1.7.10': + resolution: {integrity: sha512-hNlhn0Kcq/O76SehvqznFsjqfEMdM2m2ctazU/BLv+jT8+hGvvxCInXZi6x86/xpAyDTgU7t7KsK50r6mdNR1g==} peerDependencies: - '@better-auth/core': ^1.7.7 - '@better-auth/utils': 0.4.2 + '@better-auth/core': ^1.7.10 + '@better-auth/utils': ^0.4.2 || ^0.5.0 '@prisma/client': ^5.0.0 || ^6.0.0 || ^7.0.0 prisma: ^5.0.0 || ^6.0.0 || ^7.0.0 peerDependenciesMeta: @@ -1065,16 +1071,13 @@ packages: prisma: optional: true - '@better-auth/telemetry@1.7.7': - resolution: {integrity: sha512-PaRA6i+kAioVYmza2gHPcdrxP0hAotph4KV9hft2GeNJq+AZXDiBu3FuLM9HxvcmiZeUT74Vufqd9ypmB8veTA==} + '@better-auth/telemetry@1.7.10': + resolution: {integrity: sha512-1OamUtbGRaYHB0tRjKK3Jv6hzI6mZMv3pujkg8k7tr3idQuToMoVXsWAD9oFbUTmOLeix58n+grzsl7r0fR0Sw==} peerDependencies: - '@better-auth/core': ^1.7.7 - '@better-auth/utils': 0.4.2 + '@better-auth/core': ^1.7.10 + '@better-auth/utils': ^0.4.2 || ^0.5.0 '@better-fetch/fetch': 1.3.2 - '@better-auth/utils@0.4.2': - resolution: {integrity: sha512-AUxrvu+HaaODsUyzDxFgwd/8RZ1yZaYo42LXKSrU2oGgR38pS1ij8nqQKNgtTWoYGpNevNXtCfgTy6loHveW9A==} - '@better-auth/utils@0.5.0': resolution: {integrity: sha512-BL8W4EfIZFwlu0r54m3v1ztjDhu6dDe/amLTm0xybmbZaNgYUqhD3SjpAsnq0q8YD6/ki4iwIgxJNLP/N3TxiA==} @@ -1729,8 +1732,8 @@ packages: '@fontsource/ubuntu-sans-mono@5.3.0': resolution: {integrity: sha512-7SGXQ43Q+gq7kSU2SMaHDBP5injQ07c0hYFsO5lwYT51WQ6qs2mO+lGfzb8Y6yTUZXuQFj2X4MyMZuvumu4TAw==} - '@grpc/grpc-js@1.14.4': - resolution: {integrity: sha512-k9Dj3DV/itK9D06Y8f190Qgop7/Ui+D0njFV3LHMPwPT75DpXLQohE9Wmz0QElrJnzsjB7KPWiKJbOl7IPDArQ==} + '@grpc/grpc-js@1.14.6': + resolution: {integrity: sha512-SgC/B3/VZ8lTyOZ4Cwk6f1skWhmkNAaVfiX90qd5u1rRXGKk1//8FTUEN9GvOUq7rfWIqAYkA3CoyumYVpOS6g==} engines: {node: '>=12.10.0'} '@grpc/proto-loader@0.7.15': @@ -3167,13 +3170,13 @@ packages: cpu: [x64] os: [win32] - '@pgstencil/auth@0.3.0': - resolution: {integrity: sha512-sCuQxKwNtCkdbZ8OUKG6wAq18bmx/HMSyusvcuxqh4PpC04sNdyueKFjvsJ2v8tjw51MKKMMg4ixb9hw0i/Ifw==} + '@pgstencil/auth@0.4.0': + resolution: {integrity: sha512-isQq1k8YxUCJyISCO7TpwGkwmfer+nGVbqsIZbrD2Na8G59B20p5bU+IL09z7tbVL80THJdD9p+PEyE0R1FuXA==} engines: {node: '>=24'} peerDependencies: hono: ^4.13.7 kysely: ^0.29.5 - pgstencil: ^0.3.0 + pgstencil: ^0.4.0 '@phosphor-icons/react@2.1.10': resolution: {integrity: sha512-vt8Tvq8GLjheAZZYa+YG/pW7HDbov8El/MANW8pOAz4eGxrwhnbfrQZq0Cp4q8zBEu8NIhHdnr+r8thnfRSNYA==} @@ -4351,8 +4354,8 @@ packages: '@types/docker-modem@3.0.6': resolution: {integrity: sha512-yKpAGEuKRSS8wwx0joknWxsmLha78wNMe9R2S3UNsVOkZded8UqOrV8KoeDXoXsjndxwyF3eIhyClGbO1SEhEg==} - '@types/dockerode@4.0.1': - resolution: {integrity: sha512-cmUpB+dPN955PxBEuXE3f6lKO1hHiIGYJA46IVF3BJpNsZGvtBDcRnlrHYHtOH/B6vtDOyl2kZ2ShAu3mgc27Q==} + '@types/dockerode@4.0.2': + resolution: {integrity: sha512-hA4myZ0XzwHG/p/eCLElYsQS3y1XZfvi6AfLFKVp1SNpPkO6J3xLatacAFVkReTxXRoIa3eHJmhJi9w6I3+zNA==} '@types/doctrine@0.0.9': resolution: {integrity: sha512-eOIHzCUSH7SMfonMG1LsC2f8vxBFtho6NGBznK41R84YzPuvSBzrhEps33IsQiOW9+VL6NQ9DbjQJznk/S4uRA==} @@ -4864,8 +4867,8 @@ packages: bare-abort-controller: optional: true - bare-fs@4.8.1: - resolution: {integrity: sha512-N1nnXdHZAOSstz0XiHikGS4HGMH4CnSwhqWdGQQMqqdvp4Jybm9sE3R1WVnpWVd4SFkc8ryPDBLViNLwiEqECg==} + bare-fs@4.8.4: + resolution: {integrity: sha512-MPC2eyrpbk3A873sK4y6rk+Iv4o2enxTjHZ8zH3HO0mjrpm5XjnguY2XmfidIsDV6vnjpbMBKUAJpV0ISD2SsQ==} engines: {bare: '>=1.28.0'} peerDependencies: bare-buffer: '*' @@ -4890,8 +4893,8 @@ packages: bare-events: optional: true - bare-url@2.5.4: - resolution: {integrity: sha512-Gxa7UVWBr0/edU1b+TJhn/AZvMQUj9OGspvYsaTYQrAbZA4BOTZGL3LiZxvD+CeMlDH4juwD84+eTAp/bLYW5g==} + bare-url@2.5.5: + resolution: {integrity: sha512-iM9qJCruvpt2rPaLsrumVDru9pogI7PHziHIa9kTNRFt8C8HuSa+kI9kFezK+NvHEFnnz71rKGZ1EAilq/3V/Q==} base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} @@ -4904,12 +4907,12 @@ packages: bcrypt-pbkdf@1.0.2: resolution: {integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==} - better-auth@1.7.7: - resolution: {integrity: sha512-Zhgxi/c5ylmfB/sX+nwnBbsFf/j6k0L8DvL6CJXZSrXgxc5pPMC/e7j812zNd4L4B4ELmdURCPw3X8nAOUdcjw==} + better-auth@1.7.10: + resolution: {integrity: sha512-Paf0X8cHKQc8jCgM3vl4AoxRicWdNf0zw8Aggn1q6aNSWCDDxSZCb6rkXa/O9cPc8idjVPK0rV/eHPHAbs07ZA==} peerDependencies: '@lynx-js/react': '*' '@prisma/client': ^5.0.0 || ^6.0.0 || ^7.0.0 - '@sveltejs/kit': ^2.0.0 + '@sveltejs/kit': ^2.0.0 || ^3.0.0 '@tanstack/react-start': ^1.0.0 '@tanstack/solid-start': ^1.0.0 drizzle-kit: '>=0.31.4 || >=1.0.0-beta.1' @@ -4963,8 +4966,8 @@ packages: vue: optional: true - better-call@1.4.0: - resolution: {integrity: sha512-bBKOT4vv1kZLDgxVePdilk/Jwkn+dtRRsmi3DzHcDP+WnswyVl6dR59l2HEeP/0cB+bDoopASAesWDPIdd/zZA==} + better-call@1.4.2: + resolution: {integrity: sha512-lOmFCTG1KcE60YWxoff2Wx0Fv7v7drP/fQTDYnhJUCdkA7V6QWXdLPUiMpOQCq7Fd0Ts3AkrRwD23xoiootlGA==} peerDependencies: zod: ^4.0.0 peerDependenciesMeta: @@ -7090,11 +7093,24 @@ packages: pgpass@1.0.5: resolution: {integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==} - pgstencil@0.3.0: - resolution: {integrity: sha512-/Y9IfNjKfSRk5ADUaByNTxm+TMAEKqRbB5hb0zBnLhYzo+OOcP+PW+MqNGjmy1BwJkx9nfNLLLaj+9+Eo85inA==} + pgstencil@0.4.0: + resolution: {integrity: sha512-81Y6LTzIc1RkOh5eiRmPXuwVTR0s8+aB6DGmI/TE08LzRfozskVzaKdK3Cd6++gNPp6GsEqG9yFSFNd3unUmYw==} engines: {node: '>=24'} peerDependencies: + cheerio: ^1.2.0 kysely: ^0.29.5 + node-pg-migrate: ^9.0.0 + testcontainers: ^12.2.1 + turndown: ^7.2.4 + peerDependenciesMeta: + cheerio: + optional: true + node-pg-migrate: + optional: true + testcontainers: + optional: true + turndown: + optional: true picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} @@ -7323,8 +7339,8 @@ packages: resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} engines: {node: '>= 6'} - readable-stream@4.7.0: - resolution: {integrity: sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==} + readable-stream@4.8.0: + resolution: {integrity: sha512-2jhTTU3Eilp/2DMT71gbcoqC35eQHasMJH0RHkYxwlxIv3+FR6Y5xAFZIwEGLxKkjZYEFlsiMNIdwUqjK2lLHQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} readdir-glob@1.1.3: @@ -7731,8 +7747,8 @@ packages: resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} engines: {node: '>=6'} - tar-stream@3.2.1: - resolution: {integrity: sha512-nqsEO8zLZJvrOMdEwkA0QdCLFbetHMn95Zqu4fKwX+hkaTWJPZZOrxx/PwtxoK0MMGQmBQNRW3CPs8IFYQz4cQ==} + tar-stream@3.2.2: + resolution: {integrity: sha512-+8NeqHRjQWH9nYlwo2gamAMImZCVzI4UoEgDpWorBt9OEfppiZn+uSkskzQKPWIZyji/C8fpWO7u69G0DX0tbg==} teex@1.0.1: resolution: {integrity: sha512-eYE6iEI62Ni1H8oIa7KlDU6uQBtqr4Eajni3wX7rpfXD8ysFx8z0+dri+KWEPWpBsxXfxu58x/0jvTVT1ekOSg==} @@ -7745,8 +7761,8 @@ packages: resolution: {integrity: sha512-lk+vH+MccxNqgVqSnkMVKx4VLJfnLjDBGzH16JVZjKE2DoxP57s6/vt6JmXV5I3jBcfGrxNrYtC+mPtU7WJztA==} engines: {node: '>=18'} - testcontainers@12.2.0: - resolution: {integrity: sha512-Pd0c2eU0DdIuK+Pb3c+vmBUdKjDLgxZmPecQGESFAKyn5LTqSaSw8l7htfMlLwabb/QsUILe6XkxMJw8Ly/ThA==} + testcontainers@12.2.1: + resolution: {integrity: sha512-JfbCyOvLdzatwgqUI3AvYCwRW0P5mCkKQVBPO8U5qSH1efC2kHvnfWmi9VHloy1rAFG2MEqWZObRH4bq0gU1kQ==} engines: {node: '>= 22.22'} text-decoder@1.2.7: @@ -7894,10 +7910,6 @@ packages: resolution: {integrity: sha512-IDxfleLmmbSskfWSUATiN1nfn2rDuvnMOqb5CWR92iIfojA0Ud+ulOAAEQ57LPr9rWmsreUyf5lwyao+7GNNVw==} engines: {node: '>=20.18.1'} - undici@8.10.2: - resolution: {integrity: sha512-/y4/bH9YNU5hi9NIrpOuvGXFcxrj3CMrV+/AYpowAYTpHn8gX/XPFjNy766FPoYY0miQhdW977JFWKGNhBdwyQ==} - engines: {node: '>=22.19.0'} - undici@8.11.2: resolution: {integrity: sha512-u4UB2/IrKdU6lFxumHmmo1a3fCQO5tzQllRorfoRS63txhrB7xTpSn1PftwC4qEHkOaqP95fCWW4lJzwErwzhQ==} engines: {node: '>=22.19.0'} @@ -8658,55 +8670,51 @@ snapshots: '@balena/dockerignore@1.0.2': {} - '@better-auth/core@1.7.7(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.2)(better-call@1.4.0(zod@4.6.5))(jose@6.2.12)(kysely@0.29.6)(nanostores@1.5.3)': + '@better-auth/core@1.7.10(@better-auth/utils@0.5.0)(@better-fetch/fetch@1.3.2)(better-call@1.4.2(zod@4.6.5))(jose@6.2.12)(kysely@0.29.6)(nanostores@1.5.3)': dependencies: - '@better-auth/utils': 0.4.2 + '@better-auth/utils': 0.5.0 '@better-fetch/fetch': 1.3.2 '@opentelemetry/semantic-conventions': 1.43.0 '@standard-schema/spec': 1.1.0 - better-call: 1.4.0(zod@4.6.5) + better-call: 1.4.2(zod@4.6.5) jose: 6.2.12 kysely: 0.29.6 nanostores: 1.5.3 zod: 4.6.5 - '@better-auth/drizzle-adapter@1.7.7(@better-auth/core@1.7.7(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.2)(better-call@1.4.0(zod@4.6.5))(jose@6.2.12)(kysely@0.29.6)(nanostores@1.5.3))(@better-auth/utils@0.4.2)': + '@better-auth/drizzle-adapter@1.7.10(@better-auth/core@1.7.10(@better-auth/utils@0.5.0)(@better-fetch/fetch@1.3.2)(better-call@1.4.2(zod@4.6.5))(jose@6.2.12)(kysely@0.29.6)(nanostores@1.5.3))(@better-auth/utils@0.5.0)': dependencies: - '@better-auth/core': 1.7.7(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.2)(better-call@1.4.0(zod@4.6.5))(jose@6.2.12)(kysely@0.29.6)(nanostores@1.5.3) - '@better-auth/utils': 0.4.2 + '@better-auth/core': 1.7.10(@better-auth/utils@0.5.0)(@better-fetch/fetch@1.3.2)(better-call@1.4.2(zod@4.6.5))(jose@6.2.12)(kysely@0.29.6)(nanostores@1.5.3) + '@better-auth/utils': 0.5.0 - '@better-auth/kysely-adapter@1.7.7(@better-auth/core@1.7.7(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.2)(better-call@1.4.0(zod@4.6.5))(jose@6.2.12)(kysely@0.29.6)(nanostores@1.5.3))(@better-auth/utils@0.4.2)(kysely@0.29.6)': + '@better-auth/kysely-adapter@1.7.10(@better-auth/core@1.7.10(@better-auth/utils@0.5.0)(@better-fetch/fetch@1.3.2)(better-call@1.4.2(zod@4.6.5))(jose@6.2.12)(kysely@0.29.6)(nanostores@1.5.3))(@better-auth/utils@0.5.0)(kysely@0.29.6)': dependencies: - '@better-auth/core': 1.7.7(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.2)(better-call@1.4.0(zod@4.6.5))(jose@6.2.12)(kysely@0.29.6)(nanostores@1.5.3) - '@better-auth/utils': 0.4.2 + '@better-auth/core': 1.7.10(@better-auth/utils@0.5.0)(@better-fetch/fetch@1.3.2)(better-call@1.4.2(zod@4.6.5))(jose@6.2.12)(kysely@0.29.6)(nanostores@1.5.3) + '@better-auth/utils': 0.5.0 optionalDependencies: kysely: 0.29.6 - '@better-auth/memory-adapter@1.7.7(@better-auth/core@1.7.7(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.2)(better-call@1.4.0(zod@4.6.5))(jose@6.2.12)(kysely@0.29.6)(nanostores@1.5.3))(@better-auth/utils@0.4.2)': + '@better-auth/memory-adapter@1.7.10(@better-auth/core@1.7.10(@better-auth/utils@0.5.0)(@better-fetch/fetch@1.3.2)(better-call@1.4.2(zod@4.6.5))(jose@6.2.12)(kysely@0.29.6)(nanostores@1.5.3))(@better-auth/utils@0.5.0)': dependencies: - '@better-auth/core': 1.7.7(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.2)(better-call@1.4.0(zod@4.6.5))(jose@6.2.12)(kysely@0.29.6)(nanostores@1.5.3) - '@better-auth/utils': 0.4.2 + '@better-auth/core': 1.7.10(@better-auth/utils@0.5.0)(@better-fetch/fetch@1.3.2)(better-call@1.4.2(zod@4.6.5))(jose@6.2.12)(kysely@0.29.6)(nanostores@1.5.3) + '@better-auth/utils': 0.5.0 - '@better-auth/mongo-adapter@1.7.7(@better-auth/core@1.7.7(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.2)(better-call@1.4.0(zod@4.6.5))(jose@6.2.12)(kysely@0.29.6)(nanostores@1.5.3))(@better-auth/utils@0.4.2)': + '@better-auth/mongo-adapter@1.7.10(@better-auth/core@1.7.10(@better-auth/utils@0.5.0)(@better-fetch/fetch@1.3.2)(better-call@1.4.2(zod@4.6.5))(jose@6.2.12)(kysely@0.29.6)(nanostores@1.5.3))(@better-auth/utils@0.5.0)': dependencies: - '@better-auth/core': 1.7.7(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.2)(better-call@1.4.0(zod@4.6.5))(jose@6.2.12)(kysely@0.29.6)(nanostores@1.5.3) - '@better-auth/utils': 0.4.2 + '@better-auth/core': 1.7.10(@better-auth/utils@0.5.0)(@better-fetch/fetch@1.3.2)(better-call@1.4.2(zod@4.6.5))(jose@6.2.12)(kysely@0.29.6)(nanostores@1.5.3) + '@better-auth/utils': 0.5.0 - '@better-auth/prisma-adapter@1.7.7(@better-auth/core@1.7.7(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.2)(better-call@1.4.0(zod@4.6.5))(jose@6.2.12)(kysely@0.29.6)(nanostores@1.5.3))(@better-auth/utils@0.4.2)': + '@better-auth/prisma-adapter@1.7.10(@better-auth/core@1.7.10(@better-auth/utils@0.5.0)(@better-fetch/fetch@1.3.2)(better-call@1.4.2(zod@4.6.5))(jose@6.2.12)(kysely@0.29.6)(nanostores@1.5.3))(@better-auth/utils@0.5.0)': dependencies: - '@better-auth/core': 1.7.7(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.2)(better-call@1.4.0(zod@4.6.5))(jose@6.2.12)(kysely@0.29.6)(nanostores@1.5.3) - '@better-auth/utils': 0.4.2 + '@better-auth/core': 1.7.10(@better-auth/utils@0.5.0)(@better-fetch/fetch@1.3.2)(better-call@1.4.2(zod@4.6.5))(jose@6.2.12)(kysely@0.29.6)(nanostores@1.5.3) + '@better-auth/utils': 0.5.0 - '@better-auth/telemetry@1.7.7(@better-auth/core@1.7.7(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.2)(better-call@1.4.0(zod@4.6.5))(jose@6.2.12)(kysely@0.29.6)(nanostores@1.5.3))(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.2)': + '@better-auth/telemetry@1.7.10(@better-auth/core@1.7.10(@better-auth/utils@0.5.0)(@better-fetch/fetch@1.3.2)(better-call@1.4.2(zod@4.6.5))(jose@6.2.12)(kysely@0.29.6)(nanostores@1.5.3))(@better-auth/utils@0.5.0)(@better-fetch/fetch@1.3.2)': dependencies: - '@better-auth/core': 1.7.7(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.2)(better-call@1.4.0(zod@4.6.5))(jose@6.2.12)(kysely@0.29.6)(nanostores@1.5.3) - '@better-auth/utils': 0.4.2 + '@better-auth/core': 1.7.10(@better-auth/utils@0.5.0)(@better-fetch/fetch@1.3.2)(better-call@1.4.2(zod@4.6.5))(jose@6.2.12)(kysely@0.29.6)(nanostores@1.5.3) + '@better-auth/utils': 0.5.0 '@better-fetch/fetch': 1.3.2 - '@better-auth/utils@0.4.2': - dependencies: - '@noble/hashes': 2.4.0 - '@better-auth/utils@0.5.0': dependencies: '@noble/hashes': 2.4.0 @@ -9316,7 +9324,7 @@ snapshots: '@fontsource/ubuntu-sans-mono@5.3.0': {} - '@grpc/grpc-js@1.14.4': + '@grpc/grpc-js@1.14.6': dependencies: '@grpc/proto-loader': 0.8.1 '@js-sdsl/ordered-map': 4.4.2 @@ -10254,7 +10262,8 @@ snapshots: dependencies: '@chevrotain/types': 11.1.2 - '@mixmark-io/domino@2.2.0': {} + '@mixmark-io/domino@2.2.0': + optional: true '@napi-rs/keyring-darwin-arm64@1.3.0': optional: true @@ -10551,14 +10560,14 @@ snapshots: '@oxc-resolver/binding-win32-x64-msvc@11.21.2': optional: true - '@pgstencil/auth@0.3.0(hono@4.13.13)(kysely@0.29.6)(pg@8.23.1)(pgstencil@0.3.0(kysely@0.29.6)(supports-color@10.2.2))(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(vitest@5.0.3)': + '@pgstencil/auth@0.4.0(hono@4.13.13)(kysely@0.29.6)(pg@8.23.1)(pgstencil@0.4.0(cheerio@1.2.0)(kysely@0.29.6)(node-pg-migrate@9.0.0(pg@8.23.1))(testcontainers@12.2.1(supports-color@10.2.2))(turndown@7.2.4))(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(vitest@5.0.3)': dependencies: - better-auth: 1.7.7(pg@8.23.1)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(vitest@5.0.3) + better-auth: 1.7.10(pg@8.23.1)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(vitest@5.0.3) hono: 4.13.13 jose: 6.2.12 kysely: 0.29.6 openid-client: 6.8.8 - pgstencil: 0.3.0(kysely@0.29.6)(supports-color@10.2.2) + pgstencil: 0.4.0(cheerio@1.2.0)(kysely@0.29.6)(node-pg-migrate@9.0.0(pg@8.23.1))(testcontainers@12.2.1(supports-color@10.2.2))(turndown@7.2.4) transitivePeerDependencies: - '@lynx-js/react' - '@opentelemetry/api' @@ -11666,7 +11675,7 @@ snapshots: '@types/node': 24.19.2 '@types/ssh2': 1.15.6 - '@types/dockerode@4.0.1': + '@types/dockerode@4.0.2': dependencies: '@types/docker-modem': 3.0.6 '@types/node': 24.19.2 @@ -12072,16 +12081,16 @@ snapshots: lazystream: 1.0.1 lodash: 4.18.1 normalize-path: 3.0.0 - readable-stream: 4.7.0 + readable-stream: 4.8.0 archiver@7.0.1: dependencies: archiver-utils: 5.0.2 async: 3.2.6 buffer-crc32: 1.0.0 - readable-stream: 4.7.0 + readable-stream: 4.8.0 readdir-glob: 1.1.3 - tar-stream: 3.2.1 + tar-stream: 3.2.2 zip-stream: 6.0.1 transitivePeerDependencies: - bare-abort-controller @@ -12164,12 +12173,12 @@ snapshots: bare-events@2.9.2: {} - bare-fs@4.8.1: + bare-fs@4.8.4: dependencies: bare-events: 2.9.2 bare-path: 3.1.2 bare-stream: 2.13.4(bare-events@2.9.2) - bare-url: 2.5.4 + bare-url: 2.5.5 fast-fifo: 1.3.2 transitivePeerDependencies: - bare-abort-controller @@ -12187,7 +12196,7 @@ snapshots: transitivePeerDependencies: - react-native-b4a - bare-url@2.5.4: + bare-url@2.5.5: dependencies: bare-path: 3.1.2 @@ -12199,20 +12208,20 @@ snapshots: dependencies: tweetnacl: 0.14.5 - better-auth@1.7.7(pg@8.23.1)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(vitest@5.0.3): + better-auth@1.7.10(pg@8.23.1)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(vitest@5.0.3): dependencies: - '@better-auth/core': 1.7.7(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.2)(better-call@1.4.0(zod@4.6.5))(jose@6.2.12)(kysely@0.29.6)(nanostores@1.5.3) - '@better-auth/drizzle-adapter': 1.7.7(@better-auth/core@1.7.7(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.2)(better-call@1.4.0(zod@4.6.5))(jose@6.2.12)(kysely@0.29.6)(nanostores@1.5.3))(@better-auth/utils@0.4.2) - '@better-auth/kysely-adapter': 1.7.7(@better-auth/core@1.7.7(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.2)(better-call@1.4.0(zod@4.6.5))(jose@6.2.12)(kysely@0.29.6)(nanostores@1.5.3))(@better-auth/utils@0.4.2)(kysely@0.29.6) - '@better-auth/memory-adapter': 1.7.7(@better-auth/core@1.7.7(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.2)(better-call@1.4.0(zod@4.6.5))(jose@6.2.12)(kysely@0.29.6)(nanostores@1.5.3))(@better-auth/utils@0.4.2) - '@better-auth/mongo-adapter': 1.7.7(@better-auth/core@1.7.7(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.2)(better-call@1.4.0(zod@4.6.5))(jose@6.2.12)(kysely@0.29.6)(nanostores@1.5.3))(@better-auth/utils@0.4.2) - '@better-auth/prisma-adapter': 1.7.7(@better-auth/core@1.7.7(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.2)(better-call@1.4.0(zod@4.6.5))(jose@6.2.12)(kysely@0.29.6)(nanostores@1.5.3))(@better-auth/utils@0.4.2) - '@better-auth/telemetry': 1.7.7(@better-auth/core@1.7.7(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.2)(better-call@1.4.0(zod@4.6.5))(jose@6.2.12)(kysely@0.29.6)(nanostores@1.5.3))(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.2) - '@better-auth/utils': 0.4.2 + '@better-auth/core': 1.7.10(@better-auth/utils@0.5.0)(@better-fetch/fetch@1.3.2)(better-call@1.4.2(zod@4.6.5))(jose@6.2.12)(kysely@0.29.6)(nanostores@1.5.3) + '@better-auth/drizzle-adapter': 1.7.10(@better-auth/core@1.7.10(@better-auth/utils@0.5.0)(@better-fetch/fetch@1.3.2)(better-call@1.4.2(zod@4.6.5))(jose@6.2.12)(kysely@0.29.6)(nanostores@1.5.3))(@better-auth/utils@0.5.0) + '@better-auth/kysely-adapter': 1.7.10(@better-auth/core@1.7.10(@better-auth/utils@0.5.0)(@better-fetch/fetch@1.3.2)(better-call@1.4.2(zod@4.6.5))(jose@6.2.12)(kysely@0.29.6)(nanostores@1.5.3))(@better-auth/utils@0.5.0)(kysely@0.29.6) + '@better-auth/memory-adapter': 1.7.10(@better-auth/core@1.7.10(@better-auth/utils@0.5.0)(@better-fetch/fetch@1.3.2)(better-call@1.4.2(zod@4.6.5))(jose@6.2.12)(kysely@0.29.6)(nanostores@1.5.3))(@better-auth/utils@0.5.0) + '@better-auth/mongo-adapter': 1.7.10(@better-auth/core@1.7.10(@better-auth/utils@0.5.0)(@better-fetch/fetch@1.3.2)(better-call@1.4.2(zod@4.6.5))(jose@6.2.12)(kysely@0.29.6)(nanostores@1.5.3))(@better-auth/utils@0.5.0) + '@better-auth/prisma-adapter': 1.7.10(@better-auth/core@1.7.10(@better-auth/utils@0.5.0)(@better-fetch/fetch@1.3.2)(better-call@1.4.2(zod@4.6.5))(jose@6.2.12)(kysely@0.29.6)(nanostores@1.5.3))(@better-auth/utils@0.5.0) + '@better-auth/telemetry': 1.7.10(@better-auth/core@1.7.10(@better-auth/utils@0.5.0)(@better-fetch/fetch@1.3.2)(better-call@1.4.2(zod@4.6.5))(jose@6.2.12)(kysely@0.29.6)(nanostores@1.5.3))(@better-auth/utils@0.5.0)(@better-fetch/fetch@1.3.2) + '@better-auth/utils': 0.5.0 '@better-fetch/fetch': 1.3.2 '@noble/ciphers': 2.4.0 '@noble/hashes': 2.4.0 - better-call: 1.4.0(zod@4.6.5) + better-call: 1.4.2(zod@4.6.5) defu: 6.1.7 jose: 6.2.12 kysely: 0.29.6 @@ -12226,7 +12235,7 @@ snapshots: transitivePeerDependencies: - '@opentelemetry/api' - better-call@1.4.0(zod@4.6.5): + better-call@1.4.2(zod@4.6.5): dependencies: '@better-auth/utils': 0.5.0 '@better-fetch/fetch': 1.3.2 @@ -12451,7 +12460,7 @@ snapshots: crc32-stream: 6.0.0 is-stream: 2.0.1 normalize-path: 3.0.0 - readable-stream: 4.7.0 + readable-stream: 4.8.0 compute-scroll-into-view@2.0.4: {} @@ -12501,7 +12510,7 @@ snapshots: crc32-stream@6.0.0: dependencies: crc-32: 1.2.2 - readable-stream: 4.7.0 + readable-stream: 4.8.0 crelt@1.0.7: {} @@ -12835,7 +12844,7 @@ snapshots: dockerode@5.0.1(supports-color@10.2.2): dependencies: '@balena/dockerignore': 1.0.2 - '@grpc/grpc-js': 1.14.4 + '@grpc/grpc-js': 1.14.6 '@grpc/proto-loader': 0.7.15 docker-modem: 5.0.7(supports-color@10.2.2) protobufjs: 7.6.6 @@ -14629,21 +14638,17 @@ snapshots: dependencies: split2: 4.2.0 - pgstencil@0.3.0(kysely@0.29.6)(supports-color@10.2.2): + pgstencil@0.4.0(cheerio@1.2.0)(kysely@0.29.6)(node-pg-migrate@9.0.0(pg@8.23.1))(testcontainers@12.2.1(supports-color@10.2.2))(turndown@7.2.4): dependencies: - cheerio: 1.2.0 kysely: 0.29.6 - node-pg-migrate: 9.0.0(pg@8.23.1) pg: 8.23.1 - testcontainers: 12.2.0(supports-color@10.2.2) + optionalDependencies: + cheerio: 1.2.0 + node-pg-migrate: 9.0.0(pg@8.23.1) + testcontainers: 12.2.1(supports-color@10.2.2) turndown: 7.2.4 transitivePeerDependencies: - - '@types/pg' - - bare-abort-controller - - bare-buffer - pg-native - - react-native-b4a - - supports-color picocolors@1.1.1: {} @@ -14894,7 +14899,7 @@ snapshots: string_decoder: 1.3.0 util-deprecate: 1.0.2 - readable-stream@4.7.0: + readable-stream@4.8.0: dependencies: abort-controller: 3.0.0 buffer: 6.0.3 @@ -15447,9 +15452,9 @@ snapshots: tar-fs@3.1.3: dependencies: pump: 3.0.4 - tar-stream: 3.2.1 + tar-stream: 3.2.2 optionalDependencies: - bare-fs: 4.8.1 + bare-fs: 4.8.4 bare-path: 3.1.2 transitivePeerDependencies: - bare-abort-controller @@ -15464,10 +15469,10 @@ snapshots: inherits: 2.0.4 readable-stream: 3.6.2 - tar-stream@3.2.1: + tar-stream@3.2.2: dependencies: b4a: 1.9.0 - bare-fs: 4.8.1 + bare-fs: 4.8.4 fast-fifo: 1.3.2 streamx: 2.28.1 transitivePeerDependencies: @@ -15498,10 +15503,10 @@ snapshots: ansi-escapes: 7.3.0 supports-hyperlinks: 3.2.0 - testcontainers@12.2.0(supports-color@10.2.2): + testcontainers@12.2.1(supports-color@10.2.2): dependencies: '@balena/dockerignore': 1.0.2 - '@types/dockerode': 4.0.1 + '@types/dockerode': 4.0.2 archiver: 7.0.1 async-lock: 1.4.1 byline: 5.0.0 @@ -15514,7 +15519,7 @@ snapshots: ssh-remote-port-forward: 1.0.4 tar-fs: 3.1.3 tmp: 0.2.7 - undici: 8.10.2 + undici: 8.11.2 transitivePeerDependencies: - bare-abort-controller - bare-buffer @@ -15608,6 +15613,7 @@ snapshots: turndown@7.2.4: dependencies: '@mixmark-io/domino': 2.2.0 + optional: true tweetnacl@0.14.5: {} @@ -15658,8 +15664,6 @@ snapshots: undici@7.29.0: {} - undici@8.10.2: {} - undici@8.11.2: {} unenv@2.0.0-rc.24: @@ -16092,7 +16096,7 @@ snapshots: dependencies: archiver-utils: 5.0.2 compress-commons: 6.0.2 - readable-stream: 4.7.0 + readable-stream: 4.8.0 zod@4.6.5: {} diff --git a/website/src/data/dependencies-npm.json b/website/src/data/dependencies-npm.json index 65bd5ad56..be125639e 100644 --- a/website/src/data/dependencies-npm.json +++ b/website/src/data/dependencies-npm.json @@ -4001,22 +4001,13 @@ } ], "hosted": [ - { - "name": "@balena/dockerignore", - "license": "Apache-2.0", - "author": "Balena Ltd., Zeit Inc.", - "homepage": "https://github.com/balena-io-modules/dockerignore", - "versions": [ - "1.0.2" - ] - }, { "name": "@better-auth/core", "license": "MIT", "author": "Bereket Engida", "homepage": "https://www.better-auth.com", "versions": [ - "1.7.7" + "1.7.10" ] }, { @@ -4025,7 +4016,7 @@ "author": "Bereket Engida", "homepage": "https://www.better-auth.com/docs/adapters/drizzle", "versions": [ - "1.7.7" + "1.7.10" ] }, { @@ -4034,7 +4025,7 @@ "author": "Bereket Engida", "homepage": "https://www.better-auth.com/docs/adapters/kysely", "versions": [ - "1.7.7" + "1.7.10" ] }, { @@ -4043,7 +4034,7 @@ "author": "Bereket Engida", "homepage": "https://www.better-auth.com", "versions": [ - "1.7.7" + "1.7.10" ] }, { @@ -4052,7 +4043,7 @@ "author": "Bereket Engida", "homepage": "https://www.better-auth.com/docs/adapters/mongodb", "versions": [ - "1.7.7" + "1.7.10" ] }, { @@ -4061,7 +4052,7 @@ "author": "Bereket Engida", "homepage": "https://www.better-auth.com/docs/adapters/prisma", "versions": [ - "1.7.7" + "1.7.10" ] }, { @@ -4070,7 +4061,7 @@ "author": "Bereket Engida", "homepage": "https://www.better-auth.com", "versions": [ - "1.7.7" + "1.7.10" ] }, { @@ -4079,7 +4070,6 @@ "author": "Bereket Engida", "homepage": "https://github.com/better-auth/utils", "versions": [ - "0.4.2", "0.5.0" ] }, @@ -4092,61 +4082,6 @@ "1.3.2" ] }, - { - "name": "@grpc/grpc-js", - "license": "Apache-2.0", - "author": "Google Inc.", - "homepage": "https://grpc.io/", - "versions": [ - "1.14.4" - ] - }, - { - "name": "@grpc/proto-loader", - "license": "Apache-2.0", - "author": "Google Inc.", - "homepage": "https://grpc.io/", - "versions": [ - "0.7.15", - "0.8.1" - ] - }, - { - "name": "@isaacs/cliui", - "license": "ISC", - "author": "Ben Coe ", - "homepage": "https://github.com/yargs/cliui", - "versions": [ - "8.0.2" - ] - }, - { - "name": "@js-sdsl/ordered-map", - "license": "MIT", - "author": "ZLY201", - "homepage": "https://js-sdsl.org", - "versions": [ - "4.4.2" - ] - }, - { - "name": "@kwsites/file-exists", - "license": "MIT", - "author": "Steve King ", - "homepage": "https://github.com/kwsites/file-exists", - "versions": [ - "1.1.1" - ] - }, - { - "name": "@mixmark-io/domino", - "license": "BSD-2-Clause", - "author": "Felix Gnass ", - "homepage": "https://github.com/mixmark-io/domino", - "versions": [ - "2.2.0" - ] - }, { "name": "@noble/hashes", "license": "MIT", @@ -4171,97 +4106,7 @@ "author": "DiffPlug", "homepage": "https://github.com/diffplug/pgstencil#readme", "versions": [ - "0.3.0" - ] - }, - { - "name": "@pkgjs/parseargs", - "license": "MIT", - "author": "pkgjs contributors", - "homepage": "https://github.com/pkgjs/parseargs#readme", - "versions": [ - "0.11.0" - ] - }, - { - "name": "@protobufjs/aspromise", - "license": "BSD-3-Clause", - "author": "Daniel Wirtz ", - "homepage": "https://github.com/dcodeIO/protobuf.js", - "versions": [ - "1.1.2" - ] - }, - { - "name": "@protobufjs/base64", - "license": "BSD-3-Clause", - "author": "Daniel Wirtz ", - "homepage": "https://github.com/dcodeIO/protobuf.js", - "versions": [ - "1.1.2" - ] - }, - { - "name": "@protobufjs/codegen", - "license": "BSD-3-Clause", - "author": "Daniel Wirtz ", - "homepage": "https://github.com/dcodeIO/protobuf.js", - "versions": [ - "2.0.5" - ] - }, - { - "name": "@protobufjs/eventemitter", - "license": "BSD-3-Clause", - "author": "Daniel Wirtz ", - "homepage": "https://github.com/dcodeIO/protobuf.js", - "versions": [ - "1.1.1" - ] - }, - { - "name": "@protobufjs/fetch", - "license": "BSD-3-Clause", - "author": "Daniel Wirtz ", - "homepage": "https://github.com/dcodeIO/protobuf.js", - "versions": [ - "1.1.1" - ] - }, - { - "name": "@protobufjs/float", - "license": "BSD-3-Clause", - "author": "Daniel Wirtz ", - "homepage": "https://github.com/dcodeIO/protobuf.js", - "versions": [ - "1.0.2" - ] - }, - { - "name": "@protobufjs/path", - "license": "BSD-3-Clause", - "author": "Daniel Wirtz ", - "homepage": "https://github.com/dcodeIO/protobuf.js", - "versions": [ - "1.1.2" - ] - }, - { - "name": "@protobufjs/pool", - "license": "BSD-3-Clause", - "author": "Daniel Wirtz ", - "homepage": "https://github.com/dcodeIO/protobuf.js", - "versions": [ - "1.1.0" - ] - }, - { - "name": "@protobufjs/utf8", - "license": "BSD-3-Clause", - "author": "Daniel Wirtz ", - "homepage": "https://github.com/protobufjs/protobuf.js", - "versions": [ - "1.1.2" + "0.4.0" ] }, { @@ -4274,1407 +4119,219 @@ ] }, { - "name": "@types/docker-modem", - "license": "MIT", - "author": "Nasreddine Bac Ali", - "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/docker-modem", - "versions": [ - "3.0.6" - ] - }, - { - "name": "@types/dockerode", - "license": "MIT", - "author": "Carl Winkler, Nicolas Laplante, ByeongHun Yoo, Ray Fang, Marius Meisenzahl, Rob Moran, Cameron Diver, Pascal Sthamer, Luis Rueda", - "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/dockerode", - "versions": [ - "4.0.1" - ] - }, - { - "name": "@types/node", - "license": "MIT", - "author": "Microsoft TypeScript, Alberto Schiabel, Andrew Makarov, Benjamin Toueg, David Junger, Mohsen Azimi, Nikita Galkin, Sebastian Silbermann, Simon Schick, Wilco Bakker, Marcin Kopacz, Trivikram Kamat, Junxiao Shi, Ilia Baryshnikov, ExE Boss, Piotr Błażejewicz, Anna Henningsen, Victor Perin, NodeJS Contributors, Linus Unnebäck, wafuwafu13, Matteo Collina, Dmitry Semigradsky", - "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node", - "versions": [ - "18.19.130", - "24.19.2" - ] - }, - { - "name": "@types/ssh2", + "name": "better-auth", "license": "MIT", - "author": "Qubo, Ron Buckton, Will Boyce, Lucas Motta, Tom Xu, Leo Toneff, Lucian Buzzo", - "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ssh2", + "author": "Bereket Engida", + "homepage": "https://better-auth.com", "versions": [ - "0.5.52", - "1.15.6" + "1.7.10" ] }, { - "name": "@types/ssh2-streams", + "name": "better-call", "license": "MIT", - "author": "Ron Buckton, Leo Toneff", - "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ssh2-streams", + "author": "Bereket Engida", + "homepage": "https://github.com/better-auth/better-call", "versions": [ - "0.1.13" + "1.4.2" ] }, { - "name": "abort-controller", + "name": "defu", "license": "MIT", - "author": "Toru Nagashima (https://github.com/mysticatea)", - "homepage": "https://github.com/mysticatea/abort-controller#readme", + "author": "Pooya Parsa", + "homepage": "https://github.com/unjs/defu", "versions": [ - "3.0.0" + "6.1.7" ] }, { - "name": "ansi-regex", + "name": "jose", "license": "MIT", - "author": "Sindre Sorhus", - "homepage": "https://github.com/chalk/ansi-regex", + "author": "Filip Skokan ", + "homepage": "https://github.com/panva/jose", "versions": [ - "5.0.1", - "6.2.2" + "6.2.12" ] }, { - "name": "ansi-styles", + "name": "kysely", "license": "MIT", - "author": "Sindre Sorhus", - "homepage": "https://github.com/chalk/ansi-styles", + "author": "Sami Koskimäki ", + "homepage": "https://kysely.dev", "versions": [ - "4.3.0", - "6.2.3" + "0.29.6" ] }, { - "name": "archiver", + "name": "nanostores", "license": "MIT", - "author": "Chris Talkington", - "homepage": "https://github.com/archiverjs/node-archiver", + "author": "Andrey Sitnik ", + "homepage": "https://github.com/nanostores/nanostores", "versions": [ - "7.0.1" + "1.5.3" ] }, { - "name": "archiver-utils", + "name": "oauth4webapi", "license": "MIT", - "author": "Chris Talkington", - "homepage": "https://github.com/archiverjs/archiver-utils#readme", + "author": "Filip Skokan ", + "homepage": "https://github.com/panva/oauth4webapi", "versions": [ - "5.0.2" + "3.8.8" ] }, { - "name": "asn1", + "name": "openid-client", "license": "MIT", - "author": "Joyent (joyent.com)", - "homepage": "https://github.com/joyent/node-asn1", + "author": "Filip Skokan ", + "homepage": "https://github.com/panva/openid-client", "versions": [ - "0.2.6" + "6.8.8" ] }, { - "name": "async", + "name": "pg", "license": "MIT", - "author": "Caolan McMahon", - "homepage": "https://caolan.github.io/async/", + "author": "Brian Carlson ", + "homepage": "https://github.com/brianc/node-postgres", "versions": [ - "3.2.6" + "8.23.1" ] }, { - "name": "async-lock", + "name": "pg-cloudflare", "license": "MIT", - "author": "Rogier Schouten", - "homepage": "https://github.com/rogierschouten/async-lock", + "author": "Brian Carlson", + "homepage": "https://github.com/brianc/node-postgres", "versions": [ "1.4.1" ] }, { - "name": "b4a", - "license": "Apache-2.0", - "author": "Holepunch", - "homepage": "https://github.com/holepunchto/b4a#readme", - "versions": [ - "1.9.0" - ] - }, - { - "name": "balanced-match", + "name": "pg-connection-string", "license": "MIT", - "author": "Julian Gruber", - "homepage": "https://github.com/juliangruber/balanced-match", - "versions": [ - "1.0.2", - "4.0.4" - ] - }, - { - "name": "bare-events", - "license": "Apache-2.0", - "author": "Holepunch", - "homepage": "https://github.com/holepunchto/bare-events#readme", - "versions": [ - "2.9.2" - ] - }, - { - "name": "bare-fs", - "license": "Apache-2.0", - "author": "Holepunch", - "homepage": "https://github.com/holepunchto/bare-fs#readme", - "versions": [ - "4.8.1" - ] - }, - { - "name": "bare-path", - "license": "Apache-2.0", - "author": "Holepunch", - "homepage": "https://github.com/holepunchto/bare-path#readme", - "versions": [ - "3.1.2" - ] - }, - { - "name": "bare-stream", - "license": "Apache-2.0", - "author": "Holepunch", - "homepage": "https://github.com/holepunchto/bare-stream#readme", + "author": "Blaine Bublitz (http://iceddev.com/)", + "homepage": "https://github.com/brianc/node-postgres/tree/master/packages/pg-connection-string", "versions": [ - "2.13.4" + "2.14.1" ] }, { - "name": "bare-url", - "license": "Apache-2.0", - "author": "Holepunch", - "homepage": "https://github.com/holepunchto/bare-url", + "name": "pg-int8", + "license": "ISC", + "author": "Charmander", + "homepage": "https://github.com/charmander/pg-int8", "versions": [ - "2.5.4" + "1.0.1" ] }, { - "name": "base64-js", + "name": "pg-pool", "license": "MIT", - "author": "T. Jameson Little ", - "homepage": "https://github.com/beatgammit/base64-js", - "versions": [ - "1.5.1" - ] - }, - { - "name": "bcrypt-pbkdf", - "license": "BSD-3-Clause", - "author": "Niels Provos, Joyent", - "homepage": "https://github.com/joyent/node-bcrypt-pbkdf", + "author": "Brian M. Carlson", + "homepage": "https://github.com/brianc/node-postgres/tree/master/packages/pg-pool#readme", "versions": [ - "1.0.2" + "3.14.0" ] }, { - "name": "better-auth", + "name": "pg-protocol", "license": "MIT", - "author": "Bereket Engida", - "homepage": "https://better-auth.com", + "author": "Brian Carlson", + "homepage": "https://github.com/brianc/node-postgres", "versions": [ - "1.7.7" + "1.16.1" ] }, { - "name": "better-call", + "name": "pg-types", "license": "MIT", - "author": "Bereket Engida", - "homepage": "https://github.com/better-auth/better-call", + "author": "Brian M. Carlson", + "homepage": "https://github.com/brianc/node-pg-types", "versions": [ - "1.4.0" + "2.2.0" ] }, { - "name": "bl", + "name": "pgpass", "license": "MIT", - "author": "Rod Vagg (https://github.com/rvagg), Matteo Collina (https://github.com/mcollina), Jarett Cruger (https://github.com/jcrugzz)", - "homepage": "https://github.com/rvagg/bl", - "versions": [ - "4.1.0" - ] - }, - { - "name": "boolbase", - "license": "ISC", - "author": "Felix Boehm ", - "homepage": "https://github.com/fb55/boolbase", + "author": "Hannes Hörl ", + "homepage": "https://github.com/hoegaarden/pgpass", "versions": [ - "1.0.0" + "1.0.5" ] }, { - "name": "brace-expansion", + "name": "pgstencil", "license": "MIT", - "author": "Julian Gruber", - "homepage": "https://github.com/juliangruber/brace-expansion", + "author": "DiffPlug", + "homepage": "https://github.com/diffplug/pgstencil#readme", "versions": [ - "2.1.7", - "5.0.6" + "0.4.0" ] }, { - "name": "buffer", + "name": "postgres-array", "license": "MIT", - "author": "Feross Aboukhadijeh", - "homepage": "https://github.com/feross/buffer", + "author": "Ben Drucker", + "homepage": "https://github.com/bendrucker/postgres-array", "versions": [ - "5.7.1", - "6.0.3" + "2.0.0" ] }, { - "name": "buffer-crc32", + "name": "postgres-bytea", "license": "MIT", - "author": "Brian J. Brennan ", - "homepage": "https://github.com/brianloveswords/buffer-crc32", + "author": "Ben Drucker", + "homepage": "https://github.com/bendrucker/postgres-bytea", "versions": [ - "1.0.0" + "1.0.1" ] }, { - "name": "buildcheck", + "name": "postgres-date", "license": "MIT", - "author": "Brian White ", - "homepage": "http://github.com/mscdex/buildcheck", + "author": "Ben Drucker", + "homepage": "https://github.com/bendrucker/postgres-date", "versions": [ - "0.0.7" + "1.0.7" ] }, { - "name": "byline", + "name": "postgres-interval", "license": "MIT", - "author": "John Hewson", - "homepage": "https://github.com/jahewson/node-byline", + "author": "Ben Drucker", + "homepage": "https://github.com/bendrucker/postgres-interval", "versions": [ - "5.0.0" + "1.2.0" ] }, { - "name": "cheerio", + "name": "rou3", "license": "MIT", - "author": "Matt Mueller ", - "homepage": "https://cheerio.js.org/", + "author": "Pooya Parsa", + "homepage": "https://github.com/h3js/rou3", "versions": [ - "1.2.0" + "0.9.2" ] }, { - "name": "cheerio-select", - "license": "BSD-2-Clause", - "author": "Felix Boehm ", - "homepage": "https://github.com/cheeriojs/cheerio-select", + "name": "set-cookie-parser", + "license": "MIT", + "author": "Nathan Friedly", + "homepage": "https://github.com/nfriedly/set-cookie-parser", "versions": [ - "2.1.0" + "3.1.2" ] }, { - "name": "chownr", + "name": "split2", "license": "ISC", - "author": "Isaac Z. Schlueter (http://blog.izs.me/)", - "homepage": "https://github.com/isaacs/chownr", + "author": "Matteo Collina ", + "homepage": "https://github.com/mcollina/split2", "versions": [ - "1.1.4" - ] - }, - { - "name": "cliui", - "license": "ISC", - "author": "Ben Coe ", - "homepage": "https://github.com/yargs/cliui", - "versions": [ - "8.0.1", - "9.0.1" - ] - }, - { - "name": "color-convert", - "license": "MIT", - "author": "Heather Arthur ", - "homepage": "https://github.com/Qix-/color-convert", - "versions": [ - "2.0.1" - ] - }, - { - "name": "color-name", - "license": "MIT", - "author": "DY ", - "homepage": "https://github.com/colorjs/color-name", - "versions": [ - "1.1.4" - ] - }, - { - "name": "compress-commons", - "license": "MIT", - "author": "Chris Talkington", - "homepage": "https://github.com/archiverjs/node-compress-commons", - "versions": [ - "6.0.2" - ] - }, - { - "name": "core-util-is", - "license": "MIT", - "author": "Isaac Z. Schlueter (http://blog.izs.me/)", - "homepage": "https://github.com/isaacs/core-util-is", - "versions": [ - "1.0.3" - ] - }, - { - "name": "cpu-features", - "license": "MIT", - "author": "Brian White ", - "homepage": "https://github.com/mscdex/cpu-features", - "versions": [ - "0.0.10" - ] - }, - { - "name": "crc-32", - "license": "Apache-2.0", - "author": "sheetjs", - "homepage": "https://sheetjs.com/", - "versions": [ - "1.2.2" - ] - }, - { - "name": "crc32-stream", - "license": "MIT", - "author": "Chris Talkington", - "homepage": "https://github.com/archiverjs/node-crc32-stream", - "versions": [ - "6.0.0" - ] - }, - { - "name": "css-select", - "license": "BSD-2-Clause", - "author": "Felix Boehm ", - "homepage": "https://github.com/fb55/css-select", - "versions": [ - "5.2.2" - ] - }, - { - "name": "css-what", - "license": "BSD-2-Clause", - "author": "Felix Böhm (http://feedic.com)", - "homepage": "https://github.com/fb55/css-what", - "versions": [ - "6.2.2" - ] - }, - { - "name": "defu", - "license": "MIT", - "author": "Pooya Parsa", - "homepage": "https://github.com/unjs/defu", - "versions": [ - "6.1.7" - ] - }, - { - "name": "docker-compose", - "license": "MIT", - "author": "Alexander Zeitler ", - "homepage": "https://pdmlab.github.io/docker-compose/", - "versions": [ - "1.5.0" - ] - }, - { - "name": "docker-modem", - "license": "Apache-2.0", - "author": "Pedro Dias ", - "homepage": "http://github.com/apocas/docker-modem", - "versions": [ - "5.0.7" - ] - }, - { - "name": "dockerode", - "license": "Apache-2.0", - "author": "Pedro Dias ", - "homepage": "http://github.com/apocas/dockerode", - "versions": [ - "5.0.1" - ] - }, - { - "name": "dom-serializer", - "license": "MIT", - "author": "Felix Boehm ", - "homepage": "https://github.com/cheeriojs/dom-serializer", - "versions": [ - "2.0.0" - ] - }, - { - "name": "domelementtype", - "license": "BSD-2-Clause", - "author": "Felix Boehm ", - "homepage": "https://github.com/fb55/domelementtype", - "versions": [ - "2.3.0" - ] - }, - { - "name": "domhandler", - "license": "BSD-2-Clause", - "author": "Felix Boehm ", - "homepage": "https://github.com/fb55/domhandler", - "versions": [ - "5.0.3" - ] - }, - { - "name": "domutils", - "license": "BSD-2-Clause", - "author": "Felix Boehm ", - "homepage": "https://github.com/fb55/domutils", - "versions": [ - "3.2.2" - ] - }, - { - "name": "eastasianwidth", - "license": "MIT", - "author": "Masaki Komagata", - "homepage": "https://github.com/komagata/eastasianwidth", - "versions": [ - "0.2.0" - ] - }, - { - "name": "emoji-regex", - "license": "MIT", - "author": "Mathias Bynens", - "homepage": "https://mths.be/emoji-regex", - "versions": [ - "8.0.0", - "9.2.2", - "10.6.0" - ] - }, - { - "name": "encoding-sniffer", - "license": "MIT", - "author": "Felix Boehm ", - "homepage": "https://github.com/fb55/encoding-sniffer", - "versions": [ - "0.2.1" - ] - }, - { - "name": "end-of-stream", - "license": "MIT", - "author": "Mathias Buus ", - "homepage": "https://github.com/mafintosh/end-of-stream", - "versions": [ - "1.4.5" - ] - }, - { - "name": "entities", - "license": "BSD-2-Clause", - "author": "Felix Boehm ", - "homepage": "https://github.com/fb55/entities", - "versions": [ - "4.5.0", - "6.0.1", - "7.0.1" - ] - }, - { - "name": "escalade", - "license": "MIT", - "author": "Luke Edwards", - "homepage": "https://github.com/lukeed/escalade", - "versions": [ - "3.2.0" - ] - }, - { - "name": "event-target-shim", - "license": "MIT", - "author": "Toru Nagashima", - "homepage": "https://github.com/mysticatea/event-target-shim", - "versions": [ - "5.0.1" - ] - }, - { - "name": "events", - "license": "MIT", - "author": "Irakli Gozalishvili (http://jeditoolkit.com)", - "homepage": "https://github.com/Gozala/events", - "versions": [ - "3.3.0" - ] - }, - { - "name": "events-universal", - "license": "Apache-2.0", - "author": "Holepunch", - "homepage": "https://github.com/holepunchto/events-universal#readme", - "versions": [ - "1.0.1" - ] - }, - { - "name": "fast-fifo", - "license": "MIT", - "author": "Mathias Buus (@mafintosh)", - "homepage": "https://github.com/mafintosh/fast-fifo", - "versions": [ - "1.3.2" - ] - }, - { - "name": "foreground-child", - "license": "ISC", - "author": "Isaac Z. Schlueter (http://blog.izs.me/)", - "homepage": "https://github.com/tapjs/foreground-child", - "versions": [ - "3.3.1" - ] - }, - { - "name": "fs-constants", - "license": "MIT", - "author": "Mathias Buus (@mafintosh)", - "homepage": "https://github.com/mafintosh/fs-constants", - "versions": [ - "1.0.0" - ] - }, - { - "name": "get-caller-file", - "license": "ISC", - "author": "Stefan Penner", - "homepage": "https://github.com/stefanpenner/get-caller-file#readme", - "versions": [ - "2.0.5" - ] - }, - { - "name": "get-east-asian-width", - "license": "MIT", - "author": "Sindre Sorhus", - "homepage": "https://github.com/sindresorhus/get-east-asian-width", - "versions": [ - "1.6.0" - ] - }, - { - "name": "get-port", - "license": "MIT", - "author": "Sindre Sorhus", - "homepage": "https://github.com/sindresorhus/get-port", - "versions": [ - "5.1.1" - ] - }, - { - "name": "glob", - "license": "ISC", - "author": "Isaac Z. Schlueter (https://blog.izs.me/)", - "homepage": "https://github.com/isaacs/node-glob", - "versions": [ - "10.5.0" - ] - }, - { - "name": "glob", - "license": "BlueOak-1.0.0", - "author": "Isaac Z. Schlueter (https://blog.izs.me/)", - "homepage": "https://github.com/isaacs/node-glob", - "versions": [ - "13.0.6" - ] - }, - { - "name": "graceful-fs", - "license": "ISC", - "author": "Isaac Z. Schlueter, Ben Noordhuis, and contributors", - "homepage": "https://github.com/isaacs/node-graceful-fs", - "versions": [ - "4.2.11" - ] - }, - { - "name": "htmlparser2", - "license": "MIT", - "author": "Felix Boehm ", - "homepage": "https://github.com/fb55/htmlparser2", - "versions": [ - "10.1.0" - ] - }, - { - "name": "ieee754", - "license": "BSD-3-Clause", - "author": "Feross Aboukhadijeh", - "homepage": "https://github.com/feross/ieee754", - "versions": [ - "1.2.1" - ] - }, - { - "name": "is-fullwidth-code-point", - "license": "MIT", - "author": "Sindre Sorhus", - "homepage": "https://github.com/sindresorhus/is-fullwidth-code-point", - "versions": [ - "3.0.0" - ] - }, - { - "name": "is-stream", - "license": "MIT", - "author": "Sindre Sorhus", - "homepage": "https://github.com/sindresorhus/is-stream", - "versions": [ - "2.0.1" - ] - }, - { - "name": "isarray", - "license": "MIT", - "author": "Julian Gruber", - "homepage": "https://github.com/juliangruber/isarray", - "versions": [ - "1.0.0" - ] - }, - { - "name": "jackspeak", - "license": "BlueOak-1.0.0", - "author": "Isaac Z. Schlueter ", - "homepage": "https://github.com/isaacs/jackspeak", - "versions": [ - "3.4.3" - ] - }, - { - "name": "jiti", - "license": "MIT", - "author": "Pooya Parsa", - "homepage": "https://github.com/unjs/jiti", - "versions": [ - "2.7.0" - ] - }, - { - "name": "jose", - "license": "MIT", - "author": "Filip Skokan ", - "homepage": "https://github.com/panva/jose", - "versions": [ - "6.2.12" - ] - }, - { - "name": "kysely", - "license": "MIT", - "author": "Sami Koskimäki ", - "homepage": "https://kysely.dev", - "versions": [ - "0.29.6" - ] - }, - { - "name": "lazystream", - "license": "MIT", - "author": "Jonas Pommerening", - "homepage": "https://github.com/jpommerening/node-lazystream", - "versions": [ - "1.0.1" - ] - }, - { - "name": "lodash", - "license": "MIT", - "author": "John-David Dalton ", - "homepage": "https://lodash.com/", - "versions": [ - "4.18.1" - ] - }, - { - "name": "lodash.camelcase", - "license": "MIT", - "author": "John-David Dalton (http://allyoucanleet.com/)", - "homepage": "https://lodash.com/", - "versions": [ - "4.3.0" - ] - }, - { - "name": "long", - "license": "Apache-2.0", - "author": "Daniel Wirtz ", - "homepage": "https://github.com/dcodeIO/long.js", - "versions": [ - "5.3.2" - ] - }, - { - "name": "lru-cache", - "license": "ISC", - "author": "Isaac Z. Schlueter ", - "homepage": "https://github.com/isaacs/node-lru-cache", - "versions": [ - "10.4.3" - ] - }, - { - "name": "lru-cache", - "license": "BlueOak-1.0.0", - "author": "Isaac Z. Schlueter ", - "homepage": "https://github.com/isaacs/node-lru-cache", - "versions": [ - "11.5.3" - ] - }, - { - "name": "minimatch", - "license": "ISC", - "author": "Isaac Z. Schlueter (http://blog.izs.me)", - "homepage": "https://github.com/isaacs/minimatch", - "versions": [ - "5.1.9", - "9.0.9" - ] - }, - { - "name": "minimatch", - "license": "BlueOak-1.0.0", - "author": "Isaac Z. Schlueter (http://blog.izs.me)", - "homepage": "https://github.com/isaacs/minimatch", - "versions": [ - "10.2.5" - ] - }, - { - "name": "minipass", - "license": "BlueOak-1.0.0", - "author": "Isaac Z. Schlueter (http://blog.izs.me/)", - "homepage": "https://github.com/isaacs/minipass", - "versions": [ - "7.1.3" - ] - }, - { - "name": "mkdirp", - "license": "MIT", - "author": "James Halliday, Isaac Z. Schlueter", - "homepage": "https://github.com/isaacs/node-mkdirp", - "versions": [ - "3.0.1" - ] - }, - { - "name": "mkdirp-classic", - "license": "MIT", - "author": "Mathias Buus (@mafintosh)", - "homepage": "https://github.com/mafintosh/mkdirp-classic", - "versions": [ - "0.5.3" - ] - }, - { - "name": "nan", - "license": "MIT", - "author": "Rod Vagg (https://github.com/rvagg), Benjamin Byholm (https://github.com/kkoopa/), Trevor Norris (https://github.com/trevnorris), Nathan Rajlich (https://github.com/TooTallNate), Brett Lawson (https://github.com/brett19), Ben Noordhuis (https://github.com/bnoordhuis), David Siegel (https://github.com/agnat), Michael Ira Krufky (https://github.com/mkrufky)", - "homepage": "https://github.com/nodejs/nan", - "versions": [ - "2.29.0" - ] - }, - { - "name": "nanostores", - "license": "MIT", - "author": "Andrey Sitnik ", - "homepage": "https://github.com/nanostores/nanostores", - "versions": [ - "1.5.3" - ] - }, - { - "name": "node-pg-migrate", - "license": "MIT", - "author": "Theo Ephraim", - "homepage": "https://github.com/salsita/node-pg-migrate", - "versions": [ - "9.0.0" - ] - }, - { - "name": "normalize-path", - "license": "MIT", - "author": "Jon Schlinkert (https://github.com/jonschlinkert)", - "homepage": "https://github.com/jonschlinkert/normalize-path", - "versions": [ - "3.0.0" - ] - }, - { - "name": "nth-check", - "license": "BSD-2-Clause", - "author": "Felix Boehm ", - "homepage": "https://github.com/fb55/nth-check", - "versions": [ - "2.1.1" - ] - }, - { - "name": "oauth4webapi", - "license": "MIT", - "author": "Filip Skokan ", - "homepage": "https://github.com/panva/oauth4webapi", - "versions": [ - "3.8.8" - ] - }, - { - "name": "once", - "license": "ISC", - "author": "Isaac Z. Schlueter (http://blog.izs.me/)", - "homepage": "https://github.com/isaacs/once", - "versions": [ - "1.4.0" - ] - }, - { - "name": "openid-client", - "license": "MIT", - "author": "Filip Skokan ", - "homepage": "https://github.com/panva/openid-client", - "versions": [ - "6.8.8" - ] - }, - { - "name": "package-json-from-dist", - "license": "BlueOak-1.0.0", - "author": "Isaac Z. Schlueter (https://izs.me)", - "homepage": "https://github.com/isaacs/package-json-from-dist", - "versions": [ - "1.0.1" - ] - }, - { - "name": "parse5", - "license": "MIT", - "author": "Ivan Nikulin (https://github.com/inikulin)", - "homepage": "https://parse5.js.org", - "versions": [ - "7.3.0" - ] - }, - { - "name": "parse5-htmlparser2-tree-adapter", - "license": "MIT", - "author": "Ivan Nikulin (https://github.com/inikulin)", - "homepage": "https://parse5.js.org", - "versions": [ - "7.1.0" - ] - }, - { - "name": "parse5-parser-stream", - "license": "MIT", - "author": "Ivan Nikulin (https://github.com/inikulin)", - "homepage": "https://github.com/inikulin/parse5", - "versions": [ - "7.1.2" - ] - }, - { - "name": "path-scurry", - "license": "BlueOak-1.0.0", - "author": "Isaac Z. Schlueter (https://blog.izs.me)", - "homepage": "https://github.com/isaacs/path-scurry", - "versions": [ - "1.11.1", - "2.0.2" - ] - }, - { - "name": "pg", - "license": "MIT", - "author": "Brian Carlson ", - "homepage": "https://github.com/brianc/node-postgres", - "versions": [ - "8.23.1" - ] - }, - { - "name": "pg-cloudflare", - "license": "MIT", - "author": "Brian Carlson", - "homepage": "https://github.com/brianc/node-postgres", - "versions": [ - "1.4.1" - ] - }, - { - "name": "pg-connection-string", - "license": "MIT", - "author": "Blaine Bublitz (http://iceddev.com/)", - "homepage": "https://github.com/brianc/node-postgres/tree/master/packages/pg-connection-string", - "versions": [ - "2.14.1" - ] - }, - { - "name": "pg-int8", - "license": "ISC", - "author": "Charmander", - "homepage": "https://github.com/charmander/pg-int8", - "versions": [ - "1.0.1" - ] - }, - { - "name": "pg-pool", - "license": "MIT", - "author": "Brian M. Carlson", - "homepage": "https://github.com/brianc/node-postgres/tree/master/packages/pg-pool#readme", - "versions": [ - "3.14.0" - ] - }, - { - "name": "pg-protocol", - "license": "MIT", - "author": "Brian Carlson", - "homepage": "https://github.com/brianc/node-postgres", - "versions": [ - "1.16.1" - ] - }, - { - "name": "pg-types", - "license": "MIT", - "author": "Brian M. Carlson", - "homepage": "https://github.com/brianc/node-pg-types", - "versions": [ - "2.2.0" - ] - }, - { - "name": "pgpass", - "license": "MIT", - "author": "Hannes Hörl ", - "homepage": "https://github.com/hoegaarden/pgpass", - "versions": [ - "1.0.5" - ] - }, - { - "name": "pgstencil", - "license": "MIT", - "author": "DiffPlug", - "homepage": "https://github.com/diffplug/pgstencil#readme", - "versions": [ - "0.3.0" - ] - }, - { - "name": "postgres-array", - "license": "MIT", - "author": "Ben Drucker", - "homepage": "https://github.com/bendrucker/postgres-array", - "versions": [ - "2.0.0" - ] - }, - { - "name": "postgres-bytea", - "license": "MIT", - "author": "Ben Drucker", - "homepage": "https://github.com/bendrucker/postgres-bytea", - "versions": [ - "1.0.1" - ] - }, - { - "name": "postgres-date", - "license": "MIT", - "author": "Ben Drucker", - "homepage": "https://github.com/bendrucker/postgres-date", - "versions": [ - "1.0.7" - ] - }, - { - "name": "postgres-interval", - "license": "MIT", - "author": "Ben Drucker", - "homepage": "https://github.com/bendrucker/postgres-interval", - "versions": [ - "1.2.0" - ] - }, - { - "name": "process", - "license": "MIT", - "author": "Roman Shtylman ", - "homepage": "https://github.com/shtylman/node-process", - "versions": [ - "0.11.10" - ] - }, - { - "name": "process-nextick-args", - "license": "MIT", - "author": "Calvin Metcalf", - "homepage": "https://github.com/calvinmetcalf/process-nextick-args", - "versions": [ - "2.0.1" - ] - }, - { - "name": "proper-lockfile", - "license": "MIT", - "author": "André Cruz ", - "homepage": "https://github.com/moxystudio/node-proper-lockfile", - "versions": [ - "4.1.2" - ] - }, - { - "name": "properties-reader", - "license": "MIT", - "author": "Steve King", - "homepage": "https://github.com/steveukx/properties", - "versions": [ - "3.0.1" - ] - }, - { - "name": "protobufjs", - "license": "BSD-3-Clause", - "author": "Daniel Wirtz ", - "homepage": "https://protobufjs.github.io/protobuf.js/", - "versions": [ - "7.6.6" - ] - }, - { - "name": "pump", - "license": "MIT", - "author": "Mathias Buus Madsen ", - "homepage": "https://github.com/mafintosh/pump", - "versions": [ - "3.0.4" - ] - }, - { - "name": "readable-stream", - "license": "MIT", - "author": "Node.js contributors", - "homepage": "https://github.com/nodejs/readable-stream", - "versions": [ - "2.3.8", - "3.6.2", - "4.7.0" - ] - }, - { - "name": "readdir-glob", - "license": "Apache-2.0", - "author": "Yann Armelin", - "homepage": "https://github.com/Yqnn/node-readdir-glob", - "versions": [ - "1.1.3" - ] - }, - { - "name": "require-directory", - "license": "MIT", - "author": "Troy Goode (http://github.com/troygoode/)", - "homepage": "https://github.com/troygoode/node-require-directory/", - "versions": [ - "2.1.1" - ] - }, - { - "name": "retry", - "license": "MIT", - "author": "Tim Koschützki (http://debuggable.com/)", - "homepage": "https://github.com/tim-kos/node-retry", - "versions": [ - "0.12.0" - ] - }, - { - "name": "rou3", - "license": "MIT", - "author": "Pooya Parsa", - "homepage": "https://github.com/h3js/rou3", - "versions": [ - "0.9.2" - ] - }, - { - "name": "safe-buffer", - "license": "MIT", - "author": "Feross Aboukhadijeh", - "homepage": "https://github.com/feross/safe-buffer", - "versions": [ - "5.1.2" - ] - }, - { - "name": "set-cookie-parser", - "license": "MIT", - "author": "Nathan Friedly", - "homepage": "https://github.com/nfriedly/set-cookie-parser", - "versions": [ - "3.1.2" - ] - }, - { - "name": "signal-exit", - "license": "ISC", - "author": "Ben Coe ", - "homepage": "https://github.com/tapjs/signal-exit", - "versions": [ - "3.0.7", - "4.1.0" - ] - }, - { - "name": "split-ca", - "license": "ISC", - "author": "Charles Bushong", - "homepage": "https://github.com/bushong1/split-ca", - "versions": [ - "1.0.1" - ] - }, - { - "name": "split2", - "license": "ISC", - "author": "Matteo Collina ", - "homepage": "https://github.com/mcollina/split2", - "versions": [ - "4.2.0" - ] - }, - { - "name": "ssh-remote-port-forward", - "license": "MIT", - "author": "Cristian Greco", - "homepage": "https://github.com/cristianrgreco/ssh-remote-port-forward#readme", - "versions": [ - "1.0.4" - ] - }, - { - "name": "ssh2", - "license": "MIT", - "author": "Brian White ", - "homepage": "http://github.com/mscdex/ssh2", - "versions": [ - "1.17.0" - ] - }, - { - "name": "streamx", - "license": "MIT", - "author": "Mathias Buus (@mafintosh)", - "homepage": "https://github.com/mafintosh/streamx", - "versions": [ - "2.28.1" - ] - }, - { - "name": "string_decoder", - "license": "MIT", - "author": "Node.js contributors", - "homepage": "https://github.com/nodejs/string_decoder", - "versions": [ - "1.1.1", - "1.3.0" - ] - }, - { - "name": "string-width", - "license": "MIT", - "author": "Sindre Sorhus", - "homepage": "https://github.com/sindresorhus/string-width", - "versions": [ - "4.2.3", - "5.1.2", - "7.2.0" - ] - }, - { - "name": "strip-ansi", - "license": "MIT", - "author": "Sindre Sorhus", - "homepage": "https://github.com/chalk/strip-ansi", - "versions": [ - "6.0.1", - "7.2.0" - ] - }, - { - "name": "tar-fs", - "license": "MIT", - "author": "Mathias Buus", - "homepage": "https://github.com/mafintosh/tar-fs", - "versions": [ - "2.1.5", - "3.1.3" - ] - }, - { - "name": "tar-stream", - "license": "MIT", - "author": "Mathias Buus ", - "homepage": "https://github.com/mafintosh/tar-stream", - "versions": [ - "2.2.0", - "3.2.1" - ] - }, - { - "name": "teex", - "license": "MIT", - "author": "Mathias Buus (@mafintosh)", - "homepage": "https://github.com/mafintosh/teex", - "versions": [ - "1.0.1" - ] - }, - { - "name": "testcontainers", - "license": "MIT", - "author": "Cristian Greco", - "homepage": "https://github.com/testcontainers/testcontainers-node#readme", - "versions": [ - "12.2.0" - ] - }, - { - "name": "text-decoder", - "license": "Apache-2.0", - "author": "Holepunch", - "homepage": "https://github.com/holepunchto/text-decoder#readme", - "versions": [ - "1.2.7" - ] - }, - { - "name": "tmp", - "license": "MIT", - "author": "KARASZI István ", - "homepage": "http://github.com/raszi/node-tmp", - "versions": [ - "0.2.7" - ] - }, - { - "name": "turndown", - "license": "MIT", - "author": "Dom Christie", - "homepage": "https://github.com/mixmark-io/turndown", - "versions": [ - "7.2.4" - ] - }, - { - "name": "tweetnacl", - "license": "Unlicense", - "author": "TweetNaCl-js contributors", - "homepage": "https://tweetnacl.js.org", - "versions": [ - "0.14.5" - ] - }, - { - "name": "undici", - "license": "MIT", - "author": "Daniele Belardi, Ethan Arrowood, Matteo Collina, Matthew Aitken, Robert Nagy, Szymon Marczak, Tomas Della Vedova", - "homepage": "https://undici.nodejs.org", - "versions": [ - "7.29.0", - "8.10.2" - ] - }, - { - "name": "undici-types", - "license": "MIT", - "author": "Daniele Belardi, Ethan Arrowood, Matteo Collina, Matthew Aitken, Robert Nagy, Szymon Marczak, Tomas Della Vedova", - "homepage": "https://undici.nodejs.org", - "versions": [ - "5.26.5", - "7.24.6" - ] - }, - { - "name": "util-deprecate", - "license": "MIT", - "author": "Nathan Rajlich (http://n8.io/)", - "homepage": "https://github.com/TooTallNate/util-deprecate", - "versions": [ - "1.0.2" - ] - }, - { - "name": "whatwg-encoding", - "license": "MIT", - "author": "Domenic Denicola (https://domenic.me/)", - "homepage": "https://github.com/jsdom/whatwg-encoding", - "versions": [ - "3.1.1" - ] - }, - { - "name": "whatwg-mimetype", - "license": "MIT", - "author": "Domenic Denicola (https://domenic.me/)", - "homepage": "https://github.com/jsdom/whatwg-mimetype", - "versions": [ - "4.0.0" - ] - }, - { - "name": "wrap-ansi", - "license": "MIT", - "author": "Sindre Sorhus", - "homepage": "https://github.com/chalk/wrap-ansi", - "versions": [ - "7.0.0", - "8.1.0", - "9.0.2" - ] - }, - { - "name": "wrappy", - "license": "ISC", - "author": "Isaac Z. Schlueter (http://blog.izs.me/)", - "homepage": "https://github.com/npm/wrappy", - "versions": [ - "1.0.2" + "4.2.0" ] }, { @@ -5686,44 +4343,6 @@ "4.0.2" ] }, - { - "name": "y18n", - "license": "ISC", - "author": "Ben Coe ", - "homepage": "https://github.com/yargs/y18n", - "versions": [ - "5.0.8" - ] - }, - { - "name": "yargs", - "license": "MIT", - "author": "Yargs Contributors", - "homepage": "https://yargs.js.org/", - "versions": [ - "17.7.3", - "18.0.0" - ] - }, - { - "name": "yargs-parser", - "license": "ISC", - "author": "Ben Coe ", - "homepage": "https://github.com/yargs/yargs-parser", - "versions": [ - "21.1.1", - "22.0.0" - ] - }, - { - "name": "zip-stream", - "license": "MIT", - "author": "Chris Talkington", - "homepage": "https://github.com/archiverjs/node-zip-stream", - "versions": [ - "6.0.1" - ] - }, { "name": "zod", "license": "MIT", diff --git a/website/src/pages/SupplyChain.tsx b/website/src/pages/SupplyChain.tsx index 008147fa6..3c598945c 100644 --- a/website/src/pages/SupplyChain.tsx +++ b/website/src/pages/SupplyChain.tsx @@ -236,7 +236,7 @@ const PRODUCTS: readonly SupplyChainProduct[] = [ id: "hosted", title: "Dormouse Hosted", description: - "Only if you use Dormouse Hosted, and none of it is installed on your computer. relay.dormouse.sh serves Pocket and the one-time connection page to your phone — Pocket, which you may install to the Home Screen, keeps the phone's pairing keys — and its Worker routes your Hosted sessions and carries the one-time handshake. hosted.dormouse.sh serves your account page, and voice.dormouse.sh runs managed voice. All three Workers run on Cloudflare. Pocket and the one-time page are built from the Terminal's code, so their packages are listed under the Terminal. The Workers and the account page share one package, so this lists every package its runtime dependencies reach, except optional add-ons such as test frameworks that a dependency supports but no Hosted code loads. That is still more than any one Worker bundles: most of the excess is test tooling one dependency, pgstencil, declares as a runtime dependency.", + "Only if you use Dormouse Hosted, and none of it is installed on your computer. relay.dormouse.sh serves Pocket and the one-time connection page to your phone — Pocket, which you may install to the Home Screen, keeps the phone's pairing keys — and its Worker routes your Hosted sessions and carries the one-time handshake. hosted.dormouse.sh serves your account page, and voice.dormouse.sh runs managed voice. All three Workers run on Cloudflare. Pocket and the one-time page are built from the Terminal's code, so their packages are listed under the Terminal. The Workers and the account page share one package, so this lists every package its runtime dependencies reach, which is more than any one Worker bundles, except optional add-ons such as test frameworks that a dependency supports but no Hosted code loads.", summary: { count: npmDeps.hosted.length, detail: "npm packages" }, sections: [ {