diff --git a/.changeset/busy-hounds-take.md b/.changeset/busy-hounds-take.md new file mode 100644 index 0000000000..de47cd29fd --- /dev/null +++ b/.changeset/busy-hounds-take.md @@ -0,0 +1,13 @@ +--- +"@lynx-js/web-mainthread-apis": patch +"@lynx-js/web-worker-runtime": patch +"@lynx-js/web-core": patch +--- + +feat: allow lynx code to get JS engine provided properties on globalThis + +``` +globalThis.Reflect; // this will be the Reflect Object +``` + +Note that `assigning to the globalThis` is still not allowed. diff --git a/.changeset/silly-pumas-float.md b/.changeset/silly-pumas-float.md new file mode 100644 index 0000000000..619457db72 --- /dev/null +++ b/.changeset/silly-pumas-float.md @@ -0,0 +1,8 @@ +--- +"@lynx-js/web-mainthread-apis": patch +"@lynx-js/web-constants": patch +"@lynx-js/web-core": patch +"@lynx-js/web-core-server": patch +--- + +fix: corrupt mainthread module cache diff --git a/packages/web-platform/web-mainthread-apis/src/MainThreadRuntime.ts b/packages/web-platform/web-mainthread-apis/src/MainThreadRuntime.ts index 936637ffba..421abe2856 100644 --- a/packages/web-platform/web-mainthread-apis/src/MainThreadRuntime.ts +++ b/packages/web-platform/web-mainthread-apis/src/MainThreadRuntime.ts @@ -205,9 +205,20 @@ export class MainThreadRuntime { */ __lynxGlobalBindingValues: Record = {}; - get globalThis() { - return this; - } + globalThis = new Proxy(this, { + get: (target, prop) => { + // @ts-expect-error + return target[prop] ?? globalThis[prop]; + }, + set: (target, prop, value) => { + // @ts-expect-error + target[prop] = value; + return true; + }, + ownKeys(target) { + return Reflect.ownKeys(target).filter((key) => key !== 'globalThis'); + }, + }); SystemInfo: typeof systemInfo; diff --git a/packages/web-platform/web-mainthread-apis/src/loadMainThread.ts b/packages/web-platform/web-mainthread-apis/src/loadMainThread.ts index a1062e2ce6..feeeee09ae 100644 --- a/packages/web-platform/web-mainthread-apis/src/loadMainThread.ts +++ b/packages/web-platform/web-mainthread-apis/src/loadMainThread.ts @@ -26,7 +26,6 @@ import { } from './MainThreadRuntime.js'; const moduleCache: Record = {}; - export function loadMainThread( backgroundThreadRpc: Rpc, docu: Pick, @@ -65,7 +64,7 @@ export function loadMainThread( markTimingInternal('decode_start'); const lepusCodeEntries = await Promise.all( Object.entries(lepusCode).map(async ([name, url]) => { - const cachedModule = moduleCache[name]; + const cachedModule = moduleCache[url]; if (cachedModule) { return [name, cachedModule] as [string, LynxJSModule]; } else { @@ -73,7 +72,7 @@ export function loadMainThread( await import(/* webpackIgnore: true */ url); const module = globalThis.module as LynxJSModule; Object.assign(globalThis, { module: {} }); - moduleCache[name] = module; + moduleCache[url] = module; return [name, module] as [string, LynxJSModule]; } }), @@ -169,7 +168,7 @@ export function loadMainThread( publicComponentEvent, postExposure, }, - }).globalThis; + }); markTimingInternal('decode_end'); entry!(runtime); jsContext.__start(); // start the jsContext after the runtime is created diff --git a/packages/web-platform/web-tests/shell-project/mainthread-test.ts b/packages/web-platform/web-tests/shell-project/mainthread-test.ts index f77e864eff..31360ed03e 100644 --- a/packages/web-platform/web-tests/shell-project/mainthread-test.ts +++ b/packages/web-platform/web-tests/shell-project/mainthread-test.ts @@ -135,7 +135,7 @@ function initializeMainThreadTest() { }, postExposure: () => {}, }, - }); + }).globalThis; Object.assign(globalThis, runtime); Object.assign(globalThis, { genFiberElementTree, diff --git a/packages/web-platform/web-tests/tests/__snapshots__/server.vitest.spec.ts.snap b/packages/web-platform/web-tests/tests/__snapshots__/server.vitest.spec.ts.snap index 061bef5b0a..34e03067c0 100644 --- a/packages/web-platform/web-tests/tests/__snapshots__/server.vitest.spec.ts.snap +++ b/packages/web-platform/web-tests/tests/__snapshots__/server.vitest.spec.ts.snap @@ -1,3 +1,11 @@ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html +exports[`server-tests > basic-performance-div-10 1`] = `"
"`; + +exports[`server-tests > basic-performance-div-100 1`] = `"
"`; + +exports[`server-tests > basic-performance-div-1000 1`] = `"
"`; + exports[`server-tests > basic-performance-div-10000 1`] = `"
"`; + +exports[`server-tests > basic-performance-nest-level-100 1`] = `"
"`; diff --git a/packages/web-platform/web-tests/tests/react.spec.ts b/packages/web-platform/web-tests/tests/react.spec.ts index b4a7d5428f..36d2fb0fac 100644 --- a/packages/web-platform/web-tests/tests/react.spec.ts +++ b/packages/web-platform/web-tests/tests/react.spec.ts @@ -387,6 +387,16 @@ test.describe('reactlynx3 tests', () => { await wait(100); await expect(page.locator('#target')).toHaveCSS('color', 'rgb(0, 0, 0)'); }); + test('basic-globalThis-property-bts', async ({ page }, { title }) => { + await goto(page, title); + await wait(100); + await expect(page.locator('#target')).toHaveCSS('color', 'rgb(0, 0, 0)'); + }); + test('basic-globalThis-property-mts', async ({ page }, { title }) => { + await goto(page, title); + await wait(100); + await expect(page.locator('#target')).toHaveCSS('color', 'rgb(0, 0, 0)'); + }); }); test.describe('apis', () => { test('api-custom-template-loader', async ({ page }, { title }) => { diff --git a/packages/web-platform/web-tests/tests/react/basic-globalThis-property-bts/index.jsx b/packages/web-platform/web-tests/tests/react/basic-globalThis-property-bts/index.jsx new file mode 100644 index 0000000000..c1211e3bb7 --- /dev/null +++ b/packages/web-platform/web-tests/tests/react/basic-globalThis-property-bts/index.jsx @@ -0,0 +1,19 @@ +// Copyright 2023 The Lynx Authors. All rights reserved. +// Licensed under the Apache License Version 2.0 that can be found in the +// LICENSE file in the root directory of this source tree. +import { root } from '@lynx-js/react'; + +function App() { + return ( + + ); +} + +root.render(); diff --git a/packages/web-platform/web-tests/tests/react/basic-globalThis-property-mts/index.jsx b/packages/web-platform/web-tests/tests/react/basic-globalThis-property-mts/index.jsx new file mode 100644 index 0000000000..85f1af63d4 --- /dev/null +++ b/packages/web-platform/web-tests/tests/react/basic-globalThis-property-mts/index.jsx @@ -0,0 +1,23 @@ +// Copyright 2023 The Lynx Authors. All rights reserved. +// Licensed under the Apache License Version 2.0 that can be found in the +// LICENSE file in the root directory of this source tree. +import { useState, root, useEffect } from '@lynx-js/react'; +function App() { + const [color, setColor] = useState('pink'); + useEffect(() => { + if (globalThis.Object) { + setColor('green'); + } + }, []); + return ( + + ); +} +root.render(); diff --git a/packages/web-platform/web-tests/tests/react/basic-performance-div-10/index.jsx b/packages/web-platform/web-tests/tests/react/basic-performance-div-10/index.jsx new file mode 100644 index 0000000000..da2353e02e --- /dev/null +++ b/packages/web-platform/web-tests/tests/react/basic-performance-div-10/index.jsx @@ -0,0 +1,22 @@ +// Copyright 2023 The Lynx Authors. All rights reserved. +// Licensed under the Apache License Version 2.0 that can be found in the +// LICENSE file in the root directory of this source tree. +import { root } from '@lynx-js/react'; + +function App() { + return ( + new Array(10).fill(0).map((_, i) => ( +
+ )) + ); +} + +root.render(); diff --git a/packages/web-platform/web-tests/tests/react/basic-performance-div-100/index.jsx b/packages/web-platform/web-tests/tests/react/basic-performance-div-100/index.jsx new file mode 100644 index 0000000000..42921adfa1 --- /dev/null +++ b/packages/web-platform/web-tests/tests/react/basic-performance-div-100/index.jsx @@ -0,0 +1,22 @@ +// Copyright 2023 The Lynx Authors. All rights reserved. +// Licensed under the Apache License Version 2.0 that can be found in the +// LICENSE file in the root directory of this source tree. +import { root } from '@lynx-js/react'; + +function App() { + return ( + new Array(100).fill(0).map((_, i) => ( +
+ )) + ); +} + +root.render(); diff --git a/packages/web-platform/web-tests/tests/react/basic-performance-div-1000/index.jsx b/packages/web-platform/web-tests/tests/react/basic-performance-div-1000/index.jsx new file mode 100644 index 0000000000..4ac5523804 --- /dev/null +++ b/packages/web-platform/web-tests/tests/react/basic-performance-div-1000/index.jsx @@ -0,0 +1,22 @@ +// Copyright 2023 The Lynx Authors. All rights reserved. +// Licensed under the Apache License Version 2.0 that can be found in the +// LICENSE file in the root directory of this source tree. +import { root } from '@lynx-js/react'; + +function App() { + return ( + new Array(1000).fill(0).map((_, i) => ( +
+ )) + ); +} + +root.render(); diff --git a/packages/web-platform/web-tests/tests/react/basic-performance-nest-level-100/index.jsx b/packages/web-platform/web-tests/tests/react/basic-performance-nest-level-100/index.jsx new file mode 100644 index 0000000000..8f4cc23571 --- /dev/null +++ b/packages/web-platform/web-tests/tests/react/basic-performance-nest-level-100/index.jsx @@ -0,0 +1,16 @@ +// Copyright 2023 The Lynx Authors. All rights reserved. +// Licensed under the Apache License Version 2.0 that can be found in the +// LICENSE file in the root directory of this source tree. +import { root } from '@lynx-js/react'; + +function App(prop) { + return ( +
+ {prop.count && } +
+ ); +} + +root.render(); diff --git a/packages/web-platform/web-tests/tests/server.bench.vitest.spec.ts b/packages/web-platform/web-tests/tests/server.bench.vitest.spec.ts index 32316d9db9..36f6bfcfab 100644 --- a/packages/web-platform/web-tests/tests/server.bench.vitest.spec.ts +++ b/packages/web-platform/web-tests/tests/server.bench.vitest.spec.ts @@ -14,7 +14,19 @@ async function readTemplate(name: string) { const rawTemplate = JSON.parse(file); return rawTemplate as any; } -const rawTemplate = await readTemplate('basic-performance-div-10000'); +const cases = { + 'basic-performance-div-10000': await readTemplate( + 'basic-performance-div-10000', + ), + 'basic-performance-div-1000': await readTemplate( + 'basic-performance-div-1000', + ), + 'basic-performance-div-100': await readTemplate('basic-performance-div-100'), + 'basic-performance-div-10': await readTemplate('basic-performance-div-10'), + 'basic-performance-nest-level-100': await readTemplate( + 'basic-performance-nest-level-100', + ), +}; describe('server-tests', () => { bench('basic-performance-div-10000', async () => { const lynxView = createLynxView({ @@ -26,7 +38,63 @@ describe('server-tests', () => { tagMap: {}, initData: {}, globalProps: {}, - template: rawTemplate, + template: cases['basic-performance-div-10000'], + }); + await lynxView.renderToString(); + }); + bench('basic-performance-div-1000', async () => { + const lynxView = createLynxView({ + browserConfig: { + pixelRatio: 1, + pixelWidth: 600, + pixelHeight: 800, + }, + tagMap: {}, + initData: {}, + globalProps: {}, + template: cases['basic-performance-div-1000'], + }); + await lynxView.renderToString(); + }); + bench('basic-performance-div-100', async () => { + const lynxView = createLynxView({ + browserConfig: { + pixelRatio: 1, + pixelWidth: 600, + pixelHeight: 800, + }, + tagMap: {}, + initData: {}, + globalProps: {}, + template: cases['basic-performance-div-100'], + }); + await lynxView.renderToString(); + }); + bench('basic-performance-div-10', async () => { + const lynxView = createLynxView({ + browserConfig: { + pixelRatio: 1, + pixelWidth: 600, + pixelHeight: 800, + }, + tagMap: {}, + initData: {}, + globalProps: {}, + template: cases['basic-performance-div-10'], + }); + await lynxView.renderToString(); + }); + bench('basic-performance-nest-level-100', async () => { + const lynxView = createLynxView({ + browserConfig: { + pixelRatio: 1, + pixelWidth: 600, + pixelHeight: 800, + }, + tagMap: {}, + initData: {}, + globalProps: {}, + template: cases['basic-performance-nest-level-100'], }); await lynxView.renderToString(); }); diff --git a/packages/web-platform/web-tests/tests/server.vitest.spec.ts b/packages/web-platform/web-tests/tests/server.vitest.spec.ts index 90d58e24ef..5a8bdd7912 100644 --- a/packages/web-platform/web-tests/tests/server.vitest.spec.ts +++ b/packages/web-platform/web-tests/tests/server.vitest.spec.ts @@ -33,4 +33,78 @@ describe('server-tests', () => { const html = await lynxView.renderToString(); expect(html).toMatchSnapshot(); }); + + test('basic-performance-div-1000', async ({ task }) => { + const testName = task.name; + const rawTemplate = await readTemplate(testName); + const lynxView = createLynxView({ + browserConfig: { + pixelRatio: 1, + pixelHeight: 800, + pixelWidth: 375, + }, + tagMap: {}, + initData: {}, + globalProps: {}, + template: rawTemplate, + }); + + const html = await lynxView.renderToString(); + expect(html).toMatchSnapshot(); + }); + test('basic-performance-div-100', async ({ task }) => { + const testName = task.name; + const rawTemplate = await readTemplate(testName); + const lynxView = createLynxView({ + browserConfig: { + pixelRatio: 1, + pixelHeight: 800, + pixelWidth: 375, + }, + tagMap: {}, + initData: {}, + globalProps: {}, + template: rawTemplate, + }); + + const html = await lynxView.renderToString(); + expect(html).toMatchSnapshot(); + }); + test('basic-performance-div-10', async ({ task }) => { + const testName = task.name; + const rawTemplate = await readTemplate(testName); + const lynxView = createLynxView({ + browserConfig: { + pixelRatio: 1, + pixelHeight: 800, + pixelWidth: 375, + }, + tagMap: {}, + initData: {}, + globalProps: {}, + template: rawTemplate, + }); + + const html = await lynxView.renderToString(); + expect(html).toMatchSnapshot(); + }); + + test('basic-performance-nest-level-100', async ({ task }) => { + const testName = task.name; + const rawTemplate = await readTemplate(testName); + const lynxView = createLynxView({ + browserConfig: { + pixelRatio: 1, + pixelHeight: 800, + pixelWidth: 375, + }, + tagMap: {}, + initData: {}, + globalProps: {}, + template: rawTemplate, + }); + + const html = await lynxView.renderToString(); + expect(html).toMatchSnapshot(); + }); }); diff --git a/packages/web-platform/web-worker-runtime/src/backgroundThread/background-apis/createNativeApp.ts b/packages/web-platform/web-worker-runtime/src/backgroundThread/background-apis/createNativeApp.ts index 3b55553d60..a8acf1db79 100644 --- a/packages/web-platform/web-worker-runtime/src/backgroundThread/background-apis/createNativeApp.ts +++ b/packages/web-platform/web-worker-runtime/src/backgroundThread/background-apis/createNativeApp.ts @@ -66,7 +66,22 @@ export async function createNativeApp(config: { return { init: (lynxCoreInject) => { lynxCoreInject.tt.lynxCoreInject = lynxCoreInject; - lynxCoreInject.tt.globalThis ??= lynxCoreInject; + lynxCoreInject.tt.globalThis ??= new Proxy(lynxCoreInject, { + get(target, prop) { + // @ts-expect-error + return target[prop] ?? globalThis[prop]; + }, + set(target, prop, value) { + // @ts-expect-error + target[prop] = value; + return true; + }, + ownKeys(target) { + return Reflect.ownKeys(target).filter((key) => + key !== 'globalThis' + ); + }, + }); Object.assign(lynxCoreInject.tt, { SystemInfo: { ...systemInfo, ...browserConfig }, }); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0465354a07..ba89acc280 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -7,8 +7,8 @@ settings: catalogs: default: '@microsoft/api-extractor': - specifier: 7.52.7 - version: 7.52.7 + specifier: 7.52.8 + version: 7.52.8 rsbuild: '@rsbuild/core': specifier: 1.3.20 @@ -23,8 +23,8 @@ catalogs: specifier: 1.1.1 version: 1.1.1 '@rsbuild/webpack': - specifier: 1.3.0 - version: 1.3.0 + specifier: 1.3.1 + version: 1.3.1 rspack: '@rspack/cli': specifier: 1.3.10 @@ -63,10 +63,10 @@ importers: version: 9.26.0 '@microsoft/api-extractor': specifier: 'catalog:' - version: 7.52.7(@types/node@22.15.17) + version: 7.52.8(@types/node@22.15.17) '@rslib/core': specifier: ^0.7.0 - version: 0.7.0(@microsoft/api-extractor@7.52.7(@types/node@22.15.17))(typescript@5.8.3) + version: 0.7.0(@microsoft/api-extractor@7.52.8(@types/node@22.15.17))(typescript@5.8.3) '@rspack/core': specifier: 1.3.10 version: 1.3.10(@swc/helpers@0.5.17) @@ -178,7 +178,7 @@ importers: version: 3.2.1 '@microsoft/api-extractor': specifier: 'catalog:' - version: 7.52.7(@types/node@22.15.17) + version: 7.52.8(@types/node@22.15.17) '@types/react': specifier: ^18.3.21 version: 18.3.21 @@ -296,13 +296,13 @@ importers: version: link:../../tools/vitest-setup '@microsoft/api-extractor': specifier: 'catalog:' - version: 7.52.7(@types/node@22.15.17) + version: 7.52.8(@types/node@22.15.17) '@rollup/plugin-typescript': specifier: ^12.1.2 version: 12.1.2(patch_hash=926ba262ec682d27369f1a8648a0dfb657fb5f1b28539ca3628d292276c91c3d)(rollup@4.34.9)(tslib@2.8.1)(typescript@5.8.3) '@rsbuild/webpack': specifier: catalog:rsbuild - version: 1.3.0(@rsbuild/core@1.3.20)(@rspack/core@1.3.10(@swc/helpers@0.5.17)) + version: 1.3.1(@rsbuild/core@1.3.20)(@rspack/core@1.3.10(@swc/helpers@0.5.17)) '@samchon/openapi': specifier: 4.3.0 version: 4.3.0 @@ -381,7 +381,7 @@ importers: version: link:../core '@microsoft/api-extractor': specifier: 'catalog:' - version: 7.52.7(@types/node@22.15.17) + version: 7.52.8(@types/node@22.15.17) '@rsbuild/core': specifier: catalog:rsbuild version: 1.3.20 @@ -430,7 +430,7 @@ importers: version: link:../../tools/vitest-setup '@microsoft/api-extractor': specifier: 'catalog:' - version: 7.52.7(@types/node@22.15.17) + version: 7.52.8(@types/node@22.15.17) '@rollup/plugin-typescript': specifier: ^12.1.2 version: 12.1.2(patch_hash=926ba262ec682d27369f1a8648a0dfb657fb5f1b28539ca3628d292276c91c3d)(rollup@4.34.9)(tslib@2.8.1)(typescript@5.8.3) @@ -448,7 +448,7 @@ importers: version: 1.1.1(@rsbuild/core@1.3.20) '@rsbuild/webpack': specifier: catalog:rsbuild - version: 1.3.0(@rsbuild/core@1.3.20)(@rspack/core@1.3.10(@swc/helpers@0.5.17)) + version: 1.3.1(@rsbuild/core@1.3.20)(@rspack/core@1.3.10(@swc/helpers@0.5.17)) '@samchon/openapi': specifier: 4.3.0 version: 4.3.0 @@ -482,7 +482,7 @@ importers: version: link:../../tools/vitest-setup '@microsoft/api-extractor': specifier: 'catalog:' - version: 7.52.7(@types/node@22.15.17) + version: 7.52.8(@types/node@22.15.17) '@rsbuild/core': specifier: catalog:rsbuild version: 1.3.20 @@ -546,7 +546,7 @@ importers: devDependencies: '@microsoft/api-extractor': specifier: 'catalog:' - version: 7.52.7(@types/node@22.15.17) + version: 7.52.8(@types/node@22.15.17) '@types/ws': specifier: ^8.18.1 version: 8.18.1 @@ -866,7 +866,7 @@ importers: version: link:../../tools/vitest-setup '@microsoft/api-extractor': specifier: 'catalog:' - version: 7.52.7(@types/node@22.15.17) + version: 7.52.8(@types/node@22.15.17) '@rspack/core': specifier: 1.3.10 version: 1.3.10(@swc/helpers@0.5.17) @@ -900,7 +900,7 @@ importers: version: link:../../tools/vitest-setup '@microsoft/api-extractor': specifier: 'catalog:' - version: 7.52.7(@types/node@22.15.17) + version: 7.52.8(@types/node@22.15.17) '@rspack/core': specifier: 1.3.10 version: 1.3.10(@swc/helpers@0.5.17) @@ -930,7 +930,7 @@ importers: version: link:../test-tools '@microsoft/api-extractor': specifier: 'catalog:' - version: 7.52.7(@types/node@22.15.17) + version: 7.52.8(@types/node@22.15.17) '@rspack/core': specifier: 1.3.10 version: 1.3.10(@swc/helpers@0.5.17) @@ -967,7 +967,7 @@ importers: version: link:../../tools/vitest-setup '@microsoft/api-extractor': specifier: 'catalog:' - version: 7.52.7(@types/node@22.15.17) + version: 7.52.8(@types/node@22.15.17) '@rspack/core': specifier: 1.3.10 version: 1.3.10(@swc/helpers@0.5.17) @@ -992,7 +992,7 @@ importers: version: link:../test-tools '@microsoft/api-extractor': specifier: 'catalog:' - version: 7.52.7(@types/node@22.15.17) + version: 7.52.8(@types/node@22.15.17) webpack: specifier: ^5.99.8 version: 5.99.8 @@ -1026,7 +1026,7 @@ importers: version: link:../../tools/vitest-setup '@microsoft/api-extractor': specifier: 'catalog:' - version: 7.52.7(@types/node@22.15.17) + version: 7.52.8(@types/node@22.15.17) '@types/css-tree': specifier: ^2.3.10 version: 2.3.10 @@ -1087,7 +1087,7 @@ importers: devDependencies: '@microsoft/api-extractor': specifier: 'catalog:' - version: 7.52.7(@types/node@22.15.17) + version: 7.52.8(@types/node@22.15.17) webpack: specifier: ^5.99.8 version: 5.99.8 @@ -1096,7 +1096,7 @@ importers: devDependencies: '@microsoft/api-extractor': specifier: 'catalog:' - version: 7.52.7(@types/node@22.15.17) + version: 7.52.8(@types/node@22.15.17) '@rspack/core': specifier: 1.3.10 version: 1.3.10(@swc/helpers@0.5.17) @@ -2360,8 +2360,8 @@ packages: '@microsoft/api-extractor-model@7.30.6': resolution: {integrity: sha512-znmFn69wf/AIrwHya3fxX6uB5etSIn6vg4Q4RB/tb5VDDs1rqREc+AvMC/p19MUN13CZ7+V/8pkYPTj7q8tftg==} - '@microsoft/api-extractor@7.52.7': - resolution: {integrity: sha512-YLdPS644MfbLJt4hArP1WcldcaEUBh9wnFjcLEcQnVG0AMznbLh2sdE0F5Wr+w6+Lyp5/XUPvRAg3sYGSP3GCw==} + '@microsoft/api-extractor@7.52.8': + resolution: {integrity: sha512-cszYIcjiNscDoMB1CIKZ3My61+JOhpERGlGr54i6bocvGLrcL/wo9o+RNXMBrb7XgLtKaizZWUpqRduQuHQLdg==} hasBin: true '@microsoft/tsdoc-config@0.16.2': @@ -2687,8 +2687,8 @@ packages: peerDependencies: '@rsbuild/core': 1.x - '@rsbuild/webpack@1.3.0': - resolution: {integrity: sha512-VeEw2hLHHR46836Hw6WQUtoneqY4IOMS3fP/7YJxG342QG59QsBEjZpTdudOqBLu8f6BxKWGsUboqk65LmFsHw==} + '@rsbuild/webpack@1.3.1': + resolution: {integrity: sha512-J51VU3FQZTw0kN7pXvy+Z5ImQKLyvHgSdVMltdf/N8/09dwoAStgGpjo4l7Uvub9K/DgMJSeAJuu0gHvyr+cGg==} peerDependencies: '@rsbuild/core': ^1.1.3 @@ -9788,7 +9788,7 @@ snapshots: transitivePeerDependencies: - '@types/node' - '@microsoft/api-extractor@7.52.7(@types/node@22.15.17)': + '@microsoft/api-extractor@7.52.8(@types/node@22.15.17)': dependencies: '@microsoft/api-extractor-model': 7.30.6(@types/node@22.15.17) '@microsoft/tsdoc': 0.15.1 @@ -10126,7 +10126,7 @@ snapshots: picocolors: 1.1.1 semver: 7.7.1 - '@rsbuild/webpack@1.3.0(@rsbuild/core@1.3.20)(@rspack/core@1.3.10(@swc/helpers@0.5.17))': + '@rsbuild/webpack@1.3.1(@rsbuild/core@1.3.20)(@rspack/core@1.3.10(@swc/helpers@0.5.17))': dependencies: '@rsbuild/core': 1.3.20 copy-webpack-plugin: 11.0.0(webpack@5.99.8) @@ -10261,13 +10261,13 @@ snapshots: - supports-color - webpack - '@rslib/core@0.7.0(@microsoft/api-extractor@7.52.7(@types/node@22.15.17))(typescript@5.8.3)': + '@rslib/core@0.7.0(@microsoft/api-extractor@7.52.8(@types/node@22.15.17))(typescript@5.8.3)': dependencies: '@rsbuild/core': 1.3.19 - rsbuild-plugin-dts: 0.7.0(@microsoft/api-extractor@7.52.7(@types/node@22.15.17))(@rsbuild/core@1.3.19)(typescript@5.8.3) + rsbuild-plugin-dts: 0.7.0(@microsoft/api-extractor@7.52.8(@types/node@22.15.17))(@rsbuild/core@1.3.19)(typescript@5.8.3) tinyglobby: 0.2.13 optionalDependencies: - '@microsoft/api-extractor': 7.52.7(@types/node@22.15.17) + '@microsoft/api-extractor': 7.52.8(@types/node@22.15.17) typescript: 5.8.3 '@rspack/binding-darwin-arm64@1.3.10': @@ -15743,7 +15743,7 @@ snapshots: rrweb-cssom@0.8.0: {} - rsbuild-plugin-dts@0.7.0(@microsoft/api-extractor@7.52.7(@types/node@22.15.17))(@rsbuild/core@1.3.19)(typescript@5.8.3): + rsbuild-plugin-dts@0.7.0(@microsoft/api-extractor@7.52.8(@types/node@22.15.17))(@rsbuild/core@1.3.19)(typescript@5.8.3): dependencies: '@ast-grep/napi': 0.38.1 '@rsbuild/core': 1.3.19 @@ -15752,7 +15752,7 @@ snapshots: tinyglobby: 0.2.13 tsconfig-paths: 4.2.0 optionalDependencies: - '@microsoft/api-extractor': 7.52.7(@types/node@22.15.17) + '@microsoft/api-extractor': 7.52.8(@types/node@22.15.17) typescript: 5.8.3 rsbuild-plugin-publint@0.3.2(@rsbuild/core@1.3.20): diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 177fa6dc0b..115176ec65 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -19,13 +19,13 @@ packages: # Default catalogs catalog: - "@microsoft/api-extractor": "7.52.7" + "@microsoft/api-extractor": "7.52.8" catalogs: # Rsbuild monorepo packages rsbuild: "@rsbuild/core": "1.3.20" - "@rsbuild/webpack": "1.3.0" + "@rsbuild/webpack": "1.3.1" "@rsbuild/plugin-less": "1.2.4" "@rsbuild/plugin-sass": "1.3.1" "@rsbuild/plugin-webpack-swc": "1.1.1"