diff --git a/AGENTS.md b/AGENTS.md index 90fd248..95b460b 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -105,9 +105,9 @@ Open a pull request. Release rules no file enforces: - npm Trusted Publishing for `@putdotio/rokit` must trust owner `putdotio`, repository `rokit`, workflow [`ci.yml`](https://github.com/putdotio/rokit/blob/main/.github/workflows/ci.yml), and Environment `release`. Renaming any of them breaks publishing until the npm setting matches. -- Keep `effect`, `@effect/platform-node`, and `@effect/platform-node-shared` in - [`package.json`](package.json) on one exact version. A newer shared runtime - can break the pinned Effect. +- Keep `effect` and every `@effect/*` package in [`package.json`](package.json) + on one exact version. A newer shared runtime can break the pinned Effect. The + `effect` group in [`renovate.json`](renovate.json) moves them together. - The build bundles `jpeg-js` with the patch in [`patches/`](https://github.com/putdotio/rokit/blob/main/patches), because npm consumers do not inherit pnpm patches. Drop it only when a pinned upstream release passes the partial-interval and early-end-marker diff --git a/package.json b/package.json index 70368b7..570a822 100644 --- a/package.json +++ b/package.json @@ -58,9 +58,9 @@ "verify": "vp check . && skillcheck lint && tsc --noEmit && vp pack src/index.ts src/rokit.ts --dts && node dist/rokit.mjs --version && node dist/rokit.mjs --help >/dev/null && vp test run --coverage && npm pack --dry-run" }, "dependencies": { - "@effect/platform-node": "4.0.5", + "@effect/platform-node": "4.0.6", "@effect/platform-node-shared": "4.0.6", - "effect": "4.0.5", + "effect": "4.0.6", "jszip": "^3.10.1", "pngjs": "7.0.0", "roku-deploy": "3.18.4" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index accb29c..b9e4eac 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -183,14 +183,14 @@ importers: .: dependencies: '@effect/platform-node': - specifier: 4.0.5 - version: 4.0.5(effect@4.0.5)(redis@5.12.1(@opentelemetry/api@1.9.1)) + specifier: 4.0.6 + version: 4.0.6(effect@4.0.6)(redis@5.12.1(@opentelemetry/api@1.9.1)) '@effect/platform-node-shared': specifier: 4.0.6 - version: 4.0.6(effect@4.0.5) + version: 4.0.6(effect@4.0.6) effect: - specifier: 4.0.5 - version: 4.0.5 + specifier: 4.0.6 + version: 4.0.6 jszip: specifier: ^3.10.1 version: 3.10.2 @@ -203,7 +203,7 @@ importers: devDependencies: '@effect/vitest': specifier: 4.0.6 - version: 4.0.6(effect@4.0.5)(vitest@5.0.5) + version: 4.0.6(effect@4.0.6)(vitest@5.0.5) '@types/node': specifier: ^26.1.2 version: 26.6.5 @@ -272,11 +272,11 @@ packages: peerDependencies: effect: ^4.0.6 - '@effect/platform-node@4.0.5': - resolution: {integrity: sha512-v4KD5fWvEUa4QmWFpZFbBsRhmfnTP6ETCME2r9ifyXVDPjhfpxpTZl41prjgQFMqZBHdWWCl7YC5ImbXv5ui5g==} + '@effect/platform-node@4.0.6': + resolution: {integrity: sha512-gXvGHAy0/8PZbWvMMguloDUyeSP+rzYEo3FSEqUuGduxo9ORcGioDxPI+GOLCIFfam7VuNkmSUxBOiRMIrMrBw==} engines: {node: '>=18.0.0'} peerDependencies: - effect: ^4.0.5 + effect: ^4.0.6 redis: '>=5.0.0 <7.0.0' '@effect/vitest@4.0.6': @@ -1282,8 +1282,8 @@ packages: dom-accessibility-api@0.5.16: resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==} - effect@4.0.5: - resolution: {integrity: sha512-BY4/28NlpOd99yzmV741xbVGmp+1U7tks4oB7F/Png64bTa5tm5eCA6W0RiXsnuLDDoJpjfVSo4Dnq4BZb/89Q==} + effect@4.0.6: + resolution: {integrity: sha512-Tc3mkzuLR6t6P9dhLt0D2GrxYtmU5td4XEJEiXCmILz53IRIfJyHsKZWjTA3xEjiwpNTtXBgI4iqYPxMztBDrw==} es-module-lexer@2.3.2: resolution: {integrity: sha512-poHGpORABojJJucnV9KbOavETW8lBVnphkW77ER5/BQ5Fz7oXSoCNek7IH3vR5nRjdsEz926ibFYX8KtLQmdyw==} @@ -1680,8 +1680,8 @@ packages: undici-types@8.9.0: resolution: {integrity: sha512-KTDyRTYX8sWmKXAikPHHSyc63CRPETMctyjKFupcC6OBLXT3xsN0e9aF7m+mIXutFWpUXuedtowG7iLOzp0kQg==} - undici@8.11.2: - resolution: {integrity: sha512-u4UB2/IrKdU6lFxumHmmo1a3fCQO5tzQllRorfoRS63txhrB7xTpSn1PftwC4qEHkOaqP95fCWW4lJzwErwzhQ==} + undici@8.12.3: + resolution: {integrity: sha512-+fdndUTwBP86cVjihTp21hZHo7d6oj1c/47XPA3lL8mM0XHs+C4EkcjmgRsFnFk2f/UONGDy9ItBItmXsLOQHw==} engines: {node: '>=22.19.0'} universalify@0.1.2: @@ -1808,28 +1808,28 @@ snapshots: '@blazediff/core@1.10.0': {} - '@effect/platform-node-shared@4.0.6(effect@4.0.5)': + '@effect/platform-node-shared@4.0.6(effect@4.0.6)': dependencies: '@types/ws': 8.18.2 - effect: 4.0.5 + effect: 4.0.6 ws: 8.22.0 transitivePeerDependencies: - bufferutil - utf-8-validate - '@effect/platform-node@4.0.5(effect@4.0.5)(redis@5.12.1(@opentelemetry/api@1.9.1))': + '@effect/platform-node@4.0.6(effect@4.0.6)(redis@5.12.1(@opentelemetry/api@1.9.1))': dependencies: - '@effect/platform-node-shared': 4.0.6(effect@4.0.5) - effect: 4.0.5 + '@effect/platform-node-shared': 4.0.6(effect@4.0.6) + effect: 4.0.6 redis: 5.12.1(@opentelemetry/api@1.9.1) - undici: 8.11.2 + undici: 8.12.3 transitivePeerDependencies: - bufferutil - utf-8-validate - '@effect/vitest@4.0.6(effect@4.0.5)(vitest@5.0.5)': + '@effect/vitest@4.0.6(effect@4.0.6)(vitest@5.0.5)': dependencies: - effect: 4.0.5 + effect: 4.0.6 vitest: 5.0.5(@opentelemetry/api@1.9.1)(@types/node@26.6.5)(@vitest/browser-preview@5.0.5)(@vitest/coverage-v8@5.0.5)(@vitest/ui@5.0.5)(@voidzero-dev/vite-plus-core@1.3.0(@types/node@26.6.5)(esbuild@0.28.2)(tsx@4.23.12)(typescript@7.0.2)) '@esbuild/aix-ppc64@0.28.2': @@ -2437,7 +2437,7 @@ snapshots: dom-accessibility-api@0.5.16: {} - effect@4.0.5: {} + effect@4.0.6: {} es-module-lexer@2.3.2: {} @@ -2855,7 +2855,7 @@ snapshots: undici-types@8.9.0: {} - undici@8.11.2: {} + undici@8.12.3: {} universalify@0.1.2: {} diff --git a/renovate.json b/renovate.json index 6f52797..e8180b2 100644 --- a/renovate.json +++ b/renovate.json @@ -1,4 +1,13 @@ { "$schema": "https://docs.renovatebot.com/renovate-schema.json", - "extends": ["github>putdotio/.github:renovate-config"] + "extends": ["github>putdotio/.github:renovate-config"], + "packageRules": [ + { + "description": "Effect packages ship together and peer on the same effect version, so they move as one PR. Each member keeps its own release-age clock, and strict filtering would merge the members that aged first. Filtering none takes the latest of every member and holds automerge until all of them age", + "matchPackageNames": ["effect", "@effect/*"], + "matchUpdateTypes": ["patch", "minor", "major"], + "groupName": "effect", + "internalChecksFilter": "none" + } + ] }