From 86f8f43fa1d580213e285968efa06878340b6826 Mon Sep 17 00:00:00 2001 From: pupiltong <12288479+PupilTong@users.noreply.github.com> Date: Thu, 20 Nov 2025 16:16:23 +0800 Subject: [PATCH 1/6] temp --- .changeset/config.json | 1 - Cargo.lock | 7 +- Cargo.toml | 3 +- .../inline-style-parser/Cargo.toml | 4 - .../Cargo.toml | 3 +- .../web-mainthread-apis/package.json | 15 +- .../web-mainthread-apis/scripts/build.js | 83 ++++++ .../scripts/dotslash-config.json | 0 .../scripts/wasm-bindgen | 0 .../web-mainthread-apis/src/lib.rs | 1 + .../src/style/inline_style_parser}/LICENSE | 0 .../char_code_definitions.rs | 0 .../src/style/inline_style_parser/mod.rs} | 36 +-- .../parse_inline_style.rs | 2 +- .../style/inline_style_parser}/tokenize.rs | 9 +- .../src/style/inline_style_parser}/types.rs | 0 .../src/style/inline_style_parser}/utils.rs | 2 +- .../src/style/mod.rs} | 4 +- .../src/style}/transformer/mod.rs | 0 .../src/style}/transformer/rules.rs | 2 +- .../src/style}/transformer/transform.rs | 23 +- .../ts/prepareMainThreadAPIs.ts | 3 - .../web-mainthread-apis/ts/utils/tokenizer.ts | 2 +- .../wasm}/index.d.ts | 0 .../wasm}/index.js | 1 + .../web-mainthread-apis/wasm/legacy.js | 1 + .../wasm}/standard.d.ts | 0 .../web-mainthread-apis/wasm/standard.js | 1 + .../web-style-transformer/CHANGELOG.md | 140 --------- .../web-style-transformer/LICENSE.txt | 202 ------------- .../web-style-transformer/Notice.txt | 1 - .../web-style-transformer/README.md | 3 - .../web-style-transformer/legacy.js | 2 - .../web-style-transformer/package.json | 35 --- .../web-style-transformer/scripts/build.js | 47 --- .../web-style-transformer/standard.js | 1 - .../web-style-transformer/turbo.json | 16 - packages/web-platform/web-tests/package.json | 1 - .../shell-project/mainthread-test.ts | 2 - pnpm-lock.yaml | 274 ++++++++++++++++-- 40 files changed, 391 insertions(+), 536 deletions(-) delete mode 100644 packages/web-platform/inline-style-parser/Cargo.toml rename packages/web-platform/{web-style-transformer => web-mainthread-apis}/Cargo.toml (68%) create mode 100644 packages/web-platform/web-mainthread-apis/scripts/build.js rename packages/web-platform/{web-style-transformer => web-mainthread-apis}/scripts/dotslash-config.json (100%) rename packages/web-platform/{web-style-transformer => web-mainthread-apis}/scripts/wasm-bindgen (100%) create mode 100644 packages/web-platform/web-mainthread-apis/src/lib.rs rename packages/web-platform/{inline-style-parser/src => web-mainthread-apis/src/style/inline_style_parser}/LICENSE (100%) rename packages/web-platform/{inline-style-parser/src => web-mainthread-apis/src/style/inline_style_parser}/char_code_definitions.rs (100%) rename packages/web-platform/{inline-style-parser/src/lib.rs => web-mainthread-apis/src/style/inline_style_parser/mod.rs} (98%) rename packages/web-platform/{inline-style-parser/src => web-mainthread-apis/src/style/inline_style_parser}/parse_inline_style.rs (99%) rename packages/web-platform/{inline-style-parser/src => web-mainthread-apis/src/style/inline_style_parser}/tokenize.rs (99%) rename packages/web-platform/{inline-style-parser/src => web-mainthread-apis/src/style/inline_style_parser}/types.rs (100%) rename packages/web-platform/{inline-style-parser/src => web-mainthread-apis/src/style/inline_style_parser}/utils.rs (99%) rename packages/web-platform/{web-style-transformer/src/lib.rs => web-mainthread-apis/src/style/mod.rs} (97%) rename packages/web-platform/{web-style-transformer/src => web-mainthread-apis/src/style}/transformer/mod.rs (100%) rename packages/web-platform/{web-style-transformer/src => web-mainthread-apis/src/style}/transformer/rules.rs (99%) rename packages/web-platform/{web-style-transformer/src => web-mainthread-apis/src/style}/transformer/transform.rs (97%) rename packages/web-platform/{web-style-transformer => web-mainthread-apis/wasm}/index.d.ts (100%) rename packages/web-platform/{web-style-transformer => web-mainthread-apis/wasm}/index.js (97%) create mode 100644 packages/web-platform/web-mainthread-apis/wasm/legacy.js rename packages/web-platform/{web-style-transformer => web-mainthread-apis/wasm}/standard.d.ts (100%) create mode 100644 packages/web-platform/web-mainthread-apis/wasm/standard.js delete mode 100644 packages/web-platform/web-style-transformer/CHANGELOG.md delete mode 100644 packages/web-platform/web-style-transformer/LICENSE.txt delete mode 100644 packages/web-platform/web-style-transformer/Notice.txt delete mode 100644 packages/web-platform/web-style-transformer/README.md delete mode 100644 packages/web-platform/web-style-transformer/legacy.js delete mode 100644 packages/web-platform/web-style-transformer/package.json delete mode 100644 packages/web-platform/web-style-transformer/scripts/build.js delete mode 100644 packages/web-platform/web-style-transformer/standard.js delete mode 100644 packages/web-platform/web-style-transformer/turbo.json diff --git a/.changeset/config.json b/.changeset/config.json index eef9de1cf9..5803054e04 100644 --- a/.changeset/config.json +++ b/.changeset/config.json @@ -15,7 +15,6 @@ "@lynx-js/web-mainthread-apis", "@lynx-js/web-worker-rpc", "@lynx-js/web-worker-runtime", - "@lynx-js/web-style-transformer", "@lynx-js/web-rsbuild-server-middleware" ], [ diff --git a/Cargo.lock b/Cargo.lock index 202efe401d..81d203e59a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -984,10 +984,6 @@ dependencies = [ "serde_core", ] -[[package]] -name = "inline-style-parser" -version = "0.0.0" - [[package]] name = "is-macro" version = "0.3.5" @@ -3784,10 +3780,9 @@ dependencies = [ ] [[package]] -name = "web-style-transformer" +name = "web-mainthread-apis" version = "0.0.0" dependencies = [ - "inline-style-parser", "js-sys", "lazy_static", "wasm-bindgen", diff --git a/Cargo.toml b/Cargo.toml index 544025c39a..99b92fb945 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -6,8 +6,7 @@ members = [ "packages/react/transform/crates/*", "packages/react/transform/swc-plugin-reactlynx", "packages/react/transform/swc-plugin-reactlynx-compat", - "packages/web-platform/inline-style-parser", - "packages/web-platform/web-style-transformer", + "packages/web-platform/web-mainthread-apis", ] [workspace.dependencies] diff --git a/packages/web-platform/inline-style-parser/Cargo.toml b/packages/web-platform/inline-style-parser/Cargo.toml deleted file mode 100644 index 989903cf91..0000000000 --- a/packages/web-platform/inline-style-parser/Cargo.toml +++ /dev/null @@ -1,4 +0,0 @@ -[package] -name = "inline-style-parser" -version = "0.0.0" -edition = "2021" diff --git a/packages/web-platform/web-style-transformer/Cargo.toml b/packages/web-platform/web-mainthread-apis/Cargo.toml similarity index 68% rename from packages/web-platform/web-style-transformer/Cargo.toml rename to packages/web-platform/web-mainthread-apis/Cargo.toml index 05341e851b..8bfda175fe 100644 --- a/packages/web-platform/web-style-transformer/Cargo.toml +++ b/packages/web-platform/web-mainthread-apis/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "web-style-transformer" +name = "web-mainthread-apis" version = "0.0.0" edition = "2021" @@ -7,7 +7,6 @@ edition = "2021" crate-type = ["cdylib"] [dependencies] -inline-style-parser = { path = "../inline-style-parser" } js-sys = { workspace = true } lazy_static = { workspace = true } wasm-bindgen = { workspace = true } diff --git a/packages/web-platform/web-mainthread-apis/package.json b/packages/web-platform/web-mainthread-apis/package.json index 7535148f91..a85af56702 100644 --- a/packages/web-platform/web-mainthread-apis/package.json +++ b/packages/web-platform/web-mainthread-apis/package.json @@ -16,16 +16,27 @@ "files": [ "dist", "binary", + "wasm", "!dist/**/*.js.map", + "!binary/**/*.js.map", "LICENSE.txt", "Notice.txt", "CHANGELOG.md", "README.md", "**/*.css" ], + "scripts": { + "build": "node scripts/build.js" + }, "dependencies": { "@lynx-js/web-constants": "workspace:*", - "@lynx-js/web-style-transformer": "workspace:*", - "hyphenate-style-name": "^1.1.0" + "hyphenate-style-name": "^1.1.0", + "wasm-feature-detect": "^1.8.0" + }, + "devDependencies": { + "binaryen": "^124.0.0", + "fb-dotslash": "^0.5.8", + "jsdom": "^27.2.0", + "vite-plugin-wasm": "^3.5.0" } } diff --git a/packages/web-platform/web-mainthread-apis/scripts/build.js b/packages/web-platform/web-mainthread-apis/scripts/build.js new file mode 100644 index 0000000000..7fd2afbf97 --- /dev/null +++ b/packages/web-platform/web-mainthread-apis/scripts/build.js @@ -0,0 +1,83 @@ +// run command and dump output +import { execSync } from 'child_process'; +import path from 'path'; +import { fileURLToPath } from 'url'; + +const __dirname = path.dirname(fileURLToPath(import.meta.url)); +const packageRoot = path.join(__dirname, '..'); +const cargoOutput = path.join( + '..', + '..', + '..', + 'target', + 'wasm32-unknown-unknown', + 'release', + 'web_mainthread_apis.wasm', +); +const cargoOutputDebug = path.join( + '..', + '..', + '..', + 'target', + 'wasm32-unknown-unknown', + 'debug', + 'web_mainthread_apis.wasm', +); +// build the standard wasm package + +function build(release, rustFlags, outName, optimizeArgs, rust_features) { + execSync( + `cargo build ${ + release ? '--release' : '' + } --target wasm32-unknown-unknown ${ + rust_features ? `--features ${rust_features}` : '' + }`, + { + cwd: packageRoot, + stdio: 'inherit', + env: { ...process.env, RUSTFLAGS: rustFlags }, + shell: true, + }, + ); + execSync( + `pnpm exec dotslash ./scripts/wasm-bindgen ${ + release ? '' : '--keep-debug' + } --out-dir binary --target bundler --out-name ${outName} ${ + release ? cargoOutput : cargoOutputDebug + }`, + { cwd: packageRoot, stdio: 'inherit' }, + ); + if (release) { + execSync( + `pnpm wasm-opt --enable-bulk-memory ${optimizeArgs} ./binary/${outName}_bg.wasm -o ./binary/${outName}_bg.wasm`, + { cwd: packageRoot, stdio: 'inherit' }, + ); + } +} +/** + * https://webassembly.org/features/ + * https://doc.rust-lang.org/reference/attributes/codegen.html#wasm32-or-wasm64 + * https://doc.rust-lang.org/rustc/platform-support/wasm32-unknown-unknown.html + * feature | chrome | firefox | safari + * bulk-memory| 75 | 79 | 15 + * sign-ext | 74 | 62 | 14.1 + * simd | 91 | 89 | 16.4 + * ref-typs | 96 | 79 | 15 + * multivalue | 85 | 78 | 13.1 + * nontrapping-float-to-int | 75 | 64 | 15 + * mutable-globals | 74 | 61 | 13.1 + */ + +build( + true, + '-C target_feature=+bulk-memory,+sign-ext,+simd128,+reference-types,+nontrapping-fptoint,+mutable-globals', + 'standard', + '--enable-bulk-memory-opt --enable-sign-ext --enable-simd --enable-reference-types --enable-nontrapping-float-to-int --enable-mutable-globals', +); +build( + true, + '-C target_feature=+bulk-memory -C strip=symbols', + 'legacy', + '', +); +build(false, '', 'debug', ''); diff --git a/packages/web-platform/web-style-transformer/scripts/dotslash-config.json b/packages/web-platform/web-mainthread-apis/scripts/dotslash-config.json similarity index 100% rename from packages/web-platform/web-style-transformer/scripts/dotslash-config.json rename to packages/web-platform/web-mainthread-apis/scripts/dotslash-config.json diff --git a/packages/web-platform/web-style-transformer/scripts/wasm-bindgen b/packages/web-platform/web-mainthread-apis/scripts/wasm-bindgen similarity index 100% rename from packages/web-platform/web-style-transformer/scripts/wasm-bindgen rename to packages/web-platform/web-mainthread-apis/scripts/wasm-bindgen diff --git a/packages/web-platform/web-mainthread-apis/src/lib.rs b/packages/web-platform/web-mainthread-apis/src/lib.rs new file mode 100644 index 0000000000..d6420bc3c1 --- /dev/null +++ b/packages/web-platform/web-mainthread-apis/src/lib.rs @@ -0,0 +1 @@ +mod style; diff --git a/packages/web-platform/inline-style-parser/src/LICENSE b/packages/web-platform/web-mainthread-apis/src/style/inline_style_parser/LICENSE similarity index 100% rename from packages/web-platform/inline-style-parser/src/LICENSE rename to packages/web-platform/web-mainthread-apis/src/style/inline_style_parser/LICENSE diff --git a/packages/web-platform/inline-style-parser/src/char_code_definitions.rs b/packages/web-platform/web-mainthread-apis/src/style/inline_style_parser/char_code_definitions.rs similarity index 100% rename from packages/web-platform/inline-style-parser/src/char_code_definitions.rs rename to packages/web-platform/web-mainthread-apis/src/style/inline_style_parser/char_code_definitions.rs diff --git a/packages/web-platform/inline-style-parser/src/lib.rs b/packages/web-platform/web-mainthread-apis/src/style/inline_style_parser/mod.rs similarity index 98% rename from packages/web-platform/inline-style-parser/src/lib.rs rename to packages/web-platform/web-mainthread-apis/src/style/inline_style_parser/mod.rs index 853e05a99c..06e20615df 100644 --- a/packages/web-platform/inline-style-parser/src/lib.rs +++ b/packages/web-platform/web-mainthread-apis/src/style/inline_style_parser/mod.rs @@ -10,7 +10,7 @@ mod tests { use super::*; use parse_inline_style::{parse_inline_style, Transformer}; - #[derive(Debug, PartialEq)] + #[derive(PartialEq)] struct Declaration { name_start: usize, name_end: usize, @@ -502,7 +502,7 @@ mod tests { #[test] fn test_character_classification_macros() { - use crate::char_code_definitions::*; + use super::char_code_definitions::*; // Test digit classification assert!(is_digit(b'0')); @@ -585,7 +585,7 @@ mod tests { #[test] fn test_char_code_category() { - use crate::char_code_definitions::*; + use super::char_code_definitions::*; // Test basic categories assert_eq!(char_code_category(0x0020), WHITE_SPACE_CATEGORY); // SPACE @@ -602,7 +602,7 @@ mod tests { #[test] fn test_utility_functions() { - use crate::utils::*; + use super::utils::*; // Test cmp_str function let test_str: &[u8] = b"hello"; @@ -707,7 +707,7 @@ mod tests { #[test] fn test_tokenizer_specific_cases() { - use crate::tokenize::{self, Parser}; + use super::tokenize::{self, Parser}; struct TokenCollector { tokens: Vec<(u8, usize, usize)>, @@ -800,8 +800,8 @@ mod tests { #[test] fn test_string_tokenizer_edge_cases() { - use crate::tokenize::{tokenize, Parser}; - use crate::types::*; + use super::tokenize::{tokenize, Parser}; + use super::types::*; struct TokenCollector { tokens: Vec<(u8, usize, usize)>, @@ -856,8 +856,8 @@ mod tests { #[test] fn test_url_tokenizer_edge_cases() { - use crate::tokenize::{tokenize, Parser}; - use crate::types::*; + use super::tokenize::{tokenize, Parser}; + use super::types::*; struct TokenCollector { tokens: Vec<(u8, usize, usize)>, @@ -936,8 +936,8 @@ mod tests { #[test] fn test_numeric_tokenizer_edge_cases() { - use crate::tokenize::{tokenize, Parser}; - use crate::types::*; + use super::tokenize::{tokenize, Parser}; + use super::types::*; struct TokenCollector { tokens: Vec<(u8, usize, usize)>, @@ -1048,8 +1048,8 @@ mod tests { #[test] fn test_comment_tokenizer() { - use crate::tokenize::{tokenize, Parser}; - use crate::types::*; + use super::tokenize::{tokenize, Parser}; + use super::types::*; struct TokenCollector { tokens: Vec<(u8, usize, usize)>, @@ -1097,8 +1097,8 @@ mod tests { #[test] fn test_additional_edge_cases() { - use crate::char_code_definitions::*; - use crate::utils::*; + use super::char_code_definitions::*; + use super::utils::*; // Test cmp_char macro let source: &[u8] = "Hello".as_bytes(); @@ -1146,9 +1146,9 @@ mod tests { #[test] fn test_remaining_coverage_gaps() { - use crate::char_code_definitions::*; - use crate::tokenize::{tokenize, Parser}; - use crate::utils::*; + use super::char_code_definitions::*; + use super::tokenize::{tokenize, Parser}; + use super::utils::*; struct TokenCollector { tokens: Vec<(u8, usize, usize)>, diff --git a/packages/web-platform/inline-style-parser/src/parse_inline_style.rs b/packages/web-platform/web-mainthread-apis/src/style/inline_style_parser/parse_inline_style.rs similarity index 99% rename from packages/web-platform/inline-style-parser/src/parse_inline_style.rs rename to packages/web-platform/web-mainthread-apis/src/style/inline_style_parser/parse_inline_style.rs index a11d243603..70e83e8d1d 100644 --- a/packages/web-platform/inline-style-parser/src/parse_inline_style.rs +++ b/packages/web-platform/web-mainthread-apis/src/style/inline_style_parser/parse_inline_style.rs @@ -1,4 +1,4 @@ -use crate::{ +use super::{ char_code_definitions::{get_char_code, is_white_space}, tokenize::{self, Parser}, types::*, diff --git a/packages/web-platform/inline-style-parser/src/tokenize.rs b/packages/web-platform/web-mainthread-apis/src/style/inline_style_parser/tokenize.rs similarity index 99% rename from packages/web-platform/inline-style-parser/src/tokenize.rs rename to packages/web-platform/web-mainthread-apis/src/style/inline_style_parser/tokenize.rs index 939a86ea58..96f5338317 100644 --- a/packages/web-platform/inline-style-parser/src/tokenize.rs +++ b/packages/web-platform/web-mainthread-apis/src/style/inline_style_parser/tokenize.rs @@ -1,5 +1,8 @@ -use crate::*; -use crate::{char_code_definitions::*, types::*, utils::*}; +use super::{ + char_code_definitions::{self, *}, + types::*, + utils::*, +}; /* * this code forked from css-tree @@ -536,7 +539,7 @@ pub fn tokenize(source: &[u8], parser: &mut T) { #[cfg(test)] mod test { - use crate::tokenize::*; + use super::*; struct TokenStreamRecorder { tokens: Vec<(u8, usize, usize)>, diff --git a/packages/web-platform/inline-style-parser/src/types.rs b/packages/web-platform/web-mainthread-apis/src/style/inline_style_parser/types.rs similarity index 100% rename from packages/web-platform/inline-style-parser/src/types.rs rename to packages/web-platform/web-mainthread-apis/src/style/inline_style_parser/types.rs diff --git a/packages/web-platform/inline-style-parser/src/utils.rs b/packages/web-platform/web-mainthread-apis/src/style/inline_style_parser/utils.rs similarity index 99% rename from packages/web-platform/inline-style-parser/src/utils.rs rename to packages/web-platform/web-mainthread-apis/src/style/inline_style_parser/utils.rs index ced170210f..1102ee6d83 100644 --- a/packages/web-platform/inline-style-parser/src/utils.rs +++ b/packages/web-platform/web-mainthread-apis/src/style/inline_style_parser/utils.rs @@ -1,4 +1,4 @@ -use crate::char_code_definitions::*; +use super::char_code_definitions::*; pub fn cmp_str(test_str: &[u8], start: usize, end: usize, reference_str: &[u8]) -> bool { if (end - start) != reference_str.len() { diff --git a/packages/web-platform/web-style-transformer/src/lib.rs b/packages/web-platform/web-mainthread-apis/src/style/mod.rs similarity index 97% rename from packages/web-platform/web-style-transformer/src/lib.rs rename to packages/web-platform/web-mainthread-apis/src/style/mod.rs index 6e1d4f8db1..6e5d980924 100644 --- a/packages/web-platform/web-style-transformer/src/lib.rs +++ b/packages/web-platform/web-mainthread-apis/src/style/mod.rs @@ -1,6 +1,6 @@ use wasm_bindgen::prelude::*; - -pub mod transformer; +mod inline_style_parser; +mod transformer; #[wasm_bindgen] pub fn transform_raw_u16_inline_style_ptr(str: &str) -> Option { diff --git a/packages/web-platform/web-style-transformer/src/transformer/mod.rs b/packages/web-platform/web-mainthread-apis/src/style/transformer/mod.rs similarity index 100% rename from packages/web-platform/web-style-transformer/src/transformer/mod.rs rename to packages/web-platform/web-mainthread-apis/src/style/transformer/mod.rs diff --git a/packages/web-platform/web-style-transformer/src/transformer/rules.rs b/packages/web-platform/web-mainthread-apis/src/style/transformer/rules.rs similarity index 99% rename from packages/web-platform/web-style-transformer/src/transformer/rules.rs rename to packages/web-platform/web-mainthread-apis/src/style/transformer/rules.rs index bba31821f2..cb64982488 100644 --- a/packages/web-platform/web-style-transformer/src/transformer/rules.rs +++ b/packages/web-platform/web-mainthread-apis/src/style/transformer/rules.rs @@ -236,7 +236,7 @@ pub fn get_replace_rule_value( #[cfg(test)] mod tests { - use crate::transformer::rules::{get_rename_rule_value, get_replace_rule_value}; + use super::{get_rename_rule_value, get_replace_rule_value}; #[test] fn test_rename_rule_flex_direction() { diff --git a/packages/web-platform/web-style-transformer/src/transformer/transform.rs b/packages/web-platform/web-mainthread-apis/src/style/transformer/transform.rs similarity index 97% rename from packages/web-platform/web-style-transformer/src/transformer/transform.rs rename to packages/web-platform/web-mainthread-apis/src/style/transformer/transform.rs index a29a0e112d..b84a844131 100644 --- a/packages/web-platform/web-style-transformer/src/transformer/transform.rs +++ b/packages/web-platform/web-mainthread-apis/src/style/transformer/transform.rs @@ -1,7 +1,6 @@ -use inline_style_parser::parse_inline_style::Transformer; -use inline_style_parser::{char_code_definitions::is_white_space, parse_inline_style}; +use super::super::inline_style_parser::{char_code_definitions::*, parse_inline_style::*}; +use super::rules::{get_rename_rule_value, get_replace_rule_value}; -use crate::transformer::rules::{get_rename_rule_value, get_replace_rule_value}; pub struct TransformerData<'a> { source: &'a str, transformed_source: String, @@ -251,13 +250,10 @@ pub fn transform_inline_style_string<'a>(source: &'a str) -> (String, String) { extra_children_styles: String::new(), }; let bytes = source.as_bytes(); - parse_inline_style::parse_inline_style(bytes, &mut transformer); - if transformer.offset != 0 { - // append the remaining part of the source - transformer - .transformed_source - .push_str(&source[transformer.offset..]); - } + parse_inline_style(bytes, &mut transformer); + transformer + .transformed_source + .push_str(&source[transformer.offset..]); ( transformer.transformed_source, transformer.extra_children_styles, @@ -268,6 +264,13 @@ pub fn transform_inline_style_string<'a>(source: &'a str) -> (String, String) { mod tests { use super::*; + #[test] + fn basic_one_simple_decl() { + let source = "height:1px;"; + let result = transform_inline_style_string(source).0; + assert_eq!(result, "height:1px;"); + } + #[test] fn transform_basic() { let source = "height:1px;display:linear;flex-direction:row;width:100px;"; diff --git a/packages/web-platform/web-mainthread-apis/ts/prepareMainThreadAPIs.ts b/packages/web-platform/web-mainthread-apis/ts/prepareMainThreadAPIs.ts index 6c2412cdac..1d21933770 100644 --- a/packages/web-platform/web-mainthread-apis/ts/prepareMainThreadAPIs.ts +++ b/packages/web-platform/web-mainthread-apis/ts/prepareMainThreadAPIs.ts @@ -34,10 +34,8 @@ import { registerCallLepusMethodHandler } from './crossThreadHandlers/registerCa import { registerGetCustomSectionHandler } from './crossThreadHandlers/registerGetCustomSectionHandler.js'; import { createMainThreadGlobalThis } from './createMainThreadGlobalThis.js'; import { createExposureService } from './utils/createExposureService.js'; -import { initWasm } from '@lynx-js/web-style-transformer'; import { appendStyleElement } from './utils/processStyleInfo.js'; import { createQueryComponent } from './crossThreadHandlers/createQueryComponent.js'; -const initWasmPromise = initWasm(); export function prepareMainThreadAPIs( backgroundThreadRpc: Rpc, @@ -99,7 +97,6 @@ export function prepareMainThreadAPIs( } = template; const mtsRealm = await mtsRealmPromise; markTimingInternal('decode_start'); - await initWasmPromise; const jsContext = new LynxCrossThreadContext({ rpc: backgroundThreadRpc, receiveEventEndpoint: dispatchJSContextOnMainThreadEndpoint, diff --git a/packages/web-platform/web-mainthread-apis/ts/utils/tokenizer.ts b/packages/web-platform/web-mainthread-apis/ts/utils/tokenizer.ts index 47cbfa8f52..24d7878643 100644 --- a/packages/web-platform/web-mainthread-apis/ts/utils/tokenizer.ts +++ b/packages/web-platform/web-mainthread-apis/ts/utils/tokenizer.ts @@ -1,4 +1,4 @@ -import { wasm } from '@lynx-js/web-style-transformer'; +import { wasm } from '../../wasm/index.js'; export function transformInlineStyleString(str: string): string { return wasm.transform_raw_u16_inline_style_ptr(str) ?? str; } diff --git a/packages/web-platform/web-style-transformer/index.d.ts b/packages/web-platform/web-mainthread-apis/wasm/index.d.ts similarity index 100% rename from packages/web-platform/web-style-transformer/index.d.ts rename to packages/web-platform/web-mainthread-apis/wasm/index.d.ts diff --git a/packages/web-platform/web-style-transformer/index.js b/packages/web-platform/web-mainthread-apis/wasm/index.js similarity index 97% rename from packages/web-platform/web-style-transformer/index.js rename to packages/web-platform/web-mainthread-apis/wasm/index.js index 75f0c36f31..ef4274c150 100644 --- a/packages/web-platform/web-style-transformer/index.js +++ b/packages/web-platform/web-mainthread-apis/wasm/index.js @@ -20,3 +20,4 @@ export async function initWasm() { ); } } +await initWasm(); diff --git a/packages/web-platform/web-mainthread-apis/wasm/legacy.js b/packages/web-platform/web-mainthread-apis/wasm/legacy.js new file mode 100644 index 0000000000..f51b4cebb7 --- /dev/null +++ b/packages/web-platform/web-mainthread-apis/wasm/legacy.js @@ -0,0 +1 @@ +export * from './binary/legacy.js'; diff --git a/packages/web-platform/web-style-transformer/standard.d.ts b/packages/web-platform/web-mainthread-apis/wasm/standard.d.ts similarity index 100% rename from packages/web-platform/web-style-transformer/standard.d.ts rename to packages/web-platform/web-mainthread-apis/wasm/standard.d.ts diff --git a/packages/web-platform/web-mainthread-apis/wasm/standard.js b/packages/web-platform/web-mainthread-apis/wasm/standard.js new file mode 100644 index 0000000000..ea106efe43 --- /dev/null +++ b/packages/web-platform/web-mainthread-apis/wasm/standard.js @@ -0,0 +1 @@ +export * from './binary/standard.js'; diff --git a/packages/web-platform/web-style-transformer/CHANGELOG.md b/packages/web-platform/web-style-transformer/CHANGELOG.md deleted file mode 100644 index 9ee4e43608..0000000000 --- a/packages/web-platform/web-style-transformer/CHANGELOG.md +++ /dev/null @@ -1,140 +0,0 @@ -# @lynx-js/web-style-transformer - -## 0.18.3 - -## 0.18.2 - -## 0.18.1 - -## 0.18.0 - -## 0.17.2 - -## 0.17.1 - -## 0.17.0 - -## 0.16.1 - -## 0.16.0 - -## 0.15.7 - -## 0.15.6 - -### Patch Changes - -- refactor: use utf-8 string ([#1473](https://github.com/lynx-family/lynx-stack/pull/1473)) - -## 0.15.5 - -## 0.15.4 - -## 0.3.3 - -### Patch Changes - -- Fix `index_bg.wasm` not found when publishing. ([#1277](https://github.com/lynx-family/lynx-stack/pull/1277)) - -## 0.3.2 - -### Patch Changes - -- refactor: improve `linear-weight-sum` performance ([#1216](https://github.com/lynx-family/lynx-stack/pull/1216)) - -- perf: use rust implemented style transformer ([#1094](https://github.com/lynx-family/lynx-stack/pull/1094)) - -## 0.3.1 - -### Patch Changes - -- fix: --lynx-color will be removed, and if color contains `gradient` it will be processed as transparent. ([#1069](https://github.com/lynx-family/lynx-stack/pull/1069)) - -## 0.3.0 - -### Minor Changes - -- feat: improve compatibility for chrome 108 & support linear-gradient for nested x-text ([#590](https://github.com/lynx-family/lynx-stack/pull/590)) - - **This is a breaking change** - - - Please upgrade your `@lynx-js/web-elements` to >=0.6.0 - - Please upgrade your `@lynx-js/web-core` to >=0.12.0 - - The compiled lynx template json won't be impacted. - - On chrome 108, the `-webkit-background-clip:text` cannot be computed by a `var(--css-var-value-text)` - - Therefore we move the logic into style transformation logic. - - Now the following status is supported - - ``` - - - - - ``` - -## 0.2.3 - -### Patch Changes - -- feat: 1. list adds support for the `sticky` attribute. Now sticky-offset, sticky-top, and sticky-bottom will only take effect when `sticky` is `true`. ([#257](https://github.com/lynx-family/lynx-stack/pull/257)) - - 2. Added support for `list-main-axis-gap`, `list-cross-axis-gap`. - -## 0.2.2 - -### Patch Changes - -- Support NPM provenance. ([#30](https://github.com/lynx-family/lynx-stack/pull/30)) - -- feat: support `justify-content`, `align-self` in linear container ([#37](https://github.com/lynx-family/lynx-stack/pull/37)) - - Now these two properties could work in a linear container. - - We don't transforms the `justify-content` and `align-self` to css vars any more. - - The previous version of `@lynx-js/web-core` won't work with current `@lynx-js/web-core` after this change. - -## 0.2.1 - -### Patch Changes - -- 2738fdc: feat: support linear-direction - -## 0.2.0 - -### Minor Changes - -- e406d69: refractor: update output json format - - **This is a breaking change** - - Before this change the style info is dump in Javascript code. - - After this change the style info will be pure JSON data. - - Now we're using the css-serializer tool's output only. If you're using plugins for it, now they're enabled. - -## 0.1.0 - -### Minor Changes - -- 39cf3ae: feat: improve performance for supporting linear layout - - Before this commit, we'll use `getComputedStyle()` to find out if a dom is a linear container. - - After this commit, we'll use the css variable cyclic toggle pattern and `@container style()` - - This feature requires **Chrome 111, Safari 18**. - - We'll provide a fallback implementation for firefox and legacy browsers. - - After this commit, your `flex-direction`, `flex-shrink`, `flex`, `flex-grow`, `flex-basis` will be transformed to a css variable expression. - -- 6e003e8: feat(web): support linear layout and add tests - -### Patch Changes - -- f28650f: fix: `flex:1` transforming issue diff --git a/packages/web-platform/web-style-transformer/LICENSE.txt b/packages/web-platform/web-style-transformer/LICENSE.txt deleted file mode 100644 index ce66b4c3a7..0000000000 --- a/packages/web-platform/web-style-transformer/LICENSE.txt +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright 2023-2024 The Lynx Authors. - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/packages/web-platform/web-style-transformer/Notice.txt b/packages/web-platform/web-style-transformer/Notice.txt deleted file mode 100644 index 3ff8881bfd..0000000000 --- a/packages/web-platform/web-style-transformer/Notice.txt +++ /dev/null @@ -1 +0,0 @@ -Copyright 2023-2024 The Lynx Authors. All rights reserved. \ No newline at end of file diff --git a/packages/web-platform/web-style-transformer/README.md b/packages/web-platform/web-style-transformer/README.md deleted file mode 100644 index 94fd027145..0000000000 --- a/packages/web-platform/web-style-transformer/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# @lynx-js/web-style-transformer - -style transformer for flex、linear layout. diff --git a/packages/web-platform/web-style-transformer/legacy.js b/packages/web-platform/web-style-transformer/legacy.js deleted file mode 100644 index aa4d755f70..0000000000 --- a/packages/web-platform/web-style-transformer/legacy.js +++ /dev/null @@ -1,2 +0,0 @@ -export * from './dist/legacy.js'; -export { memory } from './dist/legacy_bg.wasm'; diff --git a/packages/web-platform/web-style-transformer/package.json b/packages/web-platform/web-style-transformer/package.json deleted file mode 100644 index c7a707d718..0000000000 --- a/packages/web-platform/web-style-transformer/package.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "name": "@lynx-js/web-style-transformer", - "version": "0.18.3", - "private": false, - "repository": { - "type": "git", - "url": "https://github.com/lynx-family/lynx-stack.git", - "directory": "packages/web-platform/web-style-transformer" - }, - "license": "Apache-2.0", - "sideEffects": false, - "type": "module", - "main": "index.js", - "typings": "index.d.ts", - "files": [ - "dist", - "!dist/**/*.js.map", - "*.d.ts", - "*.js", - "LICENSE.txt", - "Notice.txt", - "CHANGELOG.md", - "README.md" - ], - "scripts": { - "build": "node scripts/build.js" - }, - "dependencies": { - "wasm-feature-detect": "^1.8.0" - }, - "devDependencies": { - "binaryen": "^124.0.0", - "fb-dotslash": "^0.5.8" - } -} diff --git a/packages/web-platform/web-style-transformer/scripts/build.js b/packages/web-platform/web-style-transformer/scripts/build.js deleted file mode 100644 index ce000acc66..0000000000 --- a/packages/web-platform/web-style-transformer/scripts/build.js +++ /dev/null @@ -1,47 +0,0 @@ -// run command and dump output -import { execSync } from 'child_process'; -import path from 'path'; -import { fileURLToPath } from 'url'; - -const __dirname = path.dirname(fileURLToPath(import.meta.url)); -const packageRoot = path.join(__dirname, '..'); -const cargoOutput = path.join( - '..', - '..', - '..', - 'target', - 'wasm32-unknown-unknown', - 'release', - 'web_style_transformer.wasm', -); -// build the standard wasm package -execSync( - `cargo build --release --target wasm32-unknown-unknown`, - { cwd: packageRoot, stdio: 'inherit' }, -); -execSync( - `pnpm exec dotslash ./scripts/wasm-bindgen --out-dir dist --target bundler --out-name standard ${cargoOutput}`, - { cwd: packageRoot, stdio: 'inherit' }, -); -execSync( - `pnpm wasm-opt --enable-bulk-memory ./dist/standard_bg.wasm -O3 -o ./dist/standard_bg.wasm`, - { cwd: packageRoot, stdio: 'inherit' }, -); - -// build the legacy wasm package -execSync( - `cargo build --release --target wasm32-unknown-unknown`, - { - env: { ...process.env, RUSTFLAGS: '-Cstrip=symbols' }, - cwd: packageRoot, - stdio: 'inherit', - }, -); -execSync( - `pnpm exec dotslash ./scripts/wasm-bindgen --out-dir dist --target bundler --out-name legacy ${cargoOutput}`, - { cwd: packageRoot, stdio: 'inherit' }, -); -execSync( - `pnpm wasm-opt --enable-bulk-memory ./dist/legacy_bg.wasm -O3 -o ./dist/legacy_bg.wasm`, - { cwd: packageRoot, stdio: 'inherit' }, -); diff --git a/packages/web-platform/web-style-transformer/standard.js b/packages/web-platform/web-style-transformer/standard.js deleted file mode 100644 index 10b19e0cc3..0000000000 --- a/packages/web-platform/web-style-transformer/standard.js +++ /dev/null @@ -1 +0,0 @@ -export * from './dist/standard.js'; diff --git a/packages/web-platform/web-style-transformer/turbo.json b/packages/web-platform/web-style-transformer/turbo.json deleted file mode 100644 index b45c74e8eb..0000000000 --- a/packages/web-platform/web-style-transformer/turbo.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "$schema": "https://turbo.build/schema.json", - "extends": ["//"], - "tasks": { - "build": { - "dependsOn": [], - "inputs": [ - "scripts/**", - "src/**" - ], - "outputs": [ - "dist" - ] - } - } -} diff --git a/packages/web-platform/web-tests/package.json b/packages/web-platform/web-tests/package.json index b54b3ffaf9..c4b95e5b81 100644 --- a/packages/web-platform/web-tests/package.json +++ b/packages/web-platform/web-tests/package.json @@ -38,7 +38,6 @@ "@lynx-js/web-mainthread-apis": "workspace:*", "@lynx-js/web-platform-rsbuild-plugin": "workspace:*", "@lynx-js/web-rsbuild-server-middleware": "workspace:*", - "@lynx-js/web-style-transformer": "workspace:*", "@lynx-js/web-worker-rpc": "workspace:*", "@lynx-js/webpack-dev-transport": "workspace:*", "@playwright/test": "^1.56.0", 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 bfa00a42ce..69fca9e937 100644 --- a/packages/web-platform/web-tests/shell-project/mainthread-test.ts +++ b/packages/web-platform/web-tests/shell-project/mainthread-test.ts @@ -6,8 +6,6 @@ import * as lynxTemplate from '../resources/web-core.main-thread.json' with { }; import { createMainThreadGlobalThis } from '@lynx-js/web-mainthread-apis'; import { initOffscreenDocument } from '@lynx-js/offscreen-document/main'; -import { initWasm } from '@lynx-js/web-style-transformer'; -await initWasm(); import { _onEvent, OffscreenDocument, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 900165e4dc..ed68e104b6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -144,7 +144,7 @@ importers: version: 8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3) vitest: specifier: ^3.2.4 - version: 3.2.4(@types/debug@4.1.12)(@types/node@24.6.1)(@vitest/ui@3.2.4)(jsdom@26.1.0)(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.31.6) + version: 3.2.4(@types/debug@4.1.12)(@types/node@24.6.1)(@vitest/ui@3.2.4)(jsdom@27.2.0)(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.31.6) benchmark/react: dependencies: @@ -533,7 +533,7 @@ importers: version: 2.2.2(typescript@5.9.3)(typia@9.7.2(typescript@5.9.3)) vitest: specifier: ^3.2.4 - version: 3.2.4(@types/debug@4.1.12)(@types/node@24.6.1)(@vitest/ui@3.2.4)(jsdom@26.1.0)(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.31.6) + version: 3.2.4(@types/debug@4.1.12)(@types/node@24.6.1)(@vitest/ui@3.2.4)(jsdom@27.2.0)(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.31.6) webpack: specifier: ^5.102.0 version: 5.102.0 @@ -858,7 +858,7 @@ importers: version: 0.5.1 vitest: specifier: ^3.2.4 - version: 3.2.4(@types/debug@4.1.12)(@types/node@24.6.1)(@vitest/ui@3.2.4)(jsdom@26.1.0)(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.31.6) + version: 3.2.4(@types/debug@4.1.12)(@types/node@24.6.1)(@vitest/ui@3.2.4)(jsdom@27.2.0)(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.31.6) webpack: specifier: ^5.102.0 version: 5.102.0 @@ -982,12 +982,25 @@ importers: '@lynx-js/web-constants': specifier: workspace:* version: link:../web-constants - '@lynx-js/web-style-transformer': - specifier: workspace:* - version: link:../web-style-transformer hyphenate-style-name: specifier: ^1.1.0 version: 1.1.0 + wasm-feature-detect: + specifier: ^1.8.0 + version: 1.8.0 + devDependencies: + binaryen: + specifier: ^124.0.0 + version: 124.0.0 + fb-dotslash: + specifier: ^0.5.8 + version: 0.5.8 + jsdom: + specifier: ^27.2.0 + version: 27.2.0 + vite-plugin-wasm: + specifier: ^3.5.0 + version: 3.5.0(vite@5.4.2(@types/node@24.6.1)(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.31.6)) packages/web-platform/web-rsbuild-plugin: dependencies: @@ -1015,7 +1028,7 @@ importers: version: 5.9.3 vitest: specifier: ^3.2.4 - version: 3.2.4(@types/debug@4.1.12)(@types/node@24.6.1)(@vitest/ui@3.2.4)(jsdom@26.1.0)(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.31.6) + version: 3.2.4(@types/debug@4.1.12)(@types/node@24.6.1)(@vitest/ui@3.2.4)(jsdom@27.2.0)(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.31.6) packages/web-platform/web-rsbuild-server-middleware: devDependencies: @@ -1035,19 +1048,6 @@ importers: specifier: 0.3.3 version: 0.3.3(@rsbuild/core@1.5.17) - packages/web-platform/web-style-transformer: - dependencies: - wasm-feature-detect: - specifier: ^1.8.0 - version: 1.8.0 - devDependencies: - binaryen: - specifier: ^124.0.0 - version: 124.0.0 - fb-dotslash: - specifier: ^0.5.8 - version: 0.5.8 - packages/web-platform/web-tests: devDependencies: '@lynx-js/lynx-core': @@ -1092,9 +1092,6 @@ importers: '@lynx-js/web-rsbuild-server-middleware': specifier: workspace:* version: link:../web-rsbuild-server-middleware - '@lynx-js/web-style-transformer': - specifier: workspace:* - version: link:../web-style-transformer '@lynx-js/web-worker-rpc': specifier: workspace:* version: link:../web-worker-rpc @@ -1483,6 +1480,9 @@ importers: packages: + '@acemir/cssom@0.9.23': + resolution: {integrity: sha512-2kJ1HxBKzPLbmhZpxBiTZggjtgCwKg1ma5RHShxvd6zgqhDEdEkzpiwe7jLkI2p2BrZvFCXIihdoMkl1H39VnA==} + '@adobe/css-tools@4.4.2': resolution: {integrity: sha512-baYZExFpsdkBNuvGKTKWCwKH57HRZLVtycZS05WTQNVOiXVSeAki3nU35zlRbToeMW8aHlJfyS+1C4BOv27q0A==} @@ -1497,6 +1497,15 @@ packages: '@asamuzakjp/css-color@2.8.3': resolution: {integrity: sha512-GIc76d9UI1hCvOATjZPyHFmE5qhRccp3/zGfMPapK3jBi+yocEzp6BBB0UnfRYP9NP4FANqUZYb0hnfs3TM3hw==} + '@asamuzakjp/css-color@4.1.0': + resolution: {integrity: sha512-9xiBAtLn4aNsa4mDnpovJvBn72tNEIACyvlqaNJ+ADemR+yeMJWnBudOi2qGDviJa7SwcDOU/TRh5dnET7qk0w==} + + '@asamuzakjp/dom-selector@6.7.4': + resolution: {integrity: sha512-buQDjkm+wDPXd6c13534URWZqbz0RP5PAhXZ+LIoa5LgwInT9HVJvGIJivg75vi8I13CxDGdTnz+aY5YUJlIAA==} + + '@asamuzakjp/nwsapi@2.3.9': + resolution: {integrity: sha512-n8GuYSrI9bF7FFZ/SjhwevlHc8xaVlb/7HmHelnc/PZXBD2ZR49NnN9sMMuDdEGPeeRQ5d0hqlSlEpgCX3Wl0Q==} + '@ast-grep/napi-darwin-arm64@0.37.0': resolution: {integrity: sha512-QAiIiaAbLvMEg/yBbyKn+p1gX2/FuaC0SMf7D7capm/oG4xGMzdeaQIcSosF4TCxxV+hIH4Bz9e4/u7w6Bnk3Q==} engines: {node: '>= 10'} @@ -2136,6 +2145,10 @@ packages: resolution: {integrity: sha512-MKtmkA0BX87PKaO1NFRTFH+UnkgnmySQOvNxJubsadusqPEC2aJ9MOQiMceZJJ6oitUl/i0L6u0M1IrmAOmgBA==} engines: {node: '>=18'} + '@csstools/color-helpers@5.1.0': + resolution: {integrity: sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==} + engines: {node: '>=18'} + '@csstools/css-calc@2.1.1': resolution: {integrity: sha512-rL7kaUnTkL9K+Cvo2pnCieqNpTKgQzy5f+N+5Iuko9HAoasP+xgprVh7KN/MaJVvVL1l0EzQq2MoqBHKSrDrag==} engines: {node: '>=18'} @@ -2143,6 +2156,13 @@ packages: '@csstools/css-parser-algorithms': ^3.0.4 '@csstools/css-tokenizer': ^3.0.3 + '@csstools/css-calc@2.1.4': + resolution: {integrity: sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==} + engines: {node: '>=18'} + peerDependencies: + '@csstools/css-parser-algorithms': ^3.0.5 + '@csstools/css-tokenizer': ^3.0.4 + '@csstools/css-color-parser@3.0.7': resolution: {integrity: sha512-nkMp2mTICw32uE5NN+EsJ4f5N+IGFeCFu4bGpiKgb2Pq/7J/MpyLBeQ5ry4KKtRFZaYs6sTmcMYrSRIyj5DFKA==} engines: {node: '>=18'} @@ -2150,16 +2170,37 @@ packages: '@csstools/css-parser-algorithms': ^3.0.4 '@csstools/css-tokenizer': ^3.0.3 + '@csstools/css-color-parser@3.1.0': + resolution: {integrity: sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA==} + engines: {node: '>=18'} + peerDependencies: + '@csstools/css-parser-algorithms': ^3.0.5 + '@csstools/css-tokenizer': ^3.0.4 + '@csstools/css-parser-algorithms@3.0.4': resolution: {integrity: sha512-Up7rBoV77rv29d3uKHUIVubz1BTcgyUK72IvCQAbfbMv584xHcGKCKbWh7i8hPrRJ7qU4Y8IO3IY9m+iTB7P3A==} engines: {node: '>=18'} peerDependencies: '@csstools/css-tokenizer': ^3.0.3 + '@csstools/css-parser-algorithms@3.0.5': + resolution: {integrity: sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==} + engines: {node: '>=18'} + peerDependencies: + '@csstools/css-tokenizer': ^3.0.4 + + '@csstools/css-syntax-patches-for-csstree@1.0.16': + resolution: {integrity: sha512-2SpS4/UaWQaGpBINyG5ZuCHnUDeVByOhvbkARwfmnfxDvTaj80yOI1cD8Tw93ICV5Fx4fnyDKWQZI1CDtcWyUg==} + engines: {node: '>=18'} + '@csstools/css-tokenizer@3.0.3': resolution: {integrity: sha512-UJnjoFsmxfKUdNYdWgOB0mWUypuLvAfQPH1+pyvRJs6euowbFkFC6P13w1l8mJyi3vxYMxc9kld5jZEGRQs6bw==} engines: {node: '>=18'} + '@csstools/css-tokenizer@3.0.4': + resolution: {integrity: sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==} + engines: {node: '>=18'} + '@devicefarmer/adbkit-logcat@2.1.3': resolution: {integrity: sha512-yeaGFjNBc/6+svbDeul1tNHtNChw6h8pSHAt5D+JsedUrMTN7tla7B15WLDyekxsuS2XlZHRxpuC6m92wiwCNw==} engines: {node: '>= 4'} @@ -4527,6 +4568,9 @@ packages: resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} engines: {node: '>=4'} + bidi-js@1.0.3: + resolution: {integrity: sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw==} + big.js@5.2.2: resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} @@ -4993,6 +5037,10 @@ packages: resolution: {integrity: sha512-9+vem03dMXG7gDmZ62uqmRiMRNtinIZ9ZyuF6BdxzfOD+FdN5hretzynkn0ReS2DO2GSw76RWHs0UmJPI2zUjw==} engines: {node: '>=18'} + cssstyle@5.3.3: + resolution: {integrity: sha512-OytmFH+13/QXONJcC75QNdMtKpceNk3u8ThBjyyYjkEcy/ekBwR1mMAuNvi3gdBPW3N5TlCzQ0WZw8H0lN/bDw==} + engines: {node: '>=20'} + csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} @@ -5004,6 +5052,10 @@ packages: resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==} engines: {node: '>=18'} + data-urls@6.0.0: + resolution: {integrity: sha512-BnBS08aLUM+DKamupXs3w2tJJoqU+AkaE/+6vQxi/G/DPmIZFJJp9Dkb1kM03AZx8ADehDUZgsNxju3mPXZYIA==} + engines: {node: '>=20'} + data-view-buffer@1.0.2: resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==} engines: {node: '>= 0.4'} @@ -5075,6 +5127,9 @@ packages: decimal.js@10.5.0: resolution: {integrity: sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==} + decimal.js@10.6.0: + resolution: {integrity: sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==} + decode-named-character-reference@1.1.0: resolution: {integrity: sha512-Wy+JTSbFThEOXQIR2L6mxJvEs+veIzpmqD7ynWxMXGpnk3smkHQOp6forLdHsKpAMW9iJpaBBIxz285t1n1C3w==} @@ -6560,6 +6615,15 @@ packages: canvas: optional: true + jsdom@27.2.0: + resolution: {integrity: sha512-454TI39PeRDW1LgpyLPyURtB4Zx1tklSr6+OFOipsxGUH1WMTvk6C65JQdrj455+DP2uJ1+veBEHTGFKWVLFoA==} + engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} + peerDependencies: + canvas: ^3.0.0 + peerDependenciesMeta: + canvas: + optional: true + jsesc@3.0.2: resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} engines: {node: '>=6'} @@ -6721,6 +6785,10 @@ packages: resolution: {integrity: sha512-123qHRfJBmo2jXDbo/a5YOQrJoHF/GNQTLzQ5+IdK5pWpceK17yRc6ozlWd25FxvGKQbIUs91fDFkXmDHTKcyA==} engines: {node: 20 || >=22} + lru-cache@11.2.2: + resolution: {integrity: sha512-F9ODfyqML2coTIsQpSkRHnLSZMtkU8Q+mSfcaIyKwy58u+8k5nvAYeiNhsyMARvzNcXJ9QfWVrcPsC9e9rAxtg==} + engines: {node: 20 || >=22} + lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} @@ -7299,6 +7367,9 @@ packages: parse5@7.2.1: resolution: {integrity: sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==} + parse5@8.0.0: + resolution: {integrity: sha512-9m4m5GSgXjL4AjumKzq1Fgfp3Z8rsvjRNbnkVwfu2ImRqE5D0LnY2QfDen18FSY9C573YU5XxSapdHZTZ2WolA==} + parseley@0.12.1: resolution: {integrity: sha512-e6qHKe3a9HWr0oMRVDTRhKce+bRO8VGQR3NyVwcjwrbhMmFCX9KszEV35+rn4AdilFAq9VPxP/Fe1wC9Qjd2lw==} @@ -8678,10 +8749,17 @@ packages: tldts-core@6.1.86: resolution: {integrity: sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==} + tldts-core@7.0.18: + resolution: {integrity: sha512-jqJC13oP4FFAahv4JT/0WTDrCF9Okv7lpKtOZUGPLiAnNbACcSg8Y8T+Z9xthOmRBqi/Sob4yi0TE0miRCvF7Q==} + tldts@6.1.61: resolution: {integrity: sha512-rv8LUyez4Ygkopqn+M6OLItAOT9FF3REpPQDkdMx5ix8w4qkuE7Vo2o/vw1nxKQYmJDV8JpAMJQr1b+lTKf0FA==} hasBin: true + tldts@7.0.18: + resolution: {integrity: sha512-lCcgTAgMxQ1JKOWrVGo6E69Ukbnx4Gc1wiYLRf6J5NN4HRYJtCby1rPF8rkQ4a6qqoFBK5dvjJ1zJ0F7VfDSvw==} + hasBin: true + tmp@0.0.33: resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} engines: {node: '>=0.6.0'} @@ -8708,6 +8786,10 @@ packages: resolution: {integrity: sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==} engines: {node: '>=16'} + tough-cookie@6.0.0: + resolution: {integrity: sha512-kXuRi1mtaKMrsLUxz3sQYvVl37B0Ns6MzfrtV5DvJceE9bPyspOqk9xxv7XbZWcfLWbFmm997vl83qUWVJA64w==} + engines: {node: '>=16'} + tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} @@ -8715,6 +8797,10 @@ packages: resolution: {integrity: sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==} engines: {node: '>=18'} + tr46@6.0.0: + resolution: {integrity: sha512-bLVMLPtstlZ4iMQHpFHTR7GAGj2jxi8Dg0s2h2MafAE4uSWF98FC/3MomU51iQAMf8/qDUbKWf5GxuvvVcXEhw==} + engines: {node: '>=20'} + tree-dump@1.0.3: resolution: {integrity: sha512-il+Cv80yVHFBwokQSfd4bldvr1Md951DpgAGfmhydt04L+YzHgubm2tQ7zueWDcGENKHq0ZvGFR/hjvNXilHEg==} engines: {node: '>=10.0'} @@ -9009,6 +9095,11 @@ packages: '@babel/core': ^7.0.0 vite: ^2.7.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 + vite-plugin-wasm@3.5.0: + resolution: {integrity: sha512-X5VWgCnqiQEGb+omhlBVsvTfxikKtoOgAzQ95+BZ8gQ+VfMHIjSHr0wyvXFQCa0eKQ0fKyaL0kWcEnYqBac4lQ==} + peerDependencies: + vite: ^2 || ^3 || ^4 || ^5 || ^6 || ^7 + vite@5.4.2: resolution: {integrity: sha512-dDrQTRHp5C1fTFzcSaMxjk6vdpKvT+2/mIdE07Gw2ykehT49O0z/VHS3zZ8iV/Gh8BJJKHWOe5RjaNrW5xf/GA==} engines: {node: ^18.0.0 || >=20.0.0} @@ -9098,6 +9189,10 @@ packages: resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} engines: {node: '>=12'} + webidl-conversions@8.0.0: + resolution: {integrity: sha512-n4W4YFyz5JzOfQeA8oN7dUYpR+MBP3PIUsn2jLjWXwK5ASUzt0Jc/A5sAUZoCYFJRGF0FBKJ+1JjN43rNdsQzA==} + engines: {node: '>=20'} + webpack-bundle-analyzer@4.10.2: resolution: {integrity: sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==} engines: {node: '>= 10.13.0'} @@ -9176,6 +9271,10 @@ packages: resolution: {integrity: sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==} engines: {node: '>=18'} + whatwg-url@15.1.0: + resolution: {integrity: sha512-2ytDk0kiEj/yu90JOAp44PVPUkO9+jVhyf+SybKlRHSDlvOOZhdPIrr7xTH64l4WixO2cP+wQIcgujkGBPPz6g==} + engines: {node: '>=20'} + whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} @@ -9346,6 +9445,8 @@ packages: snapshots: + '@acemir/cssom@0.9.23': {} + '@adobe/css-tools@4.4.2': {} '@alloc/quick-lru@5.2.0': {} @@ -9363,6 +9464,24 @@ snapshots: '@csstools/css-tokenizer': 3.0.3 lru-cache: 10.4.3 + '@asamuzakjp/css-color@4.1.0': + dependencies: + '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + lru-cache: 11.2.2 + + '@asamuzakjp/dom-selector@6.7.4': + dependencies: + '@asamuzakjp/nwsapi': 2.3.9 + bidi-js: 1.0.3 + css-tree: 3.1.0 + is-potential-custom-element-name: 1.0.1 + lru-cache: 11.2.2 + + '@asamuzakjp/nwsapi@2.3.9': {} + '@ast-grep/napi-darwin-arm64@0.37.0': optional: true @@ -10484,17 +10603,24 @@ snapshots: dependencies: '@codspeed/core': 4.0.1 vite: 5.4.2(@types/node@24.6.1)(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.31.6) - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.6.1)(@vitest/ui@3.2.4)(jsdom@26.1.0)(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.31.6) + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.6.1)(@vitest/ui@3.2.4)(jsdom@27.2.0)(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.31.6) transitivePeerDependencies: - debug '@csstools/color-helpers@5.0.1': {} + '@csstools/color-helpers@5.1.0': {} + '@csstools/css-calc@2.1.1(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)': dependencies: '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) '@csstools/css-tokenizer': 3.0.3 + '@csstools/css-calc@2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': + dependencies: + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/css-color-parser@3.0.7(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)': dependencies: '@csstools/color-helpers': 5.0.1 @@ -10502,12 +10628,27 @@ snapshots: '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) '@csstools/css-tokenizer': 3.0.3 + '@csstools/css-color-parser@3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': + dependencies: + '@csstools/color-helpers': 5.1.0 + '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3)': dependencies: '@csstools/css-tokenizer': 3.0.3 + '@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4)': + dependencies: + '@csstools/css-tokenizer': 3.0.4 + + '@csstools/css-syntax-patches-for-csstree@1.0.16': {} + '@csstools/css-tokenizer@3.0.3': {} + '@csstools/css-tokenizer@3.0.4': {} + '@devicefarmer/adbkit-logcat@2.1.3': {} '@devicefarmer/adbkit-monkey@1.2.1': {} @@ -12896,7 +13037,7 @@ snapshots: std-env: 3.9.0 test-exclude: 7.0.1 tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.6.1)(@vitest/ui@3.2.4)(jsdom@26.1.0)(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.31.6) + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.6.1)(@vitest/ui@3.2.4)(jsdom@27.2.0)(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.31.6) transitivePeerDependencies: - supports-color @@ -12907,7 +13048,7 @@ snapshots: eslint: 9.36.0(jiti@2.6.1) optionalDependencies: typescript: 5.9.3 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.6.1)(@vitest/ui@3.2.4)(jsdom@26.1.0)(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.31.6) + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.6.1)(@vitest/ui@3.2.4)(jsdom@27.2.0)(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.31.6) transitivePeerDependencies: - supports-color @@ -12956,7 +13097,7 @@ snapshots: sirv: 3.0.1 tinyglobby: 0.2.15 tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.6.1)(@vitest/ui@3.2.4)(jsdom@26.1.0)(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.31.6) + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.6.1)(@vitest/ui@3.2.4)(jsdom@27.2.0)(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.31.6) '@vitest/utils@3.2.4': dependencies: @@ -13304,6 +13445,10 @@ snapshots: dependencies: is-windows: 1.0.2 + bidi-js@1.0.3: + dependencies: + require-from-string: 2.0.2 + big.js@5.2.2: {} binary-extensions@2.3.0: {} @@ -13795,6 +13940,12 @@ snapshots: '@asamuzakjp/css-color': 2.8.3 rrweb-cssom: 0.8.0 + cssstyle@5.3.3: + dependencies: + '@asamuzakjp/css-color': 4.1.0 + '@csstools/css-syntax-patches-for-csstree': 1.0.16 + css-tree: 3.1.0 + csstype@3.1.3: {} csv-to-markdown-table@1.5.0: {} @@ -13804,6 +13955,11 @@ snapshots: whatwg-mimetype: 4.0.0 whatwg-url: 14.2.0 + data-urls@6.0.0: + dependencies: + whatwg-mimetype: 4.0.0 + whatwg-url: 15.1.0 + data-view-buffer@1.0.2: dependencies: call-bound: 1.0.4 @@ -13852,6 +14008,8 @@ snapshots: decimal.js@10.5.0: {} + decimal.js@10.6.0: {} + decode-named-character-reference@1.1.0: dependencies: character-entities: 2.0.2 @@ -15699,6 +15857,33 @@ snapshots: - supports-color - utf-8-validate + jsdom@27.2.0: + dependencies: + '@acemir/cssom': 0.9.23 + '@asamuzakjp/dom-selector': 6.7.4 + cssstyle: 5.3.3 + data-urls: 6.0.0 + decimal.js: 10.6.0 + html-encoding-sniffer: 4.0.0 + http-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.6 + is-potential-custom-element-name: 1.0.1 + parse5: 8.0.0 + saxes: 6.0.0 + symbol-tree: 3.2.4 + tough-cookie: 6.0.0 + w3c-xmlserializer: 5.0.0 + webidl-conversions: 8.0.0 + whatwg-encoding: 3.1.1 + whatwg-mimetype: 4.0.0 + whatwg-url: 15.1.0 + ws: 8.18.3 + xml-name-validator: 5.0.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + jsesc@3.0.2: {} jsesc@3.1.0: {} @@ -15839,6 +16024,8 @@ snapshots: lru-cache@11.0.2: {} + lru-cache@11.2.2: {} + lru-cache@5.1.1: dependencies: yallist: 3.1.1 @@ -16705,6 +16892,10 @@ snapshots: dependencies: entities: 4.5.0 + parse5@8.0.0: + dependencies: + entities: 6.0.0 + parseley@0.12.1: dependencies: leac: 0.6.0 @@ -18195,10 +18386,16 @@ snapshots: tldts-core@6.1.86: {} + tldts-core@7.0.18: {} + tldts@6.1.61: dependencies: tldts-core: 6.1.86 + tldts@7.0.18: + dependencies: + tldts-core: 7.0.18 + tmp@0.0.33: dependencies: os-tmpdir: 1.0.2 @@ -18219,12 +18416,20 @@ snapshots: dependencies: tldts: 6.1.61 + tough-cookie@6.0.0: + dependencies: + tldts: 7.0.18 + tr46@0.0.3: {} tr46@5.1.1: dependencies: punycode: 2.3.1 + tr46@6.0.0: + dependencies: + punycode: 2.3.1 + tree-dump@1.0.3(tslib@2.8.1): dependencies: tslib: 2.8.1 @@ -18579,6 +18784,10 @@ snapshots: '@babel/core': 7.28.5 vite: 5.4.2(@types/node@24.6.1)(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.31.6) + vite-plugin-wasm@3.5.0(vite@5.4.2(@types/node@24.6.1)(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.31.6)): + dependencies: + vite: 5.4.2(@types/node@24.6.1)(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.31.6) + vite@5.4.2(@types/node@24.6.1)(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.31.6): dependencies: esbuild: 0.21.5 @@ -18591,7 +18800,7 @@ snapshots: sass-embedded: 1.90.0 terser: 5.31.6 - vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.6.1)(@vitest/ui@3.2.4)(jsdom@26.1.0)(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.31.6): + vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.6.1)(@vitest/ui@3.2.4)(jsdom@27.2.0)(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.31.6): dependencies: '@types/chai': 5.2.2 '@vitest/expect': 3.2.4 @@ -18620,7 +18829,7 @@ snapshots: '@types/debug': 4.1.12 '@types/node': 24.6.1 '@vitest/ui': 3.2.4(vitest@3.2.4) - jsdom: 26.1.0 + jsdom: 27.2.0 transitivePeerDependencies: - less - lightningcss @@ -18661,6 +18870,8 @@ snapshots: webidl-conversions@7.0.0: {} + webidl-conversions@8.0.0: {} + webpack-bundle-analyzer@4.10.2: dependencies: '@discoveryjs/json-ext': 0.5.7 @@ -18852,6 +19063,11 @@ snapshots: tr46: 5.1.1 webidl-conversions: 7.0.0 + whatwg-url@15.1.0: + dependencies: + tr46: 6.0.0 + webidl-conversions: 8.0.0 + whatwg-url@5.0.0: dependencies: tr46: 0.0.3 From 610310a21b24d53468a4f5f78f4b58792c8d7216 Mon Sep 17 00:00:00 2001 From: pupiltong <12288479+PupilTong@users.noreply.github.com> Date: Thu, 20 Nov 2025 16:49:01 +0800 Subject: [PATCH 2/6] + work --- .changeset/long-baths-prove.md | 7 ++ .../web-core-server/rslib.config.ts | 3 + .../web-core-server/src/createLynxView.ts | 4 +- .../web-mainthread-apis/turbo.json | 3 +- .../web-mainthread-apis/wasm/legacy.js | 2 +- .../web-mainthread-apis/wasm/standard.js | 2 +- pnpm-lock.yaml | 81 ++++++++++++++----- 7 files changed, 77 insertions(+), 25 deletions(-) create mode 100644 .changeset/long-baths-prove.md diff --git a/.changeset/long-baths-prove.md b/.changeset/long-baths-prove.md new file mode 100644 index 0000000000..3c4dd87040 --- /dev/null +++ b/.changeset/long-baths-prove.md @@ -0,0 +1,7 @@ +--- +"@lynx-js/web-core-server": patch +--- + +chore: minor bundle output change + +the timing of loading wasm chunk has been changed diff --git a/packages/web-platform/web-core-server/rslib.config.ts b/packages/web-platform/web-core-server/rslib.config.ts index 6375697fd4..4ef770b50d 100644 --- a/packages/web-platform/web-core-server/rslib.config.ts +++ b/packages/web-platform/web-core-server/rslib.config.ts @@ -30,6 +30,9 @@ const config: RslibConfig = defineConfig({ output: { wasmLoading: 'async-node', }, + experiments: { + futureDefaults: true, + }, }, }, }); diff --git a/packages/web-platform/web-core-server/src/createLynxView.ts b/packages/web-platform/web-core-server/src/createLynxView.ts index f027e48d73..c06590f773 100644 --- a/packages/web-platform/web-core-server/src/createLynxView.ts +++ b/packages/web-platform/web-core-server/src/createLynxView.ts @@ -10,7 +10,6 @@ import { type MainThreadGlobalThis, } from '@lynx-js/web-constants'; import { Rpc } from '@lynx-js/web-worker-rpc'; -import { prepareMainThreadAPIs } from '@lynx-js/web-mainthread-apis'; import { loadTemplate } from './utils/loadTemplate.js'; import { _attributes, @@ -164,6 +163,9 @@ export async function createLynxView( }); }); }; + const { prepareMainThreadAPIs } = await import( + '@lynx-js/web-mainthread-apis' + ); const { startMainThread } = prepareMainThreadAPIs( backgroundThreadRpc, offscreenDocument, diff --git a/packages/web-platform/web-mainthread-apis/turbo.json b/packages/web-platform/web-mainthread-apis/turbo.json index 425ece42b1..939d6be9f2 100644 --- a/packages/web-platform/web-mainthread-apis/turbo.json +++ b/packages/web-platform/web-mainthread-apis/turbo.json @@ -13,7 +13,8 @@ "src/**" ], "outputs": [ - "dist/**" + "dist/**", + "binary/**" ] } } diff --git a/packages/web-platform/web-mainthread-apis/wasm/legacy.js b/packages/web-platform/web-mainthread-apis/wasm/legacy.js index f51b4cebb7..b3d20eea31 100644 --- a/packages/web-platform/web-mainthread-apis/wasm/legacy.js +++ b/packages/web-platform/web-mainthread-apis/wasm/legacy.js @@ -1 +1 @@ -export * from './binary/legacy.js'; +export * from '../binary/legacy.js'; diff --git a/packages/web-platform/web-mainthread-apis/wasm/standard.js b/packages/web-platform/web-mainthread-apis/wasm/standard.js index ea106efe43..a010daeb8a 100644 --- a/packages/web-platform/web-mainthread-apis/wasm/standard.js +++ b/packages/web-platform/web-mainthread-apis/wasm/standard.js @@ -1 +1 @@ -export * from './binary/standard.js'; +export * from '../binary/standard.js'; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ed68e104b6..4bd5fe9f88 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -234,7 +234,7 @@ importers: version: 3.4.11 '@rsbuild/plugin-babel': specifier: ^1.0.6 - version: 1.0.6(@rsbuild/core@1.5.17) + version: 1.0.6(@rsbuild/core@1.6.7) '@types/react': specifier: ^18.3.25 version: 18.3.25 @@ -274,7 +274,7 @@ importers: version: 18.3.25 rsbuild-plugin-tailwindcss: specifier: 0.2.3 - version: 0.2.3(@rsbuild/core@1.5.17)(tailwindcss@3.4.17) + version: 0.2.3(@rsbuild/core@1.6.7)(tailwindcss@3.4.17) tailwindcss: specifier: ^3.4.17 version: 3.4.17 @@ -310,7 +310,7 @@ importers: version: 4.4.3 rsbuild-plugin-publint: specifier: 0.3.3 - version: 0.3.3(@rsbuild/core@1.5.17) + version: 0.3.3(@rsbuild/core@1.6.7) zod: specifier: ^3.25.76 version: 3.25.76 @@ -558,7 +558,7 @@ importers: version: link:../core '@rsbuild/plugin-type-check': specifier: 1.2.4 - version: 1.2.4(@rsbuild/core@1.5.17)(@rspack/core@1.6.4(@swc/helpers@0.5.17))(typescript@5.9.3) + version: 1.2.4(@rsbuild/core@1.6.7)(@rspack/core@1.6.4(@swc/helpers@0.5.17))(typescript@5.9.3) packages/rspeedy/plugin-qrcode: devDependencies: @@ -710,10 +710,10 @@ importers: version: link:../../web-platform/web-elements '@rsbuild/plugin-less': specifier: 1.5.0 - version: 1.5.0(@rsbuild/core@1.5.17) + version: 1.5.0(@rsbuild/core@1.6.7) '@rsbuild/plugin-sass': specifier: 1.4.0 - version: 1.4.0(@rsbuild/core@1.5.17) + version: 1.4.0(@rsbuild/core@1.6.7) commander: specifier: ^13.1.0 version: 13.1.0 @@ -728,7 +728,7 @@ importers: version: 1.1.1 rsbuild-plugin-tailwindcss: specifier: 0.2.3 - version: 0.2.3(@rsbuild/core@1.5.17)(tailwindcss@3.4.17) + version: 0.2.3(@rsbuild/core@1.6.7)(tailwindcss@3.4.17) rslog: specifier: ^1.2.11 version: 1.2.11 @@ -824,7 +824,7 @@ importers: version: 21.1.7 rsbuild-plugin-publint: specifier: 0.3.3 - version: 0.3.3(@rsbuild/core@1.5.17) + version: 0.3.3(@rsbuild/core@1.6.7) packages/third-party/tailwind-preset: devDependencies: @@ -925,10 +925,10 @@ importers: version: link:../web-worker-rpc rsbuild-plugin-arethetypeswrong: specifier: 0.1.1 - version: 0.1.1(@rsbuild/core@1.5.17)(typescript@5.9.3) + version: 0.1.1(@rsbuild/core@1.6.7)(typescript@5.9.3) rsbuild-plugin-publint: specifier: 0.3.3 - version: 0.3.3(@rsbuild/core@1.5.17) + version: 0.3.3(@rsbuild/core@1.6.7) packages/web-platform/web-elements: dependencies: @@ -1449,13 +1449,13 @@ importers: version: 7.30.9(@types/node@24.6.1) '@rsbuild/plugin-sass': specifier: 1.4.0 - version: 1.4.0(@rsbuild/core@1.5.17) + version: 1.4.0(@rsbuild/core@1.6.7) '@rsbuild/plugin-type-check': specifier: 1.2.4 - version: 1.2.4(@rsbuild/core@1.5.17)(@rspack/core@1.6.4(@swc/helpers@0.5.17))(typescript@5.9.3) + version: 1.2.4(@rsbuild/core@1.6.7)(@rspack/core@1.6.4(@swc/helpers@0.5.17))(typescript@5.9.3) '@rsbuild/plugin-typed-css-modules': specifier: 1.1.1 - version: 1.1.1(@rsbuild/core@1.5.17) + version: 1.1.1(@rsbuild/core@1.6.7) '@rspress/core': specifier: 2.0.0-beta.34 version: 2.0.0-beta.34(@types/react@19.1.16) @@ -3105,6 +3105,11 @@ packages: engines: {node: '>=18.12.0'} hasBin: true + '@rsbuild/core@1.6.7': + resolution: {integrity: sha512-V0INbMrT/LwyhzKmvpupe2oSvPFWaivz7sdriFRp381BJvD0d2pYcq9iRW91bxgMRX78MgTzFYAu868hMAzoSw==} + engines: {node: '>=18.12.0'} + hasBin: true + '@rsbuild/plugin-babel@1.0.6': resolution: {integrity: sha512-tWnqG938MedKJx7U4F1lHb156VDtNzj7mSsi2ZoxZVBnECQE01/V6QTN1XKw7nWunGyGoETb+nQBGc+fkVZjvw==} peerDependencies: @@ -11509,13 +11514,21 @@ snapshots: core-js: 3.46.0 jiti: 2.6.1 - '@rsbuild/plugin-babel@1.0.6(@rsbuild/core@1.5.17)': + '@rsbuild/core@1.6.7': + dependencies: + '@rspack/core': 1.6.4(@swc/helpers@0.5.17) + '@rspack/lite-tapable': 1.1.0 + '@swc/helpers': 0.5.17 + core-js: 3.46.0 + jiti: 2.6.1 + + '@rsbuild/plugin-babel@1.0.6(@rsbuild/core@1.6.7)': dependencies: '@babel/core': 7.28.5 '@babel/plugin-proposal-decorators': 7.28.0(@babel/core@7.28.5) '@babel/plugin-transform-class-properties': 7.27.1(@babel/core@7.28.5) '@babel/preset-typescript': 7.28.5(@babel/core@7.28.5) - '@rsbuild/core': 1.5.17 + '@rsbuild/core': 1.6.7 '@types/babel__core': 7.20.5 deepmerge: 4.3.1 reduce-configs: 1.1.1 @@ -11548,9 +11561,9 @@ snapshots: - lightningcss - webpack - '@rsbuild/plugin-less@1.5.0(@rsbuild/core@1.5.17)': + '@rsbuild/plugin-less@1.5.0(@rsbuild/core@1.6.7)': dependencies: - '@rsbuild/core': 1.5.17 + '@rsbuild/core': 1.6.7 deepmerge: 4.3.1 reduce-configs: 1.1.1 @@ -11571,14 +11584,23 @@ snapshots: reduce-configs: 1.1.1 sass-embedded: 1.90.0 - '@rsbuild/plugin-type-check@1.2.4(@rsbuild/core@1.5.17)(@rspack/core@1.6.4(@swc/helpers@0.5.17))(typescript@5.9.3)': + '@rsbuild/plugin-sass@1.4.0(@rsbuild/core@1.6.7)': + dependencies: + '@rsbuild/core': 1.6.7 + deepmerge: 4.3.1 + loader-utils: 2.0.4 + postcss: 8.5.6 + reduce-configs: 1.1.1 + sass-embedded: 1.90.0 + + '@rsbuild/plugin-type-check@1.2.4(@rsbuild/core@1.6.7)(@rspack/core@1.6.4(@swc/helpers@0.5.17))(typescript@5.9.3)': dependencies: deepmerge: 4.3.1 json5: 2.2.3 reduce-configs: 1.1.1 ts-checker-rspack-plugin: 1.1.4(@rspack/core@1.6.4(@swc/helpers@0.5.17))(typescript@5.9.3) optionalDependencies: - '@rsbuild/core': 1.5.17 + '@rsbuild/core': 1.6.7 transitivePeerDependencies: - '@rspack/core' - typescript @@ -11587,6 +11609,10 @@ snapshots: optionalDependencies: '@rsbuild/core': 1.5.17 + '@rsbuild/plugin-typed-css-modules@1.1.1(@rsbuild/core@1.6.7)': + optionalDependencies: + '@rsbuild/core': 1.6.7 + '@rsdoctor/client@1.2.3': {} '@rsdoctor/core@1.2.3(@rsbuild/core@1.5.17)(@rspack/core@1.6.4(@swc/helpers@0.5.17))(webpack@5.102.0)': @@ -17587,6 +17613,12 @@ snapshots: optionalDependencies: '@rsbuild/core': 1.5.17 + rsbuild-plugin-arethetypeswrong@0.1.1(@rsbuild/core@1.6.7)(typescript@5.9.3): + dependencies: + typescript: 5.9.3 + optionalDependencies: + '@rsbuild/core': 1.6.7 + rsbuild-plugin-dts@0.15.0(@microsoft/api-extractor@7.52.15(@types/node@24.6.1))(@rsbuild/core@1.5.17)(@typescript/native-preview@7.0.0-dev.20251001.1)(typescript@5.9.3): dependencies: '@ast-grep/napi': 0.37.0 @@ -17603,11 +17635,18 @@ snapshots: optionalDependencies: '@rsbuild/core': 1.5.17 - rsbuild-plugin-tailwindcss@0.2.3(@rsbuild/core@1.5.17)(tailwindcss@3.4.17): + rsbuild-plugin-publint@0.3.3(@rsbuild/core@1.6.7): + dependencies: + picocolors: 1.1.1 + publint: 0.3.12 + optionalDependencies: + '@rsbuild/core': 1.6.7 + + rsbuild-plugin-tailwindcss@0.2.3(@rsbuild/core@1.6.7)(tailwindcss@3.4.17): dependencies: tailwindcss: 3.4.17 optionalDependencies: - '@rsbuild/core': 1.5.17 + '@rsbuild/core': 1.6.7 rslog@1.2.11: {} From 41437623c22177bf13e8f0ba4126a6d8319d5ad1 Mon Sep 17 00:00:00 2001 From: pupiltong <12288479+PupilTong@users.noreply.github.com> Date: Thu, 20 Nov 2025 16:54:44 +0800 Subject: [PATCH 3/6] fix typo --- .../web-platform/web-mainthread-apis/scripts/build.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/packages/web-platform/web-mainthread-apis/scripts/build.js b/packages/web-platform/web-mainthread-apis/scripts/build.js index 7fd2afbf97..fb56885900 100644 --- a/packages/web-platform/web-mainthread-apis/scripts/build.js +++ b/packages/web-platform/web-mainthread-apis/scripts/build.js @@ -62,10 +62,13 @@ function build(release, rustFlags, outName, optimizeArgs, rust_features) { * bulk-memory| 75 | 79 | 15 * sign-ext | 74 | 62 | 14.1 * simd | 91 | 89 | 16.4 - * ref-typs | 96 | 79 | 15 + * ref-types | 96 | 79 | 15 * multivalue | 85 | 78 | 13.1 - * nontrapping-float-to-int | 75 | 64 | 15 - * mutable-globals | 74 | 61 | 13.1 + * nontrapping + * float- + * to-int | 75 | 64 | 15 + * mutable- + * globals | 74 | 61 | 13.1 */ build( From 552f2e5ae7734dba08120f89ee76004bb1f3dcd7 Mon Sep 17 00:00:00 2001 From: pupiltong <12288479+PupilTong@users.noreply.github.com> Date: Thu, 20 Nov 2025 17:22:19 +0800 Subject: [PATCH 4/6] pnpm dedupe --- pnpm-lock.yaml | 117 ++++++++++++++----------------------------------- 1 file changed, 32 insertions(+), 85 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4bd5fe9f88..b82f54aa43 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -234,7 +234,7 @@ importers: version: 3.4.11 '@rsbuild/plugin-babel': specifier: ^1.0.6 - version: 1.0.6(@rsbuild/core@1.6.7) + version: 1.0.6(@rsbuild/core@1.5.17) '@types/react': specifier: ^18.3.25 version: 18.3.25 @@ -710,10 +710,10 @@ importers: version: link:../../web-platform/web-elements '@rsbuild/plugin-less': specifier: 1.5.0 - version: 1.5.0(@rsbuild/core@1.6.7) + version: 1.5.0(@rsbuild/core@1.5.17) '@rsbuild/plugin-sass': specifier: 1.4.0 - version: 1.4.0(@rsbuild/core@1.6.7) + version: 1.4.0(@rsbuild/core@1.5.17) commander: specifier: ^13.1.0 version: 13.1.0 @@ -728,7 +728,7 @@ importers: version: 1.1.1 rsbuild-plugin-tailwindcss: specifier: 0.2.3 - version: 0.2.3(@rsbuild/core@1.6.7)(tailwindcss@3.4.17) + version: 0.2.3(@rsbuild/core@1.5.17)(tailwindcss@3.4.17) rslog: specifier: ^1.2.11 version: 1.2.11 @@ -1449,13 +1449,13 @@ importers: version: 7.30.9(@types/node@24.6.1) '@rsbuild/plugin-sass': specifier: 1.4.0 - version: 1.4.0(@rsbuild/core@1.6.7) + version: 1.4.0(@rsbuild/core@1.5.17) '@rsbuild/plugin-type-check': specifier: 1.2.4 - version: 1.2.4(@rsbuild/core@1.6.7)(@rspack/core@1.6.4(@swc/helpers@0.5.17))(typescript@5.9.3) + version: 1.2.4(@rsbuild/core@1.5.17)(@rspack/core@1.6.4(@swc/helpers@0.5.17))(typescript@5.9.3) '@rsbuild/plugin-typed-css-modules': specifier: 1.1.1 - version: 1.1.1(@rsbuild/core@1.6.7) + version: 1.1.1(@rsbuild/core@1.5.17) '@rspress/core': specifier: 2.0.0-beta.34 version: 2.0.0-beta.34(@types/react@19.1.16) @@ -2141,21 +2141,10 @@ packages: vite: ^4.2.0 || ^5.0.0 || ^6.0.0 vitest: '>=1.2.2' - '@csstools/color-helpers@5.0.1': - resolution: {integrity: sha512-MKtmkA0BX87PKaO1NFRTFH+UnkgnmySQOvNxJubsadusqPEC2aJ9MOQiMceZJJ6oitUl/i0L6u0M1IrmAOmgBA==} - engines: {node: '>=18'} - '@csstools/color-helpers@5.1.0': resolution: {integrity: sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==} engines: {node: '>=18'} - '@csstools/css-calc@2.1.1': - resolution: {integrity: sha512-rL7kaUnTkL9K+Cvo2pnCieqNpTKgQzy5f+N+5Iuko9HAoasP+xgprVh7KN/MaJVvVL1l0EzQq2MoqBHKSrDrag==} - engines: {node: '>=18'} - peerDependencies: - '@csstools/css-parser-algorithms': ^3.0.4 - '@csstools/css-tokenizer': ^3.0.3 - '@csstools/css-calc@2.1.4': resolution: {integrity: sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==} engines: {node: '>=18'} @@ -2163,13 +2152,6 @@ packages: '@csstools/css-parser-algorithms': ^3.0.5 '@csstools/css-tokenizer': ^3.0.4 - '@csstools/css-color-parser@3.0.7': - resolution: {integrity: sha512-nkMp2mTICw32uE5NN+EsJ4f5N+IGFeCFu4bGpiKgb2Pq/7J/MpyLBeQ5ry4KKtRFZaYs6sTmcMYrSRIyj5DFKA==} - engines: {node: '>=18'} - peerDependencies: - '@csstools/css-parser-algorithms': ^3.0.4 - '@csstools/css-tokenizer': ^3.0.3 - '@csstools/css-color-parser@3.1.0': resolution: {integrity: sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA==} engines: {node: '>=18'} @@ -2177,12 +2159,6 @@ packages: '@csstools/css-parser-algorithms': ^3.0.5 '@csstools/css-tokenizer': ^3.0.4 - '@csstools/css-parser-algorithms@3.0.4': - resolution: {integrity: sha512-Up7rBoV77rv29d3uKHUIVubz1BTcgyUK72IvCQAbfbMv584xHcGKCKbWh7i8hPrRJ7qU4Y8IO3IY9m+iTB7P3A==} - engines: {node: '>=18'} - peerDependencies: - '@csstools/css-tokenizer': ^3.0.3 - '@csstools/css-parser-algorithms@3.0.5': resolution: {integrity: sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==} engines: {node: '>=18'} @@ -2193,10 +2169,6 @@ packages: resolution: {integrity: sha512-2SpS4/UaWQaGpBINyG5ZuCHnUDeVByOhvbkARwfmnfxDvTaj80yOI1cD8Tw93ICV5Fx4fnyDKWQZI1CDtcWyUg==} engines: {node: '>=18'} - '@csstools/css-tokenizer@3.0.3': - resolution: {integrity: sha512-UJnjoFsmxfKUdNYdWgOB0mWUypuLvAfQPH1+pyvRJs6euowbFkFC6P13w1l8mJyi3vxYMxc9kld5jZEGRQs6bw==} - engines: {node: '>=18'} - '@csstools/css-tokenizer@3.0.4': resolution: {integrity: sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==} engines: {node: '>=18'} @@ -5129,9 +5101,6 @@ packages: resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} engines: {node: '>=0.10.0'} - decimal.js@10.5.0: - resolution: {integrity: sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==} - decimal.js@10.6.0: resolution: {integrity: sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==} @@ -6786,10 +6755,6 @@ packages: lru-cache@10.4.3: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} - lru-cache@11.0.2: - resolution: {integrity: sha512-123qHRfJBmo2jXDbo/a5YOQrJoHF/GNQTLzQ5+IdK5pWpceK17yRc6ozlWd25FxvGKQbIUs91fDFkXmDHTKcyA==} - engines: {node: 20 || >=22} - lru-cache@11.2.2: resolution: {integrity: sha512-F9ODfyqML2coTIsQpSkRHnLSZMtkU8Q+mSfcaIyKwy58u+8k5nvAYeiNhsyMARvzNcXJ9QfWVrcPsC9e9rAxtg==} engines: {node: 20 || >=22} @@ -9463,10 +9428,10 @@ snapshots: '@asamuzakjp/css-color@2.8.3': dependencies: - '@csstools/css-calc': 2.1.1(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) - '@csstools/css-color-parser': 3.0.7(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) - '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) - '@csstools/css-tokenizer': 3.0.3 + '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 lru-cache: 10.4.3 '@asamuzakjp/css-color@4.1.0': @@ -10612,27 +10577,13 @@ snapshots: transitivePeerDependencies: - debug - '@csstools/color-helpers@5.0.1': {} - '@csstools/color-helpers@5.1.0': {} - '@csstools/css-calc@2.1.1(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)': - dependencies: - '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) - '@csstools/css-tokenizer': 3.0.3 - '@csstools/css-calc@2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': dependencies: '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) '@csstools/css-tokenizer': 3.0.4 - '@csstools/css-color-parser@3.0.7(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)': - dependencies: - '@csstools/color-helpers': 5.0.1 - '@csstools/css-calc': 2.1.1(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) - '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) - '@csstools/css-tokenizer': 3.0.3 - '@csstools/css-color-parser@3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': dependencies: '@csstools/color-helpers': 5.1.0 @@ -10640,18 +10591,12 @@ snapshots: '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) '@csstools/css-tokenizer': 3.0.4 - '@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3)': - dependencies: - '@csstools/css-tokenizer': 3.0.3 - '@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4)': dependencies: '@csstools/css-tokenizer': 3.0.4 '@csstools/css-syntax-patches-for-csstree@1.0.16': {} - '@csstools/css-tokenizer@3.0.3': {} - '@csstools/css-tokenizer@3.0.4': {} '@devicefarmer/adbkit-logcat@2.1.3': {} @@ -11521,14 +11466,15 @@ snapshots: '@swc/helpers': 0.5.17 core-js: 3.46.0 jiti: 2.6.1 + optional: true - '@rsbuild/plugin-babel@1.0.6(@rsbuild/core@1.6.7)': + '@rsbuild/plugin-babel@1.0.6(@rsbuild/core@1.5.17)': dependencies: '@babel/core': 7.28.5 '@babel/plugin-proposal-decorators': 7.28.0(@babel/core@7.28.5) '@babel/plugin-transform-class-properties': 7.27.1(@babel/core@7.28.5) '@babel/preset-typescript': 7.28.5(@babel/core@7.28.5) - '@rsbuild/core': 1.6.7 + '@rsbuild/core': 1.5.17 '@types/babel__core': 7.20.5 deepmerge: 4.3.1 reduce-configs: 1.1.1 @@ -11561,9 +11507,9 @@ snapshots: - lightningcss - webpack - '@rsbuild/plugin-less@1.5.0(@rsbuild/core@1.6.7)': + '@rsbuild/plugin-less@1.5.0(@rsbuild/core@1.5.17)': dependencies: - '@rsbuild/core': 1.6.7 + '@rsbuild/core': 1.5.17 deepmerge: 4.3.1 reduce-configs: 1.1.1 @@ -11584,14 +11530,17 @@ snapshots: reduce-configs: 1.1.1 sass-embedded: 1.90.0 - '@rsbuild/plugin-sass@1.4.0(@rsbuild/core@1.6.7)': + '@rsbuild/plugin-type-check@1.2.4(@rsbuild/core@1.5.17)(@rspack/core@1.6.4(@swc/helpers@0.5.17))(typescript@5.9.3)': dependencies: - '@rsbuild/core': 1.6.7 deepmerge: 4.3.1 - loader-utils: 2.0.4 - postcss: 8.5.6 + json5: 2.2.3 reduce-configs: 1.1.1 - sass-embedded: 1.90.0 + ts-checker-rspack-plugin: 1.1.4(@rspack/core@1.6.4(@swc/helpers@0.5.17))(typescript@5.9.3) + optionalDependencies: + '@rsbuild/core': 1.5.17 + transitivePeerDependencies: + - '@rspack/core' + - typescript '@rsbuild/plugin-type-check@1.2.4(@rsbuild/core@1.6.7)(@rspack/core@1.6.4(@swc/helpers@0.5.17))(typescript@5.9.3)': dependencies: @@ -11609,10 +11558,6 @@ snapshots: optionalDependencies: '@rsbuild/core': 1.5.17 - '@rsbuild/plugin-typed-css-modules@1.1.1(@rsbuild/core@1.6.7)': - optionalDependencies: - '@rsbuild/core': 1.6.7 - '@rsdoctor/client@1.2.3': {} '@rsdoctor/core@1.2.3(@rsbuild/core@1.5.17)(@rspack/core@1.6.4(@swc/helpers@0.5.17))(webpack@5.102.0)': @@ -14032,8 +13977,6 @@ snapshots: decamelize@1.2.0: {} - decimal.js@10.5.0: {} - decimal.js@10.6.0: {} decode-named-character-reference@1.1.0: @@ -15860,7 +15803,7 @@ snapshots: dependencies: cssstyle: 4.2.1 data-urls: 5.0.0 - decimal.js: 10.5.0 + decimal.js: 10.6.0 html-encoding-sniffer: 4.0.0 http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.6 @@ -16048,8 +15991,6 @@ snapshots: lru-cache@10.4.3: {} - lru-cache@11.0.2: {} - lru-cache@11.2.2: {} lru-cache@5.1.1: @@ -16948,7 +16889,7 @@ snapshots: path-scurry@2.0.0: dependencies: - lru-cache: 11.0.2 + lru-cache: 11.2.2 minipass: 7.1.2 path-serializer@0.5.1: {} @@ -17642,6 +17583,12 @@ snapshots: optionalDependencies: '@rsbuild/core': 1.6.7 + rsbuild-plugin-tailwindcss@0.2.3(@rsbuild/core@1.5.17)(tailwindcss@3.4.17): + dependencies: + tailwindcss: 3.4.17 + optionalDependencies: + '@rsbuild/core': 1.5.17 + rsbuild-plugin-tailwindcss@0.2.3(@rsbuild/core@1.6.7)(tailwindcss@3.4.17): dependencies: tailwindcss: 3.4.17 From a9cac7ebe7264c2e7fac9f121b5099ac01d1ca89 Mon Sep 17 00:00:00 2001 From: pupiltong <12288479+PupilTong@users.noreply.github.com> Date: Thu, 20 Nov 2025 19:21:34 +0800 Subject: [PATCH 5/6] + fix --- .../web-mainthread-apis/package.json | 6 +-- pnpm-lock.yaml | 51 ++++++++++--------- 2 files changed, 28 insertions(+), 29 deletions(-) diff --git a/packages/web-platform/web-mainthread-apis/package.json b/packages/web-platform/web-mainthread-apis/package.json index a85af56702..7d11c6524a 100644 --- a/packages/web-platform/web-mainthread-apis/package.json +++ b/packages/web-platform/web-mainthread-apis/package.json @@ -34,9 +34,7 @@ "wasm-feature-detect": "^1.8.0" }, "devDependencies": { - "binaryen": "^124.0.0", - "fb-dotslash": "^0.5.8", - "jsdom": "^27.2.0", - "vite-plugin-wasm": "^3.5.0" + "binaryen": "^125.0.0", + "fb-dotslash": "^0.5.8" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b82f54aa43..e55c35ac4f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -990,17 +990,11 @@ importers: version: 1.8.0 devDependencies: binaryen: - specifier: ^124.0.0 - version: 124.0.0 + specifier: ^125.0.0 + version: 125.0.0 fb-dotslash: specifier: ^0.5.8 version: 0.5.8 - jsdom: - specifier: ^27.2.0 - version: 27.2.0 - vite-plugin-wasm: - specifier: ^3.5.0 - version: 3.5.0(vite@5.4.2(@types/node@24.6.1)(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.31.6)) packages/web-platform/web-rsbuild-plugin: dependencies: @@ -4555,8 +4549,8 @@ packages: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} - binaryen@124.0.0: - resolution: {integrity: sha512-RUv9bWl9C4kwjOmi4yA/yjW/w+YMtoEEpTFtI1nIl1m+1AGWRvxirGgd8AeqUnEB65HcsjZJ+WAIsGuVBwDxwA==} + binaryen@125.0.0: + resolution: {integrity: sha512-X7CUM9ZnwL/Ow++JH5AJKiemc82J7JyeryuPvXQdXBLcL/rqrC5KMUB1mHiORSolietH9sotvaOZlr6HSwPAlw==} hasBin: true bl@4.1.0: @@ -9065,11 +9059,6 @@ packages: '@babel/core': ^7.0.0 vite: ^2.7.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 - vite-plugin-wasm@3.5.0: - resolution: {integrity: sha512-X5VWgCnqiQEGb+omhlBVsvTfxikKtoOgAzQ95+BZ8gQ+VfMHIjSHr0wyvXFQCa0eKQ0fKyaL0kWcEnYqBac4lQ==} - peerDependencies: - vite: ^2 || ^3 || ^4 || ^5 || ^6 || ^7 - vite@5.4.2: resolution: {integrity: sha512-dDrQTRHp5C1fTFzcSaMxjk6vdpKvT+2/mIdE07Gw2ykehT49O0z/VHS3zZ8iV/Gh8BJJKHWOe5RjaNrW5xf/GA==} engines: {node: ^18.0.0 || >=20.0.0} @@ -9415,7 +9404,8 @@ packages: snapshots: - '@acemir/cssom@0.9.23': {} + '@acemir/cssom@0.9.23': + optional: true '@adobe/css-tools@4.4.2': {} @@ -9441,6 +9431,7 @@ snapshots: '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) '@csstools/css-tokenizer': 3.0.4 lru-cache: 11.2.2 + optional: true '@asamuzakjp/dom-selector@6.7.4': dependencies: @@ -9449,8 +9440,10 @@ snapshots: css-tree: 3.1.0 is-potential-custom-element-name: 1.0.1 lru-cache: 11.2.2 + optional: true - '@asamuzakjp/nwsapi@2.3.9': {} + '@asamuzakjp/nwsapi@2.3.9': + optional: true '@ast-grep/napi-darwin-arm64@0.37.0': optional: true @@ -10595,7 +10588,8 @@ snapshots: dependencies: '@csstools/css-tokenizer': 3.0.4 - '@csstools/css-syntax-patches-for-csstree@1.0.16': {} + '@csstools/css-syntax-patches-for-csstree@1.0.16': + optional: true '@csstools/css-tokenizer@3.0.4': {} @@ -13419,12 +13413,13 @@ snapshots: bidi-js@1.0.3: dependencies: require-from-string: 2.0.2 + optional: true big.js@5.2.2: {} binary-extensions@2.3.0: {} - binaryen@124.0.0: {} + binaryen@125.0.0: {} bl@4.1.0: dependencies: @@ -13916,6 +13911,7 @@ snapshots: '@asamuzakjp/css-color': 4.1.0 '@csstools/css-syntax-patches-for-csstree': 1.0.16 css-tree: 3.1.0 + optional: true csstype@3.1.3: {} @@ -13930,6 +13926,7 @@ snapshots: dependencies: whatwg-mimetype: 4.0.0 whatwg-url: 15.1.0 + optional: true data-view-buffer@1.0.2: dependencies: @@ -15852,6 +15849,7 @@ snapshots: - bufferutil - supports-color - utf-8-validate + optional: true jsesc@3.0.2: {} @@ -16862,6 +16860,7 @@ snapshots: parse5@8.0.0: dependencies: entities: 6.0.0 + optional: true parseley@0.12.1: dependencies: @@ -18372,7 +18371,8 @@ snapshots: tldts-core@6.1.86: {} - tldts-core@7.0.18: {} + tldts-core@7.0.18: + optional: true tldts@6.1.61: dependencies: @@ -18381,6 +18381,7 @@ snapshots: tldts@7.0.18: dependencies: tldts-core: 7.0.18 + optional: true tmp@0.0.33: dependencies: @@ -18405,6 +18406,7 @@ snapshots: tough-cookie@6.0.0: dependencies: tldts: 7.0.18 + optional: true tr46@0.0.3: {} @@ -18415,6 +18417,7 @@ snapshots: tr46@6.0.0: dependencies: punycode: 2.3.1 + optional: true tree-dump@1.0.3(tslib@2.8.1): dependencies: @@ -18770,10 +18773,6 @@ snapshots: '@babel/core': 7.28.5 vite: 5.4.2(@types/node@24.6.1)(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.31.6) - vite-plugin-wasm@3.5.0(vite@5.4.2(@types/node@24.6.1)(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.31.6)): - dependencies: - vite: 5.4.2(@types/node@24.6.1)(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.31.6) - vite@5.4.2(@types/node@24.6.1)(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.31.6): dependencies: esbuild: 0.21.5 @@ -18856,7 +18855,8 @@ snapshots: webidl-conversions@7.0.0: {} - webidl-conversions@8.0.0: {} + webidl-conversions@8.0.0: + optional: true webpack-bundle-analyzer@4.10.2: dependencies: @@ -19053,6 +19053,7 @@ snapshots: dependencies: tr46: 6.0.0 webidl-conversions: 8.0.0 + optional: true whatwg-url@5.0.0: dependencies: From b83c8cda639417effee0aa1bb54c32e30f32fcc5 Mon Sep 17 00:00:00 2001 From: pupiltong <12288479+PupilTong@users.noreply.github.com> Date: Thu, 20 Nov 2025 20:39:12 +0800 Subject: [PATCH 6/6] avoid to use jsdom 27 --- pnpm-lock.yaml | 322 +++++++++---------------------------------------- 1 file changed, 55 insertions(+), 267 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e55c35ac4f..e611623141 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -144,7 +144,7 @@ importers: version: 8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3) vitest: specifier: ^3.2.4 - version: 3.2.4(@types/debug@4.1.12)(@types/node@24.6.1)(@vitest/ui@3.2.4)(jsdom@27.2.0)(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.31.6) + version: 3.2.4(@types/debug@4.1.12)(@types/node@24.6.1)(@vitest/ui@3.2.4)(jsdom@26.1.0)(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.31.6) benchmark/react: dependencies: @@ -274,7 +274,7 @@ importers: version: 18.3.25 rsbuild-plugin-tailwindcss: specifier: 0.2.3 - version: 0.2.3(@rsbuild/core@1.6.7)(tailwindcss@3.4.17) + version: 0.2.3(@rsbuild/core@1.5.17)(tailwindcss@3.4.17) tailwindcss: specifier: ^3.4.17 version: 3.4.17 @@ -310,7 +310,7 @@ importers: version: 4.4.3 rsbuild-plugin-publint: specifier: 0.3.3 - version: 0.3.3(@rsbuild/core@1.6.7) + version: 0.3.3(@rsbuild/core@1.5.17) zod: specifier: ^3.25.76 version: 3.25.76 @@ -533,7 +533,7 @@ importers: version: 2.2.2(typescript@5.9.3)(typia@9.7.2(typescript@5.9.3)) vitest: specifier: ^3.2.4 - version: 3.2.4(@types/debug@4.1.12)(@types/node@24.6.1)(@vitest/ui@3.2.4)(jsdom@27.2.0)(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.31.6) + version: 3.2.4(@types/debug@4.1.12)(@types/node@24.6.1)(@vitest/ui@3.2.4)(jsdom@26.1.0)(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.31.6) webpack: specifier: ^5.102.0 version: 5.102.0 @@ -558,7 +558,7 @@ importers: version: link:../core '@rsbuild/plugin-type-check': specifier: 1.2.4 - version: 1.2.4(@rsbuild/core@1.6.7)(@rspack/core@1.6.4(@swc/helpers@0.5.17))(typescript@5.9.3) + version: 1.2.4(@rsbuild/core@1.5.17)(@rspack/core@1.6.4(@swc/helpers@0.5.17))(typescript@5.9.3) packages/rspeedy/plugin-qrcode: devDependencies: @@ -824,7 +824,7 @@ importers: version: 21.1.7 rsbuild-plugin-publint: specifier: 0.3.3 - version: 0.3.3(@rsbuild/core@1.6.7) + version: 0.3.3(@rsbuild/core@1.5.17) packages/third-party/tailwind-preset: devDependencies: @@ -858,7 +858,7 @@ importers: version: 0.5.1 vitest: specifier: ^3.2.4 - version: 3.2.4(@types/debug@4.1.12)(@types/node@24.6.1)(@vitest/ui@3.2.4)(jsdom@27.2.0)(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.31.6) + version: 3.2.4(@types/debug@4.1.12)(@types/node@24.6.1)(@vitest/ui@3.2.4)(jsdom@26.1.0)(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.31.6) webpack: specifier: ^5.102.0 version: 5.102.0 @@ -925,10 +925,10 @@ importers: version: link:../web-worker-rpc rsbuild-plugin-arethetypeswrong: specifier: 0.1.1 - version: 0.1.1(@rsbuild/core@1.6.7)(typescript@5.9.3) + version: 0.1.1(@rsbuild/core@1.5.17)(typescript@5.9.3) rsbuild-plugin-publint: specifier: 0.3.3 - version: 0.3.3(@rsbuild/core@1.6.7) + version: 0.3.3(@rsbuild/core@1.5.17) packages/web-platform/web-elements: dependencies: @@ -1022,7 +1022,7 @@ importers: version: 5.9.3 vitest: specifier: ^3.2.4 - version: 3.2.4(@types/debug@4.1.12)(@types/node@24.6.1)(@vitest/ui@3.2.4)(jsdom@27.2.0)(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.31.6) + version: 3.2.4(@types/debug@4.1.12)(@types/node@24.6.1)(@vitest/ui@3.2.4)(jsdom@26.1.0)(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.31.6) packages/web-platform/web-rsbuild-server-middleware: devDependencies: @@ -1474,9 +1474,6 @@ importers: packages: - '@acemir/cssom@0.9.23': - resolution: {integrity: sha512-2kJ1HxBKzPLbmhZpxBiTZggjtgCwKg1ma5RHShxvd6zgqhDEdEkzpiwe7jLkI2p2BrZvFCXIihdoMkl1H39VnA==} - '@adobe/css-tools@4.4.2': resolution: {integrity: sha512-baYZExFpsdkBNuvGKTKWCwKH57HRZLVtycZS05WTQNVOiXVSeAki3nU35zlRbToeMW8aHlJfyS+1C4BOv27q0A==} @@ -1491,15 +1488,6 @@ packages: '@asamuzakjp/css-color@2.8.3': resolution: {integrity: sha512-GIc76d9UI1hCvOATjZPyHFmE5qhRccp3/zGfMPapK3jBi+yocEzp6BBB0UnfRYP9NP4FANqUZYb0hnfs3TM3hw==} - '@asamuzakjp/css-color@4.1.0': - resolution: {integrity: sha512-9xiBAtLn4aNsa4mDnpovJvBn72tNEIACyvlqaNJ+ADemR+yeMJWnBudOi2qGDviJa7SwcDOU/TRh5dnET7qk0w==} - - '@asamuzakjp/dom-selector@6.7.4': - resolution: {integrity: sha512-buQDjkm+wDPXd6c13534URWZqbz0RP5PAhXZ+LIoa5LgwInT9HVJvGIJivg75vi8I13CxDGdTnz+aY5YUJlIAA==} - - '@asamuzakjp/nwsapi@2.3.9': - resolution: {integrity: sha512-n8GuYSrI9bF7FFZ/SjhwevlHc8xaVlb/7HmHelnc/PZXBD2ZR49NnN9sMMuDdEGPeeRQ5d0hqlSlEpgCX3Wl0Q==} - '@ast-grep/napi-darwin-arm64@0.37.0': resolution: {integrity: sha512-QAiIiaAbLvMEg/yBbyKn+p1gX2/FuaC0SMf7D7capm/oG4xGMzdeaQIcSosF4TCxxV+hIH4Bz9e4/u7w6Bnk3Q==} engines: {node: '>= 10'} @@ -2135,36 +2123,32 @@ packages: vite: ^4.2.0 || ^5.0.0 || ^6.0.0 vitest: '>=1.2.2' - '@csstools/color-helpers@5.1.0': - resolution: {integrity: sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==} + '@csstools/color-helpers@5.0.1': + resolution: {integrity: sha512-MKtmkA0BX87PKaO1NFRTFH+UnkgnmySQOvNxJubsadusqPEC2aJ9MOQiMceZJJ6oitUl/i0L6u0M1IrmAOmgBA==} engines: {node: '>=18'} - '@csstools/css-calc@2.1.4': - resolution: {integrity: sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==} + '@csstools/css-calc@2.1.1': + resolution: {integrity: sha512-rL7kaUnTkL9K+Cvo2pnCieqNpTKgQzy5f+N+5Iuko9HAoasP+xgprVh7KN/MaJVvVL1l0EzQq2MoqBHKSrDrag==} engines: {node: '>=18'} peerDependencies: - '@csstools/css-parser-algorithms': ^3.0.5 - '@csstools/css-tokenizer': ^3.0.4 + '@csstools/css-parser-algorithms': ^3.0.4 + '@csstools/css-tokenizer': ^3.0.3 - '@csstools/css-color-parser@3.1.0': - resolution: {integrity: sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA==} + '@csstools/css-color-parser@3.0.7': + resolution: {integrity: sha512-nkMp2mTICw32uE5NN+EsJ4f5N+IGFeCFu4bGpiKgb2Pq/7J/MpyLBeQ5ry4KKtRFZaYs6sTmcMYrSRIyj5DFKA==} engines: {node: '>=18'} peerDependencies: - '@csstools/css-parser-algorithms': ^3.0.5 - '@csstools/css-tokenizer': ^3.0.4 + '@csstools/css-parser-algorithms': ^3.0.4 + '@csstools/css-tokenizer': ^3.0.3 - '@csstools/css-parser-algorithms@3.0.5': - resolution: {integrity: sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==} + '@csstools/css-parser-algorithms@3.0.4': + resolution: {integrity: sha512-Up7rBoV77rv29d3uKHUIVubz1BTcgyUK72IvCQAbfbMv584xHcGKCKbWh7i8hPrRJ7qU4Y8IO3IY9m+iTB7P3A==} engines: {node: '>=18'} peerDependencies: - '@csstools/css-tokenizer': ^3.0.4 - - '@csstools/css-syntax-patches-for-csstree@1.0.16': - resolution: {integrity: sha512-2SpS4/UaWQaGpBINyG5ZuCHnUDeVByOhvbkARwfmnfxDvTaj80yOI1cD8Tw93ICV5Fx4fnyDKWQZI1CDtcWyUg==} - engines: {node: '>=18'} + '@csstools/css-tokenizer': ^3.0.3 - '@csstools/css-tokenizer@3.0.4': - resolution: {integrity: sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==} + '@csstools/css-tokenizer@3.0.3': + resolution: {integrity: sha512-UJnjoFsmxfKUdNYdWgOB0mWUypuLvAfQPH1+pyvRJs6euowbFkFC6P13w1l8mJyi3vxYMxc9kld5jZEGRQs6bw==} engines: {node: '>=18'} '@devicefarmer/adbkit-logcat@2.1.3': @@ -3071,11 +3055,6 @@ packages: engines: {node: '>=18.12.0'} hasBin: true - '@rsbuild/core@1.6.7': - resolution: {integrity: sha512-V0INbMrT/LwyhzKmvpupe2oSvPFWaivz7sdriFRp381BJvD0d2pYcq9iRW91bxgMRX78MgTzFYAu868hMAzoSw==} - engines: {node: '>=18.12.0'} - hasBin: true - '@rsbuild/plugin-babel@1.0.6': resolution: {integrity: sha512-tWnqG938MedKJx7U4F1lHb156VDtNzj7mSsi2ZoxZVBnECQE01/V6QTN1XKw7nWunGyGoETb+nQBGc+fkVZjvw==} peerDependencies: @@ -4539,9 +4518,6 @@ packages: resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} engines: {node: '>=4'} - bidi-js@1.0.3: - resolution: {integrity: sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw==} - big.js@5.2.2: resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} @@ -5008,10 +4984,6 @@ packages: resolution: {integrity: sha512-9+vem03dMXG7gDmZ62uqmRiMRNtinIZ9ZyuF6BdxzfOD+FdN5hretzynkn0ReS2DO2GSw76RWHs0UmJPI2zUjw==} engines: {node: '>=18'} - cssstyle@5.3.3: - resolution: {integrity: sha512-OytmFH+13/QXONJcC75QNdMtKpceNk3u8ThBjyyYjkEcy/ekBwR1mMAuNvi3gdBPW3N5TlCzQ0WZw8H0lN/bDw==} - engines: {node: '>=20'} - csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} @@ -5023,10 +4995,6 @@ packages: resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==} engines: {node: '>=18'} - data-urls@6.0.0: - resolution: {integrity: sha512-BnBS08aLUM+DKamupXs3w2tJJoqU+AkaE/+6vQxi/G/DPmIZFJJp9Dkb1kM03AZx8ADehDUZgsNxju3mPXZYIA==} - engines: {node: '>=20'} - data-view-buffer@1.0.2: resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==} engines: {node: '>= 0.4'} @@ -5095,8 +5063,8 @@ packages: resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} engines: {node: '>=0.10.0'} - decimal.js@10.6.0: - resolution: {integrity: sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==} + decimal.js@10.5.0: + resolution: {integrity: sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==} decode-named-character-reference@1.1.0: resolution: {integrity: sha512-Wy+JTSbFThEOXQIR2L6mxJvEs+veIzpmqD7ynWxMXGpnk3smkHQOp6forLdHsKpAMW9iJpaBBIxz285t1n1C3w==} @@ -6583,15 +6551,6 @@ packages: canvas: optional: true - jsdom@27.2.0: - resolution: {integrity: sha512-454TI39PeRDW1LgpyLPyURtB4Zx1tklSr6+OFOipsxGUH1WMTvk6C65JQdrj455+DP2uJ1+veBEHTGFKWVLFoA==} - engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} - peerDependencies: - canvas: ^3.0.0 - peerDependenciesMeta: - canvas: - optional: true - jsesc@3.0.2: resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} engines: {node: '>=6'} @@ -6749,8 +6708,8 @@ packages: lru-cache@10.4.3: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} - lru-cache@11.2.2: - resolution: {integrity: sha512-F9ODfyqML2coTIsQpSkRHnLSZMtkU8Q+mSfcaIyKwy58u+8k5nvAYeiNhsyMARvzNcXJ9QfWVrcPsC9e9rAxtg==} + lru-cache@11.0.2: + resolution: {integrity: sha512-123qHRfJBmo2jXDbo/a5YOQrJoHF/GNQTLzQ5+IdK5pWpceK17yRc6ozlWd25FxvGKQbIUs91fDFkXmDHTKcyA==} engines: {node: 20 || >=22} lru-cache@5.1.1: @@ -7331,9 +7290,6 @@ packages: parse5@7.2.1: resolution: {integrity: sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==} - parse5@8.0.0: - resolution: {integrity: sha512-9m4m5GSgXjL4AjumKzq1Fgfp3Z8rsvjRNbnkVwfu2ImRqE5D0LnY2QfDen18FSY9C573YU5XxSapdHZTZ2WolA==} - parseley@0.12.1: resolution: {integrity: sha512-e6qHKe3a9HWr0oMRVDTRhKce+bRO8VGQR3NyVwcjwrbhMmFCX9KszEV35+rn4AdilFAq9VPxP/Fe1wC9Qjd2lw==} @@ -8713,17 +8669,10 @@ packages: tldts-core@6.1.86: resolution: {integrity: sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==} - tldts-core@7.0.18: - resolution: {integrity: sha512-jqJC13oP4FFAahv4JT/0WTDrCF9Okv7lpKtOZUGPLiAnNbACcSg8Y8T+Z9xthOmRBqi/Sob4yi0TE0miRCvF7Q==} - tldts@6.1.61: resolution: {integrity: sha512-rv8LUyez4Ygkopqn+M6OLItAOT9FF3REpPQDkdMx5ix8w4qkuE7Vo2o/vw1nxKQYmJDV8JpAMJQr1b+lTKf0FA==} hasBin: true - tldts@7.0.18: - resolution: {integrity: sha512-lCcgTAgMxQ1JKOWrVGo6E69Ukbnx4Gc1wiYLRf6J5NN4HRYJtCby1rPF8rkQ4a6qqoFBK5dvjJ1zJ0F7VfDSvw==} - hasBin: true - tmp@0.0.33: resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} engines: {node: '>=0.6.0'} @@ -8750,10 +8699,6 @@ packages: resolution: {integrity: sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==} engines: {node: '>=16'} - tough-cookie@6.0.0: - resolution: {integrity: sha512-kXuRi1mtaKMrsLUxz3sQYvVl37B0Ns6MzfrtV5DvJceE9bPyspOqk9xxv7XbZWcfLWbFmm997vl83qUWVJA64w==} - engines: {node: '>=16'} - tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} @@ -8761,10 +8706,6 @@ packages: resolution: {integrity: sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==} engines: {node: '>=18'} - tr46@6.0.0: - resolution: {integrity: sha512-bLVMLPtstlZ4iMQHpFHTR7GAGj2jxi8Dg0s2h2MafAE4uSWF98FC/3MomU51iQAMf8/qDUbKWf5GxuvvVcXEhw==} - engines: {node: '>=20'} - tree-dump@1.0.3: resolution: {integrity: sha512-il+Cv80yVHFBwokQSfd4bldvr1Md951DpgAGfmhydt04L+YzHgubm2tQ7zueWDcGENKHq0ZvGFR/hjvNXilHEg==} engines: {node: '>=10.0'} @@ -9148,10 +9089,6 @@ packages: resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} engines: {node: '>=12'} - webidl-conversions@8.0.0: - resolution: {integrity: sha512-n4W4YFyz5JzOfQeA8oN7dUYpR+MBP3PIUsn2jLjWXwK5ASUzt0Jc/A5sAUZoCYFJRGF0FBKJ+1JjN43rNdsQzA==} - engines: {node: '>=20'} - webpack-bundle-analyzer@4.10.2: resolution: {integrity: sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==} engines: {node: '>= 10.13.0'} @@ -9230,10 +9167,6 @@ packages: resolution: {integrity: sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==} engines: {node: '>=18'} - whatwg-url@15.1.0: - resolution: {integrity: sha512-2ytDk0kiEj/yu90JOAp44PVPUkO9+jVhyf+SybKlRHSDlvOOZhdPIrr7xTH64l4WixO2cP+wQIcgujkGBPPz6g==} - engines: {node: '>=20'} - whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} @@ -9404,9 +9337,6 @@ packages: snapshots: - '@acemir/cssom@0.9.23': - optional: true - '@adobe/css-tools@4.4.2': {} '@alloc/quick-lru@5.2.0': {} @@ -9418,33 +9348,12 @@ snapshots: '@asamuzakjp/css-color@2.8.3': dependencies: - '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 + '@csstools/css-calc': 2.1.1(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) + '@csstools/css-color-parser': 3.0.7(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) + '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) + '@csstools/css-tokenizer': 3.0.3 lru-cache: 10.4.3 - '@asamuzakjp/css-color@4.1.0': - dependencies: - '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - lru-cache: 11.2.2 - optional: true - - '@asamuzakjp/dom-selector@6.7.4': - dependencies: - '@asamuzakjp/nwsapi': 2.3.9 - bidi-js: 1.0.3 - css-tree: 3.1.0 - is-potential-custom-element-name: 1.0.1 - lru-cache: 11.2.2 - optional: true - - '@asamuzakjp/nwsapi@2.3.9': - optional: true - '@ast-grep/napi-darwin-arm64@0.37.0': optional: true @@ -10566,32 +10475,29 @@ snapshots: dependencies: '@codspeed/core': 4.0.1 vite: 5.4.2(@types/node@24.6.1)(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.31.6) - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.6.1)(@vitest/ui@3.2.4)(jsdom@27.2.0)(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.31.6) + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.6.1)(@vitest/ui@3.2.4)(jsdom@26.1.0)(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.31.6) transitivePeerDependencies: - debug - '@csstools/color-helpers@5.1.0': {} + '@csstools/color-helpers@5.0.1': {} - '@csstools/css-calc@2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': + '@csstools/css-calc@2.1.1(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)': dependencies: - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 + '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) + '@csstools/css-tokenizer': 3.0.3 - '@csstools/css-color-parser@3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': + '@csstools/css-color-parser@3.0.7(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)': dependencies: - '@csstools/color-helpers': 5.1.0 - '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 + '@csstools/color-helpers': 5.0.1 + '@csstools/css-calc': 2.1.1(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) + '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) + '@csstools/css-tokenizer': 3.0.3 - '@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4)': + '@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3)': dependencies: - '@csstools/css-tokenizer': 3.0.4 - - '@csstools/css-syntax-patches-for-csstree@1.0.16': - optional: true + '@csstools/css-tokenizer': 3.0.3 - '@csstools/css-tokenizer@3.0.4': {} + '@csstools/css-tokenizer@3.0.3': {} '@devicefarmer/adbkit-logcat@2.1.3': {} @@ -11453,15 +11359,6 @@ snapshots: core-js: 3.46.0 jiti: 2.6.1 - '@rsbuild/core@1.6.7': - dependencies: - '@rspack/core': 1.6.4(@swc/helpers@0.5.17) - '@rspack/lite-tapable': 1.1.0 - '@swc/helpers': 0.5.17 - core-js: 3.46.0 - jiti: 2.6.1 - optional: true - '@rsbuild/plugin-babel@1.0.6(@rsbuild/core@1.5.17)': dependencies: '@babel/core': 7.28.5 @@ -11536,18 +11433,6 @@ snapshots: - '@rspack/core' - typescript - '@rsbuild/plugin-type-check@1.2.4(@rsbuild/core@1.6.7)(@rspack/core@1.6.4(@swc/helpers@0.5.17))(typescript@5.9.3)': - dependencies: - deepmerge: 4.3.1 - json5: 2.2.3 - reduce-configs: 1.1.1 - ts-checker-rspack-plugin: 1.1.4(@rspack/core@1.6.4(@swc/helpers@0.5.17))(typescript@5.9.3) - optionalDependencies: - '@rsbuild/core': 1.6.7 - transitivePeerDependencies: - - '@rspack/core' - - typescript - '@rsbuild/plugin-typed-css-modules@1.1.1(@rsbuild/core@1.5.17)': optionalDependencies: '@rsbuild/core': 1.5.17 @@ -13002,7 +12887,7 @@ snapshots: std-env: 3.9.0 test-exclude: 7.0.1 tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.6.1)(@vitest/ui@3.2.4)(jsdom@27.2.0)(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.31.6) + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.6.1)(@vitest/ui@3.2.4)(jsdom@26.1.0)(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.31.6) transitivePeerDependencies: - supports-color @@ -13013,7 +12898,7 @@ snapshots: eslint: 9.36.0(jiti@2.6.1) optionalDependencies: typescript: 5.9.3 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.6.1)(@vitest/ui@3.2.4)(jsdom@27.2.0)(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.31.6) + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.6.1)(@vitest/ui@3.2.4)(jsdom@26.1.0)(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.31.6) transitivePeerDependencies: - supports-color @@ -13062,7 +12947,7 @@ snapshots: sirv: 3.0.1 tinyglobby: 0.2.15 tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.6.1)(@vitest/ui@3.2.4)(jsdom@27.2.0)(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.31.6) + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.6.1)(@vitest/ui@3.2.4)(jsdom@26.1.0)(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.31.6) '@vitest/utils@3.2.4': dependencies: @@ -13410,11 +13295,6 @@ snapshots: dependencies: is-windows: 1.0.2 - bidi-js@1.0.3: - dependencies: - require-from-string: 2.0.2 - optional: true - big.js@5.2.2: {} binary-extensions@2.3.0: {} @@ -13906,13 +13786,6 @@ snapshots: '@asamuzakjp/css-color': 2.8.3 rrweb-cssom: 0.8.0 - cssstyle@5.3.3: - dependencies: - '@asamuzakjp/css-color': 4.1.0 - '@csstools/css-syntax-patches-for-csstree': 1.0.16 - css-tree: 3.1.0 - optional: true - csstype@3.1.3: {} csv-to-markdown-table@1.5.0: {} @@ -13922,12 +13795,6 @@ snapshots: whatwg-mimetype: 4.0.0 whatwg-url: 14.2.0 - data-urls@6.0.0: - dependencies: - whatwg-mimetype: 4.0.0 - whatwg-url: 15.1.0 - optional: true - data-view-buffer@1.0.2: dependencies: call-bound: 1.0.4 @@ -13974,7 +13841,7 @@ snapshots: decamelize@1.2.0: {} - decimal.js@10.6.0: {} + decimal.js@10.5.0: {} decode-named-character-reference@1.1.0: dependencies: @@ -15800,7 +15667,7 @@ snapshots: dependencies: cssstyle: 4.2.1 data-urls: 5.0.0 - decimal.js: 10.6.0 + decimal.js: 10.5.0 html-encoding-sniffer: 4.0.0 http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.6 @@ -15823,34 +15690,6 @@ snapshots: - supports-color - utf-8-validate - jsdom@27.2.0: - dependencies: - '@acemir/cssom': 0.9.23 - '@asamuzakjp/dom-selector': 6.7.4 - cssstyle: 5.3.3 - data-urls: 6.0.0 - decimal.js: 10.6.0 - html-encoding-sniffer: 4.0.0 - http-proxy-agent: 7.0.2 - https-proxy-agent: 7.0.6 - is-potential-custom-element-name: 1.0.1 - parse5: 8.0.0 - saxes: 6.0.0 - symbol-tree: 3.2.4 - tough-cookie: 6.0.0 - w3c-xmlserializer: 5.0.0 - webidl-conversions: 8.0.0 - whatwg-encoding: 3.1.1 - whatwg-mimetype: 4.0.0 - whatwg-url: 15.1.0 - ws: 8.18.3 - xml-name-validator: 5.0.0 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - optional: true - jsesc@3.0.2: {} jsesc@3.1.0: {} @@ -15989,7 +15828,7 @@ snapshots: lru-cache@10.4.3: {} - lru-cache@11.2.2: {} + lru-cache@11.0.2: {} lru-cache@5.1.1: dependencies: @@ -16857,11 +16696,6 @@ snapshots: dependencies: entities: 4.5.0 - parse5@8.0.0: - dependencies: - entities: 6.0.0 - optional: true - parseley@0.12.1: dependencies: leac: 0.6.0 @@ -16888,7 +16722,7 @@ snapshots: path-scurry@2.0.0: dependencies: - lru-cache: 11.2.2 + lru-cache: 11.0.2 minipass: 7.1.2 path-serializer@0.5.1: {} @@ -17553,12 +17387,6 @@ snapshots: optionalDependencies: '@rsbuild/core': 1.5.17 - rsbuild-plugin-arethetypeswrong@0.1.1(@rsbuild/core@1.6.7)(typescript@5.9.3): - dependencies: - typescript: 5.9.3 - optionalDependencies: - '@rsbuild/core': 1.6.7 - rsbuild-plugin-dts@0.15.0(@microsoft/api-extractor@7.52.15(@types/node@24.6.1))(@rsbuild/core@1.5.17)(@typescript/native-preview@7.0.0-dev.20251001.1)(typescript@5.9.3): dependencies: '@ast-grep/napi': 0.37.0 @@ -17575,25 +17403,12 @@ snapshots: optionalDependencies: '@rsbuild/core': 1.5.17 - rsbuild-plugin-publint@0.3.3(@rsbuild/core@1.6.7): - dependencies: - picocolors: 1.1.1 - publint: 0.3.12 - optionalDependencies: - '@rsbuild/core': 1.6.7 - rsbuild-plugin-tailwindcss@0.2.3(@rsbuild/core@1.5.17)(tailwindcss@3.4.17): dependencies: tailwindcss: 3.4.17 optionalDependencies: '@rsbuild/core': 1.5.17 - rsbuild-plugin-tailwindcss@0.2.3(@rsbuild/core@1.6.7)(tailwindcss@3.4.17): - dependencies: - tailwindcss: 3.4.17 - optionalDependencies: - '@rsbuild/core': 1.6.7 - rslog@1.2.11: {} run-applescript@7.0.0: {} @@ -18371,18 +18186,10 @@ snapshots: tldts-core@6.1.86: {} - tldts-core@7.0.18: - optional: true - tldts@6.1.61: dependencies: tldts-core: 6.1.86 - tldts@7.0.18: - dependencies: - tldts-core: 7.0.18 - optional: true - tmp@0.0.33: dependencies: os-tmpdir: 1.0.2 @@ -18403,22 +18210,12 @@ snapshots: dependencies: tldts: 6.1.61 - tough-cookie@6.0.0: - dependencies: - tldts: 7.0.18 - optional: true - tr46@0.0.3: {} tr46@5.1.1: dependencies: punycode: 2.3.1 - tr46@6.0.0: - dependencies: - punycode: 2.3.1 - optional: true - tree-dump@1.0.3(tslib@2.8.1): dependencies: tslib: 2.8.1 @@ -18785,7 +18582,7 @@ snapshots: sass-embedded: 1.90.0 terser: 5.31.6 - vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.6.1)(@vitest/ui@3.2.4)(jsdom@27.2.0)(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.31.6): + vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.6.1)(@vitest/ui@3.2.4)(jsdom@26.1.0)(sass-embedded@1.90.0)(sass@1.90.0)(terser@5.31.6): dependencies: '@types/chai': 5.2.2 '@vitest/expect': 3.2.4 @@ -18814,7 +18611,7 @@ snapshots: '@types/debug': 4.1.12 '@types/node': 24.6.1 '@vitest/ui': 3.2.4(vitest@3.2.4) - jsdom: 27.2.0 + jsdom: 26.1.0 transitivePeerDependencies: - less - lightningcss @@ -18855,9 +18652,6 @@ snapshots: webidl-conversions@7.0.0: {} - webidl-conversions@8.0.0: - optional: true - webpack-bundle-analyzer@4.10.2: dependencies: '@discoveryjs/json-ext': 0.5.7 @@ -19049,12 +18843,6 @@ snapshots: tr46: 5.1.1 webidl-conversions: 7.0.0 - whatwg-url@15.1.0: - dependencies: - tr46: 6.0.0 - webidl-conversions: 8.0.0 - optional: true - whatwg-url@5.0.0: dependencies: tr46: 0.0.3