-
Notifications
You must be signed in to change notification settings - Fork 679
test: add tsconfig include/exclude/files matching test cases #6899
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
test: add tsconfig include/exclude/files matching test cases #6899
Conversation
How to use the Graphite Merge QueueAdd the label graphite: merge 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. |
9370bee to
a68f059
Compare
c25dac4 to
73a2089
Compare
a68f059 to
f5c87de
Compare
f5c87de to
060610a
Compare
489db0b to
c4a2a6d
Compare
641260e to
ad0d7be
Compare
c4a2a6d to
12ef7f3
Compare
ad0d7be to
bb2df72
Compare
bb2df72 to
d4b177a
Compare
12ef7f3 to
1020a16
Compare
Benchmarks Rust
|
2da959d to
6947a60
Compare
f10920d to
4d14185
Compare
db83a99 to
0180142
Compare
e4a6b51 to
7e521e1
Compare
0180142 to
35e190f
Compare
7e521e1 to
d65d0c7
Compare
aa97a45 to
26529e2
Compare
94c8973 to
39e1d19
Compare
39e1d19 to
8fc0be8
Compare
3fa939a to
af57743
Compare
d1fcedb to
1023739
Compare
004d45a to
568f4fd
Compare
1023739 to
44fda45
Compare
568f4fd to
05ee132
Compare
44fda45 to
6164491
Compare
05ee132 to
47be70e
Compare
6164491 to
26e4526
Compare
47be70e to
c7a7795
Compare
c7a7795 to
b21e0b5
Compare
✅ Deploy Preview for rolldown-rs ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR adds comprehensive test coverage for tsconfig include/exclude/files matching in Rolldown, addressing issues #6770 and #5867. However, the Rust code changes contain critical bugs that will prevent compilation.
Key Changes
- Added three test fixtures demonstrating tsconfig resolution:
auto,manual, andvirtual-module - Tests cover automatic tsconfig discovery vs. manual specification
- Tests verify that tsconfig paths and JSX factory settings are correctly applied per file
- Attempted refactoring of tsconfig initialization logic in Rust (contains bugs)
Reviewed changes
Copilot reviewed 20 out of 20 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
packages/rolldown/tests/fixtures/tsconfig/virtual-module/* |
New test case verifying tsconfig paths work with virtual modules created by plugins |
packages/rolldown/tests/fixtures/tsconfig/manual/* |
New test case for manual tsconfig mode where a single config is used for all files |
packages/rolldown/tests/fixtures/tsconfig/auto/* |
New test case for auto-discovery mode where each file finds its nearest tsconfig |
crates/rolldown/src/utils/prepare_build_context.rs |
Attempted refactoring of tsconfig resolution logic (contains critical bugs) |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
✅ Deploy Preview for rolldown-rs ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
## [1.0.0-beta.52] - 2025-11-26 💥 Breaking Change - Change `output.generatedCode.profilerNames` default to `false` 🔧 Vite-Style TypeScript Configuration - Rolldown now supports Vite-style automatic tsconfig resolution. Use `tsconfig: true` to enable auto-discovery mode where each module finds its nearest `tsconfig.json`. See more details [here](https://rolldown.rs/options/tsconfig) ⚙️ Upgraded to oxc v0.99.0 - Add `TSGlobalDeclaration` type - More details: https://github.com/oxc-project/oxc/releases/tag/crates_v0.99.0 ### 💥 BREAKING CHANGES - change `output.generatedCode.profilerNames` default to false (#7139) by @Copilot ### 🚀 Features - support vite-style tsconfig resolution (#6873) by @shulaoda - rolldown: oxc v0.99.0 (#7165) by @camc314 - browser: export `plugins` (#7210) by @sxzz - rolldown_plugin_vite_css_post: add `inline` parameter to `cssMinify` callback (#7191) by @shulaoda - rolldown_plugin_vite_build_import_analysis: implement `render_chunk` to replace `__VITE_IS_MODERN__` flag (#7178) by @shulaoda - rolldown_plugin_utils: optimize SVG data URL encoding (#7156) by @shulaoda - dev: replace `DevEngine::hasLatestBuildOutput` with `DevEngine::getBundleState` (#7145) by @sapphi-red - rolldown_plugin_vite_asset_import_meta_url: support `@vite-ignore` comment (#7141) by @shulaoda - rolldown_plugin_vite_asset_import_meta_url: implement static URL processing (#7140) by @shulaoda - rolldown_plugin_vite_asset_import_meta_url: align `asset_resolver` logic (#7137) by @shulaoda - rolldown_plugin_vite_asset_import_meta_url: align `try_fs_resolve` logic (#7136) by @shulaoda - rolldown_plugin_vite_asset_import_meta_url: validate relative paths (#7120) by @shulaoda - export `viteAssetImportMetaUrlPlugin` and add dynamic URL tests (#7119) by @shulaoda ### 🐛 Bug Fixes - watch overwrite rename event on linux (#7201) by @sapphi-red - preserve name for parenthesized anonymous default exports and arrow functions with keepNames (#7159) by @Copilot - rolldown_plugin_vite_html: add missing async attribute for inlined entry scripts (#7202) by @shulaoda - respect target setting in DCE to prevent modern syntax generation (#7128) by @Copilot - rolldown_plugin_vite_html: add semicolon to import statement in CSS removal (#7200) by @shulaoda - rolldown_plugin_vite_html: use correct CSS asset filename in HTML injection (#7199) by @shulaoda - rolldown_plugin_vite_css_post: handle scoped package names in lib CSS filename (#7198) by @shulaoda - rolldown_plugin_vite_html: use patched `html5gum` with correct span tracking (#7193) by @shulaoda - rolldown_plugin_vite_html: handle HTML strings in script tags correctly (#7192) by @shulaoda - handle JSON import namespace property access correctly (#7190) by @IWANABETHATGUY - only include runtime helpers from included modules (#7183) by @IWANABETHATGUY - rolldown_plugin_vite_html: normalize paths to use forward slashes in `original_file_name` (#7175) by @shulaoda - rolldown_plugin_vite_css_post: use `filename` instead of `reference_id` for imported assets (#7174) by @shulaoda - rolldown_plugin_vite_css_post: correct regex escaping in pure CSS chunk pruning (#7173) by @shulaoda - rolldown_plugin_vite_html: use correct dependency path for modulepreload links (#7172) by @shulaoda - update cur_stmt_index when processing top level statements (#7157) by @IWANABETHATGUY - rolldown_plugin_utils: strip leading character from public asset URL (#7170) by @shulaoda - rolldown_plugin_vite_html: use correct `public_base` for `html_result_map` key (#7169) by @shulaoda - rolldown_plugin_utils: correct runtime handling and escape single quotes in asset paths (#7168) by @shulaoda - rolldown_plugin_utils: prevent data race in `file_to_url` cache (#7166) by @shulaoda - rolldown_plugin_vite_asset_import_meta_url: correct glob pattern and query string handling in dynamic URLs (#7162) by @shulaoda - rolldown_plugin_vite_css_post: use correct start position in magic string updates (#7158) by @shulaoda - data race in `FileEmitter::emit_file` causing duplicate asset emissions (#7164) by @shulaoda - dev: watch files even if the build failed (#7149) by @sapphi-red - rolldown_plugin_utils: always use base64 encoding for data URLs (#7148) by @shulaoda - preserve "default" name for anonymous default exports with keepNames (#7151) by @Copilot - correctly handle cjs json module as entry point (#7147) by @IWANABETHATGUY - rolldown_plugin_utils: correct `reference_id` parsing in `render_asset_url_in_js` (#7143) by @shulaoda - rolldown_plugin_vite_asset_import_meta_url: exclude quotes from URL span (#7142) by @shulaoda - rolldown_plugin_vite_asset_import_meta_url: use template literal for glob result indexing (#7134) by @shulaoda - tree shake unused dynamic entry when `inlineDynamicImports` is enabled (#7129) by @IWANABETHATGUY - correct return value of `parse` / `parseSync` functions (#7127) by @sapphi-red ### 🚜 Refactor - rolldown_plugin_vite_transform: use `oxc_resolver` for tsconfig discovery (#7220) by @shulaoda - rolldown_plugin_vite_resolve: use `resolve_file` for tsconfig discovery (#7216) by @shulaoda - rolldown_plugin_utils: remove redundant `ViteMetadata::get_or_insert_default()` (#7189) by @shulaoda - rolldown_plugin_utils: simplify `ViteMetadata::get()` to always return a value (#7188) by @shulaoda - rolldown_utils: add `guess_mime_skip_utf8_check` for binary assets (#7161) by @shulaoda - rolldown_plugin_utils: extract asset URL parsing into `AssetUrlIter` (#7144) by @shulaoda - store pattern name in FilenameTemplate (#7132) by @IWANABETHATGUY ### 📚 Documentation - tsconfig: document auto-discovery mode and improve structure (#7228) by @shulaoda - add plugin hook filter compatibility and fallback guide (#7138) by @Copilot - update top level navigation (#7092) by @mdong1909 ### 🧪 Testing - add tsconfig include/exclude/files matching test cases (#6899) by @shulaoda - vite-tests: run `playwright install` in case playwright binary is missing (#7226) by @sapphi-red - watch: close watcher when an error occured in the test cases (#7225) by @sapphi-red - watch: reject `waitBuildFinished` if `ERROR` event occurs (#7224) by @sapphi-red ### ⚙️ Miscellaneous Tasks - example: revert accidental changes to basic-typescript (#7227) by @shulaoda - deps: update oxc apps (#7212) by @renovate[bot] - deps: update rust crates (#7204) by @renovate[bot] - deps: update `oxc_resolver_napi` to 11.14.0 (#7217) by @shulaoda - deps: update oxc_resolver (#6909) by @shulaoda - deps: update dependency glob to v13 (#7208) by @renovate[bot] - deps: update actions/checkout action to v6 (#7207) by @renovate[bot] - deps: update npm packages (#7206) by @renovate[bot] - deps: update github-actions (#7205) by @renovate[bot] - add missing status code comment (#7185) by @iiio2 - deps: update dependency oxlint-tsgolint to v0.8.1 (#7197) by @renovate[bot] - rust: add more tracing log for hmr + dev logic (#7179) by @hyf0 - deps: update dependency oxlint-tsgolint to v0.8.0 (#7167) by @renovate[bot] - deps: update dependency oxlint-tsgolint to v0.7.3 (#7133) by @renovate[bot] - merge similar inlineDynamicImports test case (#7131) by @IWANABETHATGUY - deps: update `rolldown-plugin-dts` to 0.18.0 (#7125) by @shulaoda Co-authored-by: shulaoda <[email protected]>

closes #6770, related to #5867