Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor(split_chunks_new): asyncify prepare_module_group_map #2975

Merged
merged 2 commits into from
Apr 28, 2023

Conversation

hyf0
Copy link
Collaborator

@hyf0 hyf0 commented Apr 28, 2023

Related issue (if exists)

Summary

  • No behaviors change
  • Make name an async function
  • Preparation for calling name function provided by the JS side

🤖 Generated by Copilot at ceb67d6

This pull request adds async and parallel processing to the rspack_plugin_split_chunks_new crate, which implements a plugin for splitting modules into chunks based on cache groups. It also updates the cache group and module group structs to use functions for generating chunk names instead of fixed strings, and handles unnamed and dynamic chunk names in the plugin logic. It adds new dependencies and imports to support these features.

Walkthrough

🤖 Generated by Copilot at ceb67d6

  • Add futures-util crate as a dependency for working with async code (link, link)
  • Add async-scoped and tokio crates as dependencies for enabling async and parallel processing of modules and cache groups in rspack_plugin_split_chunks_new crate (link, link)
  • Define ChunkNameGetter type and function for dynamically generating chunk names based on modules in common.rs (link)
  • Modify CacheGroup struct to use ChunkNameGetter instead of String for name field in raw_split_chunks.rs and cache_group.rs (link, link)
  • Modify ModuleGroup struct to use Option<String> instead of String for chunk_name field in module_group.rs (link)
  • Modify SplitChunksPlugin struct to use async functions and tasks for processing modules and cache groups in plugin.rs (link, link, link, link, link)
  • Modify create_chunk method of SplitChunksPlugin to handle module groups without chunk names in plugin.rs (link)
  • Import ChunkNameGetter and related types and functions from common module in cache_group.rs and lib.rs (link, link, link)
  • Import TokioScope from async_scoped crate in plugin.rs (link)

@changeset-bot
Copy link

changeset-bot bot commented Apr 28, 2023

⚠️ No Changeset found

Latest commit: 10ee642

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@github-actions github-actions bot added the team The issue/pr is created by the member of Rspack. label Apr 28, 2023
@hyf0 hyf0 changed the title refactor: make name a getter refactor(split_chunks_new): asyncify prepare_module_group_map Apr 28, 2023
@hyf0 hyf0 requested a review from ahabhgk April 28, 2023 07:28
@hyf0 hyf0 marked this pull request as ready for review April 28, 2023 07:28
@hyf0 hyf0 requested a review from h-a-n-a as a code owner April 28, 2023 07:28
@hyf0 hyf0 enabled auto-merge April 28, 2023 07:46
@hyf0 hyf0 added this pull request to the merge queue Apr 28, 2023
Merged via the queue into main with commit aed5153 Apr 28, 2023
19 checks passed
@hyf0 hyf0 deleted the hyf_23894820938409238409e23 branch April 28, 2023 09:36
siyou pushed a commit to siyou/rspack that referenced this pull request May 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
team The issue/pr is created by the member of Rspack.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants