Skip to content

chore: cherry-pick devtool cheap modifier documentation to v1.x#12850

Draft
Copilot wants to merge 73 commits intomainfrom
copilot/cherry-pick-to-v1-x
Draft

chore: cherry-pick devtool cheap modifier documentation to v1.x#12850
Copilot wants to merge 73 commits intomainfrom
copilot/cherry-pick-to-v1-x

Conversation

Copy link
Contributor

Copilot AI commented Jan 26, 2026

Cherry-picks #12849 to the v1.x branch.

Changes

  • Documentation enhancement for devtool configuration
    • Added FAQ explaining that cheap and cheap-module-source-map intentionally skip source map generation in production (minified single-line code makes line-level mapping ineffective)
    • Emphasized "development environments" and "production environments" in modifier tables
    • Updated both English and Chinese documentation
Original prompt

cherry-pick this to v1.x branch


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

renovate bot and others added 30 commits January 7, 2026 10:14
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix: report error when access module_graph in loader

* Apply suggestions from code review

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…2632)

* feat(rstest): add preserveNewUrl option to keep new URL untouched

* fix: format Rust code with rustfmt
* fix(lint): enable await-thenable rule and fix violation

- Enable @typescript-eslint/await-thenable rule (off -> error)
- Remove unnecessary await on syncTraceEvent() which returns void

* Update rslint.json

---------

Co-authored-by: neverland <jait.chen@foxmail.com>
fix(lint): enable require-await rule and fix violations

- Enable @typescript-eslint/require-await rule (off -> error)
- FileSystem.ts: Add missing return for Promise, remove async
- SubresourceIntegrityPlugin.ts: Use Promise.resolve() instead of async
- browser/service.ts: Remove async from function that only throws
- loader-runner/worker.ts: Remove async from .then/.catch callbacks
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
feat: add constructor name for JS runtime module
* fix: incremental rebuild bug

* add test case

* fix: ci
* refactor: remove Default trait of DerefOption
* refactor: `replace` is better than `insert`
* feat: rspack_cacheable context expose project root

* fix: comment
…12686)

* feat: add requireRename option to control require variable renaming

* Update packages/rspack/src/config/types.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update tests/rspack-test/configCases/parsing/renaming-disabled/index.js

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* rename

* rename

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Sync node events for logger tracing

* Align sync_trace

* Remove unless info

* Cargo shear

* Use one writer

* Filter JavaScript

* Handle timestamps

* Clippy

* Clippy
Revert "feat: add warning when requireAlias is disabled (#12700)"

This reverts commit eb5635c.
feat: use rspack-vue-loader to support hotupdate
fix: `environments.importMetaDirnameAndFilename` should work
fix(ContextReplacementPlugin): only apply changes when regex matches

The plugin was applying transformations (recursive, regExp, critical) to
all require.context() calls regardless of whether the configured regex
pattern matched the request. This fix ensures all transformations only
apply when the regex successfully matches.

Closes #12656
* fix(type): runtimeModule.source

* fix: lint

* fix: lint
Release 0.7.2

