Conversation
✅ Deploy Preview for rolldown-rs ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
| - `import('./dyn-entry.js')` creates a dynamic entry, whose entry module is `dyn-entry.js` | ||
| - `entry.js` imports `dyn-entry.js` via `import(...)` which is a dynamic import. People use it to load code on demand, so we don't want to put imported code together with importers and we don't consider them as connected statically. | ||
| - There're two groups of statically connected modules. Group 1: `entry.js` and `foo.js`. Group 2: `dyn-entry.js` and `bar.js` | ||
| - Since there are two groups, in the end, we will generate two chunks. These chunks are created due to as entries, they are also called as `entry chunk`s. |
There was a problem hiding this comment.
There appears to be a grammatical error in this sentence. Consider revising "created due to as entries" to either "created as entries" or "created due to being entries" for better clarity and flow.
| - Since there are two groups, in the end, we will generate two chunks. These chunks are created due to as entries, they are also called as `entry chunk`s. | |
| - Since there are two groups, in the end, we will generate two chunks. These chunks are created as entries, they are also called `entry chunk`s. |
Spotted by Diamond
Is this helpful? React 👍 or 👎 to let us know.
| - `entry.js` imports `dyn-entry.js` via `import(...)` which is a dynamic import. People use it to load code on demand, so we don't want to put imported code together with importers and we don't consider them as connected statically. | ||
| - There're two groups of statically connected modules. Group 1: `entry.js` and `foo.js`. Group 2: `dyn-entry.js` and `bar.js` | ||
| - Since there are two groups, in the end, we will generate two chunks. These chunks are created due to as entries, they are also called as `entry chunk`s. | ||
| - `Entry chunk`s include `initial chunk`s and `dynamic chunk`s. They are easy to be distinguished. `initial chunk`s are generated due to users' configuration. `input: ['./a.js', './b.js']` defines two `initial chunk`s. `Dynamic chunk`s are created due to dynamic imports. |
There was a problem hiding this comment.
The backtick formatting is inconsistent in this section. For technical terms, consider using backticks consistently throughout:
`Entry chunk`s include `initial chunk`s and `dynamic chunk`s. They are easy to distinguish. `initial chunk`s are generated due to users' configuration. `input: ['./a.js', './b.js']` defines two `initial chunk`s. `Dynamic chunk`s are created due to dynamic imports.
Also note the small wording change from "easy to be distinguished" to "easy to distinguish" for better readability.
| - `Entry chunk`s include `initial chunk`s and `dynamic chunk`s. They are easy to be distinguished. `initial chunk`s are generated due to users' configuration. `input: ['./a.js', './b.js']` defines two `initial chunk`s. `Dynamic chunk`s are created due to dynamic imports. | |
| - `Entry chunk`s include `initial chunk`s and `dynamic chunk`s. They are easy to distinguish. `initial chunk`s are generated due to users' configuration. `input: ['./a.js', './b.js']` defines two `initial chunk`s. `Dynamic chunk`s are created due to dynamic imports. |
Spotted by Diamond
Is this helpful? React 👍 or 👎 to let us know.
| ### Respecting Execution Order doesn't take precedence | ||
|
|
||
| - However, rolldown sometimes places modules without respecting their original order, because ensuring modules are singleton takes precedence over placing modules in the order they are declared. | ||
|
|
There was a problem hiding this comment.
The capitalization of "rolldown" should be consistent throughout the document. In this sentence, it should be "Rolldown" with a capital 'R' to match the capitalization used elsewhere in the document.
| - However, Rolldown sometimes places modules without respecting their original order, because ensuring modules are singleton takes precedence over placing modules in the order they are declared. |
Spotted by Diamond
Is this helpful? React 👍 or 👎 to let us know.
## [1.0.0-beta.16] - 2025-06-15 ### 🚀 Features - rolldown: feat(rolldown): oxc v0.73.0 by @Boshen in [#4948](#4948) - types: feat(types): generate HMR runtime types by @sapphi-red in [#4928](#4928) - rolldown_plugin_build_import_analysis: feat(rolldown_plugin_build_import_analysis): align with rolldown-vite by @shulaoda in [#4931](#4931) - feat: allow to configure`experimental#attachDebugInfo: 'none'` to disable generating `#region` comments by @TheAlexLichter in [#4918](#4918) ### 🐛 Bug Fixes - fix: deduplicate entry point by @IWANABETHATGUY in [#4956](#4956) - fix: diagnostic message on minified code is too long to be readable by @IWANABETHATGUY in [#4950](#4950) - fix: deduplicated entry points when have same `id`, `name`, and `filename` by @IWANABETHATGUY in [#4947](#4947) - fix: unbundle does not work with outExtensions by @IWANABETHATGUY in [#4945](#4945) - types: fix(types): remove `undefined` from return type of `generateHmrPatch` and `hmrInvalidate` by @sapphi-red in [#4943](#4943) - fix: handle error in `hmrInvalidate` by @sapphi-red in [#4942](#4942) - rolldown_plugin_build_import_analysis: fix(rolldown_plugin_build_import_analysis): preload helper is imported even if it’s not needed by @shulaoda in [#4936](#4936) - hmr: fix(hmr): avoid panic after syntax error by @sapphi-red in [#4898](#4898) - strictExecutionOrder: fix(strictExecutionOrder): ensure initialization chain of entry exports by @hyf0 in [#4933](#4933) - fix: should not panic when meet a syntax error in watch mode. by @IWANABETHATGUY in [#4926](#4926) - fix: regression, id filter normalization for windows is not working by @IWANABETHATGUY in [#4922](#4922) - rolldown_plugin_json: fix(rolldown_plugin_json): incorrect default JSON export by @shulaoda in [#4924](#4924) ### 🚜 Refactor - refactor: avoid unnecessary collect by @IWANABETHATGUY in [#4949](#4949) - refactor: get normalized options via binding by @IWANABETHATGUY in [#4938](#4938) - refactor: include DevRuntime base class even if custom HMR implementation is passed by @sapphi-red in [#4929](#4929) ### 📚 Documentation - docs: clarify minifier state by @TheAlexLichter in [#4953](#4953) - docs: drafting code splitting by @hyf0 in [#4951](#4951) - docs: add link to repl by @sxzz in [#4917](#4917) - pluginutils: docs(pluginutils): add example to simple filter functions by @sapphi-red in [#4915](#4915) ### 🧪 Testing - test: add testcase for normalized output options by @IWANABETHATGUY in [#4939](#4939) - hmr: test(hmr): enable `expectExecuted` for `generatePatchError` test by @sapphi-red in [#4937](#4937) - test: evaluate hmr tests in node by @sapphi-red in [#4930](#4930) - test: add "non used export" hmr test by @sapphi-red in [#4900](#4900) - test: enable expectExecuted in HMR tests by @sapphi-red in [#4927](#4927) ### ⚙️ Miscellaneous Tasks - deps: chore(deps): lock file maintenance npm packages by @renovate[bot] in [#4866](#4866) - infra: chore(infra): remove comments related to `cspell` by @shulaoda in [#4940](#4940) - ci: remove cargo bench test by @IWANABETHATGUY in [#4925](#4925)
| - Code splitting is not controllable. It runs following certain rules. | ||
| - Thus, we will also refer to it as _`automatic chunking`_ against _`manual chunking`_ done by `advancedChunks`. | ||
|
|
||
| ## `Entry chunk`s |
There was a problem hiding this comment.
I don't think we should wrap "entry chunk" with code backticks - these are more like a special term rather than inline code, so maybe just make them bold, e.g. entry chunks

No description provided.