From 8aeb507921a7012ad99f6682da7ca5a42cc3a12f Mon Sep 17 00:00:00 2001 From: Hana Date: Wed, 18 Dec 2024 15:32:57 +0800 Subject: [PATCH 01/11] refactor: merge binding crates into `rspack_binding_values` (#8761) refactor: init --- .github/CODEOWNERS | 1 - .github/workflows/ci.yml | 4 +- Cargo.lock | 29 +----- Cargo.toml | 1 - crates/node_binding/Cargo.toml | 4 +- crates/node_binding/src/lib.rs | 4 +- crates/rspack_binding_options/Cargo.toml | 83 ---------------- crates/rspack_binding_options/LICENSE | 22 ----- crates/rspack_binding_options/src/lib.rs | 7 -- crates/rspack_binding_values/Cargo.toml | 95 +++++++++++++++---- crates/rspack_binding_values/src/lib.rs | 7 ++ .../src/plugins/buildtime_plugins.rs | 0 .../src/plugins/context_replacement.rs | 0 .../src/plugins/js_loader/context.rs | 3 +- .../src/plugins/js_loader/mod.rs | 0 .../src/plugins/js_loader/resolver.rs | 0 .../src/plugins/js_loader/scheduler.rs | 0 .../src/plugins/mod.rs | 0 .../src/raw_options}/mod.rs | 3 +- .../src/raw_options}/raw_builtins/mod.rs | 2 +- .../raw_options}/raw_builtins/raw_banner.rs | 3 +- .../raw_builtins/raw_bundle_info.rs | 0 .../src/raw_options}/raw_builtins/raw_copy.rs | 0 .../raw_builtins/raw_css_extract.rs | 3 +- .../src/raw_options}/raw_builtins/raw_dll.rs | 3 +- .../src/raw_options}/raw_builtins/raw_html.rs | 0 .../src/raw_options}/raw_builtins/raw_ids.rs | 0 .../raw_options}/raw_builtins/raw_ignore.rs | 0 .../raw_builtins/raw_lazy_compilation.rs | 3 +- .../raw_lightning_css_minimizer.rs | 3 +- .../raw_builtins/raw_limit_chunk_count.rs | 0 .../src/raw_options}/raw_builtins/raw_mf.rs | 9 +- .../raw_options}/raw_builtins/raw_progress.rs | 0 .../raw_builtins/raw_runtime_chunk.rs | 0 .../raw_builtins/raw_size_limits.rs | 0 .../raw_builtins/raw_swc_js_minimizer.rs | 3 +- .../src/raw_options}/raw_cache.rs | 0 .../src/raw_options}/raw_devtool.rs | 3 +- .../src/raw_options}/raw_dynamic_entry.rs | 3 +- .../src/raw_options}/raw_experiments/mod.rs | 0 .../raw_experiments/raw_cache/mod.rs | 0 .../raw_experiments/raw_cache/raw_snapshot.rs | 0 .../raw_experiments/raw_cache/raw_storage.rs | 0 .../raw_experiments/raw_incremental.rs | 0 .../raw_experiments/raw_rspack_future.rs | 0 .../src/raw_options}/raw_external.rs | 3 +- .../src/raw_options}/raw_mode.rs | 0 .../src/raw_options}/raw_module/mod.rs | 2 +- .../src/raw_options}/raw_node.rs | 0 .../src/raw_options}/raw_optimization.rs | 0 .../src/raw_options}/raw_output.rs | 5 +- .../src/raw_options}/raw_snapshot.rs | 0 .../src/raw_options}/raw_split_chunks/mod.rs | 0 .../raw_split_chunk_cache_group_test.rs | 3 +- .../raw_split_chunk_chunks.rs | 3 +- .../raw_split_chunks/raw_split_chunk_name.rs | 3 +- .../raw_split_chunks/raw_split_chunk_size.rs | 0 .../src/raw_options}/raw_stats.rs | 0 crates/rspack_tracing/src/lib.rs | 2 +- .../cases/loaders/cjs-loader-type/index.js | 2 +- 60 files changed, 134 insertions(+), 187 deletions(-) delete mode 100644 crates/rspack_binding_options/Cargo.toml delete mode 100644 crates/rspack_binding_options/LICENSE delete mode 100644 crates/rspack_binding_options/src/lib.rs rename crates/{rspack_binding_options => rspack_binding_values}/src/plugins/buildtime_plugins.rs (100%) rename crates/{rspack_binding_options => rspack_binding_values}/src/plugins/context_replacement.rs (100%) rename crates/{rspack_binding_options => rspack_binding_values}/src/plugins/js_loader/context.rs (98%) rename crates/{rspack_binding_options => rspack_binding_values}/src/plugins/js_loader/mod.rs (100%) rename crates/{rspack_binding_options => rspack_binding_values}/src/plugins/js_loader/resolver.rs (100%) rename crates/{rspack_binding_options => rspack_binding_values}/src/plugins/js_loader/scheduler.rs (100%) rename crates/{rspack_binding_options => rspack_binding_values}/src/plugins/mod.rs (100%) rename crates/{rspack_binding_options/src/options => rspack_binding_values/src/raw_options}/mod.rs (98%) rename crates/{rspack_binding_options/src/options => rspack_binding_values/src/raw_options}/raw_builtins/mod.rs (99%) rename crates/{rspack_binding_options/src/options => rspack_binding_values/src/raw_options}/raw_builtins/raw_banner.rs (96%) rename crates/{rspack_binding_options/src/options => rspack_binding_values/src/raw_options}/raw_builtins/raw_bundle_info.rs (100%) rename crates/{rspack_binding_options/src/options => rspack_binding_values/src/raw_options}/raw_builtins/raw_copy.rs (100%) rename crates/{rspack_binding_options/src/options => rspack_binding_values/src/raw_options}/raw_builtins/raw_css_extract.rs (96%) rename crates/{rspack_binding_options/src/options => rspack_binding_values/src/raw_options}/raw_builtins/raw_dll.rs (98%) rename crates/{rspack_binding_options/src/options => rspack_binding_values/src/raw_options}/raw_builtins/raw_html.rs (100%) rename crates/{rspack_binding_options/src/options => rspack_binding_values/src/raw_options}/raw_builtins/raw_ids.rs (100%) rename crates/{rspack_binding_options/src/options => rspack_binding_values/src/raw_options}/raw_builtins/raw_ignore.rs (100%) rename crates/{rspack_binding_options/src/options => rspack_binding_values/src/raw_options}/raw_builtins/raw_lazy_compilation.rs (98%) rename crates/{rspack_binding_options/src/options => rspack_binding_values/src/raw_options}/raw_builtins/raw_lightning_css_minimizer.rs (98%) rename crates/{rspack_binding_options/src/options => rspack_binding_values/src/raw_options}/raw_builtins/raw_limit_chunk_count.rs (100%) rename crates/{rspack_binding_options/src/options => rspack_binding_values/src/raw_options}/raw_builtins/raw_mf.rs (99%) rename crates/{rspack_binding_options/src/options => rspack_binding_values/src/raw_options}/raw_builtins/raw_progress.rs (100%) rename crates/{rspack_binding_options/src/options => rspack_binding_values/src/raw_options}/raw_builtins/raw_runtime_chunk.rs (100%) rename crates/{rspack_binding_options/src/options => rspack_binding_values/src/raw_options}/raw_builtins/raw_size_limits.rs (100%) rename crates/{rspack_binding_options/src/options => rspack_binding_values/src/raw_options}/raw_builtins/raw_swc_js_minimizer.rs (97%) rename crates/{rspack_binding_options/src/options => rspack_binding_values/src/raw_options}/raw_cache.rs (100%) rename crates/{rspack_binding_options/src/options => rspack_binding_values/src/raw_options}/raw_devtool.rs (98%) rename crates/{rspack_binding_options/src/options => rspack_binding_values/src/raw_options}/raw_dynamic_entry.rs (96%) rename crates/{rspack_binding_options/src/options => rspack_binding_values/src/raw_options}/raw_experiments/mod.rs (100%) rename crates/{rspack_binding_options/src/options => rspack_binding_values/src/raw_options}/raw_experiments/raw_cache/mod.rs (100%) rename crates/{rspack_binding_options/src/options => rspack_binding_values/src/raw_options}/raw_experiments/raw_cache/raw_snapshot.rs (100%) rename crates/{rspack_binding_options/src/options => rspack_binding_values/src/raw_options}/raw_experiments/raw_cache/raw_storage.rs (100%) rename crates/{rspack_binding_options/src/options => rspack_binding_values/src/raw_options}/raw_experiments/raw_incremental.rs (100%) rename crates/{rspack_binding_options/src/options => rspack_binding_values/src/raw_options}/raw_experiments/raw_rspack_future.rs (100%) rename crates/{rspack_binding_options/src/options => rspack_binding_values/src/raw_options}/raw_external.rs (99%) rename crates/{rspack_binding_options/src/options => rspack_binding_values/src/raw_options}/raw_mode.rs (100%) rename crates/{rspack_binding_options/src/options => rspack_binding_values/src/raw_options}/raw_module/mod.rs (99%) rename crates/{rspack_binding_options/src/options => rspack_binding_values/src/raw_options}/raw_node.rs (100%) rename crates/{rspack_binding_options/src/options => rspack_binding_values/src/raw_options}/raw_optimization.rs (100%) rename crates/{rspack_binding_options/src/options => rspack_binding_values/src/raw_options}/raw_output.rs (98%) rename crates/{rspack_binding_options/src/options => rspack_binding_values/src/raw_options}/raw_snapshot.rs (100%) rename crates/{rspack_binding_options/src/options => rspack_binding_values/src/raw_options}/raw_split_chunks/mod.rs (100%) rename crates/{rspack_binding_options/src/options => rspack_binding_values/src/raw_options}/raw_split_chunks/raw_split_chunk_cache_group_test.rs (96%) rename crates/{rspack_binding_options/src/options => rspack_binding_values/src/raw_options}/raw_split_chunks/raw_split_chunk_chunks.rs (95%) rename crates/{rspack_binding_options/src/options => rspack_binding_values/src/raw_options}/raw_split_chunks/raw_split_chunk_name.rs (96%) rename crates/{rspack_binding_options/src/options => rspack_binding_values/src/raw_options}/raw_split_chunks/raw_split_chunk_size.rs (100%) rename crates/{rspack_binding_options/src/options => rspack_binding_values/src/raw_options}/raw_stats.rs (100%) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 27cb3dd6eab..670dbc46baf 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -28,7 +28,6 @@ pnpm-lock.yaml /crates/node_binding /crates/rspack_ast_viewer /crates/rspack_base64 -/crates/rspack_binding_options /crates/rspack_core /crates/rspack_core/src/compiler/make @jerrykingxyz /crates/rspack_error diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 753cda6ad7b..0b59b261336 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -319,7 +319,7 @@ jobs: - name: Run test # reason for excluding https://github.com/napi-rs/napi-rs/issues/2200 - run: cargo test --workspace --exclude rspack_binding_options --exclude rspack_node -- --nocapture + run: cargo test --workspace --exclude rspack_node -- --nocapture rust_test_miri: name: Rust test miri @@ -350,7 +350,7 @@ jobs: env: MIRIFLAGS: -Zmiri-tree-borrows -Zmiri-disable-isolation # reason for excluding https://github.com/napi-rs/napi-rs/issues/2200 - run: cargo miri test --workspace --exclude rspack_binding_options --exclude rspack_node -- --nocapture + run: cargo miri test --workspace --exclude rspack_node -- --nocapture run_rust_benchmark: name: Run rust benchmark diff --git a/Cargo.lock b/Cargo.lock index 6197967da4d..2ff53cffb1a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3701,17 +3701,18 @@ dependencies = [ ] [[package]] -name = "rspack_binding_options" +name = "rspack_binding_values" version = "0.2.0" dependencies = [ "async-trait", "cow-utils", "derive_more", + "futures", "glob", + "heck 0.5.0", "napi", "napi-derive", "pollster", - "rspack_binding_values", "rspack_cacheable", "rspack_collections", "rspack_core", @@ -3766,6 +3767,7 @@ dependencies = [ "rspack_plugin_web_worker_template", "rspack_plugin_worker", "rspack_regex", + "rspack_util", "rustc-hash 2.1.0", "serde", "serde_json", @@ -3774,28 +3776,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "rspack_binding_values" -version = "0.2.0" -dependencies = [ - "cow-utils", - "futures", - "heck 0.5.0", - "napi", - "napi-derive", - "rspack_collections", - "rspack_core", - "rspack_error", - "rspack_napi", - "rspack_plugin_html", - "rspack_plugin_runtime", - "rspack_regex", - "rspack_util", - "rustc-hash 2.1.0", - "serde", - "serde_json", -] - [[package]] name = "rspack_cacheable" version = "0.2.0" @@ -4160,7 +4140,6 @@ dependencies = [ "napi-derive", "ropey", "rspack_allocator", - "rspack_binding_options", "rspack_binding_values", "rspack_collections", "rspack_core", diff --git a/Cargo.toml b/Cargo.toml index 85747ead490..9d269bbdeef 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -110,7 +110,6 @@ rspack_allocator = { version = "0.2.0", path = "crates/rsp rspack_ast = { version = "0.2.0", path = "crates/rspack_ast" } rspack_base64 = { version = "0.2.0", path = "crates/rspack_base64" } rspack_binding = { version = "0.2.0", path = "crates/rspack_binding" } -rspack_binding_options = { version = "0.2.0", path = "crates/rspack_binding_options" } rspack_binding_values = { version = "0.2.0", path = "crates/rspack_binding_values" } rspack_builtin = { version = "0.2.0", path = "crates/rspack_builtin" } rspack_cacheable = { version = "0.2.0", path = "crates/rspack_cacheable" } diff --git a/crates/node_binding/Cargo.toml b/crates/node_binding/Cargo.toml index b37bc27bacb..90e99cf6e95 100644 --- a/crates/node_binding/Cargo.toml +++ b/crates/node_binding/Cargo.toml @@ -10,13 +10,11 @@ version = "0.2.0" crate-type = ["cdylib"] [features] -default = [] -plugin = ["rspack_binding_options/plugin"] +plugin = ["rspack_binding_values/plugin"] [dependencies] ropey = { workspace = true } rspack_allocator = { workspace = true } -rspack_binding_options = { workspace = true } rspack_binding_values = { workspace = true } rspack_collections = { workspace = true } rspack_core = { workspace = true } diff --git a/crates/node_binding/src/lib.rs b/crates/node_binding/src/lib.rs index 52c562e31ee..fb4a81931df 100644 --- a/crates/node_binding/src/lib.rs +++ b/crates/node_binding/src/lib.rs @@ -10,7 +10,6 @@ use std::sync::{Arc, Mutex}; use compiler::{Compiler, CompilerState, CompilerStateGuard}; use napi::bindgen_prelude::*; -use rspack_binding_options::BuiltinPlugin; use rspack_core::{Compilation, PluginExt}; use rspack_error::Diagnostic; use rspack_fs::IntermediateFileSystem; @@ -25,7 +24,6 @@ mod resolver_factory; pub use diagnostic::*; use plugins::*; use resolver_factory::*; -use rspack_binding_options::*; use rspack_binding_values::*; use rspack_tracing::chrome::FlushGuard; @@ -84,7 +82,7 @@ impl Rspack { compiler_path, compiler_options, plugins, - rspack_binding_options::buildtime_plugins::buildtime_plugins(), + rspack_binding_values::buildtime_plugins::buildtime_plugins(), Some(Arc::new(NodeFileSystem::new(output_filesystem).map_err( |e| Error::from_reason(format!("Failed to create writable filesystem: {e}",)), )?)), diff --git a/crates/rspack_binding_options/Cargo.toml b/crates/rspack_binding_options/Cargo.toml deleted file mode 100644 index b76a919960c..00000000000 --- a/crates/rspack_binding_options/Cargo.toml +++ /dev/null @@ -1,83 +0,0 @@ -[package] -description = "rspack binding options" -edition = "2021" -license = "MIT" -name = "rspack_binding_options" -repository = "https://github.com/web-infra-dev/rspack" -version = "0.2.0" -[features] -default = [] -plugin = ["rspack_loader_swc/plugin"] - -[package.metadata.cargo-shear] -ignored = ["tracing"] - -[dependencies] -async-trait = { workspace = true } -cow-utils = { workspace = true } -derive_more = { workspace = true, features = ["debug"] } -glob = { workspace = true } -napi = { workspace = true, features = ["async", "tokio_rt", "serde-json", "anyhow"] } -napi-derive = { workspace = true } -pollster = { workspace = true } -rspack_binding_values = { workspace = true } -rspack_cacheable = { workspace = true } -rspack_collections = { workspace = true } -rspack_core = { workspace = true } -rspack_error = { workspace = true } -rspack_hook = { workspace = true } -rspack_ids = { workspace = true } -rspack_loader_lightningcss = { workspace = true } -rspack_loader_preact_refresh = { workspace = true } -rspack_loader_react_refresh = { workspace = true } -rspack_loader_runner = { workspace = true } -rspack_loader_swc = { workspace = true } -rspack_loader_testing = { workspace = true } -rspack_napi = { workspace = true } -rspack_napi_macros = { workspace = true } -rspack_paths = { workspace = true } -rspack_plugin_asset = { workspace = true } -rspack_plugin_banner = { workspace = true } -rspack_plugin_context_replacement = { workspace = true } -rspack_plugin_copy = { workspace = true } -rspack_plugin_css = { workspace = true } -rspack_plugin_devtool = { workspace = true } -rspack_plugin_dll = { workspace = true } -rspack_plugin_dynamic_entry = { workspace = true } -rspack_plugin_ensure_chunk_conditions = { workspace = true } -rspack_plugin_entry = { workspace = true } -rspack_plugin_externals = { workspace = true } -rspack_plugin_extract_css = { workspace = true } -rspack_plugin_hmr = { workspace = true } -rspack_plugin_html = { workspace = true } -rspack_plugin_ignore = { workspace = true } -rspack_plugin_javascript = { workspace = true } -rspack_plugin_json = { workspace = true } -rspack_plugin_lazy_compilation = { workspace = true } -rspack_plugin_library = { workspace = true } -rspack_plugin_lightning_css_minimizer = { workspace = true } -rspack_plugin_limit_chunk_count = { workspace = true } -rspack_plugin_merge_duplicate_chunks = { workspace = true } -rspack_plugin_mf = { workspace = true } -rspack_plugin_no_emit_on_errors = { workspace = true } -rspack_plugin_progress = { workspace = true } -rspack_plugin_real_content_hash = { workspace = true } -rspack_plugin_remove_duplicate_modules = { workspace = true } -rspack_plugin_remove_empty_chunks = { workspace = true } -rspack_plugin_runtime = { workspace = true } -rspack_plugin_runtime_chunk = { workspace = true } -rspack_plugin_schemes = { workspace = true } -rspack_plugin_size_limits = { workspace = true } -rspack_plugin_split_chunks = { workspace = true } -rspack_plugin_swc_js_minimizer = { workspace = true } -rspack_plugin_warn_sensitive_module = { workspace = true } -rspack_plugin_wasm = { workspace = true } -rspack_plugin_web_worker_template = { workspace = true } -rspack_plugin_worker = { workspace = true } -rspack_regex = { workspace = true } -rustc-hash = { workspace = true } -serde = { workspace = true, features = ["derive"] } -serde_json = { workspace = true } -swc_core = { workspace = true, default-features = false, features = ["ecma_transforms_react"] } -tokio = { workspace = true, features = ["rt", "rt-multi-thread", "macros", "test-util", "parking_lot"] } -tracing = { workspace = true } diff --git a/crates/rspack_binding_options/LICENSE b/crates/rspack_binding_options/LICENSE deleted file mode 100644 index 46310101ad8..00000000000 --- a/crates/rspack_binding_options/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -MIT License - -Copyright (c) 2022-present Bytedance, Inc. and its affiliates. - - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/crates/rspack_binding_options/src/lib.rs b/crates/rspack_binding_options/src/lib.rs deleted file mode 100644 index 3464fe5f86a..00000000000 --- a/crates/rspack_binding_options/src/lib.rs +++ /dev/null @@ -1,7 +0,0 @@ -#![feature(try_blocks)] -#![feature(let_chains)] -mod options; -mod plugins; -pub use options::*; -pub use plugins::buildtime_plugins; -pub(crate) use plugins::*; diff --git a/crates/rspack_binding_values/Cargo.toml b/crates/rspack_binding_values/Cargo.toml index dfae126a299..5e2e48e2779 100644 --- a/crates/rspack_binding_values/Cargo.toml +++ b/crates/rspack_binding_values/Cargo.toml @@ -5,20 +5,83 @@ license = "MIT" name = "rspack_binding_values" repository = "https://github.com/web-infra-dev/rspack" version = "0.2.0" + +[features] +plugin = ["rspack_loader_swc/plugin"] + +[package.metadata.cargo-shear] +ignored = ["tracing"] + [dependencies] -cow-utils = { workspace = true } -futures = { workspace = true } -heck = { workspace = true } -napi = { workspace = true, features = ["async", "tokio_rt", "serde-json", "anyhow"] } -napi-derive = { workspace = true } -rspack_collections = { workspace = true } -rspack_core = { workspace = true } -rspack_error = { workspace = true } -rspack_napi = { workspace = true } -rspack_plugin_html = { workspace = true } -rspack_plugin_runtime = { workspace = true } -rspack_regex = { workspace = true } -rspack_util = { workspace = true } -rustc-hash = { workspace = true } -serde = { workspace = true } -serde_json = { workspace = true } +async-trait = { workspace = true } +cow-utils = { workspace = true } +derive_more = { workspace = true, features = ["debug"] } +futures = { workspace = true } +glob = { workspace = true } +heck = { workspace = true } +napi = { workspace = true, features = ["async", "tokio_rt", "serde-json", "anyhow"] } +napi-derive = { workspace = true } +pollster = { workspace = true } +rspack_cacheable = { workspace = true } +rspack_collections = { workspace = true } +rspack_core = { workspace = true } +rspack_error = { workspace = true } +rspack_hook = { workspace = true } +rspack_ids = { workspace = true } +rspack_napi = { workspace = true } +rspack_napi_macros = { workspace = true } +rspack_paths = { workspace = true } +rspack_regex = { workspace = true } +rspack_util = { workspace = true } +rustc-hash = { workspace = true } +serde = { workspace = true } +serde_json = { workspace = true } +swc_core = { workspace = true, default-features = false, features = ["ecma_transforms_react"] } +tokio = { workspace = true, features = ["rt", "rt-multi-thread", "macros", "test-util", "parking_lot"] } +tracing = { workspace = true } + + +rspack_loader_lightningcss = { workspace = true } +rspack_loader_preact_refresh = { workspace = true } +rspack_loader_react_refresh = { workspace = true } +rspack_loader_runner = { workspace = true } +rspack_loader_swc = { workspace = true } +rspack_loader_testing = { workspace = true } +rspack_plugin_asset = { workspace = true } +rspack_plugin_banner = { workspace = true } +rspack_plugin_context_replacement = { workspace = true } +rspack_plugin_copy = { workspace = true } +rspack_plugin_css = { workspace = true } +rspack_plugin_devtool = { workspace = true } +rspack_plugin_dll = { workspace = true } +rspack_plugin_dynamic_entry = { workspace = true } +rspack_plugin_ensure_chunk_conditions = { workspace = true } +rspack_plugin_entry = { workspace = true } +rspack_plugin_externals = { workspace = true } +rspack_plugin_extract_css = { workspace = true } +rspack_plugin_hmr = { workspace = true } +rspack_plugin_html = { workspace = true } +rspack_plugin_ignore = { workspace = true } +rspack_plugin_javascript = { workspace = true } +rspack_plugin_json = { workspace = true } +rspack_plugin_lazy_compilation = { workspace = true } +rspack_plugin_library = { workspace = true } +rspack_plugin_lightning_css_minimizer = { workspace = true } +rspack_plugin_limit_chunk_count = { workspace = true } +rspack_plugin_merge_duplicate_chunks = { workspace = true } +rspack_plugin_mf = { workspace = true } +rspack_plugin_no_emit_on_errors = { workspace = true } +rspack_plugin_progress = { workspace = true } +rspack_plugin_real_content_hash = { workspace = true } +rspack_plugin_remove_duplicate_modules = { workspace = true } +rspack_plugin_remove_empty_chunks = { workspace = true } +rspack_plugin_runtime = { workspace = true } +rspack_plugin_runtime_chunk = { workspace = true } +rspack_plugin_schemes = { workspace = true } +rspack_plugin_size_limits = { workspace = true } +rspack_plugin_split_chunks = { workspace = true } +rspack_plugin_swc_js_minimizer = { workspace = true } +rspack_plugin_warn_sensitive_module = { workspace = true } +rspack_plugin_wasm = { workspace = true } +rspack_plugin_web_worker_template = { workspace = true } +rspack_plugin_worker = { workspace = true } diff --git a/crates/rspack_binding_values/src/lib.rs b/crates/rspack_binding_values/src/lib.rs index 53f3de249f4..1627411a8e4 100644 --- a/crates/rspack_binding_values/src/lib.rs +++ b/crates/rspack_binding_values/src/lib.rs @@ -1,4 +1,6 @@ +#![feature(let_chains)] #![feature(try_blocks)] + mod asset; mod asset_condition; mod chunk; @@ -19,6 +21,8 @@ mod module_graph; mod normal_module_factory; mod options; mod path_data; +mod plugins; +mod raw_options; mod resolver; mod resource_data; mod rspack_error; @@ -46,6 +50,9 @@ pub use module_graph::*; pub use normal_module_factory::*; pub use options::*; pub use path_data::*; +pub use plugins::buildtime_plugins; +pub(crate) use plugins::*; +pub use raw_options::*; pub use resolver::*; pub use resource_data::*; pub use rspack_error::*; diff --git a/crates/rspack_binding_options/src/plugins/buildtime_plugins.rs b/crates/rspack_binding_values/src/plugins/buildtime_plugins.rs similarity index 100% rename from crates/rspack_binding_options/src/plugins/buildtime_plugins.rs rename to crates/rspack_binding_values/src/plugins/buildtime_plugins.rs diff --git a/crates/rspack_binding_options/src/plugins/context_replacement.rs b/crates/rspack_binding_values/src/plugins/context_replacement.rs similarity index 100% rename from crates/rspack_binding_options/src/plugins/context_replacement.rs rename to crates/rspack_binding_values/src/plugins/context_replacement.rs diff --git a/crates/rspack_binding_options/src/plugins/js_loader/context.rs b/crates/rspack_binding_values/src/plugins/js_loader/context.rs similarity index 98% rename from crates/rspack_binding_options/src/plugins/js_loader/context.rs rename to crates/rspack_binding_values/src/plugins/js_loader/context.rs index 83da01720f6..44c629fcadb 100644 --- a/crates/rspack_binding_options/src/plugins/js_loader/context.rs +++ b/crates/rspack_binding_values/src/plugins/js_loader/context.rs @@ -2,12 +2,13 @@ use std::collections::HashMap; use napi::bindgen_prelude::*; use napi_derive::napi; -use rspack_binding_values::{JsModuleWrapper, JsResourceData, JsRspackError}; use rspack_core::{LoaderContext, RunnerContext}; use rspack_error::error; use rspack_loader_runner::{LoaderItem, State as LoaderState}; use rspack_napi::threadsafe_js_value_ref::ThreadsafeJsValueRef; +use crate::{JsModuleWrapper, JsResourceData, JsRspackError}; + #[napi(object)] pub struct JsLoaderItem { pub request: String, diff --git a/crates/rspack_binding_options/src/plugins/js_loader/mod.rs b/crates/rspack_binding_values/src/plugins/js_loader/mod.rs similarity index 100% rename from crates/rspack_binding_options/src/plugins/js_loader/mod.rs rename to crates/rspack_binding_values/src/plugins/js_loader/mod.rs diff --git a/crates/rspack_binding_options/src/plugins/js_loader/resolver.rs b/crates/rspack_binding_values/src/plugins/js_loader/resolver.rs similarity index 100% rename from crates/rspack_binding_options/src/plugins/js_loader/resolver.rs rename to crates/rspack_binding_values/src/plugins/js_loader/resolver.rs diff --git a/crates/rspack_binding_options/src/plugins/js_loader/scheduler.rs b/crates/rspack_binding_values/src/plugins/js_loader/scheduler.rs similarity index 100% rename from crates/rspack_binding_options/src/plugins/js_loader/scheduler.rs rename to crates/rspack_binding_values/src/plugins/js_loader/scheduler.rs diff --git a/crates/rspack_binding_options/src/plugins/mod.rs b/crates/rspack_binding_values/src/plugins/mod.rs similarity index 100% rename from crates/rspack_binding_options/src/plugins/mod.rs rename to crates/rspack_binding_values/src/plugins/mod.rs diff --git a/crates/rspack_binding_options/src/options/mod.rs b/crates/rspack_binding_values/src/raw_options/mod.rs similarity index 98% rename from crates/rspack_binding_options/src/options/mod.rs rename to crates/rspack_binding_values/src/raw_options/mod.rs index e2fb75b51e4..4991e966866 100644 --- a/crates/rspack_binding_options/src/options/mod.rs +++ b/crates/rspack_binding_values/src/raw_options/mod.rs @@ -33,7 +33,8 @@ pub use raw_output::*; pub use raw_snapshot::*; pub use raw_split_chunks::*; pub use raw_stats::*; -pub use rspack_binding_values::raw_resolve::*; + +pub use crate::raw_resolve::*; #[derive(Debug)] #[napi(object, object_to_js = false)] diff --git a/crates/rspack_binding_options/src/options/raw_builtins/mod.rs b/crates/rspack_binding_values/src/raw_options/raw_builtins/mod.rs similarity index 99% rename from crates/rspack_binding_options/src/options/raw_builtins/mod.rs rename to crates/rspack_binding_values/src/raw_options/raw_builtins/mod.rs index fc8c6a4a9ca..f9cac94c2ba 100644 --- a/crates/rspack_binding_options/src/options/raw_builtins/mod.rs +++ b/crates/rspack_binding_values/src/raw_options/raw_builtins/mod.rs @@ -20,7 +20,6 @@ use napi_derive::napi; use raw_dll::{RawDllReferenceAgencyPluginOptions, RawFlagAllModulesAsUsedPluginOptions}; use raw_ids::RawOccurrenceChunkIdsPluginOptions; use raw_lightning_css_minimizer::RawLightningCssMinimizerRspackPluginOptions; -use rspack_binding_values::entry::JsEntryPluginOptions; use rspack_core::{BoxPlugin, Plugin, PluginExt}; use rspack_error::Result; use rspack_ids::{ @@ -103,6 +102,7 @@ use self::{ raw_runtime_chunk::RawRuntimeChunkOptions, raw_size_limits::RawSizeLimitsPluginOptions, }; +use crate::entry::JsEntryPluginOptions; use crate::{ plugins::JsLoaderRspackPlugin, JsLoaderRunner, RawContextReplacementPluginOptions, RawDynamicEntryPluginOptions, RawEvalDevToolModulePluginOptions, RawExternalItemWrapper, diff --git a/crates/rspack_binding_options/src/options/raw_builtins/raw_banner.rs b/crates/rspack_binding_values/src/raw_options/raw_builtins/raw_banner.rs similarity index 96% rename from crates/rspack_binding_options/src/options/raw_builtins/raw_banner.rs rename to crates/rspack_binding_values/src/raw_options/raw_builtins/raw_banner.rs index 3762fbb795d..43c216e0be2 100644 --- a/crates/rspack_binding_options/src/options/raw_builtins/raw_banner.rs +++ b/crates/rspack_binding_values/src/raw_options/raw_builtins/raw_banner.rs @@ -1,12 +1,13 @@ use derive_more::Debug; use napi::Either; use napi_derive::napi; -use rspack_binding_values::{into_asset_conditions, JsChunkWrapper, RawAssetConditions}; use rspack_collections::DatabaseItem; use rspack_error::Result; use rspack_napi::threadsafe_function::ThreadsafeFunction; use rspack_plugin_banner::{BannerContent, BannerContentFnCtx, BannerPluginOptions}; +use crate::{into_asset_conditions, JsChunkWrapper, RawAssetConditions}; + #[napi(object, object_from_js = false)] pub struct JsBannerContentFnCtx { pub hash: String, diff --git a/crates/rspack_binding_options/src/options/raw_builtins/raw_bundle_info.rs b/crates/rspack_binding_values/src/raw_options/raw_builtins/raw_bundle_info.rs similarity index 100% rename from crates/rspack_binding_options/src/options/raw_builtins/raw_bundle_info.rs rename to crates/rspack_binding_values/src/raw_options/raw_builtins/raw_bundle_info.rs diff --git a/crates/rspack_binding_options/src/options/raw_builtins/raw_copy.rs b/crates/rspack_binding_values/src/raw_options/raw_builtins/raw_copy.rs similarity index 100% rename from crates/rspack_binding_options/src/options/raw_builtins/raw_copy.rs rename to crates/rspack_binding_values/src/raw_options/raw_builtins/raw_copy.rs diff --git a/crates/rspack_binding_options/src/options/raw_builtins/raw_css_extract.rs b/crates/rspack_binding_values/src/raw_options/raw_builtins/raw_css_extract.rs similarity index 96% rename from crates/rspack_binding_options/src/options/raw_builtins/raw_css_extract.rs rename to crates/rspack_binding_values/src/raw_options/raw_builtins/raw_css_extract.rs index 2a18caa3315..09fb31713af 100644 --- a/crates/rspack_binding_options/src/options/raw_builtins/raw_css_extract.rs +++ b/crates/rspack_binding_values/src/raw_options/raw_builtins/raw_css_extract.rs @@ -1,9 +1,10 @@ use std::collections::HashMap; use napi_derive::napi; -use rspack_binding_values::JsFilename; use rspack_plugin_extract_css::plugin::{CssExtractOptions, InsertType}; +use crate::JsFilename; + #[napi(object, object_to_js = false)] pub struct RawCssExtractPluginOption { pub filename: JsFilename, diff --git a/crates/rspack_binding_options/src/options/raw_builtins/raw_dll.rs b/crates/rspack_binding_values/src/raw_options/raw_builtins/raw_dll.rs similarity index 98% rename from crates/rspack_binding_options/src/options/raw_builtins/raw_dll.rs rename to crates/rspack_binding_values/src/raw_options/raw_builtins/raw_dll.rs index 89f886bfe16..201ea191123 100644 --- a/crates/rspack_binding_options/src/options/raw_builtins/raw_dll.rs +++ b/crates/rspack_binding_values/src/raw_options/raw_builtins/raw_dll.rs @@ -1,6 +1,5 @@ use napi::Either; use napi_derive::napi; -use rspack_binding_values::{JsBuildMeta, JsFilename}; use rspack_plugin_dll::{ DllEntryPluginOptions, DllManifest, DllManifestContent, DllManifestContentItem, DllManifestContentItemExports, DllReferenceAgencyPluginOptions, LibManifestPluginOptions, @@ -8,6 +7,8 @@ use rspack_plugin_dll::{ use rustc_hash::FxHashMap as HashMap; use swc_core::atoms::Atom; +use crate::{JsBuildMeta, JsFilename}; + #[derive(Debug)] #[napi(object)] pub struct RawDllEntryPluginOptions { diff --git a/crates/rspack_binding_options/src/options/raw_builtins/raw_html.rs b/crates/rspack_binding_values/src/raw_options/raw_builtins/raw_html.rs similarity index 100% rename from crates/rspack_binding_options/src/options/raw_builtins/raw_html.rs rename to crates/rspack_binding_values/src/raw_options/raw_builtins/raw_html.rs diff --git a/crates/rspack_binding_options/src/options/raw_builtins/raw_ids.rs b/crates/rspack_binding_values/src/raw_options/raw_builtins/raw_ids.rs similarity index 100% rename from crates/rspack_binding_options/src/options/raw_builtins/raw_ids.rs rename to crates/rspack_binding_values/src/raw_options/raw_builtins/raw_ids.rs diff --git a/crates/rspack_binding_options/src/options/raw_builtins/raw_ignore.rs b/crates/rspack_binding_values/src/raw_options/raw_builtins/raw_ignore.rs similarity index 100% rename from crates/rspack_binding_options/src/options/raw_builtins/raw_ignore.rs rename to crates/rspack_binding_values/src/raw_options/raw_builtins/raw_ignore.rs diff --git a/crates/rspack_binding_options/src/options/raw_builtins/raw_lazy_compilation.rs b/crates/rspack_binding_values/src/raw_options/raw_builtins/raw_lazy_compilation.rs similarity index 98% rename from crates/rspack_binding_options/src/options/raw_builtins/raw_lazy_compilation.rs rename to crates/rspack_binding_values/src/raw_options/raw_builtins/raw_lazy_compilation.rs index 7b7dcf0d05a..a42cbdd2243 100644 --- a/crates/rspack_binding_options/src/options/raw_builtins/raw_lazy_compilation.rs +++ b/crates/rspack_binding_values/src/raw_options/raw_builtins/raw_lazy_compilation.rs @@ -3,7 +3,6 @@ use napi::{ Either, }; use napi_derive::napi; -use rspack_binding_values::JsModuleWrapper; use rspack_core::{CompilationId, ModuleIdentifier}; use rspack_napi::threadsafe_function::ThreadsafeFunction; use rspack_plugin_lazy_compilation::{ @@ -12,6 +11,8 @@ use rspack_plugin_lazy_compilation::{ }; use rspack_regex::RspackRegex; +use crate::JsModuleWrapper; + #[derive(Debug)] pub struct RawLazyCompilationTest>>( pub Either, diff --git a/crates/rspack_binding_options/src/options/raw_builtins/raw_lightning_css_minimizer.rs b/crates/rspack_binding_values/src/raw_options/raw_builtins/raw_lightning_css_minimizer.rs similarity index 98% rename from crates/rspack_binding_options/src/options/raw_builtins/raw_lightning_css_minimizer.rs rename to crates/rspack_binding_values/src/raw_options/raw_builtins/raw_lightning_css_minimizer.rs index 3f1a367f5ee..2d2f5f1c17c 100644 --- a/crates/rspack_binding_options/src/options/raw_builtins/raw_lightning_css_minimizer.rs +++ b/crates/rspack_binding_values/src/raw_options/raw_builtins/raw_lightning_css_minimizer.rs @@ -1,10 +1,11 @@ use napi_derive::napi; -use rspack_binding_values::{into_asset_conditions, RawAssetConditions}; use rspack_error::Result; use rspack_plugin_lightning_css_minimizer::{ Draft, MinimizerOptions, NonStandard, PluginOptions, PseudoClasses, }; +use crate::{into_asset_conditions, RawAssetConditions}; + #[derive(Debug)] #[napi(object)] pub struct RawLightningCssMinimizerRspackPluginOptions { diff --git a/crates/rspack_binding_options/src/options/raw_builtins/raw_limit_chunk_count.rs b/crates/rspack_binding_values/src/raw_options/raw_builtins/raw_limit_chunk_count.rs similarity index 100% rename from crates/rspack_binding_options/src/options/raw_builtins/raw_limit_chunk_count.rs rename to crates/rspack_binding_values/src/raw_options/raw_builtins/raw_limit_chunk_count.rs diff --git a/crates/rspack_binding_options/src/options/raw_builtins/raw_mf.rs b/crates/rspack_binding_values/src/raw_options/raw_builtins/raw_mf.rs similarity index 99% rename from crates/rspack_binding_options/src/options/raw_builtins/raw_mf.rs rename to crates/rspack_binding_values/src/raw_options/raw_builtins/raw_mf.rs index f4e78225756..3bf5e77a8de 100644 --- a/crates/rspack_binding_options/src/options/raw_builtins/raw_mf.rs +++ b/crates/rspack_binding_values/src/raw_options/raw_builtins/raw_mf.rs @@ -2,15 +2,16 @@ use std::sync::Arc; use napi::Either; use napi_derive::napi; -use rspack_binding_values::{ - entry::{JsEntryRuntime, JsEntryRuntimeWrapper}, - library::JsLibraryOptions, -}; use rspack_plugin_mf::{ ConsumeOptions, ConsumeSharedPluginOptions, ConsumeVersion, ContainerPluginOptions, ContainerReferencePluginOptions, ExposeOptions, ProvideOptions, ProvideVersion, RemoteOptions, }; +use crate::{ + entry::{JsEntryRuntime, JsEntryRuntimeWrapper}, + library::JsLibraryOptions, +}; + #[derive(Debug)] #[napi(object)] pub struct RawContainerPluginOptions { diff --git a/crates/rspack_binding_options/src/options/raw_builtins/raw_progress.rs b/crates/rspack_binding_values/src/raw_options/raw_builtins/raw_progress.rs similarity index 100% rename from crates/rspack_binding_options/src/options/raw_builtins/raw_progress.rs rename to crates/rspack_binding_values/src/raw_options/raw_builtins/raw_progress.rs diff --git a/crates/rspack_binding_options/src/options/raw_builtins/raw_runtime_chunk.rs b/crates/rspack_binding_values/src/raw_options/raw_builtins/raw_runtime_chunk.rs similarity index 100% rename from crates/rspack_binding_options/src/options/raw_builtins/raw_runtime_chunk.rs rename to crates/rspack_binding_values/src/raw_options/raw_builtins/raw_runtime_chunk.rs diff --git a/crates/rspack_binding_options/src/options/raw_builtins/raw_size_limits.rs b/crates/rspack_binding_values/src/raw_options/raw_builtins/raw_size_limits.rs similarity index 100% rename from crates/rspack_binding_options/src/options/raw_builtins/raw_size_limits.rs rename to crates/rspack_binding_values/src/raw_options/raw_builtins/raw_size_limits.rs diff --git a/crates/rspack_binding_options/src/options/raw_builtins/raw_swc_js_minimizer.rs b/crates/rspack_binding_values/src/raw_options/raw_builtins/raw_swc_js_minimizer.rs similarity index 97% rename from crates/rspack_binding_options/src/options/raw_builtins/raw_swc_js_minimizer.rs rename to crates/rspack_binding_values/src/raw_options/raw_builtins/raw_swc_js_minimizer.rs index 87a8ed52916..9408a2f03da 100644 --- a/crates/rspack_binding_options/src/options/raw_builtins/raw_swc_js_minimizer.rs +++ b/crates/rspack_binding_values/src/raw_options/raw_builtins/raw_swc_js_minimizer.rs @@ -1,6 +1,5 @@ use napi::Either; use napi_derive::napi; -use rspack_binding_values::{into_asset_conditions, RawAssetConditions}; use rspack_error::{miette::IntoDiagnostic, Result}; use rspack_plugin_swc_js_minimizer::{ ExtractComments, MinimizerOptions, OptionWrapper, PluginOptions, @@ -8,6 +7,8 @@ use rspack_plugin_swc_js_minimizer::{ use serde::de::DeserializeOwned; use swc_core::base::BoolOrDataConfig; +use crate::{into_asset_conditions, RawAssetConditions}; + #[derive(Debug)] #[napi(object)] pub struct RawExtractComments { diff --git a/crates/rspack_binding_options/src/options/raw_cache.rs b/crates/rspack_binding_values/src/raw_options/raw_cache.rs similarity index 100% rename from crates/rspack_binding_options/src/options/raw_cache.rs rename to crates/rspack_binding_values/src/raw_options/raw_cache.rs diff --git a/crates/rspack_binding_options/src/options/raw_devtool.rs b/crates/rspack_binding_values/src/raw_options/raw_devtool.rs similarity index 98% rename from crates/rspack_binding_options/src/options/raw_devtool.rs rename to crates/rspack_binding_values/src/raw_options/raw_devtool.rs index d95c0cdb8d4..c54ee21bc7f 100644 --- a/crates/rspack_binding_options/src/options/raw_devtool.rs +++ b/crates/rspack_binding_values/src/raw_options/raw_devtool.rs @@ -3,7 +3,6 @@ use std::sync::Arc; use napi::bindgen_prelude::{Either3, Null}; use napi::Either; use napi_derive::napi; -use rspack_binding_values::{into_asset_conditions, RawAssetConditions}; use rspack_core::PathData; use rspack_napi::threadsafe_function::ThreadsafeFunction; use rspack_plugin_devtool::{ @@ -11,6 +10,8 @@ use rspack_plugin_devtool::{ SourceMapDevToolPluginOptions, }; +use crate::{into_asset_conditions, RawAssetConditions}; + type RawAppend = Either3>; #[derive(Debug, Clone)] diff --git a/crates/rspack_binding_options/src/options/raw_dynamic_entry.rs b/crates/rspack_binding_values/src/raw_options/raw_dynamic_entry.rs similarity index 96% rename from crates/rspack_binding_options/src/options/raw_dynamic_entry.rs rename to crates/rspack_binding_values/src/raw_options/raw_dynamic_entry.rs index 7da0f93750f..59c330298bd 100644 --- a/crates/rspack_binding_options/src/options/raw_dynamic_entry.rs +++ b/crates/rspack_binding_values/src/raw_options/raw_dynamic_entry.rs @@ -1,8 +1,9 @@ use napi_derive::napi; -use rspack_binding_values::entry::JsEntryOptions; use rspack_napi::threadsafe_function::ThreadsafeFunction; use rspack_plugin_dynamic_entry::{DynamicEntryPluginOptions, EntryDynamicResult}; +use crate::entry::JsEntryOptions; + #[derive(Debug)] #[napi(object, object_to_js = false)] pub struct RawEntryDynamicResult { diff --git a/crates/rspack_binding_options/src/options/raw_experiments/mod.rs b/crates/rspack_binding_values/src/raw_options/raw_experiments/mod.rs similarity index 100% rename from crates/rspack_binding_options/src/options/raw_experiments/mod.rs rename to crates/rspack_binding_values/src/raw_options/raw_experiments/mod.rs diff --git a/crates/rspack_binding_options/src/options/raw_experiments/raw_cache/mod.rs b/crates/rspack_binding_values/src/raw_options/raw_experiments/raw_cache/mod.rs similarity index 100% rename from crates/rspack_binding_options/src/options/raw_experiments/raw_cache/mod.rs rename to crates/rspack_binding_values/src/raw_options/raw_experiments/raw_cache/mod.rs diff --git a/crates/rspack_binding_options/src/options/raw_experiments/raw_cache/raw_snapshot.rs b/crates/rspack_binding_values/src/raw_options/raw_experiments/raw_cache/raw_snapshot.rs similarity index 100% rename from crates/rspack_binding_options/src/options/raw_experiments/raw_cache/raw_snapshot.rs rename to crates/rspack_binding_values/src/raw_options/raw_experiments/raw_cache/raw_snapshot.rs diff --git a/crates/rspack_binding_options/src/options/raw_experiments/raw_cache/raw_storage.rs b/crates/rspack_binding_values/src/raw_options/raw_experiments/raw_cache/raw_storage.rs similarity index 100% rename from crates/rspack_binding_options/src/options/raw_experiments/raw_cache/raw_storage.rs rename to crates/rspack_binding_values/src/raw_options/raw_experiments/raw_cache/raw_storage.rs diff --git a/crates/rspack_binding_options/src/options/raw_experiments/raw_incremental.rs b/crates/rspack_binding_values/src/raw_options/raw_experiments/raw_incremental.rs similarity index 100% rename from crates/rspack_binding_options/src/options/raw_experiments/raw_incremental.rs rename to crates/rspack_binding_values/src/raw_options/raw_experiments/raw_incremental.rs diff --git a/crates/rspack_binding_options/src/options/raw_experiments/raw_rspack_future.rs b/crates/rspack_binding_values/src/raw_options/raw_experiments/raw_rspack_future.rs similarity index 100% rename from crates/rspack_binding_options/src/options/raw_experiments/raw_rspack_future.rs rename to crates/rspack_binding_values/src/raw_options/raw_experiments/raw_rspack_future.rs diff --git a/crates/rspack_binding_options/src/options/raw_external.rs b/crates/rspack_binding_values/src/raw_options/raw_external.rs similarity index 99% rename from crates/rspack_binding_options/src/options/raw_external.rs rename to crates/rspack_binding_values/src/raw_options/raw_external.rs index 87a204229d5..bb35d530c0c 100644 --- a/crates/rspack_binding_options/src/options/raw_external.rs +++ b/crates/rspack_binding_values/src/raw_options/raw_external.rs @@ -4,12 +4,13 @@ use std::sync::Arc; use napi::bindgen_prelude::Either4; use napi_derive::napi; -use rspack_binding_values::JsResolver; use rspack_core::{ExternalItem, ExternalItemFnResult, ExternalItemValue}; use rspack_core::{ExternalItemFnCtx, ResolveOptionsWithDependencyType, ResolverFactory}; use rspack_napi::threadsafe_function::ThreadsafeFunction; use rspack_regex::RspackRegex; +use crate::JsResolver; + #[napi(object)] pub struct RawHttpExternalsRspackPluginOptions { pub css: bool, diff --git a/crates/rspack_binding_options/src/options/raw_mode.rs b/crates/rspack_binding_values/src/raw_options/raw_mode.rs similarity index 100% rename from crates/rspack_binding_options/src/options/raw_mode.rs rename to crates/rspack_binding_values/src/raw_options/raw_mode.rs diff --git a/crates/rspack_binding_options/src/options/raw_module/mod.rs b/crates/rspack_binding_values/src/raw_options/raw_module/mod.rs similarity index 99% rename from crates/rspack_binding_options/src/options/raw_module/mod.rs rename to crates/rspack_binding_values/src/raw_options/raw_module/mod.rs index 6044dbe6421..da924f94b08 100644 --- a/crates/rspack_binding_options/src/options/raw_module/mod.rs +++ b/crates/rspack_binding_values/src/raw_options/raw_module/mod.rs @@ -5,7 +5,6 @@ use derive_more::Debug; use napi::bindgen_prelude::{Buffer, Either3}; use napi::Either; use napi_derive::napi; -use rspack_binding_values::{JsFilename, JsModuleWrapper}; use rspack_core::{ AssetGeneratorDataUrl, AssetGeneratorDataUrlFnCtx, AssetGeneratorDataUrlOptions, AssetGeneratorOptions, AssetInlineGeneratorOptions, AssetParserDataUrl, @@ -23,6 +22,7 @@ use rspack_napi::threadsafe_function::ThreadsafeFunction; use rspack_regex::RspackRegex; use crate::RawResolveOptions; +use crate::{JsFilename, JsModuleWrapper}; /// `loader` is for both JS and Rust loaders. /// `options` is diff --git a/crates/rspack_binding_options/src/options/raw_node.rs b/crates/rspack_binding_values/src/raw_options/raw_node.rs similarity index 100% rename from crates/rspack_binding_options/src/options/raw_node.rs rename to crates/rspack_binding_values/src/raw_options/raw_node.rs diff --git a/crates/rspack_binding_options/src/options/raw_optimization.rs b/crates/rspack_binding_values/src/raw_options/raw_optimization.rs similarity index 100% rename from crates/rspack_binding_options/src/options/raw_optimization.rs rename to crates/rspack_binding_values/src/raw_options/raw_optimization.rs diff --git a/crates/rspack_binding_options/src/options/raw_output.rs b/crates/rspack_binding_values/src/raw_options/raw_output.rs similarity index 98% rename from crates/rspack_binding_options/src/options/raw_output.rs rename to crates/rspack_binding_values/src/raw_options/raw_output.rs index 5f4ba459363..53466fb4dd3 100644 --- a/crates/rspack_binding_options/src/options/raw_output.rs +++ b/crates/rspack_binding_values/src/raw_options/raw_output.rs @@ -1,12 +1,13 @@ use napi::Either; use napi_derive::napi; -use rspack_binding_values::library::JsLibraryOptions; -use rspack_binding_values::{JsCleanOptions, JsFilename}; use rspack_core::{ CleanOptions, CrossOriginLoading, Environment, OnPolicyCreationFailure, PathInfo, }; use rspack_core::{OutputOptions, TrustedTypes}; +use crate::library::JsLibraryOptions; +use crate::{JsCleanOptions, JsFilename}; + #[derive(Debug)] #[napi(object)] pub struct RawTrustedTypes { diff --git a/crates/rspack_binding_options/src/options/raw_snapshot.rs b/crates/rspack_binding_values/src/raw_options/raw_snapshot.rs similarity index 100% rename from crates/rspack_binding_options/src/options/raw_snapshot.rs rename to crates/rspack_binding_values/src/raw_options/raw_snapshot.rs diff --git a/crates/rspack_binding_options/src/options/raw_split_chunks/mod.rs b/crates/rspack_binding_values/src/raw_options/raw_split_chunks/mod.rs similarity index 100% rename from crates/rspack_binding_options/src/options/raw_split_chunks/mod.rs rename to crates/rspack_binding_values/src/raw_options/raw_split_chunks/mod.rs diff --git a/crates/rspack_binding_options/src/options/raw_split_chunks/raw_split_chunk_cache_group_test.rs b/crates/rspack_binding_values/src/raw_options/raw_split_chunks/raw_split_chunk_cache_group_test.rs similarity index 96% rename from crates/rspack_binding_options/src/options/raw_split_chunks/raw_split_chunk_cache_group_test.rs rename to crates/rspack_binding_values/src/raw_options/raw_split_chunks/raw_split_chunk_cache_group_test.rs index 792a27b5ad2..51a6fca32b4 100644 --- a/crates/rspack_binding_options/src/options/raw_split_chunks/raw_split_chunk_cache_group_test.rs +++ b/crates/rspack_binding_values/src/raw_options/raw_split_chunks/raw_split_chunk_cache_group_test.rs @@ -2,11 +2,12 @@ use std::sync::Arc; use napi::bindgen_prelude::Either3; use napi_derive::napi; -use rspack_binding_values::JsModuleWrapper; use rspack_napi::threadsafe_function::ThreadsafeFunction; use rspack_plugin_split_chunks::{CacheGroupTest, CacheGroupTestFnCtx}; use rspack_regex::RspackRegex; +use crate::JsModuleWrapper; + pub(super) type RawCacheGroupTest = Either3>>; diff --git a/crates/rspack_binding_options/src/options/raw_split_chunks/raw_split_chunk_chunks.rs b/crates/rspack_binding_values/src/raw_options/raw_split_chunks/raw_split_chunk_chunks.rs similarity index 95% rename from crates/rspack_binding_options/src/options/raw_split_chunks/raw_split_chunk_chunks.rs rename to crates/rspack_binding_values/src/raw_options/raw_split_chunks/raw_split_chunk_chunks.rs index 5b5285b9f10..23f435bd066 100644 --- a/crates/rspack_binding_options/src/options/raw_split_chunks/raw_split_chunk_chunks.rs +++ b/crates/rspack_binding_values/src/raw_options/raw_split_chunks/raw_split_chunk_chunks.rs @@ -1,12 +1,13 @@ use std::sync::Arc; use napi::{bindgen_prelude::Either3, JsString}; -use rspack_binding_values::JsChunkWrapper; use rspack_collections::DatabaseItem; use rspack_napi::string::JsStringExt; use rspack_napi::threadsafe_function::ThreadsafeFunction; use rspack_regex::RspackRegex; +use crate::JsChunkWrapper; + pub type Chunks = Either3>; pub fn create_chunks_filter(raw: Chunks) -> rspack_plugin_split_chunks::ChunkFilter { diff --git a/crates/rspack_binding_options/src/options/raw_split_chunks/raw_split_chunk_name.rs b/crates/rspack_binding_values/src/raw_options/raw_split_chunks/raw_split_chunk_name.rs similarity index 96% rename from crates/rspack_binding_options/src/options/raw_split_chunks/raw_split_chunk_name.rs rename to crates/rspack_binding_values/src/raw_options/raw_split_chunks/raw_split_chunk_name.rs index 3a4948f9551..de4001ad01f 100644 --- a/crates/rspack_binding_options/src/options/raw_split_chunks/raw_split_chunk_name.rs +++ b/crates/rspack_binding_values/src/raw_options/raw_split_chunks/raw_split_chunk_name.rs @@ -2,11 +2,12 @@ use std::sync::Arc; use napi::bindgen_prelude::Either3; use napi_derive::napi; -use rspack_binding_values::{JsChunkWrapper, JsModuleWrapper}; use rspack_collections::DatabaseItem; use rspack_napi::threadsafe_function::ThreadsafeFunction; use rspack_plugin_split_chunks::{ChunkNameGetter, ChunkNameGetterFnCtx}; +use crate::{JsChunkWrapper, JsModuleWrapper}; + pub(super) type RawChunkOptionName = Either3>>; diff --git a/crates/rspack_binding_options/src/options/raw_split_chunks/raw_split_chunk_size.rs b/crates/rspack_binding_values/src/raw_options/raw_split_chunks/raw_split_chunk_size.rs similarity index 100% rename from crates/rspack_binding_options/src/options/raw_split_chunks/raw_split_chunk_size.rs rename to crates/rspack_binding_values/src/raw_options/raw_split_chunks/raw_split_chunk_size.rs diff --git a/crates/rspack_binding_options/src/options/raw_stats.rs b/crates/rspack_binding_values/src/raw_options/raw_stats.rs similarity index 100% rename from crates/rspack_binding_options/src/options/raw_stats.rs rename to crates/rspack_binding_values/src/raw_options/raw_stats.rs diff --git a/crates/rspack_tracing/src/lib.rs b/crates/rspack_tracing/src/lib.rs index bbe799e4164..6f0017529d1 100644 --- a/crates/rspack_tracing/src/lib.rs +++ b/crates/rspack_tracing/src/lib.rs @@ -67,7 +67,7 @@ fn generate_common_layers( ("rspack_node", default_level), ("rspack_plugin_javascript", default_level), ("rspack_plugin_split_chunks", default_level), - ("rspack_binding_options", default_level), + ("rspack_binding_values", default_level), ]) .boxed(), ); diff --git a/tests/webpack-test/cases/loaders/cjs-loader-type/index.js b/tests/webpack-test/cases/loaders/cjs-loader-type/index.js index 876b8ca7369..0b232811d80 100644 --- a/tests/webpack-test/cases/loaders/cjs-loader-type/index.js +++ b/tests/webpack-test/cases/loaders/cjs-loader-type/index.js @@ -10,6 +10,6 @@ it("should pass 'commonjs' type to loader for .cjs", function () { // ORIGINAL WEBPACK COMMENT: TODO otherwise this test case cause segment fault // Turned on this as rspack checks extensions for loader type. // So this will not fall into dynamic import which causes segment fault. - // See: crates/rspack_binding_options/src/plugins/js_loader/resolver.rs + // See: crates/rspack_binding_values/src/plugins/js_loader/resolver.rs expect(require("esm/loader.cjs!")).toBe("commonjs"); }); From 0e749f00a35ac0bc852cc57d03efb6c40815ad33 Mon Sep 17 00:00:00 2001 From: jinrui Date: Wed, 18 Dec 2024 17:45:10 +0800 Subject: [PATCH 02/11] feat: persistent cache expose error to compilation.diagnostic (#8765) --- crates/rspack_core/src/cache/disable.rs | 5 +- crates/rspack_core/src/cache/mod.rs | 39 ++++++------- .../rspack_core/src/cache/persistent/mod.rs | 36 ++++++------ .../persistent/occasion/make/dependencies.rs | 28 ++++------ .../cache/persistent/occasion/make/meta.rs | 22 ++++---- .../src/cache/persistent/occasion/make/mod.rs | 12 ++-- .../persistent/occasion/make/module_graph.rs | 7 ++- .../src/cache/persistent/snapshot/mod.rs | 48 ++++++++-------- .../src/cache/persistent/snapshot/strategy.rs | 56 ++++++++++++------- .../src/cache/persistent/version.rs | 19 ++++--- crates/rspack_core/src/compiler/hmr.rs | 8 ++- crates/rspack_core/src/compiler/mod.rs | 19 +++++-- 12 files changed, 167 insertions(+), 132 deletions(-) diff --git a/crates/rspack_core/src/cache/disable.rs b/crates/rspack_core/src/cache/disable.rs index ea64109c460..708e3802093 100644 --- a/crates/rspack_core/src/cache/disable.rs +++ b/crates/rspack_core/src/cache/disable.rs @@ -1,3 +1,5 @@ +use rspack_error::Result; + use super::Cache; use crate::make::MakeArtifact; @@ -9,7 +11,8 @@ pub struct DisableCache; #[async_trait::async_trait] impl Cache for DisableCache { - async fn before_make(&self, make_artifact: &mut MakeArtifact) { + async fn before_make(&self, make_artifact: &mut MakeArtifact) -> Result<()> { *make_artifact = Default::default(); + Ok(()) } } diff --git a/crates/rspack_core/src/cache/mod.rs b/crates/rspack_core/src/cache/mod.rs index d8ddb7c64d1..2e51259d06a 100644 --- a/crates/rspack_core/src/cache/mod.rs +++ b/crates/rspack_core/src/cache/mod.rs @@ -4,6 +4,7 @@ pub mod persistent; use std::{fmt::Debug, sync::Arc}; +use rspack_error::Result; use rspack_fs::{FileSystem, IntermediateFileSystem}; pub use self::{disable::DisableCache, memory::MemoryCache, persistent::PersistentCache}; @@ -23,11 +24,19 @@ use crate::{make::MakeArtifact, Compilation, CompilerOptions, ExperimentCacheOpt /// We can consider change to Hook when we need to open the API to js side. #[async_trait::async_trait] pub trait Cache: Debug + Send + Sync { - async fn before_compile(&self, _compilation: &mut Compilation) {} - fn after_compile(&self, _compilation: &Compilation) {} + async fn before_compile(&self, _compilation: &mut Compilation) -> Result<()> { + Ok(()) + } + async fn after_compile(&self, _compilation: &Compilation) -> Result<()> { + Ok(()) + } - async fn before_make(&self, _make_artifact: &mut MakeArtifact) {} - fn after_make(&self, _make_artifact: &MakeArtifact) {} + async fn before_make(&self, _make_artifact: &mut MakeArtifact) -> Result<()> { + Ok(()) + } + async fn after_make(&self, _make_artifact: &MakeArtifact) -> Result<()> { + Ok(()) + } } pub fn new_cache( @@ -39,20 +48,12 @@ pub fn new_cache( match &compiler_option.experiments.cache { ExperimentCacheOptions::Disabled => Arc::new(DisableCache), ExperimentCacheOptions::Memory => Arc::new(MemoryCache), - ExperimentCacheOptions::Persistent(option) => { - match PersistentCache::new( - compiler_path, - option, - compiler_option.clone(), - input_filesystem, - intermediate_filesystem, - ) { - Ok(cache) => Arc::new(cache), - Err(e) => { - tracing::warn!("create persistent cache failed {e:?}"); - Arc::new(MemoryCache) - } - } - } + ExperimentCacheOptions::Persistent(option) => Arc::new(PersistentCache::new( + compiler_path, + option, + compiler_option.clone(), + input_filesystem, + intermediate_filesystem, + )), } } diff --git a/crates/rspack_core/src/cache/persistent/mod.rs b/crates/rspack_core/src/cache/persistent/mod.rs index 031b0f60542..ed758d5a0a4 100644 --- a/crates/rspack_core/src/cache/persistent/mod.rs +++ b/crates/rspack_core/src/cache/persistent/mod.rs @@ -7,7 +7,8 @@ use std::{path::PathBuf, sync::Arc}; pub use cacheable_context::{CacheableContext, FromContext}; use occasion::MakeOccasion; -use rspack_fs::{FileSystem, IntermediateFileSystem, Result}; +use rspack_error::Result; +use rspack_fs::{FileSystem, IntermediateFileSystem}; use rspack_macros::rspack_version; use rspack_paths::ArcPath; use rustc_hash::FxHashSet as HashSet; @@ -42,39 +43,40 @@ impl PersistentCache { compiler_options: Arc, input_filesystem: Arc, intermediate_filesystem: Arc, - ) -> Result { + ) -> Self { let version = version::get_version( input_filesystem.clone(), &option.build_dependencies, vec![compiler_path, &option.version, rspack_version!()], - )?; + ); let storage = create_storage(option.storage.clone(), version, intermediate_filesystem); let context = Arc::new(CacheableContext { options: compiler_options, input_filesystem: input_filesystem.clone(), }); let make_occasion = MakeOccasion::new(storage.clone(), context); - Ok(Self { + Self { snapshot: Snapshot::new(option.snapshot.clone(), input_filesystem, storage.clone()), storage, make_occasion, - }) + } } } #[async_trait::async_trait] impl Cache for PersistentCache { - async fn before_compile(&self, compilation: &mut Compilation) { + async fn before_compile(&self, compilation: &mut Compilation) -> Result<()> { if compilation.modified_files.is_empty() && compilation.removed_files.is_empty() { // inject modified_files and removed_files - let (modified_paths, removed_paths) = self.snapshot.calc_modified_paths().await; + let (modified_paths, removed_paths) = self.snapshot.calc_modified_paths().await?; tracing::info!("cache::snapshot recovery {modified_paths:?} {removed_paths:?}",); compilation.modified_files = modified_paths; compilation.removed_files = removed_paths; } + Ok(()) } - fn after_compile(&self, compilation: &Compilation) { + async fn after_compile(&self, compilation: &Compilation) -> Result<()> { // TODO add a all_dependencies to collect dependencies let (_, file_added, file_removed) = compilation.file_dependencies(); let (_, context_added, context_removed) = compilation.context_dependencies(); @@ -103,24 +105,24 @@ impl Cache for PersistentCache { .remove(removed_paths.iter().map(|item| item.as_ref())); self .snapshot - .add(modified_paths.iter().map(|item| item.as_ref())); + .add(modified_paths.iter().map(|item| item.as_ref())) + .await; // TODO listen for storage finish in build mode let _ = self.storage.trigger_save(); + + Ok(()) } - async fn before_make(&self, make_artifact: &mut MakeArtifact) { + async fn before_make(&self, make_artifact: &mut MakeArtifact) -> Result<()> { if !make_artifact.initialized { - match self.make_occasion.recovery().await { - Ok(artifact) => *make_artifact = artifact, - Err(err) => { - tracing::warn!("recovery error with {err:?}") - } - } + *make_artifact = self.make_occasion.recovery().await?; } + Ok(()) } - fn after_make(&self, make_artifact: &MakeArtifact) { + async fn after_make(&self, make_artifact: &MakeArtifact) -> Result<()> { self.make_occasion.save(make_artifact); + Ok(()) } } diff --git a/crates/rspack_core/src/cache/persistent/occasion/make/dependencies.rs b/crates/rspack_core/src/cache/persistent/occasion/make/dependencies.rs index ef9367e4662..b546f928540 100644 --- a/crates/rspack_core/src/cache/persistent/occasion/make/dependencies.rs +++ b/crates/rspack_core/src/cache/persistent/occasion/make/dependencies.rs @@ -1,9 +1,8 @@ use std::sync::{Arc, Mutex}; use rayon::prelude::*; -use rspack_cacheable::{ - cacheable, from_bytes, to_bytes, with::Inline, DeserializeError, SerializeError, -}; +use rspack_cacheable::{cacheable, from_bytes, to_bytes, with::Inline}; +use rspack_error::Result; use rspack_paths::ArcPath; use rustc_hash::FxHashMap as HashMap; @@ -45,7 +44,7 @@ pub fn save_dependencies_info( missing_dependencies: &FileCounter, build_dependencies: &FileCounter, storage: &Arc, -) -> Result<(), SerializeError> { +) { let f = file_dependencies .updated_files_count_info() .map(|(path, count)| { @@ -98,37 +97,35 @@ pub fn save_dependencies_info( .chain(m) .chain(b) .par_bridge() - .try_for_each(|(dep_ref, count)| { - let dep_ref = to_bytes(&dep_ref, &())?; + .for_each(|(dep_ref, count)| { + let dep_ref = to_bytes(&dep_ref, &()).expect("should to bytes success"); if count == 0 { storage.remove(SCOPE, &dep_ref); } else { storage.set(SCOPE, dep_ref, count.to_ne_bytes().to_vec()); } - Ok(()) - }) + }); } pub async fn recovery_dependencies_info( storage: &Arc, -) -> Result<(FileCounter, FileCounter, FileCounter, FileCounter), DeserializeError> { +) -> Result<(FileCounter, FileCounter, FileCounter, FileCounter)> { let file_dep = Mutex::new(HashMap::default()); let context_dep = Mutex::new(HashMap::default()); let missing_dep = Mutex::new(HashMap::default()); let build_dep = Mutex::new(HashMap::default()); storage .load(SCOPE) - .await - .unwrap_or_default() + .await? .into_par_iter() - .try_for_each(|(k, v)| { + .for_each(|(k, v)| { let count = usize::from_ne_bytes( v.as_ref() .clone() .try_into() - .map_err(|_| DeserializeError::MessageError("deserialize count failed"))?, + .expect("should parse count success"), ); - let Dependency { r#type, path } = from_bytes(&k, &())?; + let Dependency { r#type, path } = from_bytes(&k, &()).expect("should from bytes success"); match r#type { DepType::File => file_dep .lock() @@ -147,8 +144,7 @@ pub async fn recovery_dependencies_info( .expect("should get build dep") .insert(path, count), }; - Ok(()) - })?; + }); Ok(( FileCounter::new(file_dep.into_inner().expect("into_inner should be success")), diff --git a/crates/rspack_core/src/cache/persistent/occasion/make/meta.rs b/crates/rspack_core/src/cache/persistent/occasion/make/meta.rs index 0de08dcf3ef..27822f31f26 100644 --- a/crates/rspack_core/src/cache/persistent/occasion/make/meta.rs +++ b/crates/rspack_core/src/cache/persistent/occasion/make/meta.rs @@ -1,9 +1,8 @@ use std::sync::{atomic::Ordering::Relaxed, Arc}; -use rspack_cacheable::{ - cacheable, from_bytes, to_bytes, with::Inline, DeserializeError, SerializeError, -}; +use rspack_cacheable::{cacheable, from_bytes, to_bytes, with::Inline}; use rspack_collections::IdentifierSet; +use rspack_error::Result; use rustc_hash::FxHashSet as HashSet; use super::Storage; @@ -34,23 +33,26 @@ pub fn save_meta( make_failed_dependencies: &HashSet, make_failed_module: &IdentifierSet, storage: &Arc, -) -> Result<(), SerializeError> { +) { let meta = MetaRef { make_failed_dependencies, make_failed_module, next_dependencies_id: DEPENDENCY_ID.load(Relaxed), }; - storage.set(SCOPE, "default".as_bytes().to_vec(), to_bytes(&meta, &())?); - Ok(()) + storage.set( + SCOPE, + "default".as_bytes().to_vec(), + to_bytes(&meta, &()).expect("should to bytes success"), + ); } pub async fn recovery_meta( storage: &Arc, -) -> Result<(HashSet, IdentifierSet), DeserializeError> { - let Some((_, value)) = storage.load(SCOPE).await.unwrap_or_default().pop() else { - return Err(DeserializeError::MessageError("can not get meta data")); +) -> Result<(HashSet, IdentifierSet)> { + let Some((_, value)) = storage.load(SCOPE).await?.pop() else { + return Ok(Default::default()); }; - let meta: Meta = from_bytes(&value, &())?; + let meta: Meta = from_bytes(&value, &()).expect("should from bytes success"); // TODO make dependency id to string like module id if DEPENDENCY_ID.load(Relaxed) < meta.next_dependencies_id { DEPENDENCY_ID.store(meta.next_dependencies_id, Relaxed); diff --git a/crates/rspack_core/src/cache/persistent/occasion/make/mod.rs b/crates/rspack_core/src/cache/persistent/occasion/make/mod.rs index c272559f8a9..ac1e4336494 100644 --- a/crates/rspack_core/src/cache/persistent/occasion/make/mod.rs +++ b/crates/rspack_core/src/cache/persistent/occasion/make/mod.rs @@ -4,7 +4,7 @@ mod module_graph; use std::sync::Arc; -use rspack_cacheable::DeserializeError; +use rspack_error::Result; use super::super::{cacheable_context::CacheableContext, Storage}; use crate::make::MakeArtifact; @@ -48,8 +48,7 @@ impl MakeOccasion { missing_dependencies, build_dependencies, &self.storage, - ) - .expect("should save dependencies success"); + ); module_graph::save_module_graph( module_graph_partial, @@ -59,14 +58,15 @@ impl MakeOccasion { &self.context, ); - meta::save_meta(make_failed_dependencies, make_failed_module, &self.storage) - .expect("should save make meta"); + meta::save_meta(make_failed_dependencies, make_failed_module, &self.storage); } #[tracing::instrument(name = "MakeOccasion::recovery", skip_all)] - pub async fn recovery(&self) -> Result { + pub async fn recovery(&self) -> Result { let mut artifact = MakeArtifact::default(); + // TODO can call recovery with multi thread + // TODO return DeserializeError not panic let (file_dependencies, context_dependencies, missing_dependencies, build_dependencies) = dependencies::recovery_dependencies_info(&self.storage).await?; artifact.file_dependencies = file_dependencies; diff --git a/crates/rspack_core/src/cache/persistent/occasion/make/module_graph.rs b/crates/rspack_core/src/cache/persistent/occasion/make/module_graph.rs index bb734303ffc..d5a9b3f40d3 100644 --- a/crates/rspack_core/src/cache/persistent/occasion/make/module_graph.rs +++ b/crates/rspack_core/src/cache/persistent/occasion/make/module_graph.rs @@ -4,9 +4,10 @@ use rayon::prelude::*; use rspack_cacheable::{ cacheable, from_bytes, to_bytes, with::{AsOption, AsTuple2, AsVec, Inline}, - DeserializeError, SerializeError, + SerializeError, }; use rspack_collections::IdentifierSet; +use rspack_error::Result; use rustc_hash::FxHashSet as HashSet; use super::Storage; @@ -125,11 +126,11 @@ pub fn save_module_graph( pub async fn recovery_module_graph( storage: &Arc, context: &CacheableContext, -) -> Result<(ModuleGraphPartial, HashSet), DeserializeError> { +) -> Result<(ModuleGraphPartial, HashSet)> { let mut need_check_dep = vec![]; let mut partial = ModuleGraphPartial::default(); let mut mg = ModuleGraph::new(vec![], Some(&mut partial)); - for (_, v) in storage.load(SCOPE).await.unwrap_or_default() { + for (_, v) in storage.load(SCOPE).await? { let mut node: Node = from_bytes(&v, context).expect("unexpected module graph deserialize failed"); for (dep, parent_block) in node.dependencies { diff --git a/crates/rspack_core/src/cache/persistent/snapshot/mod.rs b/crates/rspack_core/src/cache/persistent/snapshot/mod.rs index d0d3e353496..994ecf6d266 100644 --- a/crates/rspack_core/src/cache/persistent/snapshot/mod.rs +++ b/crates/rspack_core/src/cache/persistent/snapshot/mod.rs @@ -4,6 +4,7 @@ mod strategy; use std::{path::Path, sync::Arc}; use rspack_cacheable::{from_bytes, to_bytes}; +use rspack_error::Result; use rspack_fs::FileSystem; use rspack_paths::{ArcPath, AssertUtf8}; use rustc_hash::FxHashSet as HashSet; @@ -21,15 +22,10 @@ const SCOPE: &str = "snapshot"; #[derive(Debug)] pub struct Snapshot { options: SnapshotOptions, - // TODO - // 1. update compiler.input_file_system to async file system - // 2. update this fs to AsyncReadableFileSystem - // 3. update add/calc_modified_files to async fn fs: Arc, storage: Arc, } -// TODO remove all of `.expect()` to return error impl Snapshot { pub fn new(options: SnapshotOptions, fs: Arc, storage: Arc) -> Self { Self { @@ -39,24 +35,24 @@ impl Snapshot { } } - pub fn add(&self, paths: impl Iterator) { + pub async fn add(&self, paths: impl Iterator) { let default_strategy = StrategyHelper::compile_time(); let mut helper = StrategyHelper::new(self.fs.clone()); // TODO use multi thread // TODO merge package version file for path in paths { - // TODO check path exists let utf8_path = path.assert_utf8(); + // check path exists if self.fs.metadata(utf8_path).is_err() { continue; } - // TODO directory check all sub file + // TODO directory path should check all sub file let path_str = utf8_path.as_str(); if self.options.is_immutable_path(path_str) { continue; } if self.options.is_managed_path(path_str) { - if let Some(v) = helper.package_version(path) { + if let Some(v) = helper.package_version(path).await { self.storage.set( SCOPE, path.as_os_str().as_encoded_bytes().to_vec(), @@ -82,17 +78,17 @@ impl Snapshot { } } - pub async fn calc_modified_paths(&self) -> (HashSet, HashSet) { + pub async fn calc_modified_paths(&self) -> Result<(HashSet, HashSet)> { let mut helper = StrategyHelper::new(self.fs.clone()); let mut modified_path = HashSet::default(); let mut deleted_path = HashSet::default(); // TODO use multi thread - for (key, value) in self.storage.load(SCOPE).await.unwrap_or_default() { + for (key, value) in self.storage.load(SCOPE).await? { let path: ArcPath = Path::new(&*String::from_utf8_lossy(&key)).into(); let strategy: Strategy = from_bytes::(&value, &()).expect("should from bytes success"); - match helper.validate(&path, &strategy) { + match helper.validate(&path, &strategy).await { ValidateResult::Modified => { modified_path.insert(path); } @@ -102,7 +98,7 @@ impl Snapshot { ValidateResult::NoChanged => {} } } - (modified_path, deleted_path) + Ok((modified_path, deleted_path)) } } @@ -160,15 +156,17 @@ mod tests { let snapshot = Snapshot::new(options, fs.clone(), storage); - snapshot.add( - [ - p!("/file1"), - p!("/constant"), - p!("/node_modules/project/file1"), - p!("/node_modules/lib/file1"), - ] - .into_iter(), - ); + snapshot + .add( + [ + p!("/file1"), + p!("/constant"), + p!("/node_modules/project/file1"), + p!("/node_modules/lib/file1"), + ] + .into_iter(), + ) + .await; std::thread::sleep(std::time::Duration::from_millis(100)); fs.write("/file1".into(), "abcd".as_bytes()).await.unwrap(); fs.write("/constant".into(), "abcd".as_bytes()) @@ -181,7 +179,7 @@ mod tests { .await .unwrap(); - let (modified_paths, deleted_paths) = snapshot.calc_modified_paths().await; + let (modified_paths, deleted_paths) = snapshot.calc_modified_paths().await.unwrap(); assert!(deleted_paths.is_empty()); assert!(!modified_paths.contains(p!("/constant"))); assert!(modified_paths.contains(p!("/file1"))); @@ -194,8 +192,8 @@ mod tests { ) .await .unwrap(); - snapshot.add([p!("/file1")].into_iter()); - let (modified_paths, deleted_paths) = snapshot.calc_modified_paths().await; + snapshot.add([p!("/file1")].into_iter()).await; + let (modified_paths, deleted_paths) = snapshot.calc_modified_paths().await.unwrap(); assert!(deleted_paths.is_empty()); assert!(!modified_paths.contains(p!("/constant"))); assert!(!modified_paths.contains(p!("/file1"))); diff --git a/crates/rspack_core/src/cache/persistent/snapshot/strategy.rs b/crates/rspack_core/src/cache/persistent/snapshot/strategy.rs index 26a1b78d926..317e765d711 100644 --- a/crates/rspack_core/src/cache/persistent/snapshot/strategy.rs +++ b/crates/rspack_core/src/cache/persistent/snapshot/strategy.rs @@ -50,8 +50,8 @@ impl StrategyHelper { } /// get path file modified time - fn modified_time(&self, path: &Path) -> Option { - if let Ok(info) = self.fs.metadata(path.assert_utf8()) { + async fn modified_time(&self, path: &Path) -> Option { + if let Ok(info) = self.fs.stat(path.assert_utf8()).await { Some(info.mtime_ms) } else { None @@ -59,13 +59,18 @@ impl StrategyHelper { } /// get path file version in package.json - fn package_version_with_cache(&mut self, path: &Path) -> Option { + #[async_recursion::async_recursion] + async fn package_version_with_cache(&mut self, path: &Path) -> Option { if let Some(version) = self.package_version_cache.get(path) { return version.clone(); } let mut res = None; - if let Ok(content) = self.fs.read(&path.join("package.json").assert_utf8()) { + if let Ok(content) = self + .fs + .async_read(&path.join("package.json").assert_utf8()) + .await + { if let Ok(mut package_json) = serde_json::from_slice::>(&content) { @@ -77,7 +82,7 @@ impl StrategyHelper { if res.is_none() { if let Some(p) = path.parent() { - res = self.package_version_with_cache(p); + res = self.package_version_with_cache(p).await; } } @@ -94,17 +99,18 @@ impl StrategyHelper { Strategy::CompileTime(now) } /// get path file package version strategy - pub fn package_version(&mut self, path: &Path) -> Option { + pub async fn package_version(&mut self, path: &Path) -> Option { self .package_version_with_cache(path) + .await .map(Strategy::PackageVersion) } /// validate path file by target strategy - pub fn validate(&mut self, path: &Path, strategy: &Strategy) -> ValidateResult { + pub async fn validate(&mut self, path: &Path, strategy: &Strategy) -> ValidateResult { match strategy { Strategy::PackageVersion(version) => { - if let Some(ref cur_version) = self.package_version_with_cache(path) { + if let Some(ref cur_version) = self.package_version_with_cache(path).await { if cur_version == version { ValidateResult::NoChanged } else { @@ -115,7 +121,7 @@ impl StrategyHelper { } } Strategy::CompileTime(compile_time) => { - if let Some(ref modified_time) = self.modified_time(path) { + if let Some(ref modified_time) = self.modified_time(path).await { if modified_time > compile_time { ValidateResult::Modified } else { @@ -169,87 +175,99 @@ mod tests { let mut helper = StrategyHelper::new(fs.clone()); // modified_time assert_eq!( - helper.modified_time(Path::new("/file1")), + helper.modified_time(Path::new("/file1")).await, Some(fs.metadata("/file1".into()).unwrap().mtime_ms) ); - assert!(helper.modified_time(Path::new("/file2")).is_none()); + assert!(helper.modified_time(Path::new("/file2")).await.is_none()); // package_version_with_cache assert_eq!( helper .package_version_with_cache(Path::new("/packages/p1/file")) + .await .unwrap(), "1.0.0" ); assert_eq!( helper .package_version_with_cache(Path::new("/packages/p2/file")) + .await .unwrap(), "1.1.0" ); assert_eq!( helper .package_version_with_cache(Path::new("/packages/p2/dir1/dir2/dir3/file")) + .await .unwrap(), "1.1.0" ); assert!(helper .package_version_with_cache(Path::new("/file1")) + .await .is_none()); assert!(helper .package_version_with_cache(Path::new("/file2")) + .await .is_none()); // package_version assert_eq!( helper .package_version(Path::new("/packages/p1/file")) + .await .unwrap(), Strategy::PackageVersion("1.0.0".into()) ); assert_eq!( helper .package_version(Path::new("/packages/p2/file")) + .await .unwrap(), Strategy::PackageVersion("1.1.0".into()) ); assert_eq!( helper .package_version(Path::new("/packages/p2/dir1/dir2/dir3/file")) + .await .unwrap(), Strategy::PackageVersion("1.1.0".into()) ); - assert!(helper.package_version(Path::new("/file1")).is_none()); - assert!(helper.package_version(Path::new("/file2")).is_none()); + assert!(helper.package_version(Path::new("/file1")).await.is_none()); + assert!(helper.package_version(Path::new("/file2")).await.is_none()); // validate let now = StrategyHelper::compile_time(); assert!(matches!( - helper.validate(Path::new("/file1"), &now), + helper.validate(Path::new("/file1"), &now).await, ValidateResult::NoChanged )); std::thread::sleep(std::time::Duration::from_millis(100)); fs.write("/file1".into(), "abcd".as_bytes()).await.unwrap(); assert!(matches!( - helper.validate(Path::new("/file1"), &now), + helper.validate(Path::new("/file1"), &now).await, ValidateResult::Modified )); assert!(matches!( - helper.validate(Path::new("/file2"), &now), + helper.validate(Path::new("/file2"), &now).await, ValidateResult::Deleted )); let version = Strategy::PackageVersion("1.0.0".into()); assert!(matches!( - helper.validate(Path::new("/packages/p1/file1"), &version), + helper + .validate(Path::new("/packages/p1/file1"), &version) + .await, ValidateResult::NoChanged )); assert!(matches!( - helper.validate(Path::new("/packages/p2/file1"), &version), + helper + .validate(Path::new("/packages/p2/file1"), &version) + .await, ValidateResult::Modified )); assert!(matches!( - helper.validate(Path::new("/file2"), &version), + helper.validate(Path::new("/file2"), &version).await, ValidateResult::Deleted )); } diff --git a/crates/rspack_core/src/cache/persistent/version.rs b/crates/rspack_core/src/cache/persistent/version.rs index 5ea7aa79123..0f8938b1252 100644 --- a/crates/rspack_core/src/cache/persistent/version.rs +++ b/crates/rspack_core/src/cache/persistent/version.rs @@ -2,27 +2,28 @@ use std::hash::{DefaultHasher, Hash, Hasher}; use std::path::PathBuf; use std::sync::Arc; -use rspack_fs::{Error, FileSystem, Result}; +use rspack_fs::FileSystem; use rspack_paths::AssertUtf8; pub fn get_version( fs: Arc, dependencies: &Vec, salt: Vec<&str>, -) -> Result { +) -> String { let mut hasher = DefaultHasher::new(); for dep in dependencies { let path = dep.clone().assert_utf8(); - let meta = fs.metadata(&path)?; + let meta = fs + .metadata(&path) + .unwrap_or_else(|_| panic!("Failed to get buildDependency({path}) metadata info.")); if !meta.is_file { - return Err(Error::Io(std::io::Error::new( - std::io::ErrorKind::Other, - format!("{path:?} is not a file"), - ))); + panic!("buildDependency({path}) is not a file."); } - let bytes = fs.read(&path)?; + let bytes = fs + .read(&path) + .unwrap_or_else(|_| panic!("Failed to read buildDependency({path}) content.")); bytes.hash(&mut hasher); } salt.hash(&mut hasher); - Ok(hex::encode(hasher.finish().to_ne_bytes())) + hex::encode(hasher.finish().to_ne_bytes()) } diff --git a/crates/rspack_core/src/compiler/hmr.rs b/crates/rspack_core/src/compiler/hmr.rs index 468cb036f2e..503989eaf02 100644 --- a/crates/rspack_core/src/compiler/hmr.rs +++ b/crates/rspack_core/src/compiler/hmr.rs @@ -181,14 +181,18 @@ impl Compiler { // Update `compilation` for each rebuild. // Make sure `thisCompilation` hook was called before any other hooks that leverage `JsCompilation`. fast_set(&mut self.compilation, new_compilation); - self.cache.before_compile(&mut self.compilation).await; + if let Err(err) = self.cache.before_compile(&mut self.compilation).await { + self.compilation.push_diagnostic(err.into()); + } self.compile().await?; self.old_cache.begin_idle(); } self.compile_done().await?; - self.cache.after_compile(&self.compilation); + if let Err(err) = self.cache.after_compile(&self.compilation).await { + self.compilation.push_diagnostic(err.into()); + } Ok(()) } diff --git a/crates/rspack_core/src/compiler/mod.rs b/crates/rspack_core/src/compiler/mod.rs index 230bebf328d..c5dc2642121 100644 --- a/crates/rspack_core/src/compiler/mod.rs +++ b/crates/rspack_core/src/compiler/mod.rs @@ -185,12 +185,16 @@ impl Compiler { self.output_filesystem.clone(), ), ); - self.cache.before_compile(&mut self.compilation).await; + if let Err(err) = self.cache.before_compile(&mut self.compilation).await { + self.compilation.push_diagnostic(err.into()); + } self.compile().await?; self.old_cache.begin_idle(); self.compile_done().await?; - self.cache.after_compile(&self.compilation); + if let Err(err) = self.cache.after_compile(&self.compilation).await { + self.compilation.push_diagnostic(err.into()); + } Ok(()) } @@ -218,10 +222,13 @@ impl Compiler { let logger = self.compilation.get_logger("rspack.Compiler"); let make_start = logger.time("make"); let make_hook_start = logger.time("make hook"); - self + if let Err(err) = self .cache .before_make(&mut self.compilation.make_artifact) - .await; + .await + { + self.compilation.push_diagnostic(err.into()); + } if let Some(e) = self .plugin_driver .compiler_hooks @@ -247,7 +254,9 @@ impl Compiler { let start = logger.time("finish compilation"); self.compilation.finish(self.plugin_driver.clone()).await?; - self.cache.after_make(&self.compilation.make_artifact); + if let Err(err) = self.cache.after_make(&self.compilation.make_artifact).await { + self.compilation.push_diagnostic(err.into()); + } logger.time_end(start); let start = logger.time("seal compilation"); self.compilation.seal(self.plugin_driver.clone()).await?; From 22f3bb012f9a847952766a5d0a524fb8460c3cd6 Mon Sep 17 00:00:00 2001 From: Hana Date: Thu, 19 Dec 2024 18:03:56 +0800 Subject: [PATCH 03/11] ci: use ubuntu-22.04 (#8776) --- .github/workflows/ci.yml | 2 +- .github/workflows/get-runner-labels.yml | 3 ++- .github/workflows/reusable-build.yml | 2 ++ 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0b59b261336..454ca55d450 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -62,7 +62,7 @@ jobs: with: target: x86_64-unknown-linux-gnu profile: "debug" - native: ${{ needs.get-runner-labels.outputs.LINUX_RUNNER_LABELS == '"ubuntu-latest"' }} + native: ${{ needs.get-runner-labels.outputs.LINUX_RUNNER_LABELS == '"ubuntu-22.04"' }} runner: ${{ needs.get-runner-labels.outputs.LINUX_RUNNER_LABELS }} skipable: ${{ needs.check-changed.outputs.changed != 'true' }} diff --git a/.github/workflows/get-runner-labels.yml b/.github/workflows/get-runner-labels.yml index 1e9b9f5545e..db2ca62b3bd 100644 --- a/.github/workflows/get-runner-labels.yml +++ b/.github/workflows/get-runner-labels.yml @@ -37,8 +37,9 @@ jobs: WINDOWS_RUNNER_LABELS='${{ vars.WINDOWS_RUNNER_LABELS }}'; fi # set default value + # use ubuntu 22.04 to be compatible with playwright docker if [[ -z "$LINUX_RUNNER_LABELS" ]]; then - LINUX_RUNNER_LABELS='"ubuntu-latest"'; + LINUX_RUNNER_LABELS='"ubuntu-22.04"'; fi if [[ -z "$MACOS_RUNNER_LABELS" ]]; then MACOS_RUNNER_LABELS='"macos-latest"'; diff --git a/.github/workflows/reusable-build.yml b/.github/workflows/reusable-build.yml index 22d2025b248..ee656fb155b 100644 --- a/.github/workflows/reusable-build.yml +++ b/.github/workflows/reusable-build.yml @@ -270,6 +270,8 @@ jobs: - name: Run e2e uses: ./.github/actions/docker-run with: + # Jammy uses ubuntu 22.04 + # If this is to change, make sure to upgrade the ubuntu version in GitHub Actions image: mcr.microsoft.com/playwright:v1.47.0-jammy # .cache is required by download artifact, and mount in ./.github/actions/docker-run # .tool_cache is required by pnpm From 292f72881c9aefeac901ae84104cf3335e1e5bf7 Mon Sep 17 00:00:00 2001 From: jinrui Date: Thu, 19 Dec 2024 20:52:39 +0800 Subject: [PATCH 04/11] feat: persistent cache in production mode wait for save to complete (#8777) --- crates/rspack_core/src/cache/persistent/mod.rs | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/crates/rspack_core/src/cache/persistent/mod.rs b/crates/rspack_core/src/cache/persistent/mod.rs index ed758d5a0a4..f7598d0682f 100644 --- a/crates/rspack_core/src/cache/persistent/mod.rs +++ b/crates/rspack_core/src/cache/persistent/mod.rs @@ -34,6 +34,7 @@ pub struct PersistentCache { storage: Arc, snapshot: Snapshot, make_occasion: MakeOccasion, + async_mode: bool, } impl PersistentCache { @@ -44,6 +45,7 @@ impl PersistentCache { input_filesystem: Arc, intermediate_filesystem: Arc, ) -> Self { + let async_mode = compiler_options.mode.is_development(); let version = version::get_version( input_filesystem.clone(), &option.build_dependencies, @@ -59,6 +61,7 @@ impl PersistentCache { snapshot: Snapshot::new(option.snapshot.clone(), input_filesystem, storage.clone()), storage, make_occasion, + async_mode, } } } @@ -108,8 +111,17 @@ impl Cache for PersistentCache { .add(modified_paths.iter().map(|item| item.as_ref())) .await; - // TODO listen for storage finish in build mode - let _ = self.storage.trigger_save(); + let rx = self.storage.trigger_save()?; + if self.async_mode { + tokio::spawn(async { + if let Err(err) = rx.await.expect("should receive message") { + // TODO use infra structure logger to println + println!("persistent cache save failed. {err}"); + } + }); + } else { + rx.await.expect("should receive message")?; + } Ok(()) } From 8a4e1e7419806b60c5afaa4d6619c91a2abb79b3 Mon Sep 17 00:00:00 2001 From: hardfist Date: Thu, 19 Dec 2024 22:11:16 +0800 Subject: [PATCH 05/11] chore: remove all unnecessary workflow (#8783) --- .github/auto_assign.yml | 2 - .github/workflows/auto-assign.yaml | 10 -- .github/workflows/bench.yml | 83 --------------- .github/workflows/diff.yml.bak | 120 ---------------------- .github/workflows/get-runner-labels.yml | 2 +- .github/workflows/github-issue-sync.yml | 33 ------ .github/workflows/issue-mark-assignee.yml | 22 ---- 7 files changed, 1 insertion(+), 271 deletions(-) delete mode 100644 .github/auto_assign.yml delete mode 100644 .github/workflows/auto-assign.yaml delete mode 100644 .github/workflows/bench.yml delete mode 100644 .github/workflows/diff.yml.bak delete mode 100644 .github/workflows/github-issue-sync.yml delete mode 100644 .github/workflows/issue-mark-assignee.yml diff --git a/.github/auto_assign.yml b/.github/auto_assign.yml deleted file mode 100644 index 47cb6468732..00000000000 --- a/.github/auto_assign.yml +++ /dev/null @@ -1,2 +0,0 @@ -# Set to author to add assignees to pull requests -addAssignees: author diff --git a/.github/workflows/auto-assign.yaml b/.github/workflows/auto-assign.yaml deleted file mode 100644 index 1be7b11f6ec..00000000000 --- a/.github/workflows/auto-assign.yaml +++ /dev/null @@ -1,10 +0,0 @@ -name: "Auto Assign" -on: - pull_request: - types: [opened, ready_for_review] - -jobs: - add-reviews: - runs-on: ubuntu-latest - steps: - - uses: kentaro-m/auto-assign-action@v2.0.0 diff --git a/.github/workflows/bench.yml b/.github/workflows/bench.yml deleted file mode 100644 index 64424814e61..00000000000 --- a/.github/workflows/bench.yml +++ /dev/null @@ -1,83 +0,0 @@ -name: Benchmark - -on: - issue_comment: - types: [created] - -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }} - cancel-in-progress: ${{ github.ref_name != 'main' }} - -jobs: - trigger: - runs-on: ubuntu-latest - if: github.event.issue.pull_request && startsWith(github.event.comment.body, '!bench') - steps: - - uses: actions/github-script@v7 - with: - script: | - const user = context.payload.sender.login - console.log(`Validate user: ${user}`) - - let hasTriagePermission = false - try { - const { data } = await github.rest.repos.getCollaboratorPermissionLevel({ - owner: context.repo.owner, - repo: context.repo.repo, - username: user, - }); - hasTriagePermission = data.user.permissions.triage - } catch (e) { - console.warn(e) - } - - if (hasTriagePermission) { - console.log('Allowed') - await github.rest.reactions.createForIssueComment({ - owner: context.repo.owner, - repo: context.repo.repo, - comment_id: context.payload.comment.id, - content: '+1', - }) - } else { - console.log('Not allowed') - await github.rest.reactions.createForIssueComment({ - owner: context.repo.owner, - repo: context.repo.repo, - comment_id: context.payload.comment.id, - content: '-1', - }) - throw new Error('not allowed') - } - - uses: actions/github-script@v7 - id: get-pr-data - with: - script: | - console.log(`Get PR info: ${context.repo.owner}/${context.repo.repo}#${context.issue.number}`) - const { data: pr } = await github.rest.pulls.get({ - owner: context.repo.owner, - repo: context.repo.repo, - pull_number: context.issue.number - }) - return { - num: context.issue.number, - branchName: pr.head.ref, - repo: pr.head.repo.full_name - } - - uses: actions/github-script@v7 - id: trigger - with: - github-token: ${{ secrets.RSPACK_BOT_ACCESS_TOKEN }} - result-encoding: string - script: | - const prData = ${{ steps.get-pr-data.outputs.result }} - - await github.rest.actions.createWorkflowDispatch({ - owner: context.repo.owner, - repo: 'rspack-ecosystem-benchmark', - workflow_id: 'bench_rspack_pr.yml', - ref: 'main', - inputs: { - prNumber: '' + prData.num - } - }) diff --git a/.github/workflows/diff.yml.bak b/.github/workflows/diff.yml.bak deleted file mode 100644 index f6c3922fe94..00000000000 --- a/.github/workflows/diff.yml.bak +++ /dev/null @@ -1,120 +0,0 @@ -# Diff assets comment with "!diff" - -name: Diff Assets - -on: - pull_request_review_comment: - types: [created] - issue_comment: - types: [created] - -jobs: - get-runner-labels: - name: Get Runner Labels - uses: ./.github/workflows/get-runner-labels.yml - - build: - name: Build - needs: [get-runner-labels] - if: (github.event_name == 'issue_comment' || github.event_name == 'pull_request_review_comment') && contains(github.event.comment.body, '!diff') - strategy: - matrix: - array: - - target: x86_64-unknown-linux-gnu # For Cloud IDE - runner: ${{ needs.get-runner-labels.outputs.LINUX_RUNNER_LABELS }} - uses: ./.github/workflows/reusable-build.yml - with: - profile: "debug" - ref: refs/pull/${{ github.event.issue.number || github.event.pull_request.number }}/merge - target: ${{ matrix.array.target }} - runner: ${{ matrix.array.runner }} - test: false - - diff: - name: Diff Assets - needs: [build, get-runner-labels] - runs-on: ${{ fromJSON(needs.get-runner-labels.outputs.LINUX_RUNNER_LABELS) }} - steps: - - name: Checkout Branch - uses: actions/checkout@v4 - with: - fetch-depth: 1 - ref: refs/pull/${{ github.event.issue.number || github.event.pull_request.number }}/merge - - - name: Pnpm Cache - uses: ./.github/actions/pnpm-cache - - - name: Download bindings - uses: ./.github/actions/download-artifact - with: - name: bindings-x86_64-unknown-linux-gnu - path: crates/node_binding/ - try-local-cache: true - link-when-local: true - - - name: Build node packages - run: pnpm run build:js - - - name: Run Diff - run: node scripts/diff.cjs - - - name: Upload Report - shell: bash - env: - API_TOKEN_GITHUB: ${{ secrets.RSPACK_ACCESS_TOKEN }} - run: | - cache_dir="$HOME/.cache/diff_upload" - clone_dir="$cache_dir/${{ github.run_id }}" - - # Cleaning history upload cache - if [ -d $cache_dir ] - then - find $cache_dir -type d -maxdepth 1 -mindepth 1 -cmin +180 | xargs rm -rf - fi - - # Cloning into dest directory - mkdir -p $clone_dir - git config --global user.email "lingyucoder@gmail.com" - git config --global user.name "LingyuCoder" - git clone --single-branch --branch main "https://x-access-token:$API_TOKEN_GITHUB@github.com/web-infra-dev/rspack-report-website.git" $clone_dir - - # Copying content into dest repo - dest_dir="$clone_dir/diff/${{ github.run_id }}" - cp -R diff_output/. $dest_dir - - # Committing and pushing - cd $clone_dir - - current_time=$(date +%s) - gap=$((30 * 24 * 60 * 60)) - for cur_dir in ./diff/* ; do - create_time=$(git log --follow --format="%at" --date default $cur_dir | tail -1) - diff=$(($current_time - $create_time)) - if [ $diff -gt $gap ]; then - echo "Remove $cur_dir because it is older than a month" - rm -rf $cur_dir - fi - done - - commit_message="Update from https://github.com/web-infra-dev/rspack/commit/${{ github.sha }}" - git add . - if LC_ALL=C git status | grep -q "Changes to be committed" - then - git commit --message "$commit_message" - git push -u origin HEAD:main - else - echo "No changes detected" - fi - - # Cleaning upload cache - if [ -d $clone_dir ] - then - rm -rf $clone_dir - fi - - - name: Write a new comment - uses: peter-evans/create-or-update-comment@v4 - continue-on-error: true - with: - issue-number: ${{ github.event.issue.number || github.event.pull_request.number }} - body-path: 'diff_output/stats.md' diff --git a/.github/workflows/get-runner-labels.yml b/.github/workflows/get-runner-labels.yml index db2ca62b3bd..ba231579820 100644 --- a/.github/workflows/get-runner-labels.yml +++ b/.github/workflows/get-runner-labels.yml @@ -22,7 +22,7 @@ on: jobs: main: name: Get Runner Labels - runs-on: [self-hosted, Linux, ci] + runs-on: [ubuntu-22.04] outputs: LINUX_RUNNER_LABELS: ${{ steps.run.outputs.LINUX_RUNNER_LABELS }} MACOS_RUNNER_LABELS: ${{ steps.run.outputs.MACOS_RUNNER_LABELS }} diff --git a/.github/workflows/github-issue-sync.yml b/.github/workflows/github-issue-sync.yml deleted file mode 100644 index cf70d25fea9..00000000000 --- a/.github/workflows/github-issue-sync.yml +++ /dev/null @@ -1,33 +0,0 @@ -name: GitHub Issue Sync -on: - workflow_dispatch: - inputs: - excludeClosed: - description: "Exclude closed issues in the sync." - type: boolean - default: true - -jobs: - sync: - runs-on: ubuntu-latest - steps: - - name: Sync issues - uses: paritytech/github-issue-sync@v0.3.2 - with: - # This token is autogenerated by GitHub - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - # This is a Personal Access Token and it needs to have the following permissions - # - "read:org": used to read the project's board - # - "write:org": used to assign issues to the project's board - PROJECT_TOKEN: ${{ secrets.RSPACK_ACCESS_TOKEN }} - # The number of the project which the issues will be synced to - # You can find this in https://github.com/orgs/@ORGANIZATION/projects/ - project: 12 - # Optional, the project field to modify with a new value - # Found more in https://docs.github.com/en/issues/planning-and-tracking-with-projects/understanding-fields/about-single-select-fields - project_field: Status - # Optional unless that project_field was set up. Then this field is required. - # The value to modify in the project field - project_value: 🆕 New - # Optional, labels to work with. Read below to see how to configure it. - # If this value is set, the action will be applied only to issues with such label(s). diff --git a/.github/workflows/issue-mark-assignee.yml b/.github/workflows/issue-mark-assignee.yml deleted file mode 100644 index b351e9fcb8d..00000000000 --- a/.github/workflows/issue-mark-assignee.yml +++ /dev/null @@ -1,22 +0,0 @@ -name: Issue Mark Assignee - -on: - issue_comment: - types: [created, edited] - -permissions: - contents: read - -jobs: - issue-mark-assign: - permissions: - issues: write - runs-on: ubuntu-latest - if: github.repository_owner == 'web-infra-dev' - steps: - - name: mark assignee - uses: actions-cool/issues-helper@v3 - with: - actions: "mark-assignees" - token: ${{ secrets.GITHUB_TOKEN }} - require-permission: "none" From d174ed6f66e651becad8ab18be3f27feb77bfbcd Mon Sep 17 00:00:00 2001 From: neverland Date: Fri, 20 Dec 2024 00:24:09 +0800 Subject: [PATCH 06/11] chore: remove issue_comment trigger from CI (#8784) chore(CI): remove issue_comment trigger --- .github/workflows/ecosystem-ci-trigger.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ecosystem-ci-trigger.yml b/.github/workflows/ecosystem-ci-trigger.yml index 2a43b34d517..7b74bf81a7b 100644 --- a/.github/workflows/ecosystem-ci-trigger.yml +++ b/.github/workflows/ecosystem-ci-trigger.yml @@ -1,8 +1,7 @@ name: ecosystem-ci trigger -on: - issue_comment: - types: [created] +# TODO: switch to workflow_dispatch +# on: jobs: trigger: From d476fda95524400158a4b4484c9255abfc6e18e8 Mon Sep 17 00:00:00 2001 From: Fy <1114550440@qq.com> Date: Fri, 20 Dec 2024 10:27:41 +0800 Subject: [PATCH 07/11] feat: split big chunks based on modules path similarities (#8775) --- .../rspack_plugin_split_chunks/src/common.rs | 4 + .../src/plugin/max_size.rs | 114 ++- .../max-size-split/rspack.config.js | 22 + .../max-size-split/src/aaa/50k-1.js | 726 ++++++++++++++++++ .../max-size-split/src/aaa/50k-2.js | 726 ++++++++++++++++++ .../max-size-split/src/aaa/50k-3.js | 726 ++++++++++++++++++ .../max-size-split/src/aaa/50k-4.js | 726 ++++++++++++++++++ .../max-size-split/src/bbb/50k-1.js | 726 ++++++++++++++++++ .../max-size-split/src/bbb/50k-2.js | 726 ++++++++++++++++++ .../max-size-split/src/bbb/50k-3.js | 726 ++++++++++++++++++ .../max-size-split/src/bbb/50k-4.js | 726 ++++++++++++++++++ .../max-size-split/src/ccc/50k-1.js | 726 ++++++++++++++++++ .../max-size-split/src/ccc/50k-2.js | 726 ++++++++++++++++++ .../max-size-split/src/ccc/50k-3.js | 726 ++++++++++++++++++ .../max-size-split/src/ccc/50k-4.js | 726 ++++++++++++++++++ .../split-chunks/max-size-split/src/index.js | 10 + .../max-size-split/test.config.js | 7 + 17 files changed, 8847 insertions(+), 22 deletions(-) create mode 100644 packages/rspack-test-tools/tests/configCases/split-chunks/max-size-split/rspack.config.js create mode 100644 packages/rspack-test-tools/tests/configCases/split-chunks/max-size-split/src/aaa/50k-1.js create mode 100644 packages/rspack-test-tools/tests/configCases/split-chunks/max-size-split/src/aaa/50k-2.js create mode 100644 packages/rspack-test-tools/tests/configCases/split-chunks/max-size-split/src/aaa/50k-3.js create mode 100644 packages/rspack-test-tools/tests/configCases/split-chunks/max-size-split/src/aaa/50k-4.js create mode 100644 packages/rspack-test-tools/tests/configCases/split-chunks/max-size-split/src/bbb/50k-1.js create mode 100644 packages/rspack-test-tools/tests/configCases/split-chunks/max-size-split/src/bbb/50k-2.js create mode 100644 packages/rspack-test-tools/tests/configCases/split-chunks/max-size-split/src/bbb/50k-3.js create mode 100644 packages/rspack-test-tools/tests/configCases/split-chunks/max-size-split/src/bbb/50k-4.js create mode 100644 packages/rspack-test-tools/tests/configCases/split-chunks/max-size-split/src/ccc/50k-1.js create mode 100644 packages/rspack-test-tools/tests/configCases/split-chunks/max-size-split/src/ccc/50k-2.js create mode 100644 packages/rspack-test-tools/tests/configCases/split-chunks/max-size-split/src/ccc/50k-3.js create mode 100644 packages/rspack-test-tools/tests/configCases/split-chunks/max-size-split/src/ccc/50k-4.js create mode 100644 packages/rspack-test-tools/tests/configCases/split-chunks/max-size-split/src/index.js create mode 100644 packages/rspack-test-tools/tests/configCases/split-chunks/max-size-split/test.config.js diff --git a/crates/rspack_plugin_split_chunks/src/common.rs b/crates/rspack_plugin_split_chunks/src/common.rs index 8ea0bfa6c1e..1b2f15a003a 100644 --- a/crates/rspack_plugin_split_chunks/src/common.rs +++ b/crates/rspack_plugin_split_chunks/src/common.rs @@ -122,6 +122,10 @@ impl SplitChunkSizes { pub fn add_by(&mut self, other: &Self) { self.combine_with(other, &|a, b| a + b) } + + pub fn subtract_by(&mut self, other: &Self) { + self.combine_with(other, &|a, b| a - b) + } } impl Deref for SplitChunkSizes { diff --git a/crates/rspack_plugin_split_chunks/src/plugin/max_size.rs b/crates/rspack_plugin_split_chunks/src/plugin/max_size.rs index 793c5aa6fe9..dfd1bea6d8d 100644 --- a/crates/rspack_plugin_split_chunks/src/plugin/max_size.rs +++ b/crates/rspack_plugin_split_chunks/src/plugin/max_size.rs @@ -6,8 +6,7 @@ use regex::Regex; use rspack_collections::{DatabaseItem, UkeyMap}; use rspack_core::incremental::Mutation; use rspack_core::{ - compare_modules_by_identifier, ChunkUkey, Compilation, CompilerOptions, Module, ModuleIdentifier, - DEFAULT_DELIMITER, + ChunkUkey, Compilation, CompilerOptions, Module, ModuleIdentifier, DEFAULT_DELIMITER, }; use rspack_error::Result; use rspack_hash::{RspackHash, RspackHashDigest}; @@ -28,10 +27,11 @@ struct Group { nodes: Vec, pub size: SplitChunkSizes, pub key: Option, + pub similarities: Vec, } impl Group { - fn new(items: Vec, key: Option) -> Self { + fn new(items: Vec, key: Option, similarities: Vec) -> Self { let mut summed_size = SplitChunkSizes::empty(); items.iter().for_each(|item| summed_size.add_by(&item.size)); @@ -39,6 +39,7 @@ impl Group { nodes: items, size: summed_size, key, + similarities, } } } @@ -84,21 +85,19 @@ fn deterministic_grouping_for_modules( ) -> Vec { let mut results: Vec = Default::default(); let module_graph = compilation.get_module_graph(); - let mut items = compilation + let items = compilation .chunk_graph .get_chunk_modules(chunk, &module_graph); - - items.sort_unstable_by(|a, b| compare_modules_by_identifier(a, b)); - let context = compilation.options.context.as_ref(); let nodes = items.into_iter().map(|module| { let module: &dyn Module = &**module; - let name: String = if module.name_for_condition().is_some() { - make_paths_relative(context, module.identifier().as_str()) + let name: String = if let Some(name_for_condition) = module.name_for_condition() { + make_paths_relative(context, &name_for_condition) } else { + let path = make_paths_relative(context, module.identifier().as_str()); REPLACE_MODULE_IDENTIFIER_REG - .replace_all(&module.identifier(), "") + .replace_all(&path, "") .to_string() }; let key = format!( @@ -114,7 +113,7 @@ fn deterministic_grouping_for_modules( } }); - let initial_nodes = nodes + let mut initial_nodes = nodes .into_iter() .filter_map(|node| { // The Module itself is already bigger than `allow_max_size`, we will create a chunk @@ -127,7 +126,7 @@ fn deterministic_grouping_for_modules( allow_max_size ); let key = node.key.clone(); - results.push(Group::new(vec![node], Some(key))); + results.push(Group::new(vec![node], Some(key), vec![])); None } else { Some(node) @@ -135,8 +134,11 @@ fn deterministic_grouping_for_modules( }) .collect::>(); + initial_nodes.sort_by(|a, b| a.key.cmp(&b.key)); + if !initial_nodes.is_empty() { - let initial_group = Group::new(initial_nodes, None); + let similarities = get_similarities(&initial_nodes); + let initial_group = Group::new(initial_nodes, None, similarities); let mut queue = vec![initial_group]; @@ -159,16 +161,17 @@ fn deterministic_grouping_for_modules( left += 1; } - let mut right = group.nodes.len() - 2; + let mut right: i32 = group.nodes.len() as i32 - 2; let mut right_size = SplitChunkSizes::empty(); - right_size.add_by(&group.nodes[right + 1].size); - while right != 0 && right_size.smaller_than(min_size) { - right_size.add_by(&group.nodes[right].size); + right_size.add_by(&group.nodes[right as usize + 1].size); - right = right.saturating_sub(1); + while right >= 0 && right_size.smaller_than(min_size) { + right_size.add_by(&group.nodes[right as usize].size); + + right -= 1; } - if left - 1 > right { + if left - 1 > right as usize { // There are overlaps // TODO(hyf0): There are some algorithms we could do better in this @@ -182,11 +185,53 @@ fn deterministic_grouping_for_modules( results.push(group); continue; } else { + let mut pos = left; + let mut best = -1; + let mut best_similarity = usize::MAX; + right_size = group.nodes.iter().rev().take(group.nodes.len() - pos).fold( + SplitChunkSizes::empty(), + |mut acc, node| { + acc.add_by(&node.size); + acc + }, + ); + + while pos <= right as usize + 1 { + let similarity = group.similarities[pos - 1]; + if similarity < best_similarity + && left_size.bigger_than(min_size) + && right_size.bigger_than(min_size) + { + best_similarity = similarity; + best = pos as i32; + } + let size = &group.nodes[pos].size; + left_size.add_by(size); + right_size.subtract_by(size); + pos += 1; + } + + if best == -1 { + results.push(group); + continue; + } + + left = best as usize; + right = best - 1; + + let mut right_similarities = vec![]; + for i in right as usize + 2..group.nodes.len() { + right_similarities.push((group.similarities)[i - 1]); + } + + let mut left_similarities = vec![]; + for i in 1..left { + left_similarities.push((group.similarities)[i - 1]); + } let right_nodes = group.nodes.split_off(left); let left_nodes = group.nodes; - - queue.push(Group::new(right_nodes, None)); - queue.push(Group::new(left_nodes, None)); + queue.push(Group::new(right_nodes, None, right_similarities)); + queue.push(Group::new(left_nodes, None, left_similarities)); } } } @@ -204,6 +249,31 @@ struct ChunkWithSizeInfo<'a> { pub automatic_name_delimiter: &'a String, } +fn get_similarities(nodes: &[GroupItem]) -> Vec { + let mut similarities = Vec::with_capacity(nodes.len()); + let mut nodes = nodes.iter(); + let Some(mut last) = nodes.next() else { + return similarities; + }; + + for node in nodes { + similarities.push(similarity(&last.key, &node.key)); + last = node; + } + + similarities +} + +fn similarity(a: &str, b: &str) -> usize { + let mut a = a.chars(); + let mut b = b.chars(); + let mut dist = 0; + while let (Some(ca), Some(cb)) = (a.next(), b.next()) { + dist += std::cmp::max(0, 10 - (ca as i32 - cb as i32).abs()); + } + dist as usize +} + impl SplitChunksPlugin { /// Affected by `splitChunks.minSize`/`splitChunks.cacheGroups.{cacheGroup}.minSize` #[tracing::instrument(skip_all)] diff --git a/packages/rspack-test-tools/tests/configCases/split-chunks/max-size-split/rspack.config.js b/packages/rspack-test-tools/tests/configCases/split-chunks/max-size-split/rspack.config.js new file mode 100644 index 00000000000..152af0e6c82 --- /dev/null +++ b/packages/rspack-test-tools/tests/configCases/split-chunks/max-size-split/rspack.config.js @@ -0,0 +1,22 @@ +/** @type {import("@rspack/core").Configuration} */ +module.exports = { + target: 'node', + entry: "./src/index.js", + output: { + filename: '[name].js' + }, + optimization: { + chunkIds: 'named', + moduleIds: 'named', + splitChunks: { + chunks: "all", + cacheGroups: { + fragment: { + minChunks: 1, + maxSize: 200 * 1024, + priority: 10, + } + } + } + } +}; diff --git a/packages/rspack-test-tools/tests/configCases/split-chunks/max-size-split/src/aaa/50k-1.js b/packages/rspack-test-tools/tests/configCases/split-chunks/max-size-split/src/aaa/50k-1.js new file mode 100644 index 00000000000..41dc6d82fbb --- /dev/null +++ b/packages/rspack-test-tools/tests/configCases/split-chunks/max-size-split/src/aaa/50k-1.js @@ -0,0 +1,726 @@ +export const fiftyK = () => ` +

${window.innerWidth}

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+`; diff --git a/packages/rspack-test-tools/tests/configCases/split-chunks/max-size-split/src/aaa/50k-2.js b/packages/rspack-test-tools/tests/configCases/split-chunks/max-size-split/src/aaa/50k-2.js new file mode 100644 index 00000000000..41dc6d82fbb --- /dev/null +++ b/packages/rspack-test-tools/tests/configCases/split-chunks/max-size-split/src/aaa/50k-2.js @@ -0,0 +1,726 @@ +export const fiftyK = () => ` +

${window.innerWidth}

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+`; diff --git a/packages/rspack-test-tools/tests/configCases/split-chunks/max-size-split/src/aaa/50k-3.js b/packages/rspack-test-tools/tests/configCases/split-chunks/max-size-split/src/aaa/50k-3.js new file mode 100644 index 00000000000..d0ab42452a5 --- /dev/null +++ b/packages/rspack-test-tools/tests/configCases/split-chunks/max-size-split/src/aaa/50k-3.js @@ -0,0 +1,726 @@ +export const fiftyK = () => ` +

${window.innerWidth}

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+`; diff --git a/packages/rspack-test-tools/tests/configCases/split-chunks/max-size-split/src/aaa/50k-4.js b/packages/rspack-test-tools/tests/configCases/split-chunks/max-size-split/src/aaa/50k-4.js new file mode 100644 index 00000000000..42e1225cca4 --- /dev/null +++ b/packages/rspack-test-tools/tests/configCases/split-chunks/max-size-split/src/aaa/50k-4.js @@ -0,0 +1,726 @@ +export const fiftyK = () => ` +

${window.innerWidth}

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+`; diff --git a/packages/rspack-test-tools/tests/configCases/split-chunks/max-size-split/src/bbb/50k-1.js b/packages/rspack-test-tools/tests/configCases/split-chunks/max-size-split/src/bbb/50k-1.js new file mode 100644 index 00000000000..41dc6d82fbb --- /dev/null +++ b/packages/rspack-test-tools/tests/configCases/split-chunks/max-size-split/src/bbb/50k-1.js @@ -0,0 +1,726 @@ +export const fiftyK = () => ` +

${window.innerWidth}

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+`; diff --git a/packages/rspack-test-tools/tests/configCases/split-chunks/max-size-split/src/bbb/50k-2.js b/packages/rspack-test-tools/tests/configCases/split-chunks/max-size-split/src/bbb/50k-2.js new file mode 100644 index 00000000000..41dc6d82fbb --- /dev/null +++ b/packages/rspack-test-tools/tests/configCases/split-chunks/max-size-split/src/bbb/50k-2.js @@ -0,0 +1,726 @@ +export const fiftyK = () => ` +

${window.innerWidth}

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+`; diff --git a/packages/rspack-test-tools/tests/configCases/split-chunks/max-size-split/src/bbb/50k-3.js b/packages/rspack-test-tools/tests/configCases/split-chunks/max-size-split/src/bbb/50k-3.js new file mode 100644 index 00000000000..d0ab42452a5 --- /dev/null +++ b/packages/rspack-test-tools/tests/configCases/split-chunks/max-size-split/src/bbb/50k-3.js @@ -0,0 +1,726 @@ +export const fiftyK = () => ` +

${window.innerWidth}

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+`; diff --git a/packages/rspack-test-tools/tests/configCases/split-chunks/max-size-split/src/bbb/50k-4.js b/packages/rspack-test-tools/tests/configCases/split-chunks/max-size-split/src/bbb/50k-4.js new file mode 100644 index 00000000000..42e1225cca4 --- /dev/null +++ b/packages/rspack-test-tools/tests/configCases/split-chunks/max-size-split/src/bbb/50k-4.js @@ -0,0 +1,726 @@ +export const fiftyK = () => ` +

${window.innerWidth}

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+`; diff --git a/packages/rspack-test-tools/tests/configCases/split-chunks/max-size-split/src/ccc/50k-1.js b/packages/rspack-test-tools/tests/configCases/split-chunks/max-size-split/src/ccc/50k-1.js new file mode 100644 index 00000000000..41dc6d82fbb --- /dev/null +++ b/packages/rspack-test-tools/tests/configCases/split-chunks/max-size-split/src/ccc/50k-1.js @@ -0,0 +1,726 @@ +export const fiftyK = () => ` +

${window.innerWidth}

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+`; diff --git a/packages/rspack-test-tools/tests/configCases/split-chunks/max-size-split/src/ccc/50k-2.js b/packages/rspack-test-tools/tests/configCases/split-chunks/max-size-split/src/ccc/50k-2.js new file mode 100644 index 00000000000..41dc6d82fbb --- /dev/null +++ b/packages/rspack-test-tools/tests/configCases/split-chunks/max-size-split/src/ccc/50k-2.js @@ -0,0 +1,726 @@ +export const fiftyK = () => ` +

${window.innerWidth}

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+

250k is a simple React app that renders 50,000 divs to the DOM.

+

2It's a great way to test the performance of your React app.

+

2It's also a great way to test the performance of your browser.

+

2It's also a great way to test the performance of your computer.

+

2It's also a great way to test the performance of your patience.

+

2It's also a great way to test the performance of your sanity.

+

2It's also a great way to test the performance of your life.

+

2It's also a great way to test the performance of your existence.

+

2It's also a great way to test the performance of your soul.

+

2It's also a great way to test the performance of your spirit.

+

50k

+`; diff --git a/packages/rspack-test-tools/tests/configCases/split-chunks/max-size-split/src/ccc/50k-3.js b/packages/rspack-test-tools/tests/configCases/split-chunks/max-size-split/src/ccc/50k-3.js new file mode 100644 index 00000000000..d0ab42452a5 --- /dev/null +++ b/packages/rspack-test-tools/tests/configCases/split-chunks/max-size-split/src/ccc/50k-3.js @@ -0,0 +1,726 @@ +export const fiftyK = () => ` +

${window.innerWidth}

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+

350k is a simple React app that renders 50,000 divs to the DOM.

+

3It's a great way to test the performance of your React app.

+

3It's also a great way to test the performance of your browser.

+

3It's also a great way to test the performance of your computer.

+

3It's also a great way to test the performance of your patience.

+

3It's also a great way to test the performance of your sanity.

+

3It's also a great way to test the performance of your life.

+

3It's also a great way to test the performance of your existence.

+

3It's also a great way to test the performance of your soul.

+

3It's also a great way to test the performance of your spirit.

+

50k

+`; diff --git a/packages/rspack-test-tools/tests/configCases/split-chunks/max-size-split/src/ccc/50k-4.js b/packages/rspack-test-tools/tests/configCases/split-chunks/max-size-split/src/ccc/50k-4.js new file mode 100644 index 00000000000..42e1225cca4 --- /dev/null +++ b/packages/rspack-test-tools/tests/configCases/split-chunks/max-size-split/src/ccc/50k-4.js @@ -0,0 +1,726 @@ +export const fiftyK = () => ` +

${window.innerWidth}

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+

450k is a simple React app that renders 50,000 divs to the DOM.

+

4It's a great way to test the performance of your React app.

+

4It's also a great way to test the performance of your browser.

+

4It's also a great way to test the performance of your computer.

+

4It's also a great way to test the performance of your patience.

+

4It's also a great way to test the performance of your sanity.

+

4It's also a great way to test the performance of your life.

+

4It's also a great way to test the performance of your existence.

+

4It's also a great way to test the performance of your soul.

+

4It's also a great way to test the performance of your spirit.

+

50k

+`; diff --git a/packages/rspack-test-tools/tests/configCases/split-chunks/max-size-split/src/index.js b/packages/rspack-test-tools/tests/configCases/split-chunks/max-size-split/src/index.js new file mode 100644 index 00000000000..ebe5abe1dd2 --- /dev/null +++ b/packages/rspack-test-tools/tests/configCases/split-chunks/max-size-split/src/index.js @@ -0,0 +1,10 @@ +it('should ensure max size fit', () => { + const names = new Array(4).fill('').map((_, i) => { + return `50k-${i + 1}.js`; + }); + names.forEach((name) => { + require('./aaa/' + name) + require('./bbb/' + name) + require('./ccc/' + name) + }) +}) diff --git a/packages/rspack-test-tools/tests/configCases/split-chunks/max-size-split/test.config.js b/packages/rspack-test-tools/tests/configCases/split-chunks/max-size-split/test.config.js new file mode 100644 index 00000000000..fb86a07388d --- /dev/null +++ b/packages/rspack-test-tools/tests/configCases/split-chunks/max-size-split/test.config.js @@ -0,0 +1,7 @@ +/** @type {import("../../../..").TConfigCaseConfig} */ +module.exports = { + findBundle: function (i, options) { + // should split based on their file path + return ["main.js", "fragment-src_aaa_sync_recursive_.js", "fragment-src_bbb_sync_recursive_.js", "fragment-src_index_js.js"]; + } +}; From 0352d7323bc03352e6be63da6d646f6615c1bb82 Mon Sep 17 00:00:00 2001 From: jinrui Date: Fri, 20 Dec 2024 11:26:18 +0800 Subject: [PATCH 08/11] ci: remove useless variable in release-pull-request.yml (#8787) --- .github/workflows/release-pull-request.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/release-pull-request.yml b/.github/workflows/release-pull-request.yml index 1a9221606b6..57352815ce0 100644 --- a/.github/workflows/release-pull-request.yml +++ b/.github/workflows/release-pull-request.yml @@ -51,6 +51,3 @@ jobs: createGithubReleases: false env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - NPM_TOKEN: ${{ secrets.NPM_TOKEN }} - REPOSITORY: ${{ github.repository }} - REF: ${{ github.ref }} From 28abee871f39ab11584a194cf591cf62480cd355 Mon Sep 17 00:00:00 2001 From: Hana Date: Fri, 20 Dec 2024 12:03:37 +0800 Subject: [PATCH 09/11] refactor: remove as much `getRawOptions` as possible (#8773) --- crates/node_binding/binding.d.ts | 63 +- .../src/compilation/entries.rs | 16 +- .../src/options/entry.rs | 7 +- .../src/options/library.rs | 64 +- .../src/raw_options/mod.rs | 80 +- .../src/raw_options/raw_cache.rs | 33 +- .../src/raw_options/raw_experiments/mod.rs | 20 +- .../raw_experiments/raw_cache/mod.rs | 57 +- .../src/raw_options/raw_optimization.rs | 37 +- .../src/raw_options/raw_output.rs | 75 +- .../src/raw_options/raw_snapshot.rs | 12 - crates/rspack_core/src/options/cache.rs | 41 +- .../src/options/compiler_options.rs | 3 +- crates/rspack_core/src/options/mod.rs | 2 - crates/rspack_core/src/options/output.rs | 9 - crates/rspack_core/src/options/snapshot.rs | 2 - packages/rspack/etc/core.api.md | 1173 ++++++++--------- .../rspack/src/builtin-plugin/EntryPlugin.ts | 13 +- packages/rspack/src/config/adapter.ts | 279 +--- packages/rspack/src/config/adapterRuleUse.ts | 16 +- .../rspack/src/container/ContainerPlugin.ts | 9 +- 21 files changed, 894 insertions(+), 1117 deletions(-) delete mode 100644 crates/rspack_binding_values/src/raw_options/raw_snapshot.rs delete mode 100644 crates/rspack_core/src/options/snapshot.rs diff --git a/crates/node_binding/binding.d.ts b/crates/node_binding/binding.d.ts index 36af31a5e85..6aadbe376b0 100644 --- a/crates/node_binding/binding.d.ts +++ b/crates/node_binding/binding.d.ts @@ -32,7 +32,7 @@ export declare class EntryOptionsDto { get runtime(): false | string | undefined set runtime(chunkLoading: boolean | string | undefined) get chunkLoading(): string | undefined - set chunkLoading(chunkLoading: string | undefined) + set chunkLoading(chunkLoading: string | false | undefined) get asyncChunks(): boolean | undefined set asyncChunks(asyncChunks: boolean | undefined) get baseUri(): string | undefined @@ -612,7 +612,7 @@ export interface JsEntryData { export interface JsEntryOptions { name?: string runtime?: false | string - chunkLoading?: string + chunkLoading?: false | string asyncChunks?: boolean publicPath?: "auto" | JsFilename baseUri?: string @@ -686,7 +686,7 @@ export interface JsLibraryAuxiliaryComment { export interface JsLibraryCustomUmdObject { amd?: string commonjs?: string - root?: Array + root?: Array | string } export interface JsLibraryName { @@ -697,11 +697,11 @@ export interface JsLibraryName { } export interface JsLibraryOptions { - name?: JsLibraryName - export?: Array - libraryType: string + name?: string | Array | JsLibraryCustomUmdObject + export?: Array | string + type: string umdNamedDefine?: boolean - auxiliaryComment?: JsLibraryAuxiliaryComment + auxiliaryComment?: string | JsLibraryAuxiliaryComment amdContainer?: string } @@ -1198,14 +1198,6 @@ export interface RawCacheGroupOptions { export interface RawCacheOptions { type: string - maxGenerations: number - maxAge: number - profile: boolean - buildDependencies: Array - cacheDirectory: string - cacheLocation: string - name: string - version: string } export interface RawConsumeOptions { @@ -1274,12 +1266,6 @@ export interface RawCopyRspackPluginOptions { patterns: Array } -export interface RawCrossOriginLoading { - type: "bool" | "string" - stringPayload?: string - boolPayload?: boolean -} - export interface RawCssAutoGeneratorOptions { exportsConvention?: "as-is" | "camel-case" | "camel-case-only" | "dashes" | "dashes-only" exportsOnly?: boolean @@ -1381,8 +1367,8 @@ export interface RawEvalDevToolModulePluginOptions { sourceUrlComment?: string } -export interface RawExperimentCacheOptionsCommon { - type: "disable"|"memory" +export interface RawExperimentCacheOptionsMemory { + type: "memory" | "disable" } export interface RawExperimentCacheOptionsPersistent { @@ -1396,9 +1382,9 @@ export interface RawExperimentCacheOptionsPersistent { export interface RawExperiments { layers: boolean topLevelAwait: boolean - incremental?: RawIncremental - rspackFuture: RawRspackFuture - cache: RawExperimentCacheOptionsPersistent | RawExperimentCacheOptionsCommon +incremental?: false | { [key: string]: boolean } +rspackFuture?: RawRspackFuture +cache: RawExperimentCacheOptionsPersistent | RawExperimentCacheOptionsMemory | boolean } export interface RawExperimentSnapshotOptions { @@ -1745,26 +1731,23 @@ export interface RawOccurrenceChunkIdsPluginOptions { export interface RawOptimizationOptions { removeAvailableModules: boolean - sideEffects: string - usedExports: string + sideEffects: boolean | string + usedExports: boolean | string providedExports: boolean innerGraph: boolean - mangleExports: string + mangleExports: boolean | string concatenateModules: boolean } export interface RawOptions { mode?: undefined | 'production' | 'development' | 'none' - target: Array context: string output: RawOutputOptions resolve: RawResolveOptions resolveLoader: RawResolveOptions module: RawModuleOptions - devtool: string optimization: RawOptimizationOptions stats: RawStatsOptions - snapshot: RawSnapshotOptions cache: RawCacheOptions experiments: RawExperiments node?: RawNodeOption @@ -1780,12 +1763,12 @@ export interface RawOutputOptions { clean: boolean | JsCleanOptions publicPath: "auto" | JsFilename assetModuleFilename: JsFilename - wasmLoading: string + wasmLoading: string | false enabledWasmLoadingTypes: Array webassemblyModuleFilename: string filename: JsFilename chunkFilename: JsFilename - crossOriginLoading: RawCrossOriginLoading + crossOriginLoading: string | false cssFilename: JsFilename cssChunkFilename: JsFilename hotUpdateMainFilename: string @@ -1801,7 +1784,7 @@ export interface RawOutputOptions { importMetaName: string iife: boolean module: boolean - chunkLoading: string + chunkLoading: string | false chunkLoadTimeout: number charset: boolean enabledChunkLoadingTypes?: Array @@ -1812,10 +1795,10 @@ export interface RawOutputOptions { hashDigestLength: number hashSalt?: string asyncChunks: boolean - workerChunkLoading: string - workerWasmLoading: string + workerChunkLoading: string | false + workerWasmLoading: string | false workerPublicPath: string - scriptType: "module" | "text/javascript" | "false" + scriptType: "module" | "text/javascript" | false environment: RawEnvironment compareBeforeEmit: boolean } @@ -1963,10 +1946,6 @@ export interface RawSizeLimitsPluginOptions { maxEntrypointSize?: number } -export interface RawSnapshotOptions { - -} - export interface RawSourceMapDevToolPluginOptions { append?: (false | null) | string | Function columns?: boolean diff --git a/crates/rspack_binding_values/src/compilation/entries.rs b/crates/rspack_binding_values/src/compilation/entries.rs index 5a13301c090..2fa3902e401 100644 --- a/crates/rspack_binding_values/src/compilation/entries.rs +++ b/crates/rspack_binding_values/src/compilation/entries.rs @@ -4,6 +4,7 @@ use rspack_napi::napi::bindgen_prelude::*; use crate::{ dependency::JsDependency, entry::JsEntryOptions, library::JsLibraryOptions, JsDependencyWrapper, + RawChunkLoading, WithFalse, }; #[napi] @@ -58,12 +59,15 @@ impl EntryOptionsDTO { } } - #[napi(setter)] - pub fn set_chunk_loading(&mut self, chunk_loading: Either) { - self.0.chunk_loading = match chunk_loading { - Either::A(s) => Some(Into::into(s.as_str())), - Either::B(_) => None, - }; + #[napi(setter, ts_type = "(chunkLoading: string | false | undefined)")] + pub fn set_chunk_loading(&mut self, chunk_loading: Either) { + match chunk_loading { + Either::A(WithFalse::False) => self.0.chunk_loading = Some(ChunkLoading::Disable), + Either::A(WithFalse::True(s)) => { + self.0.chunk_loading = Some(ChunkLoading::Enable(s.as_str().into())) + } + Either::B(_) => self.0.chunk_loading = None, + } } #[napi(getter)] diff --git a/crates/rspack_binding_values/src/options/entry.rs b/crates/rspack_binding_values/src/options/entry.rs index b20e23db870..36f3bd46737 100644 --- a/crates/rspack_binding_values/src/options/entry.rs +++ b/crates/rspack_binding_values/src/options/entry.rs @@ -3,7 +3,7 @@ use napi_derive::napi; use rspack_core::{EntryOptions, EntryRuntime}; use super::library::JsLibraryOptions; -use crate::JsFilename; +use crate::{JsFilename, RawChunkLoading}; #[derive(Debug)] #[napi(object, object_to_js = false)] @@ -34,7 +34,8 @@ pub struct JsEntryOptions { pub name: Option, #[napi(ts_type = "false | string")] pub runtime: Option, - pub chunk_loading: Option, + #[napi(ts_type = "false | string")] + pub chunk_loading: Option, pub async_chunks: Option, #[napi(ts_type = "\"auto\" | JsFilename")] pub public_path: Option, @@ -50,7 +51,7 @@ impl From for EntryOptions { Self { name: value.name, runtime: value.runtime.map(|r| JsEntryRuntimeWrapper(r).into()), - chunk_loading: value.chunk_loading.as_deref().map(Into::into), + chunk_loading: value.chunk_loading.map(Into::into), async_chunks: value.async_chunks, public_path: value.public_path.map(Into::into), base_uri: value.base_uri, diff --git a/crates/rspack_binding_values/src/options/library.rs b/crates/rspack_binding_values/src/options/library.rs index f536cd4159d..a0435271883 100644 --- a/crates/rspack_binding_values/src/options/library.rs +++ b/crates/rspack_binding_values/src/options/library.rs @@ -1,13 +1,17 @@ +use std::vec; + +use napi::bindgen_prelude::Either3; use napi_derive::napi; use rspack_core::LibraryAuxiliaryComment; use rspack_core::{LibraryCustomUmdObject, LibraryName, LibraryNonUmdObject, LibraryOptions}; +use rspack_napi::napi::bindgen_prelude::Either; #[derive(Debug)] #[napi(object)] pub struct JsLibraryCustomUmdObject { pub amd: Option, pub commonjs: Option, - pub root: Option>, + pub root: Option, String>>, } impl From for LibraryCustomUmdObject { @@ -15,7 +19,10 @@ impl From for LibraryCustomUmdObject { Self { amd: value.amd, commonjs: value.commonjs, - root: value.root, + root: value.root.map(|v| match v { + Either::A(v) => v, + Either::B(v) => vec![v], + }), } } } @@ -25,7 +32,7 @@ impl From for JsLibraryCustomUmdObject { Self { amd: value.amd, commonjs: value.commonjs, - root: value.root, + root: value.root.map(Either::A), } } } @@ -100,6 +107,17 @@ pub struct JsLibraryAuxiliaryComment { pub amd: Option, } +impl From for JsLibraryAuxiliaryComment { + fn from(value: String) -> Self { + Self { + root: Some(value.clone()), + commonjs: Some(value.clone()), + commonjs2: Some(value.clone()), + amd: Some(value), + } + } +} + impl From for LibraryAuxiliaryComment { fn from(value: JsLibraryAuxiliaryComment) -> Self { Self { @@ -125,23 +143,33 @@ impl From for JsLibraryAuxiliaryComment { #[derive(Debug)] #[napi(object)] pub struct JsLibraryOptions { - pub name: Option, - pub export: Option>, + pub name: Option, JsLibraryCustomUmdObject>>, + pub export: Option, String>>, // webpack type - pub library_type: String, + pub r#type: String, pub umd_named_define: Option, - pub auxiliary_comment: Option, + pub auxiliary_comment: Option>, pub amd_container: Option, } impl From for LibraryOptions { fn from(value: JsLibraryOptions) -> Self { Self { - name: value.name.map(Into::into), - export: value.export, - library_type: value.library_type, + name: value.name.map(|name| match name { + Either3::A(name) => LibraryName::NonUmdObject(LibraryNonUmdObject::String(name)), + Either3::B(names) => LibraryName::NonUmdObject(LibraryNonUmdObject::Array(names)), + Either3::C(umd_object) => LibraryName::UmdObject(umd_object.into()), + }), + export: value.export.map(|v| match v { + Either::A(v) => v, + Either::B(v) => vec![v], + }), + library_type: value.r#type, umd_named_define: value.umd_named_define, - auxiliary_comment: value.auxiliary_comment.map(Into::into), + auxiliary_comment: value.auxiliary_comment.map(|v| match v { + Either::A(v) => Into::::into(v).into(), + Either::B(v) => v.into(), + }), amd_container: value.amd_container, } } @@ -150,11 +178,17 @@ impl From for LibraryOptions { impl From for JsLibraryOptions { fn from(value: LibraryOptions) -> Self { JsLibraryOptions { - name: value.name.map(|name| name.into()), - export: value.export, - library_type: value.library_type, + name: value.name.map(|name| match name { + LibraryName::NonUmdObject(LibraryNonUmdObject::String(name)) => Either3::A(name), + LibraryName::NonUmdObject(LibraryNonUmdObject::Array(names)) => Either3::B(names), + LibraryName::UmdObject(umd_object) => Either3::C(umd_object.into()), + }), + export: value.export.map(Either::A), + r#type: value.library_type, umd_named_define: value.umd_named_define, - auxiliary_comment: value.auxiliary_comment.map(|comment| comment.into()), + auxiliary_comment: value + .auxiliary_comment + .map(|comment| Either::B(comment.into())), amd_container: value.amd_container, } } diff --git a/crates/rspack_binding_values/src/raw_options/mod.rs b/crates/rspack_binding_values/src/raw_options/mod.rs index 4991e966866..8d761a3809b 100644 --- a/crates/rspack_binding_values/src/raw_options/mod.rs +++ b/crates/rspack_binding_values/src/raw_options/mod.rs @@ -1,3 +1,7 @@ +use napi::{ + bindgen_prelude::{FromNapiValue, TypeName, ValidateNapiValue}, + Either, +}; use napi_derive::napi; use rspack_core::{ incremental::IncrementalPasses, CacheOptions, CompilerOptions, Context, Experiments, @@ -15,7 +19,6 @@ mod raw_module; mod raw_node; mod raw_optimization; mod raw_output; -mod raw_snapshot; mod raw_split_chunks; mod raw_stats; @@ -30,7 +33,6 @@ pub use raw_module::*; pub use raw_node::*; pub use raw_optimization::*; pub use raw_output::*; -pub use raw_snapshot::*; pub use raw_split_chunks::*; pub use raw_stats::*; @@ -41,16 +43,13 @@ pub use crate::raw_resolve::*; pub struct RawOptions { #[napi(ts_type = "undefined | 'production' | 'development' | 'none'")] pub mode: Option, - pub target: Vec, pub context: String, pub output: RawOutputOptions, pub resolve: RawResolveOptions, pub resolve_loader: RawResolveOptions, pub module: RawModuleOptions, - pub devtool: String, pub optimization: RawOptimizationOptions, pub stats: RawStatsOptions, - pub snapshot: RawSnapshotOptions, pub cache: RawCacheOptions, pub experiments: RawExperiments, pub node: Option, @@ -78,7 +77,6 @@ impl TryFrom for CompilerOptions { } let optimization = value.optimization.try_into()?; let stats = value.stats.into(); - let snapshot = value.snapshot.into(); let node = value.node.map(|n| n.into()); Ok(CompilerOptions { @@ -91,7 +89,6 @@ impl TryFrom for CompilerOptions { experiments, stats, cache, - snapshot, optimization, node, profile: value.profile, @@ -101,3 +98,72 @@ impl TryFrom for CompilerOptions { }) } } + +#[derive(Debug)] +pub enum WithFalse { + False, + True(T), +} + +impl FromNapiValue for WithFalse { + unsafe fn from_napi_value( + env: napi::sys::napi_env, + napi_val: napi::sys::napi_value, + ) -> napi::Result { + Either::from_napi_value(env, napi_val).map(|either| match either { + Either::A(false) => WithFalse::False, + Either::A(true) => panic!("true is not a valid value for `WithFalse`"), + Either::B(value) => WithFalse::True(value), + }) + } +} + +impl ValidateNapiValue for WithFalse {} + +impl TypeName for WithFalse { + fn type_name() -> &'static str { + T::type_name() + } + + fn value_type() -> napi::ValueType { + T::value_type() + } +} + +#[derive(Default, Debug)] +pub enum WithBool { + True, + #[default] + False, + Value(T), +} + +impl WithBool { + pub fn as_bool(&self) -> Option { + match self { + WithBool::True => Some(true), + WithBool::False => Some(false), + WithBool::Value(_) => None, + } + } + + pub fn as_value(&self) -> Option<&T> { + match self { + WithBool::Value(value) => Some(value), + _ => None, + } + } +} + +impl FromNapiValue for WithBool { + unsafe fn from_napi_value( + env: napi::sys::napi_env, + napi_val: napi::sys::napi_value, + ) -> napi::Result { + Either::from_napi_value(env, napi_val).map(|either| match either { + Either::A(false) => WithBool::False, + Either::A(true) => WithBool::True, + Either::B(value) => WithBool::Value(value), + }) + } +} diff --git a/crates/rspack_binding_values/src/raw_options/raw_cache.rs b/crates/rspack_binding_values/src/raw_options/raw_cache.rs index af302f51b74..5ef18ef1034 100644 --- a/crates/rspack_binding_values/src/raw_options/raw_cache.rs +++ b/crates/rspack_binding_values/src/raw_options/raw_cache.rs @@ -1,45 +1,18 @@ use napi_derive::napi; -use rspack_core::{CacheOptions, FileSystemCacheOptions, MemoryCacheOptions}; +use rspack_core::CacheOptions; #[derive(Debug, Default)] #[napi(object, object_to_js = false)] pub struct RawCacheOptions { pub r#type: String, - pub max_generations: u32, - pub max_age: u32, - pub profile: bool, - pub build_dependencies: Vec, - pub cache_directory: String, - pub cache_location: String, - pub name: String, - pub version: String, } impl From for CacheOptions { fn from(value: RawCacheOptions) -> CacheOptions { - let RawCacheOptions { - r#type, - max_generations, - max_age, - profile, - build_dependencies, - cache_directory, - cache_location, - name, - version, - } = value; + let RawCacheOptions { r#type } = value; match r#type.as_str() { - "memory" => CacheOptions::Memory(MemoryCacheOptions { max_generations }), - "filesystem" => CacheOptions::FileSystem(FileSystemCacheOptions { - max_age, - profile, - build_dependencies, - cache_directory, - cache_location, - name, - version, - }), + "memory" => CacheOptions::Memory, _ => CacheOptions::Disabled, } } diff --git a/crates/rspack_binding_values/src/raw_options/raw_experiments/mod.rs b/crates/rspack_binding_values/src/raw_options/raw_experiments/mod.rs index 7f938eb2565..68aff3d9277 100644 --- a/crates/rspack_binding_values/src/raw_options/raw_experiments/mod.rs +++ b/crates/rspack_binding_values/src/raw_options/raw_experiments/mod.rs @@ -8,14 +8,19 @@ use raw_incremental::RawIncremental; use raw_rspack_future::RawRspackFuture; use rspack_core::{incremental::IncrementalPasses, Experiments}; +use super::WithFalse; + #[derive(Debug)] -#[napi(object)] +#[napi(object, object_to_js = false)] pub struct RawExperiments { pub layers: bool, pub top_level_await: bool, - pub incremental: Option, - pub rspack_future: RawRspackFuture, - #[napi(ts_type = r#"RawExperimentCacheOptionsPersistent | RawExperimentCacheOptionsCommon"#)] + #[napi(ts_type = "false | { [key: string]: boolean }")] + pub incremental: Option>, + pub rspack_future: Option, + #[napi( + ts_type = r#"RawExperimentCacheOptionsPersistent | RawExperimentCacheOptionsMemory | boolean"# + )] pub cache: RawExperimentCacheOptions, } @@ -23,12 +28,15 @@ impl From for Experiments { fn from(value: RawExperiments) -> Self { Self { incremental: match value.incremental { - Some(value) => value.into(), + Some(value) => match value { + WithFalse::True(value) => value.into(), + WithFalse::False => IncrementalPasses::empty(), + }, None => IncrementalPasses::empty(), }, layers: value.layers, top_level_await: value.top_level_await, - rspack_future: value.rspack_future.into(), + rspack_future: value.rspack_future.unwrap_or_default().into(), cache: normalize_raw_experiment_cache_options(value.cache), } } diff --git a/crates/rspack_binding_values/src/raw_options/raw_experiments/raw_cache/mod.rs b/crates/rspack_binding_values/src/raw_options/raw_experiments/raw_cache/mod.rs index 3acb245110b..5316743d131 100644 --- a/crates/rspack_binding_values/src/raw_options/raw_experiments/raw_cache/mod.rs +++ b/crates/rspack_binding_values/src/raw_options/raw_experiments/raw_cache/mod.rs @@ -1,21 +1,16 @@ mod raw_snapshot; mod raw_storage; -use napi::Either; +use core::panic; + +use napi::bindgen_prelude::Either3; use napi_derive::napi; use raw_snapshot::RawExperimentSnapshotOptions; use raw_storage::RawStorageOptions; use rspack_core::{cache::persistent::PersistentCacheOptions, ExperimentCacheOptions}; pub type RawExperimentCacheOptions = - Either; - -#[derive(Debug, Default)] -#[napi(object)] -pub struct RawExperimentCacheOptionsCommon { - #[napi(ts_type = r#""disable"|"memory""#)] - pub r#type: String, -} + Either3; #[derive(Debug, Default)] #[napi(object)] @@ -28,24 +23,38 @@ pub struct RawExperimentCacheOptionsPersistent { pub storage: RawStorageOptions, } +#[derive(Debug, Default)] +#[napi(object)] +pub struct RawExperimentCacheOptionsMemory { + #[napi(ts_type = r#""memory" | "disable""#)] + pub r#type: String, +} + pub fn normalize_raw_experiment_cache_options( options: RawExperimentCacheOptions, ) -> ExperimentCacheOptions { match options { - Either::A(persistent_options) => ExperimentCacheOptions::Persistent(PersistentCacheOptions { - build_dependencies: persistent_options - .build_dependencies - .into_iter() - .map(Into::into) - .collect(), - version: persistent_options.version, - snapshot: persistent_options.snapshot.into(), - storage: persistent_options.storage.into(), - }), - Either::B(options) => match options.r#type.as_str() { - "disable" => ExperimentCacheOptions::Disabled, - "memory" => ExperimentCacheOptions::Memory, - _ => panic!("unsupported cache type"), - }, + Either3::C(persistent_options) if persistent_options.r#type == "persistent" => { + ExperimentCacheOptions::Persistent(PersistentCacheOptions { + build_dependencies: persistent_options + .build_dependencies + .into_iter() + .map(Into::into) + .collect(), + version: persistent_options.version, + snapshot: persistent_options.snapshot.into(), + storage: persistent_options.storage.into(), + }) + } + Either3::B(options) if options.r#type == "memory" => ExperimentCacheOptions::Memory, + Either3::B(options) if options.r#type == "disable" => ExperimentCacheOptions::Disabled, + Either3::A(options) => { + if options { + ExperimentCacheOptions::Memory + } else { + ExperimentCacheOptions::Disabled + } + } + _ => panic!("Invalid cache options"), } } diff --git a/crates/rspack_binding_values/src/raw_options/raw_optimization.rs b/crates/rspack_binding_values/src/raw_options/raw_optimization.rs index 2a6d38534c2..81a5373948b 100644 --- a/crates/rspack_binding_values/src/raw_options/raw_optimization.rs +++ b/crates/rspack_binding_values/src/raw_options/raw_optimization.rs @@ -1,29 +1,52 @@ use napi_derive::napi; use rspack_core::{MangleExportsOption, Optimization, SideEffectOption, UsedExportsOption}; +use super::WithBool; + #[derive(Debug, Default)] -#[napi(object)] +#[napi(object, object_to_js = false)] pub struct RawOptimizationOptions { pub remove_available_modules: bool, - pub side_effects: String, - pub used_exports: String, + #[napi(ts_type = "boolean | string")] + pub side_effects: WithBool, + #[napi(ts_type = "boolean | string")] + pub used_exports: WithBool, pub provided_exports: bool, pub inner_graph: bool, - pub mangle_exports: String, + #[napi(ts_type = "boolean | string")] + pub mangle_exports: WithBool, pub concatenate_modules: bool, } +macro_rules! impl_from_with_bool { + ($ident:ident) => { + impl From> for $ident { + fn from(value: WithBool) -> Self { + match value { + WithBool::True => Self::True, + WithBool::False => Self::False, + WithBool::Value(s) => Self::from(s.as_str()), + } + } + } + }; +} + +impl_from_with_bool!(UsedExportsOption); +impl_from_with_bool!(MangleExportsOption); +impl_from_with_bool!(SideEffectOption); + impl TryFrom for Optimization { type Error = rspack_error::Error; fn try_from(value: RawOptimizationOptions) -> rspack_error::Result { Ok(Optimization { remove_available_modules: value.remove_available_modules, - side_effects: SideEffectOption::from(value.side_effects.as_str()), + side_effects: value.side_effects.into(), provided_exports: value.provided_exports, - used_exports: UsedExportsOption::from(value.used_exports.as_str()), + used_exports: value.used_exports.into(), inner_graph: value.inner_graph, - mangle_exports: MangleExportsOption::from(value.mangle_exports.as_str()), + mangle_exports: value.mangle_exports.into(), concatenate_modules: value.concatenate_modules, }) } diff --git a/crates/rspack_binding_values/src/raw_options/raw_output.rs b/crates/rspack_binding_values/src/raw_options/raw_output.rs index 53466fb4dd3..ae4a23b6ae0 100644 --- a/crates/rspack_binding_values/src/raw_options/raw_output.rs +++ b/crates/rspack_binding_values/src/raw_options/raw_output.rs @@ -1,11 +1,13 @@ use napi::Either; use napi_derive::napi; use rspack_core::{ - CleanOptions, CrossOriginLoading, Environment, OnPolicyCreationFailure, PathInfo, + ChunkLoading, CleanOptions, CrossOriginLoading, Environment, OnPolicyCreationFailure, PathInfo, + WasmLoading, }; use rspack_core::{OutputOptions, TrustedTypes}; use crate::library::JsLibraryOptions; +use crate::WithFalse; use crate::{JsCleanOptions, JsFilename}; #[derive(Debug)] @@ -27,25 +29,13 @@ impl From for TrustedTypes { } } -#[derive(Debug, Clone)] -#[napi(object)] -pub struct RawCrossOriginLoading { - #[napi(ts_type = r#""bool" | "string""#)] - pub r#type: String, - pub string_payload: Option, - pub bool_payload: Option, -} +type RawCrossOriginLoading = WithFalse; impl From for CrossOriginLoading { fn from(value: RawCrossOriginLoading) -> Self { - match value.r#type.as_str() { - "string" => Self::Enable( - value - .string_payload - .expect("should have a string_payload when RawCrossOriginLoading.type is \"string\""), - ), - "bool" => Self::Disable, - _ => unreachable!(), + match value { + WithFalse::True(s) => Self::Enable(s), + WithFalse::False => Self::Disable, } } } @@ -78,11 +68,13 @@ pub struct RawOutputOptions { #[napi(ts_type = "\"auto\" | JsFilename")] pub public_path: JsFilename, pub asset_module_filename: JsFilename, - pub wasm_loading: String, + #[napi(ts_type = "string | false")] + pub wasm_loading: RawWasmLoading, pub enabled_wasm_loading_types: Vec, pub webassembly_module_filename: String, pub filename: JsFilename, pub chunk_filename: JsFilename, + #[napi(ts_type = "string | false")] pub cross_origin_loading: RawCrossOriginLoading, pub css_filename: JsFilename, pub css_chunk_filename: JsFilename, @@ -99,7 +91,8 @@ pub struct RawOutputOptions { pub import_meta_name: String, pub iife: bool, pub module: bool, - pub chunk_loading: String, + #[napi(ts_type = "string | false")] + pub chunk_loading: RawChunkLoading, pub chunk_load_timeout: u32, pub charset: bool, pub enabled_chunk_loading_types: Option>, @@ -110,15 +103,38 @@ pub struct RawOutputOptions { pub hash_digest_length: u32, pub hash_salt: Option, pub async_chunks: bool, - pub worker_chunk_loading: String, - pub worker_wasm_loading: String, + #[napi(ts_type = "string | false")] + pub worker_chunk_loading: RawChunkLoading, + #[napi(ts_type = "string | false")] + pub worker_wasm_loading: RawWasmLoading, pub worker_public_path: String, - #[napi(ts_type = r#""module" | "text/javascript" | "false""#)] - pub script_type: String, + #[napi(ts_type = r#""module" | "text/javascript" | false"#)] + pub script_type: WithFalse, pub environment: RawEnvironment, pub compare_before_emit: bool, } +pub type RawWasmLoading = WithFalse; +pub type RawChunkLoading = WithFalse; + +impl From for ChunkLoading { + fn from(value: RawChunkLoading) -> Self { + match value { + WithFalse::False => Self::Disable, + WithFalse::True(s) => Self::Enable(s.as_str().into()), + } + } +} + +impl From for WasmLoading { + fn from(value: RawWasmLoading) -> Self { + match value { + WithFalse::False => Self::Disable, + WithFalse::True(s) => Self::Enable(s.as_str().into()), + } + } +} + impl TryFrom for OutputOptions { type Error = rspack_error::Error; @@ -139,10 +155,10 @@ impl TryFrom for OutputOptions { clean, public_path: value.public_path.into(), asset_module_filename: value.asset_module_filename.into(), - wasm_loading: value.wasm_loading.as_str().into(), + wasm_loading: value.wasm_loading.into(), webassembly_module_filename: value.webassembly_module_filename.into(), unique_name: value.unique_name, - chunk_loading: value.chunk_loading.as_str().into(), + chunk_loading: value.chunk_loading.into(), chunk_loading_global: value.chunk_loading_global.as_str().into(), filename: value.filename.into(), chunk_filename: value.chunk_filename.into(), @@ -167,10 +183,13 @@ impl TryFrom for OutputOptions { hash_digest_length: value.hash_digest_length as usize, hash_salt: value.hash_salt.into(), async_chunks: value.async_chunks, - worker_chunk_loading: value.worker_chunk_loading.as_str().into(), - worker_wasm_loading: value.worker_wasm_loading.as_str().into(), + worker_chunk_loading: value.worker_chunk_loading.into(), + worker_wasm_loading: value.worker_wasm_loading.into(), worker_public_path: value.worker_public_path, - script_type: value.script_type, + script_type: match value.script_type { + WithFalse::False => "false".to_string(), + WithFalse::True(s) => s, + }, environment: value.environment.into(), charset: value.charset, chunk_load_timeout: value.chunk_load_timeout, diff --git a/crates/rspack_binding_values/src/raw_options/raw_snapshot.rs b/crates/rspack_binding_values/src/raw_options/raw_snapshot.rs deleted file mode 100644 index 8d368ad436c..00000000000 --- a/crates/rspack_binding_values/src/raw_options/raw_snapshot.rs +++ /dev/null @@ -1,12 +0,0 @@ -use napi_derive::napi; -use rspack_core::SnapshotOptions; - -#[derive(Debug, Default)] -#[napi(object)] -pub struct RawSnapshotOptions; - -impl From for SnapshotOptions { - fn from(_value: RawSnapshotOptions) -> Self { - SnapshotOptions - } -} diff --git a/crates/rspack_core/src/options/cache.rs b/crates/rspack_core/src/options/cache.rs index 370c591f646..89628f74af0 100644 --- a/crates/rspack_core/src/options/cache.rs +++ b/crates/rspack_core/src/options/cache.rs @@ -1,45 +1,6 @@ -#[derive(Debug, Clone, Default)] -pub struct MemoryCacheOptions { - /// Define the lifespan of unused cache entries in the memory cache. - pub max_generations: u32, -} - -#[derive(Debug, Clone, Default)] -pub struct FileSystemCacheOptions { - // Collect unused memory allocated during deserialization - // allow_collecting_memory: bool, - // Define the lifespan of unused cache entries in the memory cache. - // max_memory_generations: u32, - /// The amount of time in milliseconds that unused cache entries are allowed to stay in the filesystem cache; defaults to one month. - pub max_age: u32, - /// Track and log detailed timing information for individual cache items of type 'filesystem'. - pub profile: bool, - /// An object of arrays of additional code dependencies for the build. - pub build_dependencies: Vec, - /// Base directory for the cache. Defaults to node_modules/.cache/rspack. - pub cache_directory: String, - /// Locations for the cache. Defaults to path.resolve(cache.cacheDirectory, cache.name) - pub cache_location: String, - // Algorithm used the hash generation. - // hash_algorithm: "md4" | "md5" | ..., - // Compression type used for the cache files. - // compression: false | "gzip" | "brotli", - // Dnotes the time period after which the cache storing should happen. - // idle_timeout: number, - // idle_timeout_for_initial_store: number, - // idle_timeout_after_large_changes": number, - /// Name for the cache - pub name: String, - // Store strategy - // store: "pack", - /// Version of the cache data. - pub version: String, -} - #[derive(Debug, Default, Clone)] pub enum CacheOptions { #[default] Disabled, - Memory(MemoryCacheOptions), - FileSystem(FileSystemCacheOptions), + Memory, } diff --git a/crates/rspack_core/src/options/compiler_options.rs b/crates/rspack_core/src/options/compiler_options.rs index 96d95e704b6..f345cb65f57 100644 --- a/crates/rspack_core/src/options/compiler_options.rs +++ b/crates/rspack_core/src/options/compiler_options.rs @@ -1,6 +1,6 @@ use crate::{ CacheOptions, Context, Experiments, Mode, ModuleOptions, NodeOption, Optimization, OutputOptions, - Resolve, SnapshotOptions, StatsOptions, + Resolve, StatsOptions, }; #[derive(Debug)] @@ -12,7 +12,6 @@ pub struct CompilerOptions { pub resolve_loader: Resolve, pub module: ModuleOptions, pub stats: StatsOptions, - pub snapshot: SnapshotOptions, pub cache: CacheOptions, pub experiments: Experiments, pub node: Option, diff --git a/crates/rspack_core/src/options/mod.rs b/crates/rspack_core/src/options/mod.rs index dfa36d4e1fa..a63b49e20c3 100644 --- a/crates/rspack_core/src/options/mod.rs +++ b/crates/rspack_core/src/options/mod.rs @@ -23,8 +23,6 @@ mod stats; pub use stats::*; mod cache; pub use cache::*; -mod snapshot; -pub use snapshot::*; mod experiments; pub use experiments::*; mod node; diff --git a/crates/rspack_core/src/options/output.rs b/crates/rspack_core/src/options/output.rs index e51e98f09b3..d4dec95b4b7 100644 --- a/crates/rspack_core/src/options/output.rs +++ b/crates/rspack_core/src/options/output.rs @@ -98,15 +98,6 @@ pub enum ChunkLoading { Disable, } -impl From<&str> for ChunkLoading { - fn from(value: &str) -> Self { - match value { - "false" => ChunkLoading::Disable, - v => ChunkLoading::Enable(v.into()), - } - } -} - impl From for String { fn from(value: ChunkLoading) -> Self { match value { diff --git a/crates/rspack_core/src/options/snapshot.rs b/crates/rspack_core/src/options/snapshot.rs deleted file mode 100644 index a616dade4c4..00000000000 --- a/crates/rspack_core/src/options/snapshot.rs +++ /dev/null @@ -1,2 +0,0 @@ -#[derive(Debug, Clone, Default)] -pub struct SnapshotOptions; diff --git a/packages/rspack/etc/core.api.md b/packages/rspack/etc/core.api.md index 44c0b52eaee..b0f68fa838a 100644 --- a/packages/rspack/etc/core.api.md +++ b/packages/rspack/etc/core.api.md @@ -47,7 +47,6 @@ import type { JsDependency } from '@rspack/binding'; import type { JsExportsInfo } from '@rspack/binding'; import type { JsFactoryMeta } from '@rspack/binding'; import { JsHtmlPluginTag } from '@rspack/binding'; -import { JsLibraryOptions } from '@rspack/binding'; import { JsLoaderItem } from '@rspack/binding'; import { JsModule } from '@rspack/binding'; import type { JsModuleGraph } from '@rspack/binding'; @@ -235,7 +234,7 @@ export const BannerPlugin: { new (args: BannerPluginArgument): { name: BuiltinPluginName; _args: [args: BannerPluginArgument]; - affectedHooks: "done" | "make" | "compile" | "emit" | "afterEmit" | "invalid" | "thisCompilation" | "afterDone" | "compilation" | "normalModuleFactory" | "contextModuleFactory" | "initialize" | "shouldEmit" | "infrastructureLog" | "beforeRun" | "run" | "assetEmitted" | "failed" | "shutdown" | "watchRun" | "watchClose" | "environment" | "afterEnvironment" | "afterPlugins" | "afterResolvers" | "beforeCompile" | "afterCompile" | "finishMake" | "entryOption" | "additionalPass" | undefined; + affectedHooks: "done" | "make" | "environment" | "compile" | "emit" | "afterEmit" | "invalid" | "thisCompilation" | "afterDone" | "compilation" | "normalModuleFactory" | "contextModuleFactory" | "initialize" | "shouldEmit" | "infrastructureLog" | "beforeRun" | "run" | "assetEmitted" | "failed" | "shutdown" | "watchRun" | "watchClose" | "afterEnvironment" | "afterPlugins" | "afterResolvers" | "beforeCompile" | "afterCompile" | "finishMake" | "entryOption" | "additionalPass" | undefined; raw(compiler: Compiler_2): BuiltinPlugin; apply(compiler: Compiler_2): void; }; @@ -1176,7 +1175,7 @@ export const ContextReplacementPlugin: { new (resourceRegExp: RegExp, newContentResource?: any, newContentRecursive?: any, newContentRegExp?: any): { name: BuiltinPluginName; _args: [resourceRegExp: RegExp, newContentResource?: any, newContentRecursive?: any, newContentRegExp?: any]; - affectedHooks: "done" | "make" | "compile" | "emit" | "afterEmit" | "invalid" | "thisCompilation" | "afterDone" | "compilation" | "normalModuleFactory" | "contextModuleFactory" | "initialize" | "shouldEmit" | "infrastructureLog" | "beforeRun" | "run" | "assetEmitted" | "failed" | "shutdown" | "watchRun" | "watchClose" | "environment" | "afterEnvironment" | "afterPlugins" | "afterResolvers" | "beforeCompile" | "afterCompile" | "finishMake" | "entryOption" | "additionalPass" | undefined; + affectedHooks: "done" | "make" | "environment" | "compile" | "emit" | "afterEmit" | "invalid" | "thisCompilation" | "afterDone" | "compilation" | "normalModuleFactory" | "contextModuleFactory" | "initialize" | "shouldEmit" | "infrastructureLog" | "beforeRun" | "run" | "assetEmitted" | "failed" | "shutdown" | "watchRun" | "watchClose" | "afterEnvironment" | "afterPlugins" | "afterResolvers" | "beforeCompile" | "afterCompile" | "finishMake" | "entryOption" | "additionalPass" | undefined; raw(compiler: Compiler_2): BuiltinPlugin; apply(compiler: Compiler_2): void; }; @@ -1187,7 +1186,7 @@ export const CopyRspackPlugin: { new (copy: CopyRspackPluginOptions): { name: BuiltinPluginName; _args: [copy: CopyRspackPluginOptions]; - affectedHooks: "done" | "make" | "compile" | "emit" | "afterEmit" | "invalid" | "thisCompilation" | "afterDone" | "compilation" | "normalModuleFactory" | "contextModuleFactory" | "initialize" | "shouldEmit" | "infrastructureLog" | "beforeRun" | "run" | "assetEmitted" | "failed" | "shutdown" | "watchRun" | "watchClose" | "environment" | "afterEnvironment" | "afterPlugins" | "afterResolvers" | "beforeCompile" | "afterCompile" | "finishMake" | "entryOption" | "additionalPass" | undefined; + affectedHooks: "done" | "make" | "environment" | "compile" | "emit" | "afterEmit" | "invalid" | "thisCompilation" | "afterDone" | "compilation" | "normalModuleFactory" | "contextModuleFactory" | "initialize" | "shouldEmit" | "infrastructureLog" | "beforeRun" | "run" | "assetEmitted" | "failed" | "shutdown" | "watchRun" | "watchClose" | "afterEnvironment" | "afterPlugins" | "afterResolvers" | "beforeCompile" | "afterCompile" | "finishMake" | "entryOption" | "additionalPass" | undefined; raw(compiler: Compiler_2): BuiltinPlugin; apply(compiler: Compiler_2): void; }; @@ -1319,7 +1318,7 @@ export const DefinePlugin: { new (define: DefinePluginOptions): { name: BuiltinPluginName; _args: [define: DefinePluginOptions]; - affectedHooks: "done" | "make" | "compile" | "emit" | "afterEmit" | "invalid" | "thisCompilation" | "afterDone" | "compilation" | "normalModuleFactory" | "contextModuleFactory" | "initialize" | "shouldEmit" | "infrastructureLog" | "beforeRun" | "run" | "assetEmitted" | "failed" | "shutdown" | "watchRun" | "watchClose" | "environment" | "afterEnvironment" | "afterPlugins" | "afterResolvers" | "beforeCompile" | "afterCompile" | "finishMake" | "entryOption" | "additionalPass" | undefined; + affectedHooks: "done" | "make" | "environment" | "compile" | "emit" | "afterEmit" | "invalid" | "thisCompilation" | "afterDone" | "compilation" | "normalModuleFactory" | "contextModuleFactory" | "initialize" | "shouldEmit" | "infrastructureLog" | "beforeRun" | "run" | "assetEmitted" | "failed" | "shutdown" | "watchRun" | "watchClose" | "afterEnvironment" | "afterPlugins" | "afterResolvers" | "beforeCompile" | "afterCompile" | "finishMake" | "entryOption" | "additionalPass" | undefined; raw(compiler: Compiler_2): BuiltinPlugin; apply(compiler: Compiler_2): void; }; @@ -1566,7 +1565,7 @@ const ElectronTargetPlugin: { new (context?: string | undefined): { name: BuiltinPluginName; _args: [context?: string | undefined]; - affectedHooks: "done" | "make" | "compile" | "emit" | "afterEmit" | "invalid" | "thisCompilation" | "afterDone" | "compilation" | "normalModuleFactory" | "contextModuleFactory" | "initialize" | "shouldEmit" | "infrastructureLog" | "beforeRun" | "run" | "assetEmitted" | "failed" | "shutdown" | "watchRun" | "watchClose" | "environment" | "afterEnvironment" | "afterPlugins" | "afterResolvers" | "beforeCompile" | "afterCompile" | "finishMake" | "entryOption" | "additionalPass" | undefined; + affectedHooks: "done" | "make" | "environment" | "compile" | "emit" | "afterEmit" | "invalid" | "thisCompilation" | "afterDone" | "compilation" | "normalModuleFactory" | "contextModuleFactory" | "initialize" | "shouldEmit" | "infrastructureLog" | "beforeRun" | "run" | "assetEmitted" | "failed" | "shutdown" | "watchRun" | "watchClose" | "afterEnvironment" | "afterPlugins" | "afterResolvers" | "beforeCompile" | "afterCompile" | "finishMake" | "entryOption" | "additionalPass" | undefined; raw(compiler: Compiler_2): BuiltinPlugin; apply(compiler: Compiler_2): void; }; @@ -1577,7 +1576,7 @@ const EnableChunkLoadingPlugin: { new (type: string): { name: BuiltinPluginName; _args: [type: string]; - affectedHooks: "done" | "make" | "compile" | "emit" | "afterEmit" | "invalid" | "thisCompilation" | "afterDone" | "compilation" | "normalModuleFactory" | "contextModuleFactory" | "initialize" | "shouldEmit" | "infrastructureLog" | "beforeRun" | "run" | "assetEmitted" | "failed" | "shutdown" | "watchRun" | "watchClose" | "environment" | "afterEnvironment" | "afterPlugins" | "afterResolvers" | "beforeCompile" | "afterCompile" | "finishMake" | "entryOption" | "additionalPass" | undefined; + affectedHooks: "done" | "make" | "environment" | "compile" | "emit" | "afterEmit" | "invalid" | "thisCompilation" | "afterDone" | "compilation" | "normalModuleFactory" | "contextModuleFactory" | "initialize" | "shouldEmit" | "infrastructureLog" | "beforeRun" | "run" | "assetEmitted" | "failed" | "shutdown" | "watchRun" | "watchClose" | "afterEnvironment" | "afterPlugins" | "afterResolvers" | "beforeCompile" | "afterCompile" | "finishMake" | "entryOption" | "additionalPass" | undefined; raw(compiler: Compiler_2): BuiltinPlugin; apply(compiler: Compiler_2): void; }; @@ -1610,7 +1609,7 @@ const EnableWasmLoadingPlugin: { new (type: string): { name: BuiltinPluginName; _args: [type: string]; - affectedHooks: "done" | "make" | "compile" | "emit" | "afterEmit" | "invalid" | "thisCompilation" | "afterDone" | "compilation" | "normalModuleFactory" | "contextModuleFactory" | "initialize" | "shouldEmit" | "infrastructureLog" | "beforeRun" | "run" | "assetEmitted" | "failed" | "shutdown" | "watchRun" | "watchClose" | "environment" | "afterEnvironment" | "afterPlugins" | "afterResolvers" | "beforeCompile" | "afterCompile" | "finishMake" | "entryOption" | "additionalPass" | undefined; + affectedHooks: "done" | "make" | "environment" | "compile" | "emit" | "afterEmit" | "invalid" | "thisCompilation" | "afterDone" | "compilation" | "normalModuleFactory" | "contextModuleFactory" | "initialize" | "shouldEmit" | "infrastructureLog" | "beforeRun" | "run" | "assetEmitted" | "failed" | "shutdown" | "watchRun" | "watchClose" | "afterEnvironment" | "afterPlugins" | "afterResolvers" | "beforeCompile" | "afterCompile" | "finishMake" | "entryOption" | "additionalPass" | undefined; raw(compiler: Compiler_2): BuiltinPlugin; apply(compiler: Compiler_2): void; }; @@ -1870,7 +1869,7 @@ export const EvalDevToolModulePlugin: { new (options: EvalDevToolModulePluginOptions): { name: BuiltinPluginName; _args: [options: EvalDevToolModulePluginOptions]; - affectedHooks: "done" | "make" | "compile" | "emit" | "afterEmit" | "invalid" | "thisCompilation" | "afterDone" | "compilation" | "normalModuleFactory" | "contextModuleFactory" | "initialize" | "shouldEmit" | "infrastructureLog" | "beforeRun" | "run" | "assetEmitted" | "failed" | "shutdown" | "watchRun" | "watchClose" | "environment" | "afterEnvironment" | "afterPlugins" | "afterResolvers" | "beforeCompile" | "afterCompile" | "finishMake" | "entryOption" | "additionalPass" | undefined; + affectedHooks: "done" | "make" | "environment" | "compile" | "emit" | "afterEmit" | "invalid" | "thisCompilation" | "afterDone" | "compilation" | "normalModuleFactory" | "contextModuleFactory" | "initialize" | "shouldEmit" | "infrastructureLog" | "beforeRun" | "run" | "assetEmitted" | "failed" | "shutdown" | "watchRun" | "watchClose" | "afterEnvironment" | "afterPlugins" | "afterResolvers" | "beforeCompile" | "afterCompile" | "finishMake" | "entryOption" | "additionalPass" | undefined; raw(compiler: Compiler_2): BuiltinPlugin; apply(compiler: Compiler_2): void; }; @@ -1883,7 +1882,7 @@ export const EvalSourceMapDevToolPlugin: { new (options: SourceMapDevToolPluginOptions): { name: BuiltinPluginName; _args: [options: SourceMapDevToolPluginOptions]; - affectedHooks: "done" | "make" | "compile" | "emit" | "afterEmit" | "invalid" | "thisCompilation" | "afterDone" | "compilation" | "normalModuleFactory" | "contextModuleFactory" | "initialize" | "shouldEmit" | "infrastructureLog" | "beforeRun" | "run" | "assetEmitted" | "failed" | "shutdown" | "watchRun" | "watchClose" | "environment" | "afterEnvironment" | "afterPlugins" | "afterResolvers" | "beforeCompile" | "afterCompile" | "finishMake" | "entryOption" | "additionalPass" | undefined; + affectedHooks: "done" | "make" | "environment" | "compile" | "emit" | "afterEmit" | "invalid" | "thisCompilation" | "afterDone" | "compilation" | "normalModuleFactory" | "contextModuleFactory" | "initialize" | "shouldEmit" | "infrastructureLog" | "beforeRun" | "run" | "assetEmitted" | "failed" | "shutdown" | "watchRun" | "watchClose" | "afterEnvironment" | "afterPlugins" | "afterResolvers" | "beforeCompile" | "afterCompile" | "finishMake" | "entryOption" | "additionalPass" | undefined; raw(compiler: Compiler_2): BuiltinPlugin; apply(compiler: Compiler_2): void; }; @@ -2131,7 +2130,7 @@ const FetchCompileAsyncWasmPlugin: { new (): { name: BuiltinPluginName; _args: []; - affectedHooks: "done" | "make" | "compile" | "emit" | "afterEmit" | "invalid" | "thisCompilation" | "afterDone" | "compilation" | "normalModuleFactory" | "contextModuleFactory" | "initialize" | "shouldEmit" | "infrastructureLog" | "beforeRun" | "run" | "assetEmitted" | "failed" | "shutdown" | "watchRun" | "watchClose" | "environment" | "afterEnvironment" | "afterPlugins" | "afterResolvers" | "beforeCompile" | "afterCompile" | "finishMake" | "entryOption" | "additionalPass" | undefined; + affectedHooks: "done" | "make" | "environment" | "compile" | "emit" | "afterEmit" | "invalid" | "thisCompilation" | "afterDone" | "compilation" | "normalModuleFactory" | "contextModuleFactory" | "initialize" | "shouldEmit" | "infrastructureLog" | "beforeRun" | "run" | "assetEmitted" | "failed" | "shutdown" | "watchRun" | "watchClose" | "afterEnvironment" | "afterPlugins" | "afterResolvers" | "beforeCompile" | "afterCompile" | "finishMake" | "entryOption" | "additionalPass" | undefined; raw(compiler: Compiler_2): BuiltinPlugin; apply(compiler: Compiler_2): void; }; @@ -2187,12 +2186,6 @@ type GetChildLogger = (name: string | (() => string)) => Logger; // @public (undocumented) export const getNormalizedRspackOptions: (config: RspackOptions) => RspackOptionsNormalized; -// @public (undocumented) -export function getRawChunkLoading(chunkLoading: ChunkLoading): string; - -// @public (undocumented) -export function getRawLibrary(library: LibraryOptions): JsLibraryOptions; - // @public (undocumented) export const getRawOptions: (options: RspackOptionsNormalized, compiler: Compiler) => RawOptions; @@ -2334,7 +2327,7 @@ const HtmlRspackPluginImpl: { new (c?: HtmlRspackPluginOptions | undefined): { name: BuiltinPluginName; _args: [c?: HtmlRspackPluginOptions | undefined]; - affectedHooks: "done" | "make" | "compile" | "emit" | "afterEmit" | "invalid" | "thisCompilation" | "afterDone" | "compilation" | "normalModuleFactory" | "contextModuleFactory" | "initialize" | "shouldEmit" | "infrastructureLog" | "beforeRun" | "run" | "assetEmitted" | "failed" | "shutdown" | "watchRun" | "watchClose" | "environment" | "afterEnvironment" | "afterPlugins" | "afterResolvers" | "beforeCompile" | "afterCompile" | "finishMake" | "entryOption" | "additionalPass" | undefined; + affectedHooks: "done" | "make" | "environment" | "compile" | "emit" | "afterEmit" | "invalid" | "thisCompilation" | "afterDone" | "compilation" | "normalModuleFactory" | "contextModuleFactory" | "initialize" | "shouldEmit" | "infrastructureLog" | "beforeRun" | "run" | "assetEmitted" | "failed" | "shutdown" | "watchRun" | "watchClose" | "afterEnvironment" | "afterPlugins" | "afterResolvers" | "beforeCompile" | "afterCompile" | "finishMake" | "entryOption" | "additionalPass" | undefined; raw(compiler: Compiler): BuiltinPlugin; apply(compiler: Compiler): void; }; @@ -2397,7 +2390,7 @@ export const IgnorePlugin: { new (options: IgnorePluginOptions): { name: BuiltinPluginName; _args: [options: IgnorePluginOptions]; - affectedHooks: "done" | "make" | "compile" | "emit" | "afterEmit" | "invalid" | "thisCompilation" | "afterDone" | "compilation" | "normalModuleFactory" | "contextModuleFactory" | "initialize" | "shouldEmit" | "infrastructureLog" | "beforeRun" | "run" | "assetEmitted" | "failed" | "shutdown" | "watchRun" | "watchClose" | "environment" | "afterEnvironment" | "afterPlugins" | "afterResolvers" | "beforeCompile" | "afterCompile" | "finishMake" | "entryOption" | "additionalPass" | undefined; + affectedHooks: "done" | "make" | "environment" | "compile" | "emit" | "afterEmit" | "invalid" | "thisCompilation" | "afterDone" | "compilation" | "normalModuleFactory" | "contextModuleFactory" | "initialize" | "shouldEmit" | "infrastructureLog" | "beforeRun" | "run" | "assetEmitted" | "failed" | "shutdown" | "watchRun" | "watchClose" | "afterEnvironment" | "afterPlugins" | "afterResolvers" | "beforeCompile" | "afterCompile" | "finishMake" | "entryOption" | "additionalPass" | undefined; raw(compiler: Compiler_2): BuiltinPlugin; apply(compiler: Compiler_2): void; }; @@ -3243,7 +3236,7 @@ export const LightningCssMinimizerRspackPlugin: { new (options?: LightningCssMinimizerRspackPluginOptions | undefined): { name: BuiltinPluginName; _args: [options?: LightningCssMinimizerRspackPluginOptions | undefined]; - affectedHooks: "done" | "make" | "compile" | "emit" | "afterEmit" | "invalid" | "thisCompilation" | "afterDone" | "compilation" | "normalModuleFactory" | "contextModuleFactory" | "initialize" | "shouldEmit" | "infrastructureLog" | "beforeRun" | "run" | "assetEmitted" | "failed" | "shutdown" | "watchRun" | "watchClose" | "environment" | "afterEnvironment" | "afterPlugins" | "afterResolvers" | "beforeCompile" | "afterCompile" | "finishMake" | "entryOption" | "additionalPass" | undefined; + affectedHooks: "done" | "make" | "environment" | "compile" | "emit" | "afterEmit" | "invalid" | "thisCompilation" | "afterDone" | "compilation" | "normalModuleFactory" | "contextModuleFactory" | "initialize" | "shouldEmit" | "infrastructureLog" | "beforeRun" | "run" | "assetEmitted" | "failed" | "shutdown" | "watchRun" | "watchClose" | "afterEnvironment" | "afterPlugins" | "afterResolvers" | "beforeCompile" | "afterCompile" | "finishMake" | "entryOption" | "additionalPass" | undefined; raw(compiler: Compiler_2): BuiltinPlugin; apply(compiler: Compiler_2): void; }; @@ -3280,7 +3273,7 @@ const LimitChunkCountPlugin: { new (options: LimitChunkCountOptions): { name: BuiltinPluginName; _args: [options: LimitChunkCountOptions]; - affectedHooks: "done" | "make" | "compile" | "emit" | "afterEmit" | "invalid" | "thisCompilation" | "afterDone" | "compilation" | "normalModuleFactory" | "contextModuleFactory" | "initialize" | "shouldEmit" | "infrastructureLog" | "beforeRun" | "run" | "assetEmitted" | "failed" | "shutdown" | "watchRun" | "watchClose" | "environment" | "afterEnvironment" | "afterPlugins" | "afterResolvers" | "beforeCompile" | "afterCompile" | "finishMake" | "entryOption" | "additionalPass" | undefined; + affectedHooks: "done" | "make" | "environment" | "compile" | "emit" | "afterEmit" | "invalid" | "thisCompilation" | "afterDone" | "compilation" | "normalModuleFactory" | "contextModuleFactory" | "initialize" | "shouldEmit" | "infrastructureLog" | "beforeRun" | "run" | "assetEmitted" | "failed" | "shutdown" | "watchRun" | "watchClose" | "afterEnvironment" | "afterPlugins" | "afterResolvers" | "beforeCompile" | "afterCompile" | "finishMake" | "entryOption" | "additionalPass" | undefined; raw(compiler: Compiler_2): BuiltinPlugin; apply(compiler: Compiler_2): void; }; @@ -3941,7 +3934,7 @@ const NodeTargetPlugin: { new (): { name: BuiltinPluginName; _args: []; - affectedHooks: "done" | "make" | "compile" | "emit" | "afterEmit" | "invalid" | "thisCompilation" | "afterDone" | "compilation" | "normalModuleFactory" | "contextModuleFactory" | "initialize" | "shouldEmit" | "infrastructureLog" | "beforeRun" | "run" | "assetEmitted" | "failed" | "shutdown" | "watchRun" | "watchClose" | "environment" | "afterEnvironment" | "afterPlugins" | "afterResolvers" | "beforeCompile" | "afterCompile" | "finishMake" | "entryOption" | "additionalPass" | undefined; + affectedHooks: "done" | "make" | "environment" | "compile" | "emit" | "afterEmit" | "invalid" | "thisCompilation" | "afterDone" | "compilation" | "normalModuleFactory" | "contextModuleFactory" | "initialize" | "shouldEmit" | "infrastructureLog" | "beforeRun" | "run" | "assetEmitted" | "failed" | "shutdown" | "watchRun" | "watchClose" | "afterEnvironment" | "afterPlugins" | "afterResolvers" | "beforeCompile" | "afterCompile" | "finishMake" | "entryOption" | "additionalPass" | undefined; raw(compiler: Compiler_2): BuiltinPlugin; apply(compiler: Compiler_2): void; }; @@ -3964,7 +3957,7 @@ export const NoEmitOnErrorsPlugin: { new (): { name: BuiltinPluginName; _args: []; - affectedHooks: "done" | "make" | "compile" | "emit" | "afterEmit" | "invalid" | "thisCompilation" | "afterDone" | "compilation" | "normalModuleFactory" | "contextModuleFactory" | "initialize" | "shouldEmit" | "infrastructureLog" | "beforeRun" | "run" | "assetEmitted" | "failed" | "shutdown" | "watchRun" | "watchClose" | "environment" | "afterEnvironment" | "afterPlugins" | "afterResolvers" | "beforeCompile" | "afterCompile" | "finishMake" | "entryOption" | "additionalPass" | undefined; + affectedHooks: "done" | "make" | "environment" | "compile" | "emit" | "afterEmit" | "invalid" | "thisCompilation" | "afterDone" | "compilation" | "normalModuleFactory" | "contextModuleFactory" | "initialize" | "shouldEmit" | "infrastructureLog" | "beforeRun" | "run" | "assetEmitted" | "failed" | "shutdown" | "watchRun" | "watchClose" | "afterEnvironment" | "afterPlugins" | "afterResolvers" | "beforeCompile" | "afterCompile" | "finishMake" | "entryOption" | "additionalPass" | undefined; raw(compiler: Compiler_2): BuiltinPlugin; apply(compiler: Compiler_2): void; }; @@ -4193,7 +4186,7 @@ const OriginEntryPlugin: { new (context: string, entry: string, options?: string | EntryOptions | undefined): { name: BuiltinPluginName; _args: [context: string, entry: string, options?: string | EntryOptions | undefined]; - affectedHooks: "done" | "make" | "compile" | "emit" | "afterEmit" | "invalid" | "thisCompilation" | "afterDone" | "compilation" | "normalModuleFactory" | "contextModuleFactory" | "initialize" | "shouldEmit" | "infrastructureLog" | "beforeRun" | "run" | "assetEmitted" | "failed" | "shutdown" | "watchRun" | "watchClose" | "environment" | "afterEnvironment" | "afterPlugins" | "afterResolvers" | "beforeCompile" | "afterCompile" | "finishMake" | "entryOption" | "additionalPass" | undefined; + affectedHooks: "done" | "make" | "environment" | "compile" | "emit" | "afterEmit" | "invalid" | "thisCompilation" | "afterDone" | "compilation" | "normalModuleFactory" | "contextModuleFactory" | "initialize" | "shouldEmit" | "infrastructureLog" | "beforeRun" | "run" | "assetEmitted" | "failed" | "shutdown" | "watchRun" | "watchClose" | "afterEnvironment" | "afterPlugins" | "afterResolvers" | "beforeCompile" | "afterCompile" | "finishMake" | "entryOption" | "additionalPass" | undefined; raw(compiler: Compiler_2): BuiltinPlugin; apply(compiler: Compiler_2): void; }; @@ -4584,7 +4577,7 @@ export const ProgressPlugin: { new (progress?: ProgressPluginArgument): { name: BuiltinPluginName; _args: [progress?: ProgressPluginArgument]; - affectedHooks: "done" | "make" | "compile" | "emit" | "afterEmit" | "invalid" | "thisCompilation" | "afterDone" | "compilation" | "normalModuleFactory" | "contextModuleFactory" | "initialize" | "shouldEmit" | "infrastructureLog" | "beforeRun" | "run" | "assetEmitted" | "failed" | "shutdown" | "watchRun" | "watchClose" | "environment" | "afterEnvironment" | "afterPlugins" | "afterResolvers" | "beforeCompile" | "afterCompile" | "finishMake" | "entryOption" | "additionalPass" | undefined; + affectedHooks: "done" | "make" | "environment" | "compile" | "emit" | "afterEmit" | "invalid" | "thisCompilation" | "afterDone" | "compilation" | "normalModuleFactory" | "contextModuleFactory" | "initialize" | "shouldEmit" | "infrastructureLog" | "beforeRun" | "run" | "assetEmitted" | "failed" | "shutdown" | "watchRun" | "watchClose" | "afterEnvironment" | "afterPlugins" | "afterResolvers" | "beforeCompile" | "afterCompile" | "finishMake" | "entryOption" | "additionalPass" | undefined; raw(compiler: Compiler_2): BuiltinPlugin; apply(compiler: Compiler_2): void; }; @@ -4598,7 +4591,7 @@ export const ProvidePlugin: { new (provide: ProvidePluginOptions): { name: BuiltinPluginName; _args: [provide: ProvidePluginOptions]; - affectedHooks: "done" | "make" | "compile" | "emit" | "afterEmit" | "invalid" | "thisCompilation" | "afterDone" | "compilation" | "normalModuleFactory" | "contextModuleFactory" | "initialize" | "shouldEmit" | "infrastructureLog" | "beforeRun" | "run" | "assetEmitted" | "failed" | "shutdown" | "watchRun" | "watchClose" | "environment" | "afterEnvironment" | "afterPlugins" | "afterResolvers" | "beforeCompile" | "afterCompile" | "finishMake" | "entryOption" | "additionalPass" | undefined; + affectedHooks: "done" | "make" | "environment" | "compile" | "emit" | "afterEmit" | "invalid" | "thisCompilation" | "afterDone" | "compilation" | "normalModuleFactory" | "contextModuleFactory" | "initialize" | "shouldEmit" | "infrastructureLog" | "beforeRun" | "run" | "assetEmitted" | "failed" | "shutdown" | "watchRun" | "watchClose" | "afterEnvironment" | "afterPlugins" | "afterResolvers" | "beforeCompile" | "afterCompile" | "finishMake" | "entryOption" | "additionalPass" | undefined; raw(compiler: Compiler_2): BuiltinPlugin; apply(compiler: Compiler_2): void; }; @@ -4903,7 +4896,7 @@ const RemoveDuplicateModulesPlugin: { new (): { name: BuiltinPluginName; _args: []; - affectedHooks: "done" | "make" | "compile" | "emit" | "afterEmit" | "invalid" | "thisCompilation" | "afterDone" | "compilation" | "normalModuleFactory" | "contextModuleFactory" | "initialize" | "shouldEmit" | "infrastructureLog" | "beforeRun" | "run" | "assetEmitted" | "failed" | "shutdown" | "watchRun" | "watchClose" | "environment" | "afterEnvironment" | "afterPlugins" | "afterResolvers" | "beforeCompile" | "afterCompile" | "finishMake" | "entryOption" | "additionalPass" | undefined; + affectedHooks: "done" | "make" | "environment" | "compile" | "emit" | "afterEmit" | "invalid" | "thisCompilation" | "afterDone" | "compilation" | "normalModuleFactory" | "contextModuleFactory" | "initialize" | "shouldEmit" | "infrastructureLog" | "beforeRun" | "run" | "assetEmitted" | "failed" | "shutdown" | "watchRun" | "watchClose" | "afterEnvironment" | "afterPlugins" | "afterResolvers" | "beforeCompile" | "afterCompile" | "finishMake" | "entryOption" | "additionalPass" | undefined; raw(compiler: Compiler_2): BuiltinPlugin; apply(compiler: Compiler_2): void; }; @@ -5196,8 +5189,6 @@ declare namespace rspackExports { LightningcssFeatureOptions, experiments, getRawResolve, - getRawLibrary, - getRawChunkLoading, LoaderContext, LoaderDefinition, LoaderDefinitionFunction, @@ -6046,7 +6037,6 @@ export const rspackOptions: z.ZodObject<{ compareBeforeEmit: z.ZodOptional; }, "strict", z.ZodTypeAny, { module?: boolean | undefined; - path?: string | undefined; chunkLoading?: string | false | undefined; asyncChunks?: boolean | undefined; publicPath?: string | ((args_0: PathData, args_1: JsAssetInfo | undefined, ...args: unknown[]) => string) | undefined; @@ -6081,35 +6071,20 @@ export const rspackOptions: z.ZodObject<{ root?: string | undefined; } | undefined; umdNamedDefine?: boolean | undefined; - crossOriginLoading?: false | "anonymous" | "use-credentials" | undefined; - environment?: { - module?: boolean | undefined; - document?: boolean | undefined; - nodePrefixForCoreModules?: boolean | undefined; - globalThis?: boolean | undefined; - bigIntLiteral?: boolean | undefined; - const?: boolean | undefined; - arrowFunction?: boolean | undefined; - forOf?: boolean | undefined; - destructuring?: boolean | undefined; - dynamicImport?: boolean | undefined; - dynamicImportInWorker?: boolean | undefined; - optionalChaining?: boolean | undefined; - templateLiteral?: boolean | undefined; - asyncFunction?: boolean | undefined; - } | undefined; - chunkFilename?: string | ((args_0: PathData, args_1: JsAssetInfo | undefined, ...args: unknown[]) => string) | undefined; - uniqueName?: string | undefined; + path?: string | undefined; pathinfo?: boolean | "verbose" | undefined; clean?: boolean | { keep?: string | undefined; } | undefined; + chunkFilename?: string | ((args_0: PathData, args_1: JsAssetInfo | undefined, ...args: unknown[]) => string) | undefined; + crossOriginLoading?: false | "anonymous" | "use-credentials" | undefined; cssFilename?: string | ((args_0: PathData, args_1: JsAssetInfo | undefined, ...args: unknown[]) => string) | undefined; cssChunkFilename?: string | ((args_0: PathData, args_1: JsAssetInfo | undefined, ...args: unknown[]) => string) | undefined; hotUpdateMainFilename?: string | undefined; hotUpdateChunkFilename?: string | undefined; hotUpdateGlobal?: string | undefined; assetModuleFilename?: string | ((args_0: PathData, args_1: JsAssetInfo | undefined, ...args: unknown[]) => string) | undefined; + uniqueName?: string | undefined; chunkLoadingGlobal?: string | undefined; enabledLibraryTypes?: string[] | undefined; strictModuleErrorHandling?: boolean | undefined; @@ -6137,6 +6112,22 @@ export const rspackOptions: z.ZodObject<{ devtoolNamespace?: string | undefined; devtoolModuleFilenameTemplate?: string | ((args_0: any) => any) | undefined; devtoolFallbackModuleFilenameTemplate?: string | ((args_0: any) => any) | undefined; + environment?: { + module?: boolean | undefined; + document?: boolean | undefined; + nodePrefixForCoreModules?: boolean | undefined; + globalThis?: boolean | undefined; + bigIntLiteral?: boolean | undefined; + const?: boolean | undefined; + arrowFunction?: boolean | undefined; + forOf?: boolean | undefined; + destructuring?: boolean | undefined; + dynamicImport?: boolean | undefined; + dynamicImportInWorker?: boolean | undefined; + optionalChaining?: boolean | undefined; + templateLiteral?: boolean | undefined; + asyncFunction?: boolean | undefined; + } | undefined; charset?: boolean | undefined; chunkLoadTimeout?: number | undefined; compareBeforeEmit?: boolean | undefined; @@ -6145,7 +6136,6 @@ export const rspackOptions: z.ZodObject<{ strictModuleExceptionHandling?: boolean | undefined; }, { module?: boolean | undefined; - path?: string | undefined; chunkLoading?: string | false | undefined; asyncChunks?: boolean | undefined; publicPath?: string | ((args_0: PathData, args_1: JsAssetInfo | undefined, ...args: unknown[]) => string) | undefined; @@ -6180,35 +6170,20 @@ export const rspackOptions: z.ZodObject<{ root?: string | undefined; } | undefined; umdNamedDefine?: boolean | undefined; - crossOriginLoading?: false | "anonymous" | "use-credentials" | undefined; - environment?: { - module?: boolean | undefined; - document?: boolean | undefined; - nodePrefixForCoreModules?: boolean | undefined; - globalThis?: boolean | undefined; - bigIntLiteral?: boolean | undefined; - const?: boolean | undefined; - arrowFunction?: boolean | undefined; - forOf?: boolean | undefined; - destructuring?: boolean | undefined; - dynamicImport?: boolean | undefined; - dynamicImportInWorker?: boolean | undefined; - optionalChaining?: boolean | undefined; - templateLiteral?: boolean | undefined; - asyncFunction?: boolean | undefined; - } | undefined; - chunkFilename?: string | ((args_0: PathData, args_1: JsAssetInfo | undefined, ...args: unknown[]) => string) | undefined; - uniqueName?: string | undefined; + path?: string | undefined; pathinfo?: boolean | "verbose" | undefined; clean?: boolean | { keep?: string | undefined; } | undefined; + chunkFilename?: string | ((args_0: PathData, args_1: JsAssetInfo | undefined, ...args: unknown[]) => string) | undefined; + crossOriginLoading?: false | "anonymous" | "use-credentials" | undefined; cssFilename?: string | ((args_0: PathData, args_1: JsAssetInfo | undefined, ...args: unknown[]) => string) | undefined; cssChunkFilename?: string | ((args_0: PathData, args_1: JsAssetInfo | undefined, ...args: unknown[]) => string) | undefined; hotUpdateMainFilename?: string | undefined; hotUpdateChunkFilename?: string | undefined; hotUpdateGlobal?: string | undefined; assetModuleFilename?: string | ((args_0: PathData, args_1: JsAssetInfo | undefined, ...args: unknown[]) => string) | undefined; + uniqueName?: string | undefined; chunkLoadingGlobal?: string | undefined; enabledLibraryTypes?: string[] | undefined; strictModuleErrorHandling?: boolean | undefined; @@ -6236,6 +6211,22 @@ export const rspackOptions: z.ZodObject<{ devtoolNamespace?: string | undefined; devtoolModuleFilenameTemplate?: string | ((args_0: any) => any) | undefined; devtoolFallbackModuleFilenameTemplate?: string | ((args_0: any) => any) | undefined; + environment?: { + module?: boolean | undefined; + document?: boolean | undefined; + nodePrefixForCoreModules?: boolean | undefined; + globalThis?: boolean | undefined; + bigIntLiteral?: boolean | undefined; + const?: boolean | undefined; + arrowFunction?: boolean | undefined; + forOf?: boolean | undefined; + destructuring?: boolean | undefined; + dynamicImport?: boolean | undefined; + dynamicImportInWorker?: boolean | undefined; + optionalChaining?: boolean | undefined; + templateLiteral?: boolean | undefined; + asyncFunction?: boolean | undefined; + } | undefined; charset?: boolean | undefined; chunkLoadTimeout?: number | undefined; compareBeforeEmit?: boolean | undefined; @@ -6502,6 +6493,27 @@ export const rspackOptions: z.ZodObject<{ directory?: string | undefined; } | undefined; } | undefined; + lazyCompilation?: boolean | { + entries?: boolean | undefined; + test?: RegExp | ((args_0: Module, ...args: unknown[]) => boolean) | undefined; + imports?: boolean | undefined; + backend?: { + client?: string | undefined; + listen?: number | { + path?: string | undefined; + port?: number | undefined; + host?: string | undefined; + backlog?: number | undefined; + exclusive?: boolean | undefined; + readableAll?: boolean | undefined; + writableAll?: boolean | undefined; + ipv6Only?: boolean | undefined; + } | undefined; + protocol?: "http" | "https" | undefined; + } | undefined; + } | undefined; + asyncWebAssembly?: boolean | undefined; + outputModule?: boolean | undefined; topLevelAwait?: boolean | undefined; layers?: boolean | undefined; incremental?: boolean | { @@ -6520,6 +6532,7 @@ export const rspackOptions: z.ZodObject<{ chunksRender?: boolean | undefined; emitAssets?: boolean | undefined; } | undefined; + futureDefaults?: boolean | undefined; rspackFuture?: { bundlerInfo?: { version?: string | undefined; @@ -6527,9 +6540,24 @@ export const rspackOptions: z.ZodObject<{ bundler?: string | undefined; } | undefined; } | undefined; - asyncWebAssembly?: boolean | undefined; - outputModule?: boolean | undefined; - futureDefaults?: boolean | undefined; + }, { + css?: boolean | undefined; + cache?: boolean | { + type: "memory"; + } | { + type: "persistent"; + version?: string | undefined; + snapshot?: { + immutablePaths?: (string | RegExp)[] | undefined; + unmanagedPaths?: (string | RegExp)[] | undefined; + managedPaths?: (string | RegExp)[] | undefined; + } | undefined; + buildDependencies?: string[] | undefined; + storage?: { + type: "filesystem"; + directory?: string | undefined; + } | undefined; + } | undefined; lazyCompilation?: boolean | { entries?: boolean | undefined; test?: RegExp | ((args_0: Module, ...args: unknown[]) => boolean) | undefined; @@ -6549,24 +6577,8 @@ export const rspackOptions: z.ZodObject<{ protocol?: "http" | "https" | undefined; } | undefined; } | undefined; - }, { - css?: boolean | undefined; - cache?: boolean | { - type: "memory"; - } | { - type: "persistent"; - version?: string | undefined; - snapshot?: { - immutablePaths?: (string | RegExp)[] | undefined; - unmanagedPaths?: (string | RegExp)[] | undefined; - managedPaths?: (string | RegExp)[] | undefined; - } | undefined; - buildDependencies?: string[] | undefined; - storage?: { - type: "filesystem"; - directory?: string | undefined; - } | undefined; - } | undefined; + asyncWebAssembly?: boolean | undefined; + outputModule?: boolean | undefined; topLevelAwait?: boolean | undefined; layers?: boolean | undefined; incremental?: boolean | { @@ -6585,6 +6597,7 @@ export const rspackOptions: z.ZodObject<{ chunksRender?: boolean | undefined; emitAssets?: boolean | undefined; } | undefined; + futureDefaults?: boolean | undefined; rspackFuture?: { bundlerInfo?: { version?: string | undefined; @@ -6592,28 +6605,6 @@ export const rspackOptions: z.ZodObject<{ bundler?: string | undefined; } | undefined; } | undefined; - asyncWebAssembly?: boolean | undefined; - outputModule?: boolean | undefined; - futureDefaults?: boolean | undefined; - lazyCompilation?: boolean | { - entries?: boolean | undefined; - test?: RegExp | ((args_0: Module, ...args: unknown[]) => boolean) | undefined; - imports?: boolean | undefined; - backend?: { - client?: string | undefined; - listen?: number | { - path?: string | undefined; - port?: number | undefined; - host?: string | undefined; - backlog?: number | undefined; - exclusive?: boolean | undefined; - readableAll?: boolean | undefined; - writableAll?: boolean | undefined; - ipv6Only?: boolean | undefined; - } | undefined; - protocol?: "http" | "https" | undefined; - } | undefined; - } | undefined; }>>; externals: z.ZodOptional]>, z.ZodRecord, z.ZodArray]>, ZodRspackCrossChecker]>>]>, z.ZodFunction, z.ZodFunction>, z.ZodOptional, z.ZodArray]>, ZodRspackCrossChecker]>>, z.ZodOptional>], z.ZodUnknown>, z.ZodVoid>], z.ZodUnknown>, z.ZodUnknown>]>, z.ZodFunction], z.ZodUnknown>, z.ZodPromise, z.ZodArray]>, ZodRspackCrossChecker]>>>]>, "many">, z.ZodUnion<[z.ZodUnion<[z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodType]>, z.ZodRecord, z.ZodArray]>, ZodRspackCrossChecker]>>]>, z.ZodFunction, z.ZodFunction>, z.ZodOptional, z.ZodArray]>, ZodRspackCrossChecker]>>, z.ZodOptional>], z.ZodUnknown>, z.ZodVoid>], z.ZodUnknown>, z.ZodUnknown>]>, z.ZodFunction], z.ZodUnknown>, z.ZodPromise, z.ZodArray]>, ZodRspackCrossChecker]>>>]>]>>; externalsType: z.ZodOptional>; @@ -6979,8 +6970,8 @@ export const rspackOptions: z.ZodObject<{ idHint: z.ZodOptional; }, "strict", z.ZodTypeAny, { name?: string | false | ((args_0: Module | undefined, ...args: unknown[]) => unknown) | undefined; - type?: string | RegExp | undefined; filename?: string | undefined; + type?: string | RegExp | undefined; chunks?: RegExp | "initial" | "async" | "all" | ((args_0: Chunk, ...args: unknown[]) => boolean) | undefined; usedExports?: boolean | undefined; defaultSizeTypes?: string[] | undefined; @@ -6999,8 +6990,8 @@ export const rspackOptions: z.ZodObject<{ idHint?: string | undefined; }, { name?: string | false | ((args_0: Module | undefined, ...args: unknown[]) => unknown) | undefined; - type?: string | RegExp | undefined; filename?: string | undefined; + type?: string | RegExp | undefined; chunks?: RegExp | "initial" | "async" | "all" | ((args_0: Chunk, ...args: unknown[]) => boolean) | undefined; usedExports?: boolean | undefined; defaultSizeTypes?: string[] | undefined; @@ -7048,8 +7039,8 @@ export const rspackOptions: z.ZodObject<{ defaultSizeTypes?: string[] | undefined; cacheGroups?: Record unknown) | undefined; - type?: string | RegExp | undefined; filename?: string | undefined; + type?: string | RegExp | undefined; chunks?: RegExp | "initial" | "async" | "all" | ((args_0: Chunk, ...args: unknown[]) => boolean) | undefined; usedExports?: boolean | undefined; defaultSizeTypes?: string[] | undefined; @@ -7091,8 +7082,8 @@ export const rspackOptions: z.ZodObject<{ defaultSizeTypes?: string[] | undefined; cacheGroups?: Record unknown) | undefined; - type?: string | RegExp | undefined; filename?: string | undefined; + type?: string | RegExp | undefined; chunks?: RegExp | "initial" | "async" | "all" | ((args_0: Chunk, ...args: unknown[]) => boolean) | undefined; usedExports?: boolean | undefined; defaultSizeTypes?: string[] | undefined; @@ -7159,6 +7150,11 @@ export const rspackOptions: z.ZodObject<{ }, "strict", z.ZodTypeAny, { usedExports?: boolean | "global" | undefined; providedExports?: boolean | undefined; + moduleIds?: "named" | "natural" | "deterministic" | undefined; + chunkIds?: "named" | "natural" | "deterministic" | "size" | "total-size" | undefined; + minimize?: boolean | undefined; + minimizer?: (false | "" | 0 | "..." | t.RspackPluginInstance | t.WebpackPluginInstance | t.RspackPluginFunction | t.WebpackPluginFunction | null | undefined)[] | undefined; + mergeDuplicateChunks?: boolean | undefined; splitChunks?: false | { name?: string | false | ((args_0: Module | undefined, ...args: unknown[]) => unknown) | undefined; chunks?: RegExp | "initial" | "async" | "all" | ((args_0: Chunk, ...args: unknown[]) => boolean) | undefined; @@ -7166,8 +7162,8 @@ export const rspackOptions: z.ZodObject<{ defaultSizeTypes?: string[] | undefined; cacheGroups?: Record unknown) | undefined; - type?: string | RegExp | undefined; filename?: string | undefined; + type?: string | RegExp | undefined; chunks?: RegExp | "initial" | "async" | "all" | ((args_0: Chunk, ...args: unknown[]) => boolean) | undefined; usedExports?: boolean | undefined; defaultSizeTypes?: string[] | undefined; @@ -7203,17 +7199,12 @@ export const rspackOptions: z.ZodObject<{ maxInitialRequests?: number | undefined; automaticNameDelimiter?: string | undefined; } | undefined; - moduleIds?: "named" | "natural" | "deterministic" | undefined; - chunkIds?: "named" | "natural" | "deterministic" | "size" | "total-size" | undefined; - removeAvailableModules?: boolean | undefined; - minimize?: boolean | undefined; - minimizer?: (false | "" | 0 | "..." | t.RspackPluginInstance | t.WebpackPluginInstance | t.RspackPluginFunction | t.WebpackPluginFunction | null | undefined)[] | undefined; - mergeDuplicateChunks?: boolean | undefined; runtimeChunk?: boolean | "single" | "multiple" | { name?: string | ((args_0: { name: string; }, ...args: unknown[]) => string) | undefined; } | undefined; + removeAvailableModules?: boolean | undefined; removeEmptyChunks?: boolean | undefined; realContentHash?: boolean | undefined; sideEffects?: boolean | "flag" | undefined; @@ -7225,6 +7216,11 @@ export const rspackOptions: z.ZodObject<{ }, { usedExports?: boolean | "global" | undefined; providedExports?: boolean | undefined; + moduleIds?: "named" | "natural" | "deterministic" | undefined; + chunkIds?: "named" | "natural" | "deterministic" | "size" | "total-size" | undefined; + minimize?: boolean | undefined; + minimizer?: (false | "" | 0 | "..." | t.RspackPluginInstance | t.WebpackPluginInstance | t.RspackPluginFunction | t.WebpackPluginFunction | null | undefined)[] | undefined; + mergeDuplicateChunks?: boolean | undefined; splitChunks?: false | { name?: string | false | ((args_0: Module | undefined, ...args: unknown[]) => unknown) | undefined; chunks?: RegExp | "initial" | "async" | "all" | ((args_0: Chunk, ...args: unknown[]) => boolean) | undefined; @@ -7232,8 +7228,8 @@ export const rspackOptions: z.ZodObject<{ defaultSizeTypes?: string[] | undefined; cacheGroups?: Record unknown) | undefined; - type?: string | RegExp | undefined; filename?: string | undefined; + type?: string | RegExp | undefined; chunks?: RegExp | "initial" | "async" | "all" | ((args_0: Chunk, ...args: unknown[]) => boolean) | undefined; usedExports?: boolean | undefined; defaultSizeTypes?: string[] | undefined; @@ -7269,17 +7265,12 @@ export const rspackOptions: z.ZodObject<{ maxInitialRequests?: number | undefined; automaticNameDelimiter?: string | undefined; } | undefined; - moduleIds?: "named" | "natural" | "deterministic" | undefined; - chunkIds?: "named" | "natural" | "deterministic" | "size" | "total-size" | undefined; - removeAvailableModules?: boolean | undefined; - minimize?: boolean | undefined; - minimizer?: (false | "" | 0 | "..." | t.RspackPluginInstance | t.WebpackPluginInstance | t.RspackPluginFunction | t.WebpackPluginFunction | null | undefined)[] | undefined; - mergeDuplicateChunks?: boolean | undefined; runtimeChunk?: boolean | "single" | "multiple" | { name?: string | ((args_0: { name: string; }, ...args: unknown[]) => string) | undefined; } | undefined; + removeAvailableModules?: boolean | undefined; removeEmptyChunks?: boolean | undefined; realContentHash?: boolean | undefined; sideEffects?: boolean | "flag" | undefined; @@ -8481,7 +8472,12 @@ export const rspackOptions: z.ZodObject<{ __dirname?: boolean | "warn-mock" | "mock" | "eval-only" | "node-module" | undefined; __filename?: boolean | "warn-mock" | "mock" | "eval-only" | "node-module" | undefined; } | undefined; - devtool?: false | "eval" | "cheap-source-map" | "cheap-module-source-map" | "source-map" | "inline-cheap-source-map" | "inline-cheap-module-source-map" | "inline-source-map" | "inline-nosources-cheap-source-map" | "inline-nosources-cheap-module-source-map" | "inline-nosources-source-map" | "nosources-cheap-source-map" | "nosources-cheap-module-source-map" | "nosources-source-map" | "hidden-nosources-cheap-source-map" | "hidden-nosources-cheap-module-source-map" | "hidden-nosources-source-map" | "hidden-cheap-source-map" | "hidden-cheap-module-source-map" | "hidden-source-map" | "eval-cheap-source-map" | "eval-cheap-module-source-map" | "eval-source-map" | "eval-nosources-cheap-source-map" | "eval-nosources-cheap-module-source-map" | "eval-nosources-source-map" | undefined; + performance?: false | { + maxAssetSize?: number | undefined; + assetFilter?: ((args_0: string, ...args: unknown[]) => boolean) | undefined; + hints?: false | "error" | "warning" | undefined; + maxEntrypointSize?: number | undefined; + } | undefined; context?: string | undefined; mode?: "development" | "production" | "none" | undefined; experiments?: { @@ -8502,6 +8498,27 @@ export const rspackOptions: z.ZodObject<{ directory?: string | undefined; } | undefined; } | undefined; + lazyCompilation?: boolean | { + entries?: boolean | undefined; + test?: RegExp | ((args_0: Module, ...args: unknown[]) => boolean) | undefined; + imports?: boolean | undefined; + backend?: { + client?: string | undefined; + listen?: number | { + path?: string | undefined; + port?: number | undefined; + host?: string | undefined; + backlog?: number | undefined; + exclusive?: boolean | undefined; + readableAll?: boolean | undefined; + writableAll?: boolean | undefined; + ipv6Only?: boolean | undefined; + } | undefined; + protocol?: "http" | "https" | undefined; + } | undefined; + } | undefined; + asyncWebAssembly?: boolean | undefined; + outputModule?: boolean | undefined; topLevelAwait?: boolean | undefined; layers?: boolean | undefined; incremental?: boolean | { @@ -8520,6 +8537,7 @@ export const rspackOptions: z.ZodObject<{ chunksRender?: boolean | undefined; emitAssets?: boolean | undefined; } | undefined; + futureDefaults?: boolean | undefined; rspackFuture?: { bundlerInfo?: { version?: string | undefined; @@ -8527,205 +8545,9 @@ export const rspackOptions: z.ZodObject<{ bundler?: string | undefined; } | undefined; } | undefined; - asyncWebAssembly?: boolean | undefined; - outputModule?: boolean | undefined; - futureDefaults?: boolean | undefined; - lazyCompilation?: boolean | { - entries?: boolean | undefined; - test?: RegExp | ((args_0: Module, ...args: unknown[]) => boolean) | undefined; - imports?: boolean | undefined; - backend?: { - client?: string | undefined; - listen?: number | { - path?: string | undefined; - port?: number | undefined; - host?: string | undefined; - backlog?: number | undefined; - exclusive?: boolean | undefined; - readableAll?: boolean | undefined; - writableAll?: boolean | undefined; - ipv6Only?: boolean | undefined; - } | undefined; - protocol?: "http" | "https" | undefined; - } | undefined; - } | undefined; } | undefined; - performance?: false | { - maxAssetSize?: number | undefined; - assetFilter?: ((args_0: string, ...args: unknown[]) => boolean) | undefined; - hints?: false | "error" | "warning" | undefined; - maxEntrypointSize?: number | undefined; - } | undefined; - target?: false | "async-node" | `node${number}` | `async-node${number}` | `node${number}.${number}` | `async-node${number}.${number}` | `electron${number}-main` | `electron${number}.${number}-main` | `electron${number}-renderer` | `electron${number}.${number}-renderer` | `electron${number}-preload` | `electron${number}.${number}-preload` | `nwjs${number}` | `nwjs${number}.${number}` | `node-webkit${number}` | `node-webkit${number}.${number}` | `browserslist:${string}` | "web" | "webworker" | "es3" | "es5" | "es2015" | "es2016" | "es2017" | "es2018" | "es2019" | "es2020" | "es2021" | "es2022" | "node" | "electron-main" | "electron-renderer" | "electron-preload" | "nwjs" | "node-webkit" | "browserslist" | ("async-node" | `node${number}` | `async-node${number}` | `node${number}.${number}` | `async-node${number}.${number}` | `electron${number}-main` | `electron${number}.${number}-main` | `electron${number}-renderer` | `electron${number}.${number}-renderer` | `electron${number}-preload` | `electron${number}.${number}-preload` | `nwjs${number}` | `nwjs${number}.${number}` | `node-webkit${number}` | `node-webkit${number}.${number}` | `browserslist:${string}` | "web" | "webworker" | "es3" | "es5" | "es2015" | "es2016" | "es2017" | "es2018" | "es2019" | "es2020" | "es2021" | "es2022" | "node" | "electron-main" | "electron-renderer" | "electron-preload" | "nwjs" | "node-webkit" | "browserslist")[] | undefined; + devtool?: false | "eval" | "cheap-source-map" | "cheap-module-source-map" | "source-map" | "inline-cheap-source-map" | "inline-cheap-module-source-map" | "inline-source-map" | "inline-nosources-cheap-source-map" | "inline-nosources-cheap-module-source-map" | "inline-nosources-source-map" | "nosources-cheap-source-map" | "nosources-cheap-module-source-map" | "nosources-source-map" | "hidden-nosources-cheap-source-map" | "hidden-nosources-cheap-module-source-map" | "hidden-nosources-source-map" | "hidden-cheap-source-map" | "hidden-cheap-module-source-map" | "hidden-source-map" | "eval-cheap-source-map" | "eval-cheap-module-source-map" | "eval-source-map" | "eval-nosources-cheap-source-map" | "eval-nosources-cheap-module-source-map" | "eval-nosources-source-map" | undefined; resolve?: t.ResolveOptions | undefined; - output?: { - module?: boolean | undefined; - path?: string | undefined; - chunkLoading?: string | false | undefined; - asyncChunks?: boolean | undefined; - publicPath?: string | ((args_0: PathData, args_1: JsAssetInfo | undefined, ...args: unknown[]) => string) | undefined; - filename?: string | ((args_0: PathData, args_1: JsAssetInfo | undefined, ...args: unknown[]) => string) | undefined; - library?: string | string[] | { - commonjs?: string | undefined; - amd?: string | undefined; - root?: string | string[] | undefined; - } | { - type: string; - name?: string | string[] | { - commonjs?: string | undefined; - amd?: string | undefined; - root?: string | string[] | undefined; - } | undefined; - amdContainer?: string | undefined; - auxiliaryComment?: string | { - commonjs?: string | undefined; - commonjs2?: string | undefined; - amd?: string | undefined; - root?: string | undefined; - } | undefined; - export?: string | string[] | undefined; - umdNamedDefine?: boolean | undefined; - } | undefined; - wasmLoading?: string | false | undefined; - cssHeadDataCompression?: boolean | undefined; - auxiliaryComment?: string | { - commonjs?: string | undefined; - commonjs2?: string | undefined; - amd?: string | undefined; - root?: string | undefined; - } | undefined; - umdNamedDefine?: boolean | undefined; - crossOriginLoading?: false | "anonymous" | "use-credentials" | undefined; - environment?: { - module?: boolean | undefined; - document?: boolean | undefined; - nodePrefixForCoreModules?: boolean | undefined; - globalThis?: boolean | undefined; - bigIntLiteral?: boolean | undefined; - const?: boolean | undefined; - arrowFunction?: boolean | undefined; - forOf?: boolean | undefined; - destructuring?: boolean | undefined; - dynamicImport?: boolean | undefined; - dynamicImportInWorker?: boolean | undefined; - optionalChaining?: boolean | undefined; - templateLiteral?: boolean | undefined; - asyncFunction?: boolean | undefined; - } | undefined; - chunkFilename?: string | ((args_0: PathData, args_1: JsAssetInfo | undefined, ...args: unknown[]) => string) | undefined; - uniqueName?: string | undefined; - pathinfo?: boolean | "verbose" | undefined; - clean?: boolean | { - keep?: string | undefined; - } | undefined; - cssFilename?: string | ((args_0: PathData, args_1: JsAssetInfo | undefined, ...args: unknown[]) => string) | undefined; - cssChunkFilename?: string | ((args_0: PathData, args_1: JsAssetInfo | undefined, ...args: unknown[]) => string) | undefined; - hotUpdateMainFilename?: string | undefined; - hotUpdateChunkFilename?: string | undefined; - hotUpdateGlobal?: string | undefined; - assetModuleFilename?: string | ((args_0: PathData, args_1: JsAssetInfo | undefined, ...args: unknown[]) => string) | undefined; - chunkLoadingGlobal?: string | undefined; - enabledLibraryTypes?: string[] | undefined; - strictModuleErrorHandling?: boolean | undefined; - globalObject?: string | undefined; - importFunctionName?: string | undefined; - importMetaName?: string | undefined; - iife?: boolean | undefined; - enabledWasmLoadingTypes?: string[] | undefined; - webassemblyModuleFilename?: string | undefined; - chunkFormat?: string | false | undefined; - enabledChunkLoadingTypes?: string[] | undefined; - trustedTypes?: string | true | { - policyName?: string | undefined; - onPolicyCreationFailure?: "continue" | "stop" | undefined; - } | undefined; - sourceMapFilename?: string | undefined; - hashDigest?: string | undefined; - hashDigestLength?: number | undefined; - hashFunction?: "md4" | "xxhash64" | undefined; - hashSalt?: string | undefined; - workerChunkLoading?: string | false | undefined; - workerWasmLoading?: string | false | undefined; - workerPublicPath?: string | undefined; - scriptType?: false | "module" | "text/javascript" | undefined; - devtoolNamespace?: string | undefined; - devtoolModuleFilenameTemplate?: string | ((args_0: any) => any) | undefined; - devtoolFallbackModuleFilenameTemplate?: string | ((args_0: any) => any) | undefined; - charset?: boolean | undefined; - chunkLoadTimeout?: number | undefined; - compareBeforeEmit?: boolean | undefined; - libraryExport?: string | string[] | undefined; - libraryTarget?: string | undefined; - strictModuleExceptionHandling?: boolean | undefined; - } | undefined; - optimization?: { - usedExports?: boolean | "global" | undefined; - providedExports?: boolean | undefined; - splitChunks?: false | { - name?: string | false | ((args_0: Module | undefined, ...args: unknown[]) => unknown) | undefined; - chunks?: RegExp | "initial" | "async" | "all" | ((args_0: Chunk, ...args: unknown[]) => boolean) | undefined; - usedExports?: boolean | undefined; - defaultSizeTypes?: string[] | undefined; - cacheGroups?: Record unknown) | undefined; - type?: string | RegExp | undefined; - filename?: string | undefined; - chunks?: RegExp | "initial" | "async" | "all" | ((args_0: Chunk, ...args: unknown[]) => boolean) | undefined; - usedExports?: boolean | undefined; - defaultSizeTypes?: string[] | undefined; - maxSize?: number | Record | undefined; - priority?: number | undefined; - minSize?: number | Record | undefined; - maxAsyncSize?: number | Record | undefined; - maxInitialSize?: number | Record | undefined; - minChunks?: number | undefined; - maxAsyncRequests?: number | undefined; - maxInitialRequests?: number | undefined; - automaticNameDelimiter?: string | undefined; - test?: string | RegExp | ((args_0: Module, ...args: unknown[]) => unknown) | undefined; - enforce?: boolean | undefined; - reuseExistingChunk?: boolean | undefined; - idHint?: string | undefined; - }> | undefined; - maxSize?: number | Record | undefined; - fallbackCacheGroup?: { - chunks?: RegExp | "initial" | "async" | "all" | ((args_0: Chunk, ...args: unknown[]) => boolean) | undefined; - maxSize?: number | undefined; - minSize?: number | undefined; - maxAsyncSize?: number | undefined; - maxInitialSize?: number | undefined; - automaticNameDelimiter?: string | undefined; - } | undefined; - minSize?: number | Record | undefined; - maxAsyncSize?: number | Record | undefined; - maxInitialSize?: number | Record | undefined; - hidePathInfo?: boolean | undefined; - minChunks?: number | undefined; - maxAsyncRequests?: number | undefined; - maxInitialRequests?: number | undefined; - automaticNameDelimiter?: string | undefined; - } | undefined; - moduleIds?: "named" | "natural" | "deterministic" | undefined; - chunkIds?: "named" | "natural" | "deterministic" | "size" | "total-size" | undefined; - removeAvailableModules?: boolean | undefined; - minimize?: boolean | undefined; - minimizer?: (false | "" | 0 | "..." | t.RspackPluginInstance | t.WebpackPluginInstance | t.RspackPluginFunction | t.WebpackPluginFunction | null | undefined)[] | undefined; - mergeDuplicateChunks?: boolean | undefined; - runtimeChunk?: boolean | "single" | "multiple" | { - name?: string | ((args_0: { - name: string; - }, ...args: unknown[]) => string) | undefined; - } | undefined; - removeEmptyChunks?: boolean | undefined; - realContentHash?: boolean | undefined; - sideEffects?: boolean | "flag" | undefined; - concatenateModules?: boolean | undefined; - innerGraph?: boolean | undefined; - mangleExports?: boolean | "deterministic" | "size" | undefined; - nodeEnv?: string | false | undefined; - emitOnErrors?: boolean | undefined; - } | undefined; - snapshot?: {} | undefined; stats?: boolean | "none" | "verbose" | "normal" | "errors-only" | "errors-warnings" | "minimal" | "detailed" | "summary" | { all?: boolean | undefined; version?: boolean | undefined; @@ -8806,6 +8628,7 @@ export const rspackOptions: z.ZodObject<{ } | undefined; loader?: Record | undefined; externals?: string | RegExp | Record | ((args_0: t.ExternalItemFunctionData, args_1: (args_0: Error | undefined, args_1: string | boolean | string[] | t.ExternalItemUmdValue | t.ExternalItemObjectValue | undefined, args_2: "module" | "jsonp" | "import" | "var" | "assign" | "this" | "window" | "self" | "global" | "commonjs" | "commonjs2" | "commonjs-module" | "commonjs-static" | "amd" | "amd-require" | "umd" | "umd2" | "system" | "promise" | "module-import" | "script" | "node-commonjs" | "commonjs-import" | undefined, ...args: unknown[]) => void, ...args: unknown[]) => unknown) | ((args_0: t.ExternalItemFunctionData, ...args: unknown[]) => Promise) | (string | RegExp | Record | ((args_0: t.ExternalItemFunctionData, args_1: (args_0: Error | undefined, args_1: string | boolean | string[] | t.ExternalItemUmdValue | t.ExternalItemObjectValue | undefined, args_2: "module" | "jsonp" | "import" | "var" | "assign" | "this" | "window" | "self" | "global" | "commonjs" | "commonjs2" | "commonjs-module" | "commonjs-static" | "amd" | "amd-require" | "umd" | "umd2" | "system" | "promise" | "module-import" | "script" | "node-commonjs" | "commonjs-import" | undefined, ...args: unknown[]) => void, ...args: unknown[]) => unknown) | ((args_0: t.ExternalItemFunctionData, ...args: unknown[]) => Promise))[] | undefined; + target?: false | "async-node" | `node${number}` | `async-node${number}` | `node${number}.${number}` | `async-node${number}.${number}` | `electron${number}-main` | `electron${number}.${number}-main` | `electron${number}-renderer` | `electron${number}.${number}-renderer` | `electron${number}-preload` | `electron${number}.${number}-preload` | `nwjs${number}` | `nwjs${number}.${number}` | `node-webkit${number}` | `node-webkit${number}.${number}` | `browserslist:${string}` | "web" | "webworker" | "es3" | "es5" | "es2015" | "es2016" | "es2017" | "es2018" | "es2019" | "es2020" | "es2021" | "es2022" | "node" | "electron-main" | "electron-renderer" | "electron-preload" | "nwjs" | "node-webkit" | "browserslist" | ("async-node" | `node${number}` | `async-node${number}` | `node${number}.${number}` | `async-node${number}.${number}` | `electron${number}-main` | `electron${number}.${number}-main` | `electron${number}-renderer` | `electron${number}.${number}-renderer` | `electron${number}-preload` | `electron${number}.${number}-preload` | `nwjs${number}` | `nwjs${number}.${number}` | `node-webkit${number}` | `node-webkit${number}.${number}` | `browserslist:${string}` | "web" | "webworker" | "es3" | "es5" | "es2015" | "es2016" | "es2017" | "es2018" | "es2019" | "es2020" | "es2021" | "es2022" | "node" | "electron-main" | "electron-renderer" | "electron-preload" | "nwjs" | "node-webkit" | "browserslist")[] | undefined; entry?: string | string[] | Record>) | undefined; - dependencies?: string[] | undefined; - resolveLoader?: t.ResolveOptions | undefined; - externalsType?: "module" | "jsonp" | "import" | "var" | "assign" | "this" | "window" | "self" | "global" | "commonjs" | "commonjs2" | "commonjs-module" | "commonjs-static" | "amd" | "amd-require" | "umd" | "umd2" | "system" | "promise" | "module-import" | "script" | "node-commonjs" | "commonjs-import" | undefined; - externalsPresets?: { - web?: boolean | undefined; - node?: boolean | undefined; - nwjs?: boolean | undefined; - electron?: boolean | undefined; - electronMain?: boolean | undefined; - electronPreload?: boolean | undefined; - electronRenderer?: boolean | undefined; - webAsync?: boolean | undefined; - } | undefined; - infrastructureLogging?: { - debug?: string | boolean | RegExp | ((args_0: string, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: string, ...args: unknown[]) => boolean))[] | undefined; - colors?: boolean | undefined; - stream?: NodeJS.WritableStream | undefined; - appendOnly?: boolean | undefined; - console?: Console | undefined; - level?: "error" | "warn" | "info" | "log" | "none" | "verbose" | undefined; + layer?: string | null | undefined; + wasmLoading?: string | false | undefined; + dependOn?: string | string[] | undefined; + }>>) | undefined; + dependencies?: string[] | undefined; + output?: { + module?: boolean | undefined; + chunkLoading?: string | false | undefined; + asyncChunks?: boolean | undefined; + publicPath?: string | ((args_0: PathData, args_1: JsAssetInfo | undefined, ...args: unknown[]) => string) | undefined; + filename?: string | ((args_0: PathData, args_1: JsAssetInfo | undefined, ...args: unknown[]) => string) | undefined; + library?: string | string[] | { + commonjs?: string | undefined; + amd?: string | undefined; + root?: string | string[] | undefined; + } | { + type: string; + name?: string | string[] | { + commonjs?: string | undefined; + amd?: string | undefined; + root?: string | string[] | undefined; + } | undefined; + amdContainer?: string | undefined; + auxiliaryComment?: string | { + commonjs?: string | undefined; + commonjs2?: string | undefined; + amd?: string | undefined; + root?: string | undefined; + } | undefined; + export?: string | string[] | undefined; + umdNamedDefine?: boolean | undefined; + } | undefined; + wasmLoading?: string | false | undefined; + cssHeadDataCompression?: boolean | undefined; + auxiliaryComment?: string | { + commonjs?: string | undefined; + commonjs2?: string | undefined; + amd?: string | undefined; + root?: string | undefined; + } | undefined; + umdNamedDefine?: boolean | undefined; + path?: string | undefined; + pathinfo?: boolean | "verbose" | undefined; + clean?: boolean | { + keep?: string | undefined; + } | undefined; + chunkFilename?: string | ((args_0: PathData, args_1: JsAssetInfo | undefined, ...args: unknown[]) => string) | undefined; + crossOriginLoading?: false | "anonymous" | "use-credentials" | undefined; + cssFilename?: string | ((args_0: PathData, args_1: JsAssetInfo | undefined, ...args: unknown[]) => string) | undefined; + cssChunkFilename?: string | ((args_0: PathData, args_1: JsAssetInfo | undefined, ...args: unknown[]) => string) | undefined; + hotUpdateMainFilename?: string | undefined; + hotUpdateChunkFilename?: string | undefined; + hotUpdateGlobal?: string | undefined; + assetModuleFilename?: string | ((args_0: PathData, args_1: JsAssetInfo | undefined, ...args: unknown[]) => string) | undefined; + uniqueName?: string | undefined; + chunkLoadingGlobal?: string | undefined; + enabledLibraryTypes?: string[] | undefined; + strictModuleErrorHandling?: boolean | undefined; + globalObject?: string | undefined; + importFunctionName?: string | undefined; + importMetaName?: string | undefined; + iife?: boolean | undefined; + enabledWasmLoadingTypes?: string[] | undefined; + webassemblyModuleFilename?: string | undefined; + chunkFormat?: string | false | undefined; + enabledChunkLoadingTypes?: string[] | undefined; + trustedTypes?: string | true | { + policyName?: string | undefined; + onPolicyCreationFailure?: "continue" | "stop" | undefined; + } | undefined; + sourceMapFilename?: string | undefined; + hashDigest?: string | undefined; + hashDigestLength?: number | undefined; + hashFunction?: "md4" | "xxhash64" | undefined; + hashSalt?: string | undefined; + workerChunkLoading?: string | false | undefined; + workerWasmLoading?: string | false | undefined; + workerPublicPath?: string | undefined; + scriptType?: false | "module" | "text/javascript" | undefined; + devtoolNamespace?: string | undefined; + devtoolModuleFilenameTemplate?: string | ((args_0: any) => any) | undefined; + devtoolFallbackModuleFilenameTemplate?: string | ((args_0: any) => any) | undefined; + environment?: { + module?: boolean | undefined; + document?: boolean | undefined; + nodePrefixForCoreModules?: boolean | undefined; + globalThis?: boolean | undefined; + bigIntLiteral?: boolean | undefined; + const?: boolean | undefined; + arrowFunction?: boolean | undefined; + forOf?: boolean | undefined; + destructuring?: boolean | undefined; + dynamicImport?: boolean | undefined; + dynamicImportInWorker?: boolean | undefined; + optionalChaining?: boolean | undefined; + templateLiteral?: boolean | undefined; + asyncFunction?: boolean | undefined; + } | undefined; + charset?: boolean | undefined; + chunkLoadTimeout?: number | undefined; + compareBeforeEmit?: boolean | undefined; + libraryExport?: string | string[] | undefined; + libraryTarget?: string | undefined; + strictModuleExceptionHandling?: boolean | undefined; + } | undefined; + resolveLoader?: t.ResolveOptions | undefined; + externalsType?: "module" | "jsonp" | "import" | "var" | "assign" | "this" | "window" | "self" | "global" | "commonjs" | "commonjs2" | "commonjs-module" | "commonjs-static" | "amd" | "amd-require" | "umd" | "umd2" | "system" | "promise" | "module-import" | "script" | "node-commonjs" | "commonjs-import" | undefined; + externalsPresets?: { + web?: boolean | undefined; + node?: boolean | undefined; + nwjs?: boolean | undefined; + electron?: boolean | undefined; + electronMain?: boolean | undefined; + electronPreload?: boolean | undefined; + electronRenderer?: boolean | undefined; + webAsync?: boolean | undefined; + } | undefined; + infrastructureLogging?: { + debug?: string | boolean | RegExp | ((args_0: string, ...args: unknown[]) => boolean) | (string | RegExp | ((args_0: string, ...args: unknown[]) => boolean))[] | undefined; + colors?: boolean | undefined; + stream?: NodeJS.WritableStream | undefined; + appendOnly?: boolean | undefined; + console?: Console | undefined; + level?: "error" | "warn" | "info" | "log" | "none" | "verbose" | undefined; + } | undefined; + snapshot?: {} | undefined; + optimization?: { + usedExports?: boolean | "global" | undefined; + providedExports?: boolean | undefined; + moduleIds?: "named" | "natural" | "deterministic" | undefined; + chunkIds?: "named" | "natural" | "deterministic" | "size" | "total-size" | undefined; + minimize?: boolean | undefined; + minimizer?: (false | "" | 0 | "..." | t.RspackPluginInstance | t.WebpackPluginInstance | t.RspackPluginFunction | t.WebpackPluginFunction | null | undefined)[] | undefined; + mergeDuplicateChunks?: boolean | undefined; + splitChunks?: false | { + name?: string | false | ((args_0: Module | undefined, ...args: unknown[]) => unknown) | undefined; + chunks?: RegExp | "initial" | "async" | "all" | ((args_0: Chunk, ...args: unknown[]) => boolean) | undefined; + usedExports?: boolean | undefined; + defaultSizeTypes?: string[] | undefined; + cacheGroups?: Record unknown) | undefined; + filename?: string | undefined; + type?: string | RegExp | undefined; + chunks?: RegExp | "initial" | "async" | "all" | ((args_0: Chunk, ...args: unknown[]) => boolean) | undefined; + usedExports?: boolean | undefined; + defaultSizeTypes?: string[] | undefined; + maxSize?: number | Record | undefined; + priority?: number | undefined; + minSize?: number | Record | undefined; + maxAsyncSize?: number | Record | undefined; + maxInitialSize?: number | Record | undefined; + minChunks?: number | undefined; + maxAsyncRequests?: number | undefined; + maxInitialRequests?: number | undefined; + automaticNameDelimiter?: string | undefined; + test?: string | RegExp | ((args_0: Module, ...args: unknown[]) => unknown) | undefined; + enforce?: boolean | undefined; + reuseExistingChunk?: boolean | undefined; + idHint?: string | undefined; + }> | undefined; + maxSize?: number | Record | undefined; + fallbackCacheGroup?: { + chunks?: RegExp | "initial" | "async" | "all" | ((args_0: Chunk, ...args: unknown[]) => boolean) | undefined; + maxSize?: number | undefined; + minSize?: number | undefined; + maxAsyncSize?: number | undefined; + maxInitialSize?: number | undefined; + automaticNameDelimiter?: string | undefined; + } | undefined; + minSize?: number | Record | undefined; + maxAsyncSize?: number | Record | undefined; + maxInitialSize?: number | Record | undefined; + hidePathInfo?: boolean | undefined; + minChunks?: number | undefined; + maxAsyncRequests?: number | undefined; + maxInitialRequests?: number | undefined; + automaticNameDelimiter?: string | undefined; + } | undefined; + runtimeChunk?: boolean | "single" | "multiple" | { + name?: string | ((args_0: { + name: string; + }, ...args: unknown[]) => string) | undefined; + } | undefined; + removeAvailableModules?: boolean | undefined; + removeEmptyChunks?: boolean | undefined; + realContentHash?: boolean | undefined; + sideEffects?: boolean | "flag" | undefined; + concatenateModules?: boolean | undefined; + innerGraph?: boolean | undefined; + mangleExports?: boolean | "deterministic" | "size" | undefined; + nodeEnv?: string | false | undefined; + emitOnErrors?: boolean | undefined; } | undefined; plugins?: (false | "" | 0 | t.RspackPluginInstance | t.WebpackPluginInstance | t.RspackPluginFunction | t.WebpackPluginFunction | null | undefined)[] | undefined; watch?: boolean | undefined; @@ -9083,251 +9074,82 @@ export const rspackOptions: z.ZodObject<{ __dirname?: boolean | "warn-mock" | "mock" | "eval-only" | "node-module" | undefined; __filename?: boolean | "warn-mock" | "mock" | "eval-only" | "node-module" | undefined; } | undefined; - devtool?: false | "eval" | "cheap-source-map" | "cheap-module-source-map" | "source-map" | "inline-cheap-source-map" | "inline-cheap-module-source-map" | "inline-source-map" | "inline-nosources-cheap-source-map" | "inline-nosources-cheap-module-source-map" | "inline-nosources-source-map" | "nosources-cheap-source-map" | "nosources-cheap-module-source-map" | "nosources-source-map" | "hidden-nosources-cheap-source-map" | "hidden-nosources-cheap-module-source-map" | "hidden-nosources-source-map" | "hidden-cheap-source-map" | "hidden-cheap-module-source-map" | "hidden-source-map" | "eval-cheap-source-map" | "eval-cheap-module-source-map" | "eval-source-map" | "eval-nosources-cheap-source-map" | "eval-nosources-cheap-module-source-map" | "eval-nosources-source-map" | undefined; - context?: string | undefined; - mode?: "development" | "production" | "none" | undefined; - experiments?: { - css?: boolean | undefined; - cache?: boolean | { - type: "memory"; - } | { - type: "persistent"; - version?: string | undefined; - snapshot?: { - immutablePaths?: (string | RegExp)[] | undefined; - unmanagedPaths?: (string | RegExp)[] | undefined; - managedPaths?: (string | RegExp)[] | undefined; - } | undefined; - buildDependencies?: string[] | undefined; - storage?: { - type: "filesystem"; - directory?: string | undefined; - } | undefined; - } | undefined; - topLevelAwait?: boolean | undefined; - layers?: boolean | undefined; - incremental?: boolean | { - providedExports?: boolean | undefined; - make?: boolean | undefined; - inferAsyncModules?: boolean | undefined; - dependenciesDiagnostics?: boolean | undefined; - buildChunkGraph?: boolean | undefined; - moduleIds?: boolean | undefined; - chunkIds?: boolean | undefined; - modulesHashes?: boolean | undefined; - modulesCodegen?: boolean | undefined; - modulesRuntimeRequirements?: boolean | undefined; - chunksRuntimeRequirements?: boolean | undefined; - chunksHashes?: boolean | undefined; - chunksRender?: boolean | undefined; - emitAssets?: boolean | undefined; - } | undefined; - rspackFuture?: { - bundlerInfo?: { - version?: string | undefined; - force?: boolean | ("version" | "uniqueId")[] | undefined; - bundler?: string | undefined; - } | undefined; - } | undefined; - asyncWebAssembly?: boolean | undefined; - outputModule?: boolean | undefined; - futureDefaults?: boolean | undefined; - lazyCompilation?: boolean | { - entries?: boolean | undefined; - test?: RegExp | ((args_0: Module, ...args: unknown[]) => boolean) | undefined; - imports?: boolean | undefined; - backend?: { - client?: string | undefined; - listen?: number | { - path?: string | undefined; - port?: number | undefined; - host?: string | undefined; - backlog?: number | undefined; - exclusive?: boolean | undefined; - readableAll?: boolean | undefined; - writableAll?: boolean | undefined; - ipv6Only?: boolean | undefined; - } | undefined; - protocol?: "http" | "https" | undefined; - } | undefined; - } | undefined; - } | undefined; performance?: false | { maxAssetSize?: number | undefined; assetFilter?: ((args_0: string, ...args: unknown[]) => boolean) | undefined; hints?: false | "error" | "warning" | undefined; maxEntrypointSize?: number | undefined; } | undefined; - target?: false | "async-node" | `node${number}` | `async-node${number}` | `node${number}.${number}` | `async-node${number}.${number}` | `electron${number}-main` | `electron${number}.${number}-main` | `electron${number}-renderer` | `electron${number}.${number}-renderer` | `electron${number}-preload` | `electron${number}.${number}-preload` | `nwjs${number}` | `nwjs${number}.${number}` | `node-webkit${number}` | `node-webkit${number}.${number}` | `browserslist:${string}` | "web" | "webworker" | "es3" | "es5" | "es2015" | "es2016" | "es2017" | "es2018" | "es2019" | "es2020" | "es2021" | "es2022" | "node" | "electron-main" | "electron-renderer" | "electron-preload" | "nwjs" | "node-webkit" | "browserslist" | ("async-node" | `node${number}` | `async-node${number}` | `node${number}.${number}` | `async-node${number}.${number}` | `electron${number}-main` | `electron${number}.${number}-main` | `electron${number}-renderer` | `electron${number}.${number}-renderer` | `electron${number}-preload` | `electron${number}.${number}-preload` | `nwjs${number}` | `nwjs${number}.${number}` | `node-webkit${number}` | `node-webkit${number}.${number}` | `browserslist:${string}` | "web" | "webworker" | "es3" | "es5" | "es2015" | "es2016" | "es2017" | "es2018" | "es2019" | "es2020" | "es2021" | "es2022" | "node" | "electron-main" | "electron-renderer" | "electron-preload" | "nwjs" | "node-webkit" | "browserslist")[] | undefined; - resolve?: t.ResolveOptions | undefined; - output?: { - module?: boolean | undefined; - path?: string | undefined; - chunkLoading?: string | false | undefined; - asyncChunks?: boolean | undefined; - publicPath?: string | ((args_0: PathData, args_1: JsAssetInfo | undefined, ...args: unknown[]) => string) | undefined; - filename?: string | ((args_0: PathData, args_1: JsAssetInfo | undefined, ...args: unknown[]) => string) | undefined; - library?: string | string[] | { - commonjs?: string | undefined; - amd?: string | undefined; - root?: string | string[] | undefined; - } | { - type: string; - name?: string | string[] | { - commonjs?: string | undefined; - amd?: string | undefined; - root?: string | string[] | undefined; - } | undefined; - amdContainer?: string | undefined; - auxiliaryComment?: string | { - commonjs?: string | undefined; - commonjs2?: string | undefined; - amd?: string | undefined; - root?: string | undefined; - } | undefined; - export?: string | string[] | undefined; - umdNamedDefine?: boolean | undefined; - } | undefined; - wasmLoading?: string | false | undefined; - cssHeadDataCompression?: boolean | undefined; - auxiliaryComment?: string | { - commonjs?: string | undefined; - commonjs2?: string | undefined; - amd?: string | undefined; - root?: string | undefined; - } | undefined; - umdNamedDefine?: boolean | undefined; - crossOriginLoading?: false | "anonymous" | "use-credentials" | undefined; - environment?: { - module?: boolean | undefined; - document?: boolean | undefined; - nodePrefixForCoreModules?: boolean | undefined; - globalThis?: boolean | undefined; - bigIntLiteral?: boolean | undefined; - const?: boolean | undefined; - arrowFunction?: boolean | undefined; - forOf?: boolean | undefined; - destructuring?: boolean | undefined; - dynamicImport?: boolean | undefined; - dynamicImportInWorker?: boolean | undefined; - optionalChaining?: boolean | undefined; - templateLiteral?: boolean | undefined; - asyncFunction?: boolean | undefined; - } | undefined; - chunkFilename?: string | ((args_0: PathData, args_1: JsAssetInfo | undefined, ...args: unknown[]) => string) | undefined; - uniqueName?: string | undefined; - pathinfo?: boolean | "verbose" | undefined; - clean?: boolean | { - keep?: string | undefined; - } | undefined; - cssFilename?: string | ((args_0: PathData, args_1: JsAssetInfo | undefined, ...args: unknown[]) => string) | undefined; - cssChunkFilename?: string | ((args_0: PathData, args_1: JsAssetInfo | undefined, ...args: unknown[]) => string) | undefined; - hotUpdateMainFilename?: string | undefined; - hotUpdateChunkFilename?: string | undefined; - hotUpdateGlobal?: string | undefined; - assetModuleFilename?: string | ((args_0: PathData, args_1: JsAssetInfo | undefined, ...args: unknown[]) => string) | undefined; - chunkLoadingGlobal?: string | undefined; - enabledLibraryTypes?: string[] | undefined; - strictModuleErrorHandling?: boolean | undefined; - globalObject?: string | undefined; - importFunctionName?: string | undefined; - importMetaName?: string | undefined; - iife?: boolean | undefined; - enabledWasmLoadingTypes?: string[] | undefined; - webassemblyModuleFilename?: string | undefined; - chunkFormat?: string | false | undefined; - enabledChunkLoadingTypes?: string[] | undefined; - trustedTypes?: string | true | { - policyName?: string | undefined; - onPolicyCreationFailure?: "continue" | "stop" | undefined; - } | undefined; - sourceMapFilename?: string | undefined; - hashDigest?: string | undefined; - hashDigestLength?: number | undefined; - hashFunction?: "md4" | "xxhash64" | undefined; - hashSalt?: string | undefined; - workerChunkLoading?: string | false | undefined; - workerWasmLoading?: string | false | undefined; - workerPublicPath?: string | undefined; - scriptType?: false | "module" | "text/javascript" | undefined; - devtoolNamespace?: string | undefined; - devtoolModuleFilenameTemplate?: string | ((args_0: any) => any) | undefined; - devtoolFallbackModuleFilenameTemplate?: string | ((args_0: any) => any) | undefined; - charset?: boolean | undefined; - chunkLoadTimeout?: number | undefined; - compareBeforeEmit?: boolean | undefined; - libraryExport?: string | string[] | undefined; - libraryTarget?: string | undefined; - strictModuleExceptionHandling?: boolean | undefined; - } | undefined; - optimization?: { - usedExports?: boolean | "global" | undefined; - providedExports?: boolean | undefined; - splitChunks?: false | { - name?: string | false | ((args_0: Module | undefined, ...args: unknown[]) => unknown) | undefined; - chunks?: RegExp | "initial" | "async" | "all" | ((args_0: Chunk, ...args: unknown[]) => boolean) | undefined; - usedExports?: boolean | undefined; - defaultSizeTypes?: string[] | undefined; - cacheGroups?: Record unknown) | undefined; - type?: string | RegExp | undefined; - filename?: string | undefined; - chunks?: RegExp | "initial" | "async" | "all" | ((args_0: Chunk, ...args: unknown[]) => boolean) | undefined; - usedExports?: boolean | undefined; - defaultSizeTypes?: string[] | undefined; - maxSize?: number | Record | undefined; - priority?: number | undefined; - minSize?: number | Record | undefined; - maxAsyncSize?: number | Record | undefined; - maxInitialSize?: number | Record | undefined; - minChunks?: number | undefined; - maxAsyncRequests?: number | undefined; - maxInitialRequests?: number | undefined; - automaticNameDelimiter?: string | undefined; - test?: string | RegExp | ((args_0: Module, ...args: unknown[]) => unknown) | undefined; - enforce?: boolean | undefined; - reuseExistingChunk?: boolean | undefined; - idHint?: string | undefined; - }> | undefined; - maxSize?: number | Record | undefined; - fallbackCacheGroup?: { - chunks?: RegExp | "initial" | "async" | "all" | ((args_0: Chunk, ...args: unknown[]) => boolean) | undefined; - maxSize?: number | undefined; - minSize?: number | undefined; - maxAsyncSize?: number | undefined; - maxInitialSize?: number | undefined; - automaticNameDelimiter?: string | undefined; + context?: string | undefined; + mode?: "development" | "production" | "none" | undefined; + experiments?: { + css?: boolean | undefined; + cache?: boolean | { + type: "memory"; + } | { + type: "persistent"; + version?: string | undefined; + snapshot?: { + immutablePaths?: (string | RegExp)[] | undefined; + unmanagedPaths?: (string | RegExp)[] | undefined; + managedPaths?: (string | RegExp)[] | undefined; + } | undefined; + buildDependencies?: string[] | undefined; + storage?: { + type: "filesystem"; + directory?: string | undefined; } | undefined; - minSize?: number | Record | undefined; - maxAsyncSize?: number | Record | undefined; - maxInitialSize?: number | Record | undefined; - hidePathInfo?: boolean | undefined; - minChunks?: number | undefined; - maxAsyncRequests?: number | undefined; - maxInitialRequests?: number | undefined; - automaticNameDelimiter?: string | undefined; } | undefined; - moduleIds?: "named" | "natural" | "deterministic" | undefined; - chunkIds?: "named" | "natural" | "deterministic" | "size" | "total-size" | undefined; - removeAvailableModules?: boolean | undefined; - minimize?: boolean | undefined; - minimizer?: (false | "" | 0 | "..." | t.RspackPluginInstance | t.WebpackPluginInstance | t.RspackPluginFunction | t.WebpackPluginFunction | null | undefined)[] | undefined; - mergeDuplicateChunks?: boolean | undefined; - runtimeChunk?: boolean | "single" | "multiple" | { - name?: string | ((args_0: { - name: string; - }, ...args: unknown[]) => string) | undefined; + lazyCompilation?: boolean | { + entries?: boolean | undefined; + test?: RegExp | ((args_0: Module, ...args: unknown[]) => boolean) | undefined; + imports?: boolean | undefined; + backend?: { + client?: string | undefined; + listen?: number | { + path?: string | undefined; + port?: number | undefined; + host?: string | undefined; + backlog?: number | undefined; + exclusive?: boolean | undefined; + readableAll?: boolean | undefined; + writableAll?: boolean | undefined; + ipv6Only?: boolean | undefined; + } | undefined; + protocol?: "http" | "https" | undefined; + } | undefined; + } | undefined; + asyncWebAssembly?: boolean | undefined; + outputModule?: boolean | undefined; + topLevelAwait?: boolean | undefined; + layers?: boolean | undefined; + incremental?: boolean | { + providedExports?: boolean | undefined; + make?: boolean | undefined; + inferAsyncModules?: boolean | undefined; + dependenciesDiagnostics?: boolean | undefined; + buildChunkGraph?: boolean | undefined; + moduleIds?: boolean | undefined; + chunkIds?: boolean | undefined; + modulesHashes?: boolean | undefined; + modulesCodegen?: boolean | undefined; + modulesRuntimeRequirements?: boolean | undefined; + chunksRuntimeRequirements?: boolean | undefined; + chunksHashes?: boolean | undefined; + chunksRender?: boolean | undefined; + emitAssets?: boolean | undefined; + } | undefined; + futureDefaults?: boolean | undefined; + rspackFuture?: { + bundlerInfo?: { + version?: string | undefined; + force?: boolean | ("version" | "uniqueId")[] | undefined; + bundler?: string | undefined; + } | undefined; } | undefined; - removeEmptyChunks?: boolean | undefined; - realContentHash?: boolean | undefined; - sideEffects?: boolean | "flag" | undefined; - concatenateModules?: boolean | undefined; - innerGraph?: boolean | undefined; - mangleExports?: boolean | "deterministic" | "size" | undefined; - nodeEnv?: string | false | undefined; - emitOnErrors?: boolean | undefined; } | undefined; - snapshot?: {} | undefined; + devtool?: false | "eval" | "cheap-source-map" | "cheap-module-source-map" | "source-map" | "inline-cheap-source-map" | "inline-cheap-module-source-map" | "inline-source-map" | "inline-nosources-cheap-source-map" | "inline-nosources-cheap-module-source-map" | "inline-nosources-source-map" | "nosources-cheap-source-map" | "nosources-cheap-module-source-map" | "nosources-source-map" | "hidden-nosources-cheap-source-map" | "hidden-nosources-cheap-module-source-map" | "hidden-nosources-source-map" | "hidden-cheap-source-map" | "hidden-cheap-module-source-map" | "hidden-source-map" | "eval-cheap-source-map" | "eval-cheap-module-source-map" | "eval-source-map" | "eval-nosources-cheap-source-map" | "eval-nosources-cheap-module-source-map" | "eval-nosources-source-map" | undefined; + resolve?: t.ResolveOptions | undefined; stats?: boolean | "none" | "verbose" | "normal" | "errors-only" | "errors-warnings" | "minimal" | "detailed" | "summary" | { all?: boolean | undefined; version?: boolean | undefined; @@ -9408,6 +9230,7 @@ export const rspackOptions: z.ZodObject<{ } | undefined; loader?: Record | undefined; externals?: string | RegExp | Record | ((args_0: t.ExternalItemFunctionData, args_1: (args_0: Error | undefined, args_1: string | boolean | string[] | t.ExternalItemUmdValue | t.ExternalItemObjectValue | undefined, args_2: "module" | "jsonp" | "import" | "var" | "assign" | "this" | "window" | "self" | "global" | "commonjs" | "commonjs2" | "commonjs-module" | "commonjs-static" | "amd" | "amd-require" | "umd" | "umd2" | "system" | "promise" | "module-import" | "script" | "node-commonjs" | "commonjs-import" | undefined, ...args: unknown[]) => void, ...args: unknown[]) => unknown) | ((args_0: t.ExternalItemFunctionData, ...args: unknown[]) => Promise) | (string | RegExp | Record | ((args_0: t.ExternalItemFunctionData, args_1: (args_0: Error | undefined, args_1: string | boolean | string[] | t.ExternalItemUmdValue | t.ExternalItemObjectValue | undefined, args_2: "module" | "jsonp" | "import" | "var" | "assign" | "this" | "window" | "self" | "global" | "commonjs" | "commonjs2" | "commonjs-module" | "commonjs-static" | "amd" | "amd-require" | "umd" | "umd2" | "system" | "promise" | "module-import" | "script" | "node-commonjs" | "commonjs-import" | undefined, ...args: unknown[]) => void, ...args: unknown[]) => unknown) | ((args_0: t.ExternalItemFunctionData, ...args: unknown[]) => Promise))[] | undefined; + target?: false | "async-node" | `node${number}` | `async-node${number}` | `node${number}.${number}` | `async-node${number}.${number}` | `electron${number}-main` | `electron${number}.${number}-main` | `electron${number}-renderer` | `electron${number}.${number}-renderer` | `electron${number}-preload` | `electron${number}.${number}-preload` | `nwjs${number}` | `nwjs${number}.${number}` | `node-webkit${number}` | `node-webkit${number}.${number}` | `browserslist:${string}` | "web" | "webworker" | "es3" | "es5" | "es2015" | "es2016" | "es2017" | "es2018" | "es2019" | "es2020" | "es2021" | "es2022" | "node" | "electron-main" | "electron-renderer" | "electron-preload" | "nwjs" | "node-webkit" | "browserslist" | ("async-node" | `node${number}` | `async-node${number}` | `node${number}.${number}` | `async-node${number}.${number}` | `electron${number}-main` | `electron${number}.${number}-main` | `electron${number}-renderer` | `electron${number}.${number}-renderer` | `electron${number}-preload` | `electron${number}.${number}-preload` | `nwjs${number}` | `nwjs${number}.${number}` | `node-webkit${number}` | `node-webkit${number}.${number}` | `browserslist:${string}` | "web" | "webworker" | "es3" | "es5" | "es2015" | "es2016" | "es2017" | "es2018" | "es2019" | "es2020" | "es2021" | "es2022" | "node" | "electron-main" | "electron-renderer" | "electron-preload" | "nwjs" | "node-webkit" | "browserslist")[] | undefined; entry?: string | string[] | Record>) | undefined; dependencies?: string[] | undefined; + output?: { + module?: boolean | undefined; + chunkLoading?: string | false | undefined; + asyncChunks?: boolean | undefined; + publicPath?: string | ((args_0: PathData, args_1: JsAssetInfo | undefined, ...args: unknown[]) => string) | undefined; + filename?: string | ((args_0: PathData, args_1: JsAssetInfo | undefined, ...args: unknown[]) => string) | undefined; + library?: string | string[] | { + commonjs?: string | undefined; + amd?: string | undefined; + root?: string | string[] | undefined; + } | { + type: string; + name?: string | string[] | { + commonjs?: string | undefined; + amd?: string | undefined; + root?: string | string[] | undefined; + } | undefined; + amdContainer?: string | undefined; + auxiliaryComment?: string | { + commonjs?: string | undefined; + commonjs2?: string | undefined; + amd?: string | undefined; + root?: string | undefined; + } | undefined; + export?: string | string[] | undefined; + umdNamedDefine?: boolean | undefined; + } | undefined; + wasmLoading?: string | false | undefined; + cssHeadDataCompression?: boolean | undefined; + auxiliaryComment?: string | { + commonjs?: string | undefined; + commonjs2?: string | undefined; + amd?: string | undefined; + root?: string | undefined; + } | undefined; + umdNamedDefine?: boolean | undefined; + path?: string | undefined; + pathinfo?: boolean | "verbose" | undefined; + clean?: boolean | { + keep?: string | undefined; + } | undefined; + chunkFilename?: string | ((args_0: PathData, args_1: JsAssetInfo | undefined, ...args: unknown[]) => string) | undefined; + crossOriginLoading?: false | "anonymous" | "use-credentials" | undefined; + cssFilename?: string | ((args_0: PathData, args_1: JsAssetInfo | undefined, ...args: unknown[]) => string) | undefined; + cssChunkFilename?: string | ((args_0: PathData, args_1: JsAssetInfo | undefined, ...args: unknown[]) => string) | undefined; + hotUpdateMainFilename?: string | undefined; + hotUpdateChunkFilename?: string | undefined; + hotUpdateGlobal?: string | undefined; + assetModuleFilename?: string | ((args_0: PathData, args_1: JsAssetInfo | undefined, ...args: unknown[]) => string) | undefined; + uniqueName?: string | undefined; + chunkLoadingGlobal?: string | undefined; + enabledLibraryTypes?: string[] | undefined; + strictModuleErrorHandling?: boolean | undefined; + globalObject?: string | undefined; + importFunctionName?: string | undefined; + importMetaName?: string | undefined; + iife?: boolean | undefined; + enabledWasmLoadingTypes?: string[] | undefined; + webassemblyModuleFilename?: string | undefined; + chunkFormat?: string | false | undefined; + enabledChunkLoadingTypes?: string[] | undefined; + trustedTypes?: string | true | { + policyName?: string | undefined; + onPolicyCreationFailure?: "continue" | "stop" | undefined; + } | undefined; + sourceMapFilename?: string | undefined; + hashDigest?: string | undefined; + hashDigestLength?: number | undefined; + hashFunction?: "md4" | "xxhash64" | undefined; + hashSalt?: string | undefined; + workerChunkLoading?: string | false | undefined; + workerWasmLoading?: string | false | undefined; + workerPublicPath?: string | undefined; + scriptType?: false | "module" | "text/javascript" | undefined; + devtoolNamespace?: string | undefined; + devtoolModuleFilenameTemplate?: string | ((args_0: any) => any) | undefined; + devtoolFallbackModuleFilenameTemplate?: string | ((args_0: any) => any) | undefined; + environment?: { + module?: boolean | undefined; + document?: boolean | undefined; + nodePrefixForCoreModules?: boolean | undefined; + globalThis?: boolean | undefined; + bigIntLiteral?: boolean | undefined; + const?: boolean | undefined; + arrowFunction?: boolean | undefined; + forOf?: boolean | undefined; + destructuring?: boolean | undefined; + dynamicImport?: boolean | undefined; + dynamicImportInWorker?: boolean | undefined; + optionalChaining?: boolean | undefined; + templateLiteral?: boolean | undefined; + asyncFunction?: boolean | undefined; + } | undefined; + charset?: boolean | undefined; + chunkLoadTimeout?: number | undefined; + compareBeforeEmit?: boolean | undefined; + libraryExport?: string | string[] | undefined; + libraryTarget?: string | undefined; + strictModuleExceptionHandling?: boolean | undefined; + } | undefined; resolveLoader?: t.ResolveOptions | undefined; externalsType?: "module" | "jsonp" | "import" | "var" | "assign" | "this" | "window" | "self" | "global" | "commonjs" | "commonjs2" | "commonjs-module" | "commonjs-static" | "amd" | "amd-require" | "umd" | "umd2" | "system" | "promise" | "module-import" | "script" | "node-commonjs" | "commonjs-import" | undefined; externalsPresets?: { @@ -9514,6 +9437,74 @@ export const rspackOptions: z.ZodObject<{ console?: Console | undefined; level?: "error" | "warn" | "info" | "log" | "none" | "verbose" | undefined; } | undefined; + snapshot?: {} | undefined; + optimization?: { + usedExports?: boolean | "global" | undefined; + providedExports?: boolean | undefined; + moduleIds?: "named" | "natural" | "deterministic" | undefined; + chunkIds?: "named" | "natural" | "deterministic" | "size" | "total-size" | undefined; + minimize?: boolean | undefined; + minimizer?: (false | "" | 0 | "..." | t.RspackPluginInstance | t.WebpackPluginInstance | t.RspackPluginFunction | t.WebpackPluginFunction | null | undefined)[] | undefined; + mergeDuplicateChunks?: boolean | undefined; + splitChunks?: false | { + name?: string | false | ((args_0: Module | undefined, ...args: unknown[]) => unknown) | undefined; + chunks?: RegExp | "initial" | "async" | "all" | ((args_0: Chunk, ...args: unknown[]) => boolean) | undefined; + usedExports?: boolean | undefined; + defaultSizeTypes?: string[] | undefined; + cacheGroups?: Record unknown) | undefined; + filename?: string | undefined; + type?: string | RegExp | undefined; + chunks?: RegExp | "initial" | "async" | "all" | ((args_0: Chunk, ...args: unknown[]) => boolean) | undefined; + usedExports?: boolean | undefined; + defaultSizeTypes?: string[] | undefined; + maxSize?: number | Record | undefined; + priority?: number | undefined; + minSize?: number | Record | undefined; + maxAsyncSize?: number | Record | undefined; + maxInitialSize?: number | Record | undefined; + minChunks?: number | undefined; + maxAsyncRequests?: number | undefined; + maxInitialRequests?: number | undefined; + automaticNameDelimiter?: string | undefined; + test?: string | RegExp | ((args_0: Module, ...args: unknown[]) => unknown) | undefined; + enforce?: boolean | undefined; + reuseExistingChunk?: boolean | undefined; + idHint?: string | undefined; + }> | undefined; + maxSize?: number | Record | undefined; + fallbackCacheGroup?: { + chunks?: RegExp | "initial" | "async" | "all" | ((args_0: Chunk, ...args: unknown[]) => boolean) | undefined; + maxSize?: number | undefined; + minSize?: number | undefined; + maxAsyncSize?: number | undefined; + maxInitialSize?: number | undefined; + automaticNameDelimiter?: string | undefined; + } | undefined; + minSize?: number | Record | undefined; + maxAsyncSize?: number | Record | undefined; + maxInitialSize?: number | Record | undefined; + hidePathInfo?: boolean | undefined; + minChunks?: number | undefined; + maxAsyncRequests?: number | undefined; + maxInitialRequests?: number | undefined; + automaticNameDelimiter?: string | undefined; + } | undefined; + runtimeChunk?: boolean | "single" | "multiple" | { + name?: string | ((args_0: { + name: string; + }, ...args: unknown[]) => string) | undefined; + } | undefined; + removeAvailableModules?: boolean | undefined; + removeEmptyChunks?: boolean | undefined; + realContentHash?: boolean | undefined; + sideEffects?: boolean | "flag" | undefined; + concatenateModules?: boolean | undefined; + innerGraph?: boolean | undefined; + mangleExports?: boolean | "deterministic" | "size" | undefined; + nodeEnv?: string | false | undefined; + emitOnErrors?: boolean | undefined; + } | undefined; plugins?: (false | "" | 0 | t.RspackPluginInstance | t.WebpackPluginInstance | t.RspackPluginFunction | t.WebpackPluginFunction | null | undefined)[] | undefined; watch?: boolean | undefined; watchOptions?: { @@ -9699,7 +9690,7 @@ const RuntimeChunkPlugin: { new (options: RawRuntimeChunkOptions): { name: BuiltinPluginName; _args: [options: RawRuntimeChunkOptions]; - affectedHooks: "done" | "make" | "compile" | "emit" | "afterEmit" | "invalid" | "thisCompilation" | "afterDone" | "compilation" | "normalModuleFactory" | "contextModuleFactory" | "initialize" | "shouldEmit" | "infrastructureLog" | "beforeRun" | "run" | "assetEmitted" | "failed" | "shutdown" | "watchRun" | "watchClose" | "environment" | "afterEnvironment" | "afterPlugins" | "afterResolvers" | "beforeCompile" | "afterCompile" | "finishMake" | "entryOption" | "additionalPass" | undefined; + affectedHooks: "done" | "make" | "environment" | "compile" | "emit" | "afterEmit" | "invalid" | "thisCompilation" | "afterDone" | "compilation" | "normalModuleFactory" | "contextModuleFactory" | "initialize" | "shouldEmit" | "infrastructureLog" | "beforeRun" | "run" | "assetEmitted" | "failed" | "shutdown" | "watchRun" | "watchClose" | "afterEnvironment" | "afterPlugins" | "afterResolvers" | "beforeCompile" | "afterCompile" | "finishMake" | "entryOption" | "additionalPass" | undefined; raw(compiler: Compiler_2): BuiltinPlugin; apply(compiler: Compiler_2): void; }; @@ -9996,7 +9987,7 @@ export const SourceMapDevToolPlugin: { new (options: SourceMapDevToolPluginOptions): { name: BuiltinPluginName; _args: [options: SourceMapDevToolPluginOptions]; - affectedHooks: "done" | "make" | "compile" | "emit" | "afterEmit" | "invalid" | "thisCompilation" | "afterDone" | "compilation" | "normalModuleFactory" | "contextModuleFactory" | "initialize" | "shouldEmit" | "infrastructureLog" | "beforeRun" | "run" | "assetEmitted" | "failed" | "shutdown" | "watchRun" | "watchClose" | "environment" | "afterEnvironment" | "afterPlugins" | "afterResolvers" | "beforeCompile" | "afterCompile" | "finishMake" | "entryOption" | "additionalPass" | undefined; + affectedHooks: "done" | "make" | "environment" | "compile" | "emit" | "afterEmit" | "invalid" | "thisCompilation" | "afterDone" | "compilation" | "normalModuleFactory" | "contextModuleFactory" | "initialize" | "shouldEmit" | "infrastructureLog" | "beforeRun" | "run" | "assetEmitted" | "failed" | "shutdown" | "watchRun" | "watchClose" | "afterEnvironment" | "afterPlugins" | "afterResolvers" | "beforeCompile" | "afterCompile" | "finishMake" | "entryOption" | "additionalPass" | undefined; raw(compiler: Compiler_2): BuiltinPlugin; apply(compiler: Compiler_2): void; }; @@ -10300,7 +10291,7 @@ export const SwcJsMinimizerRspackPlugin: { new (options?: SwcJsMinimizerRspackPluginOptions | undefined): { name: BuiltinPluginName; _args: [options?: SwcJsMinimizerRspackPluginOptions | undefined]; - affectedHooks: "done" | "make" | "compile" | "emit" | "afterEmit" | "invalid" | "thisCompilation" | "afterDone" | "compilation" | "normalModuleFactory" | "contextModuleFactory" | "initialize" | "shouldEmit" | "infrastructureLog" | "beforeRun" | "run" | "assetEmitted" | "failed" | "shutdown" | "watchRun" | "watchClose" | "environment" | "afterEnvironment" | "afterPlugins" | "afterResolvers" | "beforeCompile" | "afterCompile" | "finishMake" | "entryOption" | "additionalPass" | undefined; + affectedHooks: "done" | "make" | "environment" | "compile" | "emit" | "afterEmit" | "invalid" | "thisCompilation" | "afterDone" | "compilation" | "normalModuleFactory" | "contextModuleFactory" | "initialize" | "shouldEmit" | "infrastructureLog" | "beforeRun" | "run" | "assetEmitted" | "failed" | "shutdown" | "watchRun" | "watchClose" | "afterEnvironment" | "afterPlugins" | "afterResolvers" | "beforeCompile" | "afterCompile" | "finishMake" | "entryOption" | "additionalPass" | undefined; raw(compiler: Compiler_2): BuiltinPlugin; apply(compiler: Compiler_2): void; }; @@ -11029,7 +11020,7 @@ export const WarnCaseSensitiveModulesPlugin: { new (): { name: BuiltinPluginName; _args: []; - affectedHooks: "done" | "make" | "compile" | "emit" | "afterEmit" | "invalid" | "thisCompilation" | "afterDone" | "compilation" | "normalModuleFactory" | "contextModuleFactory" | "initialize" | "shouldEmit" | "infrastructureLog" | "beforeRun" | "run" | "assetEmitted" | "failed" | "shutdown" | "watchRun" | "watchClose" | "environment" | "afterEnvironment" | "afterPlugins" | "afterResolvers" | "beforeCompile" | "afterCompile" | "finishMake" | "entryOption" | "additionalPass" | undefined; + affectedHooks: "done" | "make" | "environment" | "compile" | "emit" | "afterEmit" | "invalid" | "thisCompilation" | "afterDone" | "compilation" | "normalModuleFactory" | "contextModuleFactory" | "initialize" | "shouldEmit" | "infrastructureLog" | "beforeRun" | "run" | "assetEmitted" | "failed" | "shutdown" | "watchRun" | "watchClose" | "afterEnvironment" | "afterPlugins" | "afterResolvers" | "beforeCompile" | "afterCompile" | "finishMake" | "entryOption" | "additionalPass" | undefined; raw(compiler: Compiler_2): BuiltinPlugin; apply(compiler: Compiler_2): void; }; diff --git a/packages/rspack/src/builtin-plugin/EntryPlugin.ts b/packages/rspack/src/builtin-plugin/EntryPlugin.ts index 6d170f8ff0a..d363aa6487b 100644 --- a/packages/rspack/src/builtin-plugin/EntryPlugin.ts +++ b/packages/rspack/src/builtin-plugin/EntryPlugin.ts @@ -4,12 +4,7 @@ import { type JsEntryPluginOptions } from "@rspack/binding"; -import { - type EntryDescriptionNormalized, - getRawChunkLoading, - getRawLibrary -} from "../config"; -import { isNil } from "../util"; +import type { EntryDescriptionNormalized } from "../config"; import { create } from "./base"; /** @@ -71,12 +66,10 @@ export function getRawEntryOptions(entry: EntryOptions): JsEntryOptions { publicPath: entry.publicPath, baseUri: entry.baseUri, runtime, - chunkLoading: !isNil(chunkLoading) - ? getRawChunkLoading(chunkLoading) - : undefined, + chunkLoading, asyncChunks: entry.asyncChunks, filename: entry.filename, - library: entry.library && getRawLibrary(entry.library), + library: entry.library, layer: entry.layer ?? undefined, dependOn: entry.dependOn }; diff --git a/packages/rspack/src/config/adapter.ts b/packages/rspack/src/config/adapter.ts index 516a1c48897..72c1c88683b 100644 --- a/packages/rspack/src/config/adapter.ts +++ b/packages/rspack/src/config/adapter.ts @@ -1,7 +1,5 @@ import assert from "node:assert"; import { - type JsLibraryName, - type JsLibraryOptions, type RawAssetGeneratorDataUrlFnCtx, type RawAssetGeneratorOptions, type RawAssetInlineGeneratorOptions, @@ -14,16 +12,13 @@ import { type RawCssModuleGeneratorOptions, type RawCssModuleParserOptions, type RawCssParserOptions, - type RawExperiments, type RawFuncUseCtx, type RawGeneratorOptions, - type RawIncremental, type RawJavascriptParserOptions, type RawModuleRule, type RawModuleRuleUse, type RawOptions, type RawParserOptions, - type RawRspackFuture, type RawRuleSetCondition, RawRuleSetConditionType, type RawRuleSetLogicalConditions @@ -42,7 +37,6 @@ import { createRawModuleRuleUses } from "./adapterRuleUse"; import type { - ExperimentCacheNormalized, ExperimentsNormalized, ModuleOptionsNormalized, OutputNormalized, @@ -55,93 +49,56 @@ import type { AssetParserDataUrl, AssetParserOptions, AssetResourceGeneratorOptions, - ChunkLoading, - CrossOriginLoading, CssAutoGeneratorOptions, CssGeneratorOptions, CssParserOptions, GeneratorOptionsByModuleType, - Incremental, JavascriptParserOptions, - LibraryName, - LibraryOptions, Node, Optimization, ParserOptionsByModuleType, Resolve, - RspackFutureOptions, RuleSetCondition, RuleSetLogicalConditions, RuleSetRule, - SnapshotOptions, - StatsValue, - Target + StatsValue } from "./types"; export type { LoaderContext, LoaderDefinition, LoaderDefinitionFunction }; +// invariant: `options` is normalized with default value applied export const getRawOptions = ( options: RspackOptionsNormalized, compiler: Compiler ): RawOptions => { - assert( - !isNil(options.context) && !isNil(options.devtool) && !isNil(options.cache), - "context, devtool, cache should not be nil after defaults" - ); - const devtool = options.devtool === false ? "" : options.devtool; const mode = options.mode; - const experiments = getRawExperiments(options.experiments); + const experiments = options.experiments as Required; return { mode, - target: getRawTarget(options.target), - context: options.context, - output: getRawOutput(options.output), + context: options.context!, + output: options.output as Required, resolve: getRawResolve(options.resolve), resolveLoader: getRawResolve(options.resolveLoader), module: getRawModule(options.module, { compiler, - devtool, mode, - context: options.context, + context: options.context!, experiments }), - devtool, - optimization: getRawOptimization(options.optimization), + optimization: options.optimization as Required, stats: getRawStats(options.stats), - snapshot: getRawSnapshotOptions(options.snapshot), cache: { - type: options.cache ? "memory" : "disable", - // TODO: implement below cache options - maxGenerations: 0, - maxAge: 0, - profile: false, - buildDependencies: [], - cacheDirectory: "", - cacheLocation: "", - name: "", - version: "" + type: options.cache ? "memory" : "disable" }, experiments, node: getRawNode(options.node), - // SAFETY: applied default value in `applyRspackOptionsDefaults`. profile: options.profile!, amd: options.amd, - // SAFETY: applied default value in `applyRspackOptionsDefaults`. bail: options.bail!, __references: {} }; }; -function getRawTarget(target: Target | undefined): RawOptions["target"] { - if (!target) { - return []; - } - if (typeof target === "string") { - return [target]; - } - return target; -} - function getRawExtensionAlias( alias: Resolve["extensionAlias"] = {} ): RawOptions["resolve"]["extensionAlias"] { @@ -203,128 +160,6 @@ export function getRawResolve(resolve: Resolve): RawOptions["resolve"] { }; } -function getRawCrossOriginLoading( - crossOriginLoading: CrossOriginLoading -): RawOptions["output"]["crossOriginLoading"] { - if (typeof crossOriginLoading === "boolean") { - return { type: "bool", boolPayload: crossOriginLoading }; - } - return { type: "string", stringPayload: crossOriginLoading }; -} - -function getRawOutput(output: OutputNormalized): RawOptions["output"] { - const chunkLoading = output.chunkLoading!; - const wasmLoading = output.wasmLoading!; - const workerChunkLoading = output.workerChunkLoading!; - const workerWasmLoading = output.workerWasmLoading!; - return { - path: output.path!, - pathinfo: output.pathinfo!, - publicPath: output.publicPath!, - clean: output.clean!, - assetModuleFilename: output.assetModuleFilename!, - filename: output.filename!, - chunkFilename: output.chunkFilename!, - chunkLoading: getRawChunkLoading(chunkLoading), - crossOriginLoading: getRawCrossOriginLoading(output.crossOriginLoading!), - cssFilename: output.cssFilename!, - cssChunkFilename: output.cssChunkFilename!, - hotUpdateChunkFilename: output.hotUpdateChunkFilename!, - hotUpdateMainFilename: output.hotUpdateMainFilename!, - hotUpdateGlobal: output.hotUpdateGlobal!, - uniqueName: output.uniqueName!, - chunkLoadingGlobal: output.chunkLoadingGlobal!, - enabledLibraryTypes: output.enabledLibraryTypes, - library: output.library && getRawLibrary(output.library), - strictModuleErrorHandling: output.strictModuleErrorHandling!, - globalObject: output.globalObject!, - importFunctionName: output.importFunctionName!, - importMetaName: output.importMetaName!, - iife: output.iife!, - module: output.module!, - wasmLoading: wasmLoading === false ? "false" : wasmLoading, - enabledWasmLoadingTypes: output.enabledWasmLoadingTypes!, - enabledChunkLoadingTypes: output.enabledChunkLoadingTypes!, - webassemblyModuleFilename: output.webassemblyModuleFilename!, - trustedTypes: output.trustedTypes!, - sourceMapFilename: output.sourceMapFilename!, - hashFunction: output.hashFunction!, - hashDigest: output.hashDigest!, - hashDigestLength: output.hashDigestLength!, - hashSalt: output.hashSalt!, - asyncChunks: output.asyncChunks!, - workerChunkLoading: - workerChunkLoading === false ? "false" : workerChunkLoading, - workerWasmLoading: - workerWasmLoading === false ? "false" : workerWasmLoading, - workerPublicPath: output.workerPublicPath!, - scriptType: output.scriptType === false ? "false" : output.scriptType!, - charset: output.charset!, - chunkLoadTimeout: output.chunkLoadTimeout!, - environment: output.environment!, - compareBeforeEmit: output.compareBeforeEmit! - }; -} - -export function getRawLibrary(library: LibraryOptions): JsLibraryOptions { - const { - type, - name, - export: libraryExport, - umdNamedDefine, - auxiliaryComment, - amdContainer - } = library; - return { - amdContainer, - auxiliaryComment: - typeof auxiliaryComment === "string" - ? { - commonjs: auxiliaryComment, - commonjs2: auxiliaryComment, - amd: auxiliaryComment, - root: auxiliaryComment - } - : auxiliaryComment, - libraryType: type, - name: isNil(name) ? name : getRawLibraryName(name), - export: - Array.isArray(libraryExport) || libraryExport == null - ? libraryExport - : [libraryExport], - umdNamedDefine - }; -} - -function getRawLibraryName(name: LibraryName): JsLibraryName { - if (typeof name === "string") { - return { - type: "string", - stringPayload: name - }; - } - if (Array.isArray(name)) { - return { - type: "array", - arrayPayload: name - }; - } - if (typeof name === "object" && !Array.isArray(name)) { - return { - type: "umdObject", - umdObjectPayload: { - commonjs: name.commonjs, - root: - Array.isArray(name.root) || isNil(name.root) - ? name.root - : [name.root], - amd: name.amd - } - }; - } - throw new Error("unreachable"); -} - function getRawModule( module: ModuleOptionsNormalized, options: ComposeJsUseOptions @@ -861,100 +696,6 @@ function getRawCssAutoOrModuleGeneratorOptions( }; } -function getRawOptimization( - optimization: Optimization -): RawOptions["optimization"] { - assert( - !isNil(optimization.removeAvailableModules) && - !isNil(optimization.sideEffects) && - !isNil(optimization.realContentHash) && - !isNil(optimization.providedExports) && - !isNil(optimization.usedExports) && - !isNil(optimization.innerGraph) && - "optimization.moduleIds, optimization.removeAvailableModules, optimization.removeEmptyChunks, optimization.sideEffects, optimization.realContentHash, optimization.providedExports, optimization.usedExports, optimization.innerGraph, optimization.concatenateModules should not be nil after defaults" - ); - return { - removeAvailableModules: optimization.removeAvailableModules, - sideEffects: String(optimization.sideEffects), - usedExports: String(optimization.usedExports), - providedExports: optimization.providedExports, - innerGraph: optimization.innerGraph, - concatenateModules: !!optimization.concatenateModules, - mangleExports: String(optimization.mangleExports) - }; -} - -function getRawSnapshotOptions( - _snapshot: SnapshotOptions -): RawOptions["snapshot"] { - return {}; -} - -function getRawExperiments( - experiments: ExperimentsNormalized -): RawOptions["experiments"] { - const { topLevelAwait, layers, incremental, rspackFuture, cache } = - experiments; - assert( - !isNil(topLevelAwait) && - !isNil(rspackFuture) && - !isNil(layers) && - !isNil(incremental) - ); - - return { - layers, - topLevelAwait, - cache: getRawExperimentCache(cache), - incremental: getRawIncremental(incremental), - rspackFuture: getRawRspackFutureOptions(rspackFuture) - }; -} - -function getRawExperimentCache( - cache?: ExperimentCacheNormalized -): RawExperiments["cache"] { - if (cache === undefined) { - throw new Error("experiment cache can not be undefined"); - } - if (typeof cache === "boolean") { - return { - type: cache ? "memory" : "disable" - }; - } - return cache; -} - -function getRawIncremental( - incremental: false | Incremental -): RawIncremental | undefined { - if (incremental === false) { - return undefined; - } - return { - make: incremental.make!, - inferAsyncModules: incremental.inferAsyncModules!, - providedExports: incremental.providedExports!, - dependenciesDiagnostics: incremental.dependenciesDiagnostics!, - buildChunkGraph: incremental.buildChunkGraph!, - moduleIds: incremental.moduleIds!, - chunkIds: incremental.chunkIds!, - modulesHashes: incremental.modulesHashes!, - modulesCodegen: incremental.modulesCodegen!, - modulesRuntimeRequirements: incremental.modulesRuntimeRequirements!, - chunksRuntimeRequirements: incremental.chunksRuntimeRequirements!, - chunksHashes: incremental.chunksHashes!, - chunksRender: incremental.chunksRender!, - emitAssets: incremental.emitAssets! - }; -} - -function getRawRspackFutureOptions( - future: RspackFutureOptions -): RawRspackFuture { - return {}; -} - function getRawNode(node: Node): RawOptions["node"] { if (node === false) { return undefined; @@ -975,7 +716,3 @@ function getRawStats(stats: StatsValue): RawOptions["stats"] { colors: statsOptions.colors ?? false }; } - -export function getRawChunkLoading(chunkLoading: ChunkLoading) { - return chunkLoading === false ? "false" : chunkLoading; -} diff --git a/packages/rspack/src/config/adapterRuleUse.ts b/packages/rspack/src/config/adapterRuleUse.ts index 416c6080ecf..5d51662428a 100644 --- a/packages/rspack/src/config/adapterRuleUse.ts +++ b/packages/rspack/src/config/adapterRuleUse.ts @@ -17,6 +17,7 @@ import { type LoaderObject, parsePathQueryFragment } from "../loader-runner"; import type { Logger } from "../logging/Logger"; import { isNil } from "../util"; import type Hash from "../util/hash"; +import type { RspackOptionsNormalized } from "./normalization"; import type { Mode, PublicPath, @@ -29,7 +30,6 @@ import type { export const BUILTIN_LOADER_PREFIX = "builtin:"; export interface ComposeJsUseOptions { - devtool: RawOptions["devtool"]; context: RawOptions["context"]; mode: RawOptions["mode"]; experiments: RawOptions["experiments"]; @@ -370,13 +370,23 @@ function resolveStringifyLoaders( return obj.path + obj.query + obj.fragment; } -export function isUseSourceMap(devtool: RawOptions["devtool"]): boolean { +export function isUseSourceMap( + devtool: RspackOptionsNormalized["devtool"] +): boolean { + if (!devtool) { + return false; + } return ( devtool.includes("source-map") && (devtool.includes("module") || !devtool.includes("cheap")) ); } -export function isUseSimpleSourceMap(devtool: RawOptions["devtool"]): boolean { +export function isUseSimpleSourceMap( + devtool: RspackOptionsNormalized["devtool"] +): boolean { + if (!devtool) { + return false; + } return devtool.includes("source-map") && !isUseSourceMap(devtool); } diff --git a/packages/rspack/src/container/ContainerPlugin.ts b/packages/rspack/src/container/ContainerPlugin.ts index a8e5e0d0397..68cab557591 100644 --- a/packages/rspack/src/container/ContainerPlugin.ts +++ b/packages/rspack/src/container/ContainerPlugin.ts @@ -9,12 +9,7 @@ import { RspackBuiltinPlugin, createBuiltinPlugin } from "../builtin-plugin/base"; -import { - type EntryRuntime, - type FilenameTemplate, - type LibraryOptions, - getRawLibrary -} from "../config"; +import type { EntryRuntime, FilenameTemplate, LibraryOptions } from "../config"; import { parseOptions } from "../container/options"; import { ShareRuntimePlugin } from "../sharing/ShareRuntimePlugin"; @@ -79,7 +74,7 @@ export class ContainerPlugin extends RspackBuiltinPlugin { const rawOptions: RawContainerPluginOptions = { name, shareScope, - library: getRawLibrary(library), + library, runtime, filename, exposes: exposes.map(([key, r]) => ({ key, ...r })), From 3129248defb6d0f1cc396f43fc7dd4c0e1c29ec3 Mon Sep 17 00:00:00 2001 From: Hana Date: Fri, 20 Dec 2024 12:03:59 +0800 Subject: [PATCH 10/11] feat: add help message for version check (#8774) --- packages/rspack/src/util/bindingVersionCheck.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/rspack/src/util/bindingVersionCheck.ts b/packages/rspack/src/util/bindingVersionCheck.ts index a1ae11f19d6..cd0cc4da077 100644 --- a/packages/rspack/src/util/bindingVersionCheck.ts +++ b/packages/rspack/src/util/bindingVersionCheck.ts @@ -133,7 +133,8 @@ export const checkVersion = () => { if (!isMatch) { return (result = new Error( - `Unmatched version @rspack/core@${CORE_VERSION}, @rspack/binding@${BINDING_VERSION}, @rspack/binding-${platformArchAbi}@${ADDON_VERSION}` + "Unmatched version @rspack/core@${CORE_VERSION}, @rspack/binding@${BINDING_VERSION}, @rspack/binding-${platformArchAbi}@${ADDON_VERSION}.\n" + + "Rspack requires these versions to be the same or you may have installed the wrong version. Otherwise, rspack may not work properly." )); } From 56ee43c29650de32a263cbe8cb1a5dc34784e5f9 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 20 Dec 2024 12:04:25 +0800 Subject: [PATCH 11/11] chore(deps): update napi (#8771) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- Cargo.lock | 16 ++++++++-------- Cargo.toml | 6 +++--- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 2ff53cffb1a..918daa30e27 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2690,9 +2690,9 @@ dependencies = [ [[package]] name = "napi" -version = "3.0.0-alpha.23" +version = "3.0.0-alpha.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4929caab512f6e9650b53d27b4076f3e0524a1369e5d4ab25965fcc60b31cad" +checksum = "5de0beff58a431b3bd6568b690bcf55d72d8dd7f8e0e613a0193a8a9a8eef26b" dependencies = [ "anyhow", "bitflags 2.6.0", @@ -2706,15 +2706,15 @@ dependencies = [ [[package]] name = "napi-build" -version = "2.1.3" +version = "2.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1c0f5d67ee408a4685b61f5ab7e58605c8ae3f2b4189f0127d804ff13d5560a" +checksum = "db836caddef23662b94e16bf1f26c40eceb09d6aee5d5b06a7ac199320b69b19" [[package]] name = "napi-derive" -version = "3.0.0-alpha.21" +version = "3.0.0-alpha.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c12428d113f2b64cf827a144dddaf2df50c4d93d655d57d83745c2a281e6ec62" +checksum = "81f5e3b98fb51282253a2fa9903ae62273c68d89d6f8f304876de30354e86e1e" dependencies = [ "convert_case", "napi-derive-backend", @@ -2725,9 +2725,9 @@ dependencies = [ [[package]] name = "napi-derive-backend" -version = "2.0.0-alpha.21" +version = "2.0.0-alpha.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a5122d26b6f849e524f1b92107364f2b4e9a2e8d41a77b3d6c5b3af75801c60" +checksum = "a986ad1072af191e8e1e10a170644025f5b2ee28f2148f3acda818210960cc1a" dependencies = [ "convert_case", "proc-macro2", diff --git a/Cargo.toml b/Cargo.toml index 9d269bbdeef..8703af82359 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -83,9 +83,9 @@ ustr = { package = "ustr-fxhash", version = "1.0.1" } xxhash-rust = { version = "0.8.12" } # Pinned -napi = { version = "3.0.0-alpha.23" } -napi-build = { version = "2.1.3" } -napi-derive = { version = "3.0.0-alpha.21" } +napi = { version = "3.0.0-alpha.24" } +napi-build = { version = "2.1.4" } +napi-derive = { version = "3.0.0-alpha.22" } # Serialize and Deserialize inventory = { version = "=0.1" }