chore(rust/test): support extendedTests: false shorthand in test config#9050
Conversation
How to use the Graphite Merge QueueAdd the label graphite: merge-when-ready to this PR to add it to the merge queue. You must have a Graphite account in order to use the merge queue. Sign up using this link. An organization admin has enabled the Graphite Merge Queue in this repository. Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue. This stack of pull requests is managed by Graphite. Learn more about stacking. |
c890eb4 to
d4253e2
Compare
c01b1d0 to
d2b1e92
Compare
d2b1e92 to
7c29df0
Compare
✅ Deploy Preview for rolldown-rs canceled.
|
84efb8c to
d54b6ff
Compare
There was a problem hiding this comment.
Pull request overview
This PR updates the rolldown fixture test configuration format to allow extendedTests: false as a shorthand to disable all extended test variants, instead of requiring each extended-test flag to be set individually.
Changes:
- Allow
extendedTeststo be either a boolean (true/false) or an object with per-variant flags. - Update JSON Schema to reflect the new boolean-or-object shape for
extendedTests. - Simplify an existing fixture config to use the new
extendedTests: falseshorthand.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| crates/rolldown/tests/rolldown/function/advanced_chunks/tags_initial/_config.json | Switch fixture to extendedTests: false shorthand. |
| crates/rolldown_testing/_config.schema.json | Schema updated so ExtendedTests supports boolean-or-object. |
| crates/rolldown_testing_config/src/extended_tests.rs | Implements boolean-or-object deserialization and manual JsonSchema for ExtendedTests. |
Merging this PR will not alter performance
Comparing Footnotes
|
77acf04 to
38c2c09
Compare
## Summary - Fix dead link `/guide/manual-code-splitting` → `/in-depth/manual-code-splitting` in JSDoc for `CodeSplittingGroup.tags` (`packages/rolldown/src/options/output-options.ts:916`) - This link is picked up by TypeDoc and generated into `docs/reference/TypeAlias.CodeSplittingGroup.md`, causing VitePress to fail the Netlify build with a dead link error ## Context The Netlify deploy preview for #9050 failed because VitePress detected a dead link in the auto-generated reference docs. The doc page lives at `/in-depth/manual-code-splitting`, not `/guide/manual-code-splitting`. Another `@see` link on line 567 of the same file already uses the correct path. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Merge activity
|
## Summary - Add a `docs-build` job to CI that runs the full docs pipeline (TypeDoc reference generation + VitePress build) to catch dead links and build errors before merge - Add `docs-changes` path filter that triggers on changes to `docs/`, `packages/rolldown/src/**` (JSDoc comments feed TypeDoc), `packages/pluginutils/**`, and `pnpm-lock.yaml` - Only runs when relevant files change (or on `main`), matching the existing CI pattern ## Context The Netlify deploy preview for #9050 caught a dead link (`/guide/manual-code-splitting` → `/in-depth/manual-code-splitting`) that was only discovered after push. VitePress already has built-in dead link detection that fails the build, but this only ran on Netlify — not in the required CI checks. This adds it as a proper CI gate. Fixed in #9051. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
extendedTests: false shorthand in test configextendedTests: false shorthand in test config
…nfig (#9050) Allow `extendedTests: false` as a shorthand to disable all extended test variants, instead of requiring each flag to be set individually.
b02c514 to
e32cb12
Compare
## [1.0.0-rc.16] - 2026-04-16 ### 🚀 Features - const enum cross-module inlining support (#8796) by @Dunqing - implement module tagging system for code splitting (#9045) by @hyf0 ### 🐛 Bug Fixes - rolldown_plugin_vite_manifest: handle duplicate chunk names for CSS entries (#9059) by @sapphi-red - improve error message for invalid return values in function options (#9125) by @shulaoda - await async export-star init wrappers (#9101) by @thezzisu - never panic during diagnostic emission (#9091) by @IWANABETHATGUY - include array rest pattern in binding_identifiers (#9112) by @IWANABETHATGUY - rolldown: set worker thread count with ROLLDOWN_WORKER_THREADS (#9086) by @fpotter - rolldown_plugin_lazy_compilation: escape request ID in proxy modules (#9102) by @h-a-n-a - treat namespace member access as side-effect-free (#9099) by @IWANABETHATGUY - relax overly conservative side-effect leak check in chunk optimizer (#9085) by @IWANABETHATGUY - runtime: release `cb` reference after `__commonJS` factory initialization (#9067) by @hyf0-agent - `@__NO_SIDE_EFFECTS__` wrapper should not remove dynamic imports (#9075) by @IWANABETHATGUY - rolldown_plugin_vite_import_glob: use POSIX path join/normalize for glob resolution (#9077) by @shulaoda - emit REQUIRE_TLA error when require() loads a module with top-level await (#9071) by @jaehafe - emit namespace declaration for empty modules in manual chunks (#8993) by @privatenumber - rolldown_plugin_vite_import_glob: keep common base on path segment boundary (#9070) by @shulaoda - prevent circular runtime helper imports during facade elimination (#8989) (#9057) by @IWANABETHATGUY - correct circular dependency check in facade elimination (#9047) by @h-a-n-a - docs: correct dead link in CodeSplittingGroup.tags JSDoc (#9051) by @hyf0 - emit DUPLICATE_SHEBANG warning when banner contains shebang (#9026) by @IWANABETHATGUY ### 🚜 Refactor - use semantic reference flags for member write detection (#9060) by @Dunqing - extract UsedSymbolRefs newtype wrapper (#9130) by @IWANABETHATGUY - dedupe await wrapping in export-star init emit (#9119) by @IWANABETHATGUY - calculate side-effect-free function symbols on demand (#9120) by @IWANABETHATGUY - extract duplicated top-level await handling into shared helper (#9087) by @IWANABETHATGUY - rolldown_plugin_vite_import_glob: use split_first for get_common_base (#9069) by @shulaoda - simplify ESM init deduplication with idiomatic insert check (#9044) by @IWANABETHATGUY ### 📚 Documentation - document runtime module placement strategy in code-splitting design (#9062) by @IWANABETHATGUY - clarify `options` hook behavior difference with Rollup in watch mode (#9053) by @sapphi-red - meta/design: introduce module tags (#9017) by @hyf0 ### ⚡ Performance - convert `generate_transitive_esm_init` to iterative (#9046) by @IWANABETHATGUY ### 🧪 Testing - merge strict/non_strict test variants using configVariants (#9089) by @IWANABETHATGUY ### ⚙️ Miscellaneous Tasks - disable Renovate auto-updates for oxc packages (#9129) by @IWANABETHATGUY - upgrade oxc@0.126.0 (#9127) by @Dunqing - deps: update napi to v3.8.5 (#9126) by @renovate[bot] - deps: update dependency @napi-rs/cli to v3.6.2 (#9123) by @renovate[bot] - move lazy-compilation design doc (#9117) by @h-a-n-a - deps: update dependency vite-plus to v0.1.18 (#9118) by @renovate[bot] - deps: update dependency vite-plus to v0.1.17 (#9113) by @renovate[bot] - deps: update oxc to v0.125.0 (#9094) by @renovate[bot] - deps: update dependency follow-redirects to v1.16.0 [security] (#9103) by @renovate[bot] - deps: update test262 submodule for tests (#9097) by @sapphi-red - deps: update crate-ci/typos action to v1.45.1 (#9096) by @renovate[bot] - deps: update rust crates (#9081) by @renovate[bot] - deps: update npm packages (#9080) by @renovate[bot] - remove outdated TODO in determine_module_exports_kind (#9072) by @jaehafe - rust/test: support `extendedTests: false` shorthand in test config (#9050) by @hyf0 - ci: extract shared infra-changes anchor in path filters (#9054) by @hyf0 - add docs build check to catch dead links in PRs (#9052) by @hyf0 ### ❤️ New Contributors * @thezzisu made their first contribution in [#9101](#9101) * @fpotter made their first contribution in [#9086](#9086) * @jaehafe made their first contribution in [#9071](#9071) * @privatenumber made their first contribution in [#8993](#8993) Co-authored-by: shulaoda <165626830+shulaoda@users.noreply.github.com>

Allow
extendedTests: falseas a shorthand to disable all extendedtest variants, instead of requiring each flag to be set individually.