From 93f3368ef4defa38dd452b28a4a98626eabb0d3b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 9 Sep 2026 15:49:26 +0000 Subject: [PATCH 1/5] build(deps): bump @rslint/core from 0.9.0 to 0.9.1 Bumps [@rslint/core](https://github.com/web-infra-dev/rslint) from 0.9.0 to 0.9.1. - [Release notes](https://github.com/web-infra-dev/rslint/releases) - [Commits](https://github.com/web-infra-dev/rslint/compare/v0.9.0...v0.9.1) --- updated-dependencies: - dependency-name: "@rslint/core" dependency-version: 0.9.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- packages/agent-bundle/package.json | 2 +- pnpm-lock.yaml | 108 +++++++++++------------------ 3 files changed, 43 insertions(+), 69 deletions(-) diff --git a/package.json b/package.json index 7b62a5def..ee1aa8583 100644 --- a/package.json +++ b/package.json @@ -69,7 +69,7 @@ "@rsbuild/core": "2.2.3", "@rsbuild/plugin-react": "2.1.0", "@rslib/core": "1.0.0", - "@rslint/core": "0.9.0", + "@rslint/core": "0.9.1", "@rstest/adapter-rslib": "0.11.12", "@rstest/core": "0.11.12", "@rstest/playwright": "0.11.12", diff --git a/packages/agent-bundle/package.json b/packages/agent-bundle/package.json index fdb556adc..387648d0b 100644 --- a/packages/agent-bundle/package.json +++ b/packages/agent-bundle/package.json @@ -116,7 +116,7 @@ "@rsbuild/core": "2.2.3", "@rsbuild/plugin-react": "2.1.0", "@rslib/core": "1.0.0", - "@rslint/core": "0.9.0", + "@rslint/core": "0.9.1", "@rstackjs/load-config": "0.1.2", "acorn": "8.18.0", "ajv": "8.20.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 89cb2cbad..4c62ae4b0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -52,8 +52,8 @@ importers: specifier: 1.0.0 version: 1.0.0(typescript@7.0.2) '@rslint/core': - specifier: 0.9.0 - version: 0.9.0(jiti@2.7.0) + specifier: 0.9.1 + version: 0.9.1(jiti@2.7.0) '@rstest/adapter-rslib': specifier: 0.11.12 version: 0.11.12(@rslib/core@1.0.0(typescript@7.0.2))(@rstest/core@0.11.12)(typescript@7.0.2) @@ -275,14 +275,14 @@ importers: specifier: 1.0.0 version: 1.0.0(typescript@7.0.2) '@rslint/core': - specifier: 0.9.0 - version: 0.9.0(jiti@2.7.0) + specifier: 0.9.1 + version: 0.9.1(jiti@2.7.0) '@rstackjs/load-config': specifier: 0.1.2 version: 0.1.2(jiti@2.7.0) '@rstest/core': specifier: ^0.11.10 - version: 0.11.11 + version: 0.11.12 acorn: specifier: 8.18.0 version: 8.18.0 @@ -334,7 +334,7 @@ importers: version: 8.18.1 effect-rstest: specifier: https://pkg.pr.new/ScriptedAlchemy/effect-rstest@e5f8d5f - version: https://pkg.pr.new/ScriptedAlchemy/effect-rstest@e5f8d5f(@rstest/core@0.11.11)(effect@4.0.0-rc.112) + version: https://pkg.pr.new/ScriptedAlchemy/effect-rstest@e5f8d5f(@rstest/core@0.11.12)(effect@4.0.0-rc.112) react: specifier: 19.2.8 version: 19.2.8 @@ -1098,8 +1098,8 @@ packages: typescript: optional: true - '@rslint/core@0.9.0': - resolution: {integrity: sha512-rY8F6kdQ/XkBiflaNzglJdMfxl0Lv/NFXppK0kAhx2P2CvogsXIA/z82Wxtk+Cg9uFHou67N9/iqmWXgdtSoDw==} + '@rslint/core@0.9.1': + resolution: {integrity: sha512-MRS6lS+GiobBr+iIl5iFAYfwhhxVJX28lB6uVnwH40U49DCPUF0J2qlKI7RewPKDmKp5uosKJcvpxE8Rm7aVcg==} hasBin: true peerDependencies: jiti: ^2.7.0 @@ -1107,47 +1107,47 @@ packages: jiti: optional: true - '@rslint/native-darwin-arm64@0.9.0': - resolution: {integrity: sha512-xhdBrVALZTX0v4ZghKY7RGO87DpItk4DVvKm3MGih4w1o2WF2u+6n/mohvG7/ts7c8T88HIbLfK4luQ8kMDCsg==} + '@rslint/native-darwin-arm64@0.9.1': + resolution: {integrity: sha512-WuWZObUanaYI+93vnld+3LNXJeCkMA5ntkBs8VMptBrPa64H4K/WEm4BN1Z8NLjW5TnYWhG1wVgRE2Ie8UeSYg==} cpu: [arm64] os: [darwin] - '@rslint/native-darwin-x64@0.9.0': - resolution: {integrity: sha512-xuluXYUKizRZD/70WILvn+OeNdBT6izU81vhiNHVYdEQmfsqaqE8fthKGmQvaRu/DNL3CgVRPR+PzOAcQzPpOw==} + '@rslint/native-darwin-x64@0.9.1': + resolution: {integrity: sha512-Pce+LuyMmqBNwPjXMg5MEgo3nu36H3p7FyAwWEn8dlmUAQPhe3BQQ73fa7TT/97I9yfXY+YmJVRjLuctHQKmbw==} cpu: [x64] os: [darwin] - '@rslint/native-linux-arm64-gnu@0.9.0': - resolution: {integrity: sha512-J9uHBg/8Z9WanEKBXaPNZz0h+P8qtOLwjVqwEcOwYm1yLHRY70A7XqI6cRVIx72gXKGWtNBT2BRw9p8CWQUhgg==} + '@rslint/native-linux-arm64-gnu@0.9.1': + resolution: {integrity: sha512-pzt13FMri+oYevnR1xXo8CJkwr+RjxCFGJnYxoJ4C3jUKJLK+aJTlREDX1gnCMAXxx02YIUAqBrc4zQ09PAKsw==} cpu: [arm64] os: [linux] libc: [glibc] - '@rslint/native-linux-arm64-musl@0.9.0': - resolution: {integrity: sha512-3ICIPH1oZOuMuZp+4hRhU+Af34U/2MNFB1yN+yi/jfJP+qBEExQbeBOS4J6HOecx9RJXcFvPF2ZI68l4g8/DPQ==} + '@rslint/native-linux-arm64-musl@0.9.1': + resolution: {integrity: sha512-+fe6CNu+C5mshQ0hDyi/NakM3rqMyvMqKUf5ldNTQhaNUYavdb9cP7yXJw/H6qwHB6wbZIqSDo3b6HohzgnBkw==} cpu: [arm64] os: [linux] libc: [musl] - '@rslint/native-linux-x64-gnu@0.9.0': - resolution: {integrity: sha512-vlzcruA/t+0XvdK2S0bIS00H9Mpkrwo/hIFvpyUONgxi2WaO7XNDtgTWAsajB40WmvezYYLKs45LgkVXpxSCFA==} + '@rslint/native-linux-x64-gnu@0.9.1': + resolution: {integrity: sha512-119QVNJATOI21fGB5OsYfu0DXo7UMyyEpLi9TCogiZQF1X9QkPDdH0DXVQb2yi/H8H6FlNXak91G5vJ2W0SY2w==} cpu: [x64] os: [linux] libc: [glibc] - '@rslint/native-linux-x64-musl@0.9.0': - resolution: {integrity: sha512-+gPExuOtSPaP7jAWeMRnTobvQOhaqo9857K/7T2qvc15ksnYqqygMhzcVzm9Wt7L4KBoW6PR1uvwgmPaK4B0IA==} + '@rslint/native-linux-x64-musl@0.9.1': + resolution: {integrity: sha512-eUkiywQGG0umzYU86n1ZetCPBS1bLUFJZkFB+MovbDQQF+V9R6xA7x2mJvODnA7laOB3e7VK/uF56RvUebtzXQ==} cpu: [x64] os: [linux] libc: [musl] - '@rslint/native-win32-arm64-msvc@0.9.0': - resolution: {integrity: sha512-YK5uTuk6zNXru2cOwivbZPH25C7u8RSQlKm5tOqwhaQ0ShCVDdh7z0SXvHvLdQ2VJen+30Vp1izAMZ7Zp/8KaQ==} + '@rslint/native-win32-arm64-msvc@0.9.1': + resolution: {integrity: sha512-e0GLvCYh2XiQtVoFxbeU/QuM1mC6PWQATZbPN6fxfB4ZFH3S8KbcYCNFJyTEHp5WbU4XFJnut1qEf2u8pBoADA==} cpu: [arm64] os: [win32] - '@rslint/native-win32-x64-msvc@0.9.0': - resolution: {integrity: sha512-7elW5V8zm3McqA0LCjBBR7SDwQ5hRW+hrnJcCmrspSnBeUPFqnJfvUvsQPgbJz3pdrkBzzjZMvUgEYyBQ9dl8A==} + '@rslint/native-win32-x64-msvc@0.9.1': + resolution: {integrity: sha512-pofbo2UYBjK/OwNstlBEH89/XMUllp3PVTz21wQ7ryu3yH8atCzP2CX4Jv8IQ7eWpDJyMALhkXeEy5bsbI04xw==} cpu: [x64] os: [win32] @@ -1313,19 +1313,6 @@ packages: playwright: optional: true - '@rstest/core@0.11.11': - resolution: {integrity: sha512-7Ii2/2/ex1Oa0Kg5Qk5RKx2+e0I83BHLwH0/gn1B7IDwXCh5msFCF7yTyVGFuMltlm3E8Cf4QD7jadOEaBfXfw==} - engines: {node: ^20.19.0 || >=22.12.0} - hasBin: true - peerDependencies: - happy-dom: ^20.8.3 - jsdom: '>=15.0.0' - peerDependenciesMeta: - happy-dom: - optional: true - jsdom: - optional: true - '@rstest/core@0.11.12': resolution: {integrity: sha512-dklEYLtL1eip/11K+o3xEchEs2nCGua2u2W8Pycf6PS8TE0PDJH2Bn9y/txuQI4YVHyIQ88PISWtS6fVnxSyXQ==} engines: {node: ^20.19.0 || >=22.12.0} @@ -3939,42 +3926,42 @@ snapshots: - '@module-federation/runtime-tools' - core-js - '@rslint/core@0.9.0(jiti@2.7.0)': + '@rslint/core@0.9.1(jiti@2.7.0)': dependencies: picomatch: 4.0.5 optionalDependencies: - '@rslint/native-darwin-arm64': 0.9.0 - '@rslint/native-darwin-x64': 0.9.0 - '@rslint/native-linux-arm64-gnu': 0.9.0 - '@rslint/native-linux-arm64-musl': 0.9.0 - '@rslint/native-linux-x64-gnu': 0.9.0 - '@rslint/native-linux-x64-musl': 0.9.0 - '@rslint/native-win32-arm64-msvc': 0.9.0 - '@rslint/native-win32-x64-msvc': 0.9.0 + '@rslint/native-darwin-arm64': 0.9.1 + '@rslint/native-darwin-x64': 0.9.1 + '@rslint/native-linux-arm64-gnu': 0.9.1 + '@rslint/native-linux-arm64-musl': 0.9.1 + '@rslint/native-linux-x64-gnu': 0.9.1 + '@rslint/native-linux-x64-musl': 0.9.1 + '@rslint/native-win32-arm64-msvc': 0.9.1 + '@rslint/native-win32-x64-msvc': 0.9.1 jiti: 2.7.0 - '@rslint/native-darwin-arm64@0.9.0': + '@rslint/native-darwin-arm64@0.9.1': optional: true - '@rslint/native-darwin-x64@0.9.0': + '@rslint/native-darwin-x64@0.9.1': optional: true - '@rslint/native-linux-arm64-gnu@0.9.0': + '@rslint/native-linux-arm64-gnu@0.9.1': optional: true - '@rslint/native-linux-arm64-musl@0.9.0': + '@rslint/native-linux-arm64-musl@0.9.1': optional: true - '@rslint/native-linux-x64-gnu@0.9.0': + '@rslint/native-linux-x64-gnu@0.9.1': optional: true - '@rslint/native-linux-x64-musl@0.9.0': + '@rslint/native-linux-x64-musl@0.9.1': optional: true - '@rslint/native-win32-arm64-msvc@0.9.0': + '@rslint/native-win32-arm64-msvc@0.9.1': optional: true - '@rslint/native-win32-x64-msvc@0.9.0': + '@rslint/native-win32-x64-msvc@0.9.1': optional: true '@rspack/binding-darwin-arm64@2.2.2': @@ -4175,14 +4162,6 @@ snapshots: - bufferutil - utf-8-validate - '@rstest/core@0.11.11': - dependencies: - '@rsbuild/core': 2.2.3 - '@types/chai': 5.2.3 - transitivePeerDependencies: - - '@module-federation/runtime-tools' - - core-js - '@rstest/core@0.11.12': dependencies: '@rsbuild/core': 2.2.3 @@ -4689,11 +4668,6 @@ snapshots: ee-first@1.1.1: {} - effect-rstest@https://pkg.pr.new/ScriptedAlchemy/effect-rstest@e5f8d5f(@rstest/core@0.11.11)(effect@4.0.0-rc.112): - dependencies: - '@rstest/core': 0.11.11 - effect: 4.0.0-rc.112 - effect-rstest@https://pkg.pr.new/ScriptedAlchemy/effect-rstest@e5f8d5f(@rstest/core@0.11.12)(effect@4.0.0-rc.112): dependencies: '@rstest/core': 0.11.12 From 9afea0e8f03df9aeaaf2703ccdcfbcc159ba5da3 Mon Sep 17 00:00:00 2001 From: ScriptedAlchemy Date: Wed, 9 Sep 2026 22:55:38 +0000 Subject: [PATCH 2/5] chore: add rslint dependency changeset --- .changeset/update-rslint-core.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/update-rslint-core.md diff --git a/.changeset/update-rslint-core.md b/.changeset/update-rslint-core.md new file mode 100644 index 000000000..5554066b1 --- /dev/null +++ b/.changeset/update-rslint-core.md @@ -0,0 +1,5 @@ +--- +"agent-bundle": patch +--- + +Update `agent-bundle` to use `@rslint/core` 0.9.1 (#777). From 47142d4fd3a5e335f3855afb427021e29258761c Mon Sep 17 00:00:00 2001 From: ScriptedAlchemy Date: Wed, 9 Sep 2026 22:59:42 +0000 Subject: [PATCH 3/5] test(release): pin packed consumer React peers --- scripts/run-packed-tests.mjs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/run-packed-tests.mjs b/scripts/run-packed-tests.mjs index fbcf5cec2..801aaf0fe 100644 --- a/scripts/run-packed-tests.mjs +++ b/scripts/run-packed-tests.mjs @@ -106,6 +106,8 @@ try { '--no-audit', '--no-fund', '--prefer-offline', + 'react@19.2.8', + 'react-dom@19.2.8', ...packedRecords.map((record) => record.tarball), ], { cwd: binConsumer, env: environment }); const executedBins = []; From 461c3079bc91a58c97ef04962bcec7dfa9176092 Mon Sep 17 00:00:00 2001 From: ScriptedAlchemy Date: Wed, 9 Sep 2026 23:13:27 +0000 Subject: [PATCH 4/5] fix(scaffold): pin paired React DOM --- .changeset/update-rslint-core.md | 3 ++- .../templates/cli-tool/package_json | 1 + .../templates/mcp-server/package_json | 1 + .../tests/scaffold.test.ts | 22 ++++++++++++++----- 4 files changed, 20 insertions(+), 7 deletions(-) diff --git a/.changeset/update-rslint-core.md b/.changeset/update-rslint-core.md index 5554066b1..559e1c52e 100644 --- a/.changeset/update-rslint-core.md +++ b/.changeset/update-rslint-core.md @@ -1,5 +1,6 @@ --- "agent-bundle": patch +"create-agent-bundle": patch --- -Update `agent-bundle` to use `@rslint/core` 0.9.1 (#777). +Update `agent-bundle` to use `@rslint/core` 0.9.1 and pin generated React runtime peers to one compatible release (#777). diff --git a/packages/create-agent-bundle/templates/cli-tool/package_json b/packages/create-agent-bundle/templates/cli-tool/package_json index 8abe27b92..d708ca7ba 100644 --- a/packages/create-agent-bundle/templates/cli-tool/package_json +++ b/packages/create-agent-bundle/templates/cli-tool/package_json @@ -30,6 +30,7 @@ "typescript": "7.0.2", "@agent-bundle/runtime": "workspace:*", "react": "19.2.8", + "react-dom": "19.2.8", "zod": "4.4.3" } } diff --git a/packages/create-agent-bundle/templates/mcp-server/package_json b/packages/create-agent-bundle/templates/mcp-server/package_json index 9dfe21fba..0250ac120 100644 --- a/packages/create-agent-bundle/templates/mcp-server/package_json +++ b/packages/create-agent-bundle/templates/mcp-server/package_json @@ -33,6 +33,7 @@ "@types/react": "19.2.18", "@agent-bundle/runtime": "workspace:*", "react": "19.2.8", + "react-dom": "19.2.8", "zod": "4.4.3" } } diff --git a/packages/create-agent-bundle/tests/scaffold.test.ts b/packages/create-agent-bundle/tests/scaffold.test.ts index 28ea6e45f..ba2caa42c 100644 --- a/packages/create-agent-bundle/tests/scaffold.test.ts +++ b/packages/create-agent-bundle/tests/scaffold.test.ts @@ -251,14 +251,24 @@ layer(NodeServices.layer, { excludeTestServices: true })('scaffold (real filesys // nothing (`agent-bundle prepack` reports a stray runtime dependency as AB7014). it.effect('pins the paired runtime for the routed cli-tool template as a dev dependency', () => Effect.gen(function* () { const path = yield* Path.Path; - const { frameworkSpec, root } = yield* scaffoldTemplate('cli-tool', { pluginName: 'greeter' }); - const manifest = yield* readJson<{ + const [cliTool, mcpServer] = yield* Effect.all([ + scaffoldTemplate('cli-tool', { pluginName: 'greeter' }), + scaffoldTemplate('mcp-server', { pluginName: 'status-plugin' }), + ], { concurrency: 'unbounded' }); + const cliManifest = yield* readJson<{ readonly dependencies?: Record; readonly devDependencies: Record; - }>(path.join(root, 'package.json')); - expect(manifest.dependencies).toBeUndefined(); - expect(manifest.devDependencies['@agent-bundle/runtime']).toBe(runtimeSpecForFramework(frameworkSpec, testPairing)); - expect(manifest.devDependencies['zod']).toBeDefined(); + }>(path.join(cliTool.root, 'package.json')); + expect(cliManifest.dependencies).toBeUndefined(); + expect(cliManifest.devDependencies['@agent-bundle/runtime']) + .toBe(runtimeSpecForFramework(cliTool.frameworkSpec, testPairing)); + expect(cliManifest.devDependencies['react-dom']).toBe('19.2.8'); + expect(cliManifest.devDependencies['zod']).toBeDefined(); + + const mcpManifest = yield* readJson<{ + readonly devDependencies: Record; + }>(path.join(mcpServer.root, 'package.json')); + expect(mcpManifest.devDependencies['react-dom']).toBe('19.2.8'); })); it.effect('replaces every placeholder and pins the framework spec', () => Effect.gen(function* () { From 32ba8452abdb250f9af42fad80d8c99d0b481f08 Mon Sep 17 00:00:00 2001 From: ScriptedAlchemy Date: Thu, 10 Sep 2026 00:17:51 +0000 Subject: [PATCH 5/5] docs(start): explain paired React pins --- website/docs/en/guide/start/quick-start.mdx | 3 +++ website/docs/zh/guide/start/quick-start.mdx | 2 ++ 2 files changed, 5 insertions(+) diff --git a/website/docs/en/guide/start/quick-start.mdx b/website/docs/en/guide/start/quick-start.mdx index edb3f990b..090e9f0f9 100644 --- a/website/docs/en/guide/start/quick-start.mdx +++ b/website/docs/en/guide/start/quick-start.mdx @@ -37,6 +37,9 @@ selection and the separately versioned compiler/runtime pairing used by released | `mcp-server` | Conventional MCP tools with route/projection tests. The current starter also demonstrates an optional library export and an artifact script. | | `cli-tool` | A standalone routed CLI, with a script and library example. | +The routed templates pin React and React DOM to the same release so a fresh install cannot select +an incompatible peer pair. + The scaffolder offers every target the compiler builds: `amp`, `portable`, `claude`, `codex`, and `cursor`. One combination is refused — `amp` with this MCP starter, because Amp's skill-scoped MCP contract rejects the starter's compiler-owned local `status` server diff --git a/website/docs/zh/guide/start/quick-start.mdx b/website/docs/zh/guide/start/quick-start.mdx index c307e24c2..2bd0214d8 100644 --- a/website/docs/zh/guide/start/quick-start.mdx +++ b/website/docs/zh/guide/start/quick-start.mdx @@ -35,6 +35,8 @@ npm run check | `mcp-server` | 约定式 MCP 工具及路由、投影测试;当前 starter 还演示了可选的库导出与产物脚本。 | | `cli-tool` | 独立的路由式 CLI,附带脚本和库示例。 | +路由式模板将 React 与 React DOM 固定为同一版本,避免全新安装选中不兼容的 peer 组合。 + 脚手架提供编译器构建的每一个 target:`amp`、`portable`、`claude`、`codex` 和 `cursor`。 只有一种组合被拒绝——`amp` 与这个 MCP starter,因为 Amp 的 Skill 级 MCP 契约会拒绝 starter 中 由编译器拥有的本地 `status` 服务器(`amp.mcp.generated-local`)。创建项目时就会说明这一点,并