rspack@0.7.2
rspack_allocator@0.7.2
rspack_binding_api@0.7.2
rspack_binding_build@0.7.2
rspack_binding_builder@0.7.2
rspack_binding_builder_macros@0.7.2
rspack_browser@0.7.2
rspack_browserslist@0.7.2
rspack_cacheable@0.7.2
rspack_cacheable_macros@0.7.2
rspack_collections@0.7.2
rspack_core@0.7.2
rspack_error@0.7.2
rspack_fs@0.7.2
rspack_futures@0.7.2
rspack_hash@0.7.2
rspack_hook@0.7.2
rspack_ids@0.7.2
rspack_javascript_compiler@0.7.2
rspack_loader_lightningcss@0.7.2
rspack_loader_preact_refresh@0.7.2
rspack_loader_react_refresh@0.7.2
rspack_loader_runner@0.7.2
rspack_loader_swc@0.7.2
rspack_loader_testing@0.7.2
rspack_location@0.7.2
rspack_macros@0.7.2
rspack_napi@0.7.2
rspack_napi_macros@0.7.2
rspack_paths@0.7.2
rspack_plugin_asset@0.7.2
rspack_plugin_banner@0.7.2
rspack_plugin_case_sensitive@0.7.2
rspack_plugin_circular_dependencies@0.7.2
rspack_plugin_copy@0.7.2
rspack_plugin_css@0.7.2
rspack_plugin_css_chunking@0.7.2
rspack_plugin_devtool@0.7.2
rspack_plugin_dll@0.7.2
rspack_plugin_dynamic_entry@0.7.2
rspack_plugin_ensure_chunk_conditions@0.7.2
rspack_plugin_entry@0.7.2
rspack_plugin_esm_library@0.7.2
rspack_plugin_externals@0.7.2
rspack_plugin_extract_css@0.7.2
rspack_plugin_hmr@0.7.2
rspack_plugin_html@0.7.2
rspack_plugin_ignore@0.7.2
rspack_plugin_javascript@0.7.2
rspack_plugin_json@0.7.2
rspack_plugin_lazy_compilation@0.7.2
rspack_plugin_library@0.7.2
rspack_plugin_lightning_css_minimizer@0.7.2
rspack_plugin_limit_chunk_count@0.7.2
rspack_plugin_merge_duplicate_chunks@0.7.2
rspack_plugin_mf@0.7.2
rspack_plugin_module_info_header@0.7.2
rspack_plugin_module_replacement@0.7.2
rspack_plugin_no_emit_on_errors@0.7.2
rspack_plugin_progress@0.7.2
rspack_plugin_real_content_hash@0.7.2
rspack_plugin_remove_duplicate_modules@0.7.2
rspack_plugin_remove_empty_chunks@0.7.2
rspack_plugin_rsdoctor@0.7.2
rspack_plugin_rslib@0.7.2
rspack_plugin_rstest@0.7.2
rspack_plugin_runtime@0.7.2
rspack_plugin_runtime_chunk@0.7.2
rspack_plugin_schemes@0.7.2
rspack_plugin_size_limits@0.7.2
rspack_plugin_split_chunks@0.7.2
rspack_plugin_sri@0.7.2
rspack_plugin_swc_js_minimizer@0.7.2
rspack_plugin_wasm@0.7.2
rspack_plugin_web_worker_template@0.7.2
rspack_plugin_worker@0.7.2
rspack_regex@0.7.2
rspack_storage@0.7.2
rspack_swc_plugin_import@0.7.2
rspack_swc_plugin_ts_collector@0.7.2
rspack_tasks@0.7.2
rspack_tracing@0.7.2
rspack_tracing_perfetto@0.7.2
rspack_util@0.7.2
rspack_watcher@0.7.2
rspack_workspace@0.7.2

Generated by cargo-workspaces
CPunisher and others added 21 commits January 19, 2026 11:27
* fix: remove lazyCompilationMiddleware

* chore: change worker entry to iife

* chore: add e2e test

* chore: fix format

* fix: add await for e2e

* fix: remove unused imports

* chore: fix ci yml

* chore: fix ci WASM env injection
* fix(core): correct dependency sorting by source_order

Ensure dependencies with None source_order are placed after Some, preserving their relative order.

* test: add test case for css source order with mixed import and require
* Release 0.7.3

