diff --git a/packages/widget/package.json b/packages/widget/package.json index ea628e2..e36722d 100644 --- a/packages/widget/package.json +++ b/packages/widget/package.json @@ -8,6 +8,6 @@ "@halo-dev/comment-widget": "workspace:*" }, "devDependencies": { - "@rslib/core": "^0.23.2" + "@rslib/core": "^1.0.1" } } diff --git a/packages/widget/rslib.config.mjs b/packages/widget/rslib.config.mjs index 88d1739..7b8d763 100644 --- a/packages/widget/rslib.config.mjs +++ b/packages/widget/rslib.config.mjs @@ -7,10 +7,10 @@ export default defineConfig({ lib: [ { format: 'esm', - autoExternal: false, }, ], output: { + autoExternal: false, target: 'web', minify: true, cleanDistPath: true, @@ -20,7 +20,8 @@ export default defineConfig({ if (pathData.chunk.name === 'index') { return 'comment-widget.js'; } - return '[name].[contenthash:8].js'; + // modern-module can retain contenthash after imports change; invalidate together. + return '[name].[fullhash:8].js'; }, }, publicPath: `/plugins/${PLUGIN_NAME}/assets/static/`, diff --git a/packages/widget/tests/content-hash.test.mjs b/packages/widget/tests/content-hash.test.mjs new file mode 100644 index 0000000..7057433 --- /dev/null +++ b/packages/widget/tests/content-hash.test.mjs @@ -0,0 +1,72 @@ +import assert from 'node:assert/strict'; +import { mkdtemp, readdir, readFile, rm, writeFile } from 'node:fs/promises'; +import { tmpdir } from 'node:os'; +import { join } from 'node:path'; +import { test } from 'node:test'; +import { fileURLToPath } from 'node:url'; +import { createRslib } from '@rslib/core'; +import config from '../rslib.config.mjs'; + +test('keeps a small entry and invalidates changed chunks', async () => { + const directory = await mkdtemp(join(tmpdir(), 'comment-widget-hash-')); + try { + await writeFile( + join(directory, 'index.js'), + "export { value } from './shared.js'; export const load = () => import('./lazy.js');" + ); + await writeFile( + join(directory, 'lazy.js'), + "import { value } from './shared.js'; export const getValue = () => value;" + ); + const outputs = []; + for (const value of ['before', 'after']) { + await writeFile( + join(directory, 'shared.js'), + `export let value = '${value}';` + ); + const output = join(directory, value); + const rslib = await createRslib({ + cwd: fileURLToPath(new URL('..', import.meta.url)), + config: { + ...config, + source: { entry: { index: join(directory, 'index.js') } }, + output: { ...config.output, distPath: { root: output } }, + tools: { rspack: { ...config.tools?.rspack, cache: false } }, + }, + }); + const result = await rslib.build(); + await result.close(); + const files = new Map(); + for (const name of await readdir(output)) { + if (name.endsWith('.js')) { + files.set(name, await readFile(join(output, name), 'utf8')); + } + } + assert.ok( + [...files.keys()].some((name) => /\.[a-f0-9]{8}\.js$/.test(name)), + 'fixture must emit hashed chunks' + ); + assert.ok( + files.get('comment-widget.js').length < 200, + 'entry must remain a small re-export' + ); + outputs.push(files); + } + assert.notDeepEqual( + outputs[0], + outputs[1], + 'fixture must change the output' + ); + for (const [name, content] of outputs[0]) { + if (/\.[a-f0-9]{8}\.js$/.test(name) && outputs[1].has(name)) { + assert.equal( + outputs[1].get(name), + content, + `${name} changed without a new hash` + ); + } + } + } finally { + await rm(directory, { recursive: true, force: true }); + } +}); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0d382d2..3cb5b63 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -360,74 +360,74 @@ importers: version: link:../comment-widget devDependencies: '@rslib/core': - specifier: ^0.23.2 - version: 0.23.2(core-js@3.47.0)(typescript@5.3.3) + specifier: ^1.0.1 + version: 1.0.1(core-js@3.47.0)(typescript@5.3.3) packages: '@antfu/install-pkg@1.1.0': resolution: {integrity: sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==} - '@ast-grep/napi-darwin-arm64@0.37.0': - resolution: {integrity: sha512-QAiIiaAbLvMEg/yBbyKn+p1gX2/FuaC0SMf7D7capm/oG4xGMzdeaQIcSosF4TCxxV+hIH4Bz9e4/u7w6Bnk3Q==} + '@ast-grep/napi-darwin-arm64@0.45.3': + resolution: {integrity: sha512-rMZJ6frSpR/xSbeV4hiA9WR5hHqk3rVYX8lOqEoUCaUnjEuFXvHdGN4WawJ8pVDq/IqM1UnTtsDSYgUdVmO5DA==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - '@ast-grep/napi-darwin-x64@0.37.0': - resolution: {integrity: sha512-zvcvdgekd4ySV3zUbUp8HF5nk5zqwiMXTuVzTUdl/w08O7JjM6XPOIVT+d2o/MqwM9rsXdzdergY5oY2RdhSPA==} + '@ast-grep/napi-darwin-x64@0.45.3': + resolution: {integrity: sha512-tIclZ5pM+YSgk8NNTBoTkaclbS39cU5lbVfSrFWX4LUnxXfUPG+F+ppxyFjKwJTBELsGHEO4LdX3/Lc+FDwPNA==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] - '@ast-grep/napi-linux-arm64-gnu@0.37.0': - resolution: {integrity: sha512-L7Sj0lXy8X+BqSMgr1LB8cCoWk0rericdeu+dC8/c8zpsav5Oo2IQKY1PmiZ7H8IHoFBbURLf8iklY9wsD+cyA==} + '@ast-grep/napi-linux-arm64-gnu@0.45.3': + resolution: {integrity: sha512-Bm8F7/oRHQkDXbjH+gBi9oB5huJ0q12r/AIOMIypf5PWlAVvh206Tsw468phw4Oh6kd4Ad1Z+gflNW1MutgK2g==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] libc: [glibc] - '@ast-grep/napi-linux-arm64-musl@0.37.0': - resolution: {integrity: sha512-LF9sAvYy6es/OdyJDO3RwkX3I82Vkfsng1sqUBcoWC1jVb1wX5YVzHtpQox9JrEhGl+bNp7FYxB4Qba9OdA5GA==} + '@ast-grep/napi-linux-arm64-musl@0.45.3': + resolution: {integrity: sha512-yr5xcRerV41GeRxmZ8SKbfGeyZRhQePoNNCgTAb4OrWMelWwbMI80aY7/IlF2bo1sN40BSW4hZdGIO/akTd1RQ==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] libc: [musl] - '@ast-grep/napi-linux-x64-gnu@0.37.0': - resolution: {integrity: sha512-TViz5/klqre6aSmJzswEIjApnGjJzstG/SE8VDWsrftMBMYt2PTu3MeluZVwzSqDao8doT/P+6U11dU05UOgxw==} + '@ast-grep/napi-linux-x64-gnu@0.45.3': + resolution: {integrity: sha512-lluRK3hxfHMQdFuVID6seAKVx4FH0kEwF6rCh5/I40Sf3EtNR2UCBXAqd6RBA6hqlSckktvBxCfw+h4aescDmg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] libc: [glibc] - '@ast-grep/napi-linux-x64-musl@0.37.0': - resolution: {integrity: sha512-/BcCH33S9E3ovOAEoxYngUNXgb+JLg991sdyiNP2bSoYd30a9RHrG7CYwW6fMgua3ijQ474eV6cq9yZO1bCpXg==} + '@ast-grep/napi-linux-x64-musl@0.45.3': + resolution: {integrity: sha512-09wJQKq86LqILqQtw0+X09SzhcPwUnMVFKyia7S3XLbLqSeQpAMF55Y+zll53JRQ1dCzFEZJyvTT/7j9vwfE3w==} engines: {node: '>= 10'} cpu: [x64] os: [linux] libc: [musl] - '@ast-grep/napi-win32-arm64-msvc@0.37.0': - resolution: {integrity: sha512-TjQA4cFoIEW2bgjLkaL9yqT4XWuuLa5MCNd0VCDhGRDMNQ9+rhwi9eLOWRaap3xzT7g+nlbcEHL3AkVCD2+b3A==} + '@ast-grep/napi-win32-arm64-msvc@0.45.3': + resolution: {integrity: sha512-/HiVgw2cdtzXLDLoG4eBBcauekNXewfagy7qiVbjkVu/KcCH8dJ9lpj8DzeWwuBNtZxuD8jpiwP0M1pz3Bc3uw==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] - '@ast-grep/napi-win32-ia32-msvc@0.37.0': - resolution: {integrity: sha512-uNmVka8fJCdYsyOlF9aZqQMLTatEYBynjChVTzUfFMDfmZ0bihs/YTqJVbkSm8TZM7CUX82apvn50z/dX5iWRA==} + '@ast-grep/napi-win32-ia32-msvc@0.45.3': + resolution: {integrity: sha512-/gwJrJQUw65uNtAFcG2rtSTr117Gqqy3bfjaljCPKsa65dTeRcMMnjKLlZ6V9/g8z+4Xf78kdhp5ECbir4yfSw==} engines: {node: '>= 10'} cpu: [ia32] os: [win32] - '@ast-grep/napi-win32-x64-msvc@0.37.0': - resolution: {integrity: sha512-vCiFOT3hSCQuHHfZ933GAwnPzmL0G04JxQEsBRfqONywyT8bSdDc/ECpAfr3S9VcS4JZ9/F6tkePKW/Om2Dq2g==} + '@ast-grep/napi-win32-x64-msvc@0.45.3': + resolution: {integrity: sha512-CEZAMAsaDoQoVE3MT2c/ry3/ydfyaqlTjxv8DK5PG355SrdAYPgevGC2Me6tz4dhphJin89Y20VsnrS5UrYV5Q==} engines: {node: '>= 10'} cpu: [x64] os: [win32] - '@ast-grep/napi@0.37.0': - resolution: {integrity: sha512-Hb4o6h1Pf6yRUAX07DR4JVY7dmQw+RVQMW5/m55GoiAT/VRoKCWBtIUPPOnqDVhbx1Cjfil9b6EDrgJsUAujEQ==} + '@ast-grep/napi@0.45.3': + resolution: {integrity: sha512-bjJsUt0g3UCwbn9bjv7MnoR15rszSm79yPCXn4DWWK0NuYUUqBU/srtNMR4WnpfR7TnfBRdYFoqSNx0pGCNWJg==} engines: {node: '>= 10'} '@babel/generator@8.0.0': @@ -959,6 +959,16 @@ packages: core-js: optional: true + '@rsbuild/core@2.2.7': + resolution: {integrity: sha512-IpTTwPZVtUBh17/uvxYIuIxNhS8BYgqYXszlXTQ95itGAVwsIitnGJRftwEuDeLqU8aONey6euaz/jno83YAKw==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + peerDependencies: + core-js: '>= 3.0.0' + peerDependenciesMeta: + core-js: + optional: true + '@rsbuild/plugin-vue@1.2.9': resolution: {integrity: sha512-ufD4eufkZZlNK3iY5NWg57AMK9qrTFmHycDkSTfRTua4Qczf7q9s7rCLYVfVv2w36cOXJIewM+376jD0zaQShQ==} peerDependencies: @@ -967,13 +977,13 @@ packages: '@rsbuild/core': optional: true - '@rslib/core@0.23.2': - resolution: {integrity: sha512-KxSp+/y0BJ1O4oKwxX4ydBY7/ZVeJCUpWAmQniCIct8mTxIQFPGO/ibKbKq2IxZYqRuRpM8g+Dtyq0VbEQf9HQ==} + '@rslib/core@1.0.1': + resolution: {integrity: sha512-FsUgiFALdgPQDM41OEYmt18J4061Vcm/fW2RXkZcwlO56PNaAEu2vtk+i8iH0lPEpCK79OaJPYjUzygOj4pPpA==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: '@microsoft/api-extractor': ^7 - typescript: ^5 || ^6 || ^7.0.1-0 + typescript: ^5 || ^6 || ^7 peerDependenciesMeta: '@microsoft/api-extractor': optional: true @@ -990,6 +1000,11 @@ packages: cpu: [arm64] os: [darwin] + '@rspack/binding-darwin-arm64@2.2.5': + resolution: {integrity: sha512-JMLrdZose2ZZs8jP4P+QLTHFHoTFKKrOY6AQIzIbvKdUMCrc6djlhkZQ6vSXQ7oYSiHLFxS8QqUqxr1P3pfvxg==} + cpu: [arm64] + os: [darwin] + '@rspack/binding-darwin-x64@1.6.8': resolution: {integrity: sha512-ku1XpTEPt6Za11zhpFWhfwrTQogcgi9RJrOUVC4FESiPO9aKyd4hJ+JiPgLY0MZOqsptK6vEAgOip+uDVXrCpg==} cpu: [x64] @@ -1000,6 +1015,11 @@ packages: cpu: [x64] os: [darwin] + '@rspack/binding-darwin-x64@2.2.5': + resolution: {integrity: sha512-ndUQ174Q5QdAbetBc9D6OveW2YAqB97d+jMBMGTBG1y/ry2e46zpJNt1ndBboXXp2QQD5DzdmHXw+zCh8lNLDg==} + cpu: [x64] + os: [darwin] + '@rspack/binding-linux-arm64-gnu@1.6.8': resolution: {integrity: sha512-fvZX6xZPvBT8qipSpvkKMX5M7yd2BSpZNCZXcefw6gA3uC7LI3gu+er0LrDXY1PtPzVuHTyDx+abwWpagV3PiQ==} cpu: [arm64] @@ -1012,6 +1032,12 @@ packages: os: [linux] libc: [glibc] + '@rspack/binding-linux-arm64-gnu@2.2.5': + resolution: {integrity: sha512-Kr7c2QYO2REmeG4//6gn/5HPitqRhXq4iWJDzadTJLGOUBVz3eLyEnr96t6/CScjB9XTEtvzH41ZFSwXpxopsA==} + cpu: [arm64] + os: [linux] + libc: [glibc] + '@rspack/binding-linux-arm64-musl@1.6.8': resolution: {integrity: sha512-++XMKcMNrt59HcFBLnRaJcn70k3X0GwkAegZBVpel8xYIAgvoXT5+L8P1ExId/yTFxqedaz8DbcxQnNmMozviw==} cpu: [arm64] @@ -1024,30 +1050,60 @@ packages: os: [linux] libc: [musl] + '@rspack/binding-linux-arm64-musl@2.2.5': + resolution: {integrity: sha512-q3Vftsbvl1Q72PEJ+1JYOLf8nukfr47M960ikD7Kd7iD2mA/vZ98sJRlslISpcDdQsBR6lFK4S8NOBHYMYA2Hw==} + cpu: [arm64] + os: [linux] + libc: [musl] + '@rspack/binding-linux-ppc64-gnu@2.1.10': resolution: {integrity: sha512-U7HlNzHcDtZ+LYOtOJmtx67kHEybZzUUAaP7aEXjGYO5WTCgh/176sW2UYP0rmZLrgUNFUuzn+B98RLaClNaVg==} cpu: [ppc64] os: [linux] libc: [glibc] + '@rspack/binding-linux-ppc64-gnu@2.2.5': + resolution: {integrity: sha512-FkDQvXw0ghmJwCB4ryuzSbNetKgJt6A4Xfy7Ua2zvp9sJpoMBGIF/QHWGsV7WcBEdXUDpCPui23E+DsRDCR1DQ==} + cpu: [ppc64] + os: [linux] + libc: [glibc] + '@rspack/binding-linux-riscv64-gnu@2.1.10': resolution: {integrity: sha512-GMGTJpy9/ecE+5F5IfxZH4bXv0Wx/b2TiehTlCbTksbL+pKpLHYy0rwGdjWDKbmBkhxMMqPiC7PDnn9LbdnnLA==} cpu: [riscv64] os: [linux] libc: [glibc] + '@rspack/binding-linux-riscv64-gnu@2.2.5': + resolution: {integrity: sha512-T+9K2zrb7GWYafbdJMy3cUlh0yPI5pINHbD63G1FHvklP/LNTrlAP5V53L144g7s4/Ygj89S0MZPpr4o3oBFAA==} + cpu: [riscv64] + os: [linux] + libc: [glibc] + '@rspack/binding-linux-riscv64-musl@2.1.10': resolution: {integrity: sha512-rkurnAWc04vIbzG1QCrPBWSJadZvaOt1mazFH3EdiJO8VUiu0I1T9zdiwuDOPrd50lOKIZlcTXbd5aaAkWEnvQ==} cpu: [riscv64] os: [linux] libc: [musl] + '@rspack/binding-linux-riscv64-musl@2.2.5': + resolution: {integrity: sha512-XyOIs/afntFO8rXcgbJ+oR5pMC0srX5jTe7LC3GcR3EvHAMfknboixjdchZebl5YDhqaDXvknhu7+yTUhy6cKg==} + cpu: [riscv64] + os: [linux] + libc: [musl] + '@rspack/binding-linux-s390x-gnu@2.1.10': resolution: {integrity: sha512-X+DyxkriZEAF/wihI7ERDv+CAS0mbMv36aEuQ+vXzTlvS6cSmpou/r29AHbvIF3NlG1UeAbDVlOs9QrMBZjpUQ==} cpu: [s390x] os: [linux] libc: [glibc] + '@rspack/binding-linux-s390x-gnu@2.2.5': + resolution: {integrity: sha512-K/HH0f0MA5AhT/6cYQtXD6pKagzkzxntSrRCi/IoMd98FGQOV+Dh+902ytUBxBIeypBKbCHWu+LOvbAQOtkkbQ==} + cpu: [s390x] + os: [linux] + libc: [glibc] + '@rspack/binding-linux-x64-gnu@1.6.8': resolution: {integrity: sha512-tv3BWkTE1TndfX+DsE1rSTg8fBevCxujNZ3MlfZ22Wfy9x1FMXTJlWG8VIOXmaaJ1wUHzv8S7cE2YUUJ2LuiCg==} cpu: [x64] @@ -1060,6 +1116,12 @@ packages: os: [linux] libc: [glibc] + '@rspack/binding-linux-x64-gnu@2.2.5': + resolution: {integrity: sha512-S5JReQsQjixPhbBcuHamLw0CQglvbyT4YnBWrt5ds+sraemX42U1Q5tKpICfU92oDqZz6yICC3uH1fGyLEW9Qg==} + cpu: [x64] + os: [linux] + libc: [glibc] + '@rspack/binding-linux-x64-musl@1.6.8': resolution: {integrity: sha512-DCGgZ5/in1O3FjHWqXnDsncRy+48cMhfuUAAUyl0yDj1NpsZu9pP+xfGLvGcQTiYrVl7IH9Aojf1eShP/77WGA==} cpu: [x64] @@ -1072,6 +1134,12 @@ packages: os: [linux] libc: [musl] + '@rspack/binding-linux-x64-musl@2.2.5': + resolution: {integrity: sha512-5HC8rumh+QIGMjAwGyB5W0DFon9IBSdHDco10CXdUDTbnw71a7VwpiaQGoRTmxocdxU8sGHKN1isp4T3ABnbyg==} + cpu: [x64] + os: [linux] + libc: [musl] + '@rspack/binding-wasm32-wasi@1.6.8': resolution: {integrity: sha512-VUwdhl/lI4m6o1OGCZ9JwtMjTV/yLY5VZTQdEPKb40JMTlmZ5MBlr5xk7ByaXXYHr6I+qnqEm73iMKQvg6iknw==} cpu: [wasm32] @@ -1080,6 +1148,10 @@ packages: resolution: {integrity: sha512-KY5YbWbuvYcoaLXnV+vzZOvGRCeb6jt4EpVpKdph1h1IJjwX/ju15EQ+GOe3iecZEdf0OttQcNVcwBkLkFT9ag==} cpu: [wasm32] + '@rspack/binding-wasm32-wasi@2.2.5': + resolution: {integrity: sha512-JLxx6dBm8nmTjYvq+HxHBPh3e+otmK9zrlzvYcyy612LV1Ixw78qdiQvMLjI7nM9aWsCqbix0FDaxPJ8VsT4GA==} + cpu: [wasm32] + '@rspack/binding-win32-arm64-msvc@1.6.8': resolution: {integrity: sha512-23YX7zlOZlub+nPGDBUzktb4D5D6ETUAluKjXEeHIZ9m7fSlEYBnGL66YE+3t1DHXGd0OqsdwlvrNGcyo6EXDQ==} cpu: [arm64] @@ -1090,6 +1162,11 @@ packages: cpu: [arm64] os: [win32] + '@rspack/binding-win32-arm64-msvc@2.2.5': + resolution: {integrity: sha512-QkuTOVRVZ5bgCrpqnXS9SPc5J7T6uJA3z2dpJbdHr+zA5NUxSg2klk+mYiZ4j/zk4NwXZEkISGVp3f5FRrp38A==} + cpu: [arm64] + os: [win32] + '@rspack/binding-win32-ia32-msvc@1.6.8': resolution: {integrity: sha512-cFgRE3APxrY4AEdooVk2LtipwNNT/9mrnjdC5lVbsIsz+SxvGbZR231bxDJEqP15+RJOaD07FO1sIjINFqXMEg==} cpu: [ia32] @@ -1100,6 +1177,11 @@ packages: cpu: [ia32] os: [win32] + '@rspack/binding-win32-ia32-msvc@2.2.5': + resolution: {integrity: sha512-27pgkQ7LTTlL8Xcs0gLQtjqgQmX5NV+6RzVC9YJ4ivSFCS94RG6UFX7lPSnWmmIRP6N4qxBOKL3Chkc8mNpqcg==} + cpu: [ia32] + os: [win32] + '@rspack/binding-win32-x64-msvc@1.6.8': resolution: {integrity: sha512-cIuhVsZYd3o3Neo1JSAhJYw6BDvlxaBoqvgwRkG1rs0ExFmEmgYyG7ip9pFKnKNWph/tmW3rDYypmEfjs1is7g==} cpu: [x64] @@ -1110,12 +1192,20 @@ packages: cpu: [x64] os: [win32] + '@rspack/binding-win32-x64-msvc@2.2.5': + resolution: {integrity: sha512-TNi/O6ujzy6CszH6629wILSj0cPBqCEAjTrayBGWafM5+2FctML8ovz/8GqxSxmzD1KsOsXwOlNMuUY5PfDHyg==} + cpu: [x64] + os: [win32] + '@rspack/binding@1.6.8': resolution: {integrity: sha512-lUeL4mbwGo+nqRKqFDCm9vH2jv9FNMVt1X8jqayWRcOCPlj/2UVMEFgqjR7Pp2vlvnTKq//31KbDBJmDZq31RQ==} '@rspack/binding@2.1.10': resolution: {integrity: sha512-vnu/UP5HnrND15lO9+VeG6eUrbTyycHNQNQ3XEiRiFojuoiGZkIZC3Hbzr8qQH44C6vScPODEPvvIVvLcO2LpQ==} + '@rspack/binding@2.2.5': + resolution: {integrity: sha512-cR1vRgl4hIEB7j654y3PHs3IVB+x/Mj4jJYWobUmwp62kP3JkP7OPyqY0VaRSbwcrQzOXQ77I09/Z3x3lsilVw==} + '@rspack/core@1.6.8': resolution: {integrity: sha512-FolcIAH5FW4J2FET+qwjd1kNeFbCkd0VLuIHO0thyolEjaPSxw5qxG67DA7BZGm6PVcoiSgPLks1DL6eZ8c+fA==} engines: {node: '>=18.12.0'} @@ -1137,6 +1227,18 @@ packages: '@swc/helpers': optional: true + '@rspack/core@2.2.5': + resolution: {integrity: sha512-V5yqXFyGB8k2UiOh2VGc9q0z+GfKQzBQOrbo9wnk+IV+SsHZD/Z0SVjy9p7q+hG/ULVdOwsAhmltn1pXxLywSA==} + engines: {node: ^20.19.0 || >=22.12.0} + peerDependencies: + '@module-federation/runtime-tools': ^0.24.1 || ^2.0.0 + '@swc/helpers': ^0.5.23 + peerDependenciesMeta: + '@module-federation/runtime-tools': + optional: true + '@swc/helpers': + optional: true + '@rspack/lite-tapable@1.1.0': resolution: {integrity: sha512-E2B0JhYFmVAwdDiG14+DW0Di4Ze4Jg10Pc4/lILUrd5DRCaklduz2OvJ5HYQ6G+hd+WTzqQb3QnDNfK4yvAFYw==} @@ -2545,19 +2647,16 @@ packages: rope-sequence@1.3.4: resolution: {integrity: sha512-UT5EDe2cu2E/6O4igUr5PSFs23nvvukicWHx6GnOPlHAiiYbzNuCRQCuiUdHJQcqKalLKlrYJnjY0ySGsXNQXQ==} - rsbuild-plugin-dts@0.23.2: - resolution: {integrity: sha512-Ve8WOSPyTBjxH40O/6fChJtflL7yqcUtt5zbF0eHDM4hIt35jqLocRlSdCxFJdQm0blTjl6+hkmPa/vNI06ArA==} + rsbuild-plugin-dts@1.0.1: + resolution: {integrity: sha512-vzLhs8v1SuRd0qyIWue5caaM2A1lGImuH+cQAX71KnNpS9BZHyHRBHHXBFp9jp610XJnLlkBATyPclqUfGtCAA==} engines: {node: ^20.19.0 || >=22.12.0} peerDependencies: '@microsoft/api-extractor': ^7 - '@rsbuild/core': ^1.0.0 || ^2.0.0-0 - '@typescript/native-preview': ^7.0.0-0 - typescript: ^5 || ^6 || ^7.0.1-0 + '@rsbuild/core': ^2.0.0 + typescript: ^5 || ^6 || ^7 peerDependenciesMeta: '@microsoft/api-extractor': optional: true - '@typescript/native-preview': - optional: true typescript: optional: true @@ -3105,44 +3204,44 @@ snapshots: package-manager-detector: 1.8.0 tinyexec: 1.3.0 - '@ast-grep/napi-darwin-arm64@0.37.0': + '@ast-grep/napi-darwin-arm64@0.45.3': optional: true - '@ast-grep/napi-darwin-x64@0.37.0': + '@ast-grep/napi-darwin-x64@0.45.3': optional: true - '@ast-grep/napi-linux-arm64-gnu@0.37.0': + '@ast-grep/napi-linux-arm64-gnu@0.45.3': optional: true - '@ast-grep/napi-linux-arm64-musl@0.37.0': + '@ast-grep/napi-linux-arm64-musl@0.45.3': optional: true - '@ast-grep/napi-linux-x64-gnu@0.37.0': + '@ast-grep/napi-linux-x64-gnu@0.45.3': optional: true - '@ast-grep/napi-linux-x64-musl@0.37.0': + '@ast-grep/napi-linux-x64-musl@0.45.3': optional: true - '@ast-grep/napi-win32-arm64-msvc@0.37.0': + '@ast-grep/napi-win32-arm64-msvc@0.45.3': optional: true - '@ast-grep/napi-win32-ia32-msvc@0.37.0': + '@ast-grep/napi-win32-ia32-msvc@0.45.3': optional: true - '@ast-grep/napi-win32-x64-msvc@0.37.0': + '@ast-grep/napi-win32-x64-msvc@0.45.3': optional: true - '@ast-grep/napi@0.37.0': + '@ast-grep/napi@0.45.3': optionalDependencies: - '@ast-grep/napi-darwin-arm64': 0.37.0 - '@ast-grep/napi-darwin-x64': 0.37.0 - '@ast-grep/napi-linux-arm64-gnu': 0.37.0 - '@ast-grep/napi-linux-arm64-musl': 0.37.0 - '@ast-grep/napi-linux-x64-gnu': 0.37.0 - '@ast-grep/napi-linux-x64-musl': 0.37.0 - '@ast-grep/napi-win32-arm64-msvc': 0.37.0 - '@ast-grep/napi-win32-ia32-msvc': 0.37.0 - '@ast-grep/napi-win32-x64-msvc': 0.37.0 + '@ast-grep/napi-darwin-arm64': 0.45.3 + '@ast-grep/napi-darwin-x64': 0.45.3 + '@ast-grep/napi-linux-arm64-gnu': 0.45.3 + '@ast-grep/napi-linux-arm64-musl': 0.45.3 + '@ast-grep/napi-linux-x64-gnu': 0.45.3 + '@ast-grep/napi-linux-x64-musl': 0.45.3 + '@ast-grep/napi-win32-arm64-msvc': 0.45.3 + '@ast-grep/napi-win32-ia32-msvc': 0.45.3 + '@ast-grep/napi-win32-x64-msvc': 0.45.3 '@babel/generator@8.0.0': dependencies: @@ -3597,6 +3696,15 @@ snapshots: transitivePeerDependencies: - '@module-federation/runtime-tools' + '@rsbuild/core@2.2.7(core-js@3.47.0)': + dependencies: + '@rspack/core': 2.2.5(@swc/helpers@0.5.23) + '@swc/helpers': 0.5.23 + optionalDependencies: + core-js: 3.47.0 + transitivePeerDependencies: + - '@module-federation/runtime-tools' + '@rsbuild/plugin-vue@1.2.9(@rsbuild/core@2.1.13(core-js@3.47.0))(@rspack/core@2.1.10(@swc/helpers@0.5.23))(@vue/compiler-sfc@3.5.41)(vue@3.5.41(typescript@5.8.3))': dependencies: rspack-vue-loader: 17.6.2(@rspack/core@2.1.10(@swc/helpers@0.5.23))(@vue/compiler-sfc@3.5.41)(vue@3.5.41(typescript@5.8.3)) @@ -3607,15 +3715,14 @@ snapshots: - '@vue/compiler-sfc' - vue - '@rslib/core@0.23.2(core-js@3.47.0)(typescript@5.3.3)': + '@rslib/core@1.0.1(core-js@3.47.0)(typescript@5.3.3)': dependencies: - '@rsbuild/core': 2.1.13(core-js@3.47.0) - rsbuild-plugin-dts: 0.23.2(@rsbuild/core@2.1.13(core-js@3.47.0))(typescript@5.3.3) + '@rsbuild/core': 2.2.7(core-js@3.47.0) + rsbuild-plugin-dts: 1.0.1(@rsbuild/core@2.2.7(core-js@3.47.0))(typescript@5.3.3) optionalDependencies: typescript: 5.3.3 transitivePeerDependencies: - '@module-federation/runtime-tools' - - '@typescript/native-preview' - core-js '@rspack/binding-darwin-arm64@1.6.8': @@ -3624,48 +3731,78 @@ snapshots: '@rspack/binding-darwin-arm64@2.1.10': optional: true + '@rspack/binding-darwin-arm64@2.2.5': + optional: true + '@rspack/binding-darwin-x64@1.6.8': optional: true '@rspack/binding-darwin-x64@2.1.10': optional: true + '@rspack/binding-darwin-x64@2.2.5': + optional: true + '@rspack/binding-linux-arm64-gnu@1.6.8': optional: true '@rspack/binding-linux-arm64-gnu@2.1.10': optional: true + '@rspack/binding-linux-arm64-gnu@2.2.5': + optional: true + '@rspack/binding-linux-arm64-musl@1.6.8': optional: true '@rspack/binding-linux-arm64-musl@2.1.10': optional: true + '@rspack/binding-linux-arm64-musl@2.2.5': + optional: true + '@rspack/binding-linux-ppc64-gnu@2.1.10': optional: true + '@rspack/binding-linux-ppc64-gnu@2.2.5': + optional: true + '@rspack/binding-linux-riscv64-gnu@2.1.10': optional: true + '@rspack/binding-linux-riscv64-gnu@2.2.5': + optional: true + '@rspack/binding-linux-riscv64-musl@2.1.10': optional: true + '@rspack/binding-linux-riscv64-musl@2.2.5': + optional: true + '@rspack/binding-linux-s390x-gnu@2.1.10': optional: true + '@rspack/binding-linux-s390x-gnu@2.2.5': + optional: true + '@rspack/binding-linux-x64-gnu@1.6.8': optional: true '@rspack/binding-linux-x64-gnu@2.1.10': optional: true + '@rspack/binding-linux-x64-gnu@2.2.5': + optional: true + '@rspack/binding-linux-x64-musl@1.6.8': optional: true '@rspack/binding-linux-x64-musl@2.1.10': optional: true + '@rspack/binding-linux-x64-musl@2.2.5': + optional: true + '@rspack/binding-wasm32-wasi@1.6.8': dependencies: '@napi-rs/wasm-runtime': 1.0.7 @@ -3678,24 +3815,40 @@ snapshots: '@napi-rs/wasm-runtime': 1.1.6(@emnapi/core@1.11.3)(@emnapi/runtime@1.11.3) optional: true + '@rspack/binding-wasm32-wasi@2.2.5': + dependencies: + '@emnapi/core': 1.11.3 + '@emnapi/runtime': 1.11.3 + '@napi-rs/wasm-runtime': 1.1.6(@emnapi/core@1.11.3)(@emnapi/runtime@1.11.3) + optional: true + '@rspack/binding-win32-arm64-msvc@1.6.8': optional: true '@rspack/binding-win32-arm64-msvc@2.1.10': optional: true + '@rspack/binding-win32-arm64-msvc@2.2.5': + optional: true + '@rspack/binding-win32-ia32-msvc@1.6.8': optional: true '@rspack/binding-win32-ia32-msvc@2.1.10': optional: true + '@rspack/binding-win32-ia32-msvc@2.2.5': + optional: true + '@rspack/binding-win32-x64-msvc@1.6.8': optional: true '@rspack/binding-win32-x64-msvc@2.1.10': optional: true + '@rspack/binding-win32-x64-msvc@2.2.5': + optional: true + '@rspack/binding@1.6.8': optionalDependencies: '@rspack/binding-darwin-arm64': 1.6.8 @@ -3726,6 +3879,24 @@ snapshots: '@rspack/binding-win32-arm64-msvc': 2.1.10 '@rspack/binding-win32-ia32-msvc': 2.1.10 '@rspack/binding-win32-x64-msvc': 2.1.10 + optional: true + + '@rspack/binding@2.2.5': + optionalDependencies: + '@rspack/binding-darwin-arm64': 2.2.5 + '@rspack/binding-darwin-x64': 2.2.5 + '@rspack/binding-linux-arm64-gnu': 2.2.5 + '@rspack/binding-linux-arm64-musl': 2.2.5 + '@rspack/binding-linux-ppc64-gnu': 2.2.5 + '@rspack/binding-linux-riscv64-gnu': 2.2.5 + '@rspack/binding-linux-riscv64-musl': 2.2.5 + '@rspack/binding-linux-s390x-gnu': 2.2.5 + '@rspack/binding-linux-x64-gnu': 2.2.5 + '@rspack/binding-linux-x64-musl': 2.2.5 + '@rspack/binding-wasm32-wasi': 2.2.5 + '@rspack/binding-win32-arm64-msvc': 2.2.5 + '@rspack/binding-win32-ia32-msvc': 2.2.5 + '@rspack/binding-win32-x64-msvc': 2.2.5 '@rspack/core@1.6.8(@swc/helpers@0.5.23)': dependencies: @@ -3741,6 +3912,13 @@ snapshots: '@rspack/binding': 2.1.10 optionalDependencies: '@swc/helpers': 0.5.23 + optional: true + + '@rspack/core@2.2.5(@swc/helpers@0.5.23)': + dependencies: + '@rspack/binding': 2.2.5 + optionalDependencies: + '@swc/helpers': 0.5.23 '@rspack/lite-tapable@1.1.0': optional: true @@ -5295,10 +5473,10 @@ snapshots: rope-sequence@1.3.4: {} - rsbuild-plugin-dts@0.23.2(@rsbuild/core@2.1.13(core-js@3.47.0))(typescript@5.3.3): + rsbuild-plugin-dts@1.0.1(@rsbuild/core@2.2.7(core-js@3.47.0))(typescript@5.3.3): dependencies: - '@ast-grep/napi': 0.37.0 - '@rsbuild/core': 2.1.13(core-js@3.47.0) + '@ast-grep/napi': 0.45.3 + '@rsbuild/core': 2.2.7(core-js@3.47.0) optionalDependencies: typescript: 5.3.3