rspack@0.7.3
rspack_allocator@0.7.3
rspack_binding_api@0.7.3
rspack_binding_build@0.7.3
rspack_binding_builder@0.7.3
rspack_binding_builder_macros@0.7.3
rspack_browser@0.7.3
rspack_browserslist@0.7.3
rspack_cacheable@0.7.3
rspack_cacheable_macros@0.7.3
rspack_collections@0.7.3
rspack_core@0.7.3
rspack_error@0.7.3
rspack_fs@0.7.3
rspack_futures@0.7.3
rspack_hash@0.7.3
rspack_hook@0.7.3
rspack_ids@0.7.3
rspack_javascript_compiler@0.7.3
rspack_loader_lightningcss@0.7.3
rspack_loader_preact_refresh@0.7.3
rspack_loader_react_refresh@0.7.3
rspack_loader_runner@0.7.3
rspack_loader_swc@0.7.3
rspack_loader_testing@0.7.3
rspack_location@0.7.3
rspack_macros@0.7.3
rspack_napi@0.7.3
rspack_napi_macros@0.7.3
rspack_paths@0.7.3
rspack_plugin_asset@0.7.3
rspack_plugin_banner@0.7.3
rspack_plugin_case_sensitive@0.7.3
rspack_plugin_circular_dependencies@0.7.3
rspack_plugin_copy@0.7.3
rspack_plugin_css@0.7.3
rspack_plugin_css_chunking@0.7.3
rspack_plugin_devtool@0.7.3
rspack_plugin_dll@0.7.3
rspack_plugin_dynamic_entry@0.7.3
rspack_plugin_ensure_chunk_conditions@0.7.3
rspack_plugin_entry@0.7.3
rspack_plugin_esm_library@0.7.3
rspack_plugin_externals@0.7.3
rspack_plugin_extract_css@0.7.3
rspack_plugin_hmr@0.7.3
rspack_plugin_html@0.7.3
rspack_plugin_ignore@0.7.3
rspack_plugin_javascript@0.7.3
rspack_plugin_json@0.7.3
rspack_plugin_lazy_compilation@0.7.3
rspack_plugin_library@0.7.3
rspack_plugin_lightning_css_minimizer@0.7.3
rspack_plugin_limit_chunk_count@0.7.3
rspack_plugin_merge_duplicate_chunks@0.7.3
rspack_plugin_mf@0.7.3
rspack_plugin_module_info_header@0.7.3
rspack_plugin_module_replacement@0.7.3
rspack_plugin_no_emit_on_errors@0.7.3
rspack_plugin_progress@0.7.3
rspack_plugin_real_content_hash@0.7.3
rspack_plugin_remove_duplicate_modules@0.7.3
rspack_plugin_remove_empty_chunks@0.7.3
rspack_plugin_rsdoctor@0.7.3
rspack_plugin_rslib@0.7.3
rspack_plugin_rstest@0.7.3
rspack_plugin_runtime@0.7.3
rspack_plugin_runtime_chunk@0.7.3
rspack_plugin_schemes@0.7.3
rspack_plugin_size_limits@0.7.3
rspack_plugin_split_chunks@0.7.3
rspack_plugin_sri@0.7.3
rspack_plugin_swc_js_minimizer@0.7.3
rspack_plugin_wasm@0.7.3
rspack_plugin_web_worker_template@0.7.3
rspack_plugin_worker@0.7.3
rspack_regex@0.7.3
rspack_storage@0.7.3
rspack_swc_plugin_import@0.7.3
rspack_swc_plugin_ts_collector@0.7.3
rspack_tasks@0.7.3
rspack_tracing@0.7.3
rspack_tracing_perfetto@0.7.3
rspack_util@0.7.3
rspack_watcher@0.7.3
rspack_workspace@0.7.3

Generated by cargo-workspaces

* chore: release v1.7.3
* fix issue 10479

* fix issue 10479

* fix issue 10479

* revert incorrect changes

* fix `require.resolve()`` replaced as `require()`

* check if `require` is a local variable

* fix test

* fix test
## Summary
- Add `experiments.asyncStartup` support for Module Federation by embedding federation runtime deps and exposing a guarded async startup hook.
- Gate **non-container entrypoints** on the async federation startup promise to avoid races with remote/consume initialization.
- Keep **container/remoteEntry** bundles synchronous (preserve `get`/`init` exports) while still running the embedded federation runtime setup.
- Fix hoisting of container references to the correct runtime chunk for `runtimeChunk: "single"`/multi-runtime.

## Notes
- No behavior change when `experiments.asyncStartup` is disabled.
- Container chunks (exposes) intentionally do **not** block startup on the async hook; they only run the base federation runtime setup to keep the container export sync.

## Tests
- Added MF async-startup config/serial test coverage (remoteEntry export shape, runtimeChunk single, multi-entry).
- CI: all required checks green.
* fix: simplify browser e2e

* chore: set RSPACK_LOADER_WORKER_THREADS to 1
* chore: remove wasi target

* chore: update docs
* refactor: introduce ArtifactExt trait

* refactor: fix wrapper
…12806)

fix: handle rs.requireActual and rs.importActual in all contexts

Previously, rs.requireActual and rs.importActual were only processed when
used in direct variable declarations or expression statements. This caused
issues when calling these methods inside arrow functions or other nested
contexts.

Added call_member_chain hook to properly handle these methods in any context,
and removed duplicate handling from handle_rstest_method_call to avoid
double-processing.
* test: uniform all time to `X ms`

* fix: more regex

* feat: add stats string comparator

* refactor: extend expect to compare equivalent stats string

* refactor: simplify comparator
* test: hideSkippedTestFiles

* test: add more message for chunk-graph assert error

* test(rspack-cli): truncateThreshold
* refactor: differentiate snapshot strategies by dependency type

* fix: ci

* feat: independent snapshot scope for different dependency types
@cloudflare-workers-and-pages
Copy link

Deploying rspack with  Cloudflare Pages  Cloudflare Pages

Latest commit: 080b930
Status: ✅  Deploy successful!
Preview URL: https://a42bd966.rspack-v2.pages.dev
Branch Preview URL: https://copilot-cherry-pick-to-v1-x.rspack-v2.pages.dev

View logs

Copilot AI changed the title [WIP] Cherry pick changes to v1.x branch chore: cherry-pick devtool cheap modifier documentation to v1.x Jan 26, 2026
Copilot AI requested a review from hardfist January 26, 2026 11:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.