Skip to content

Conversation

@shulaoda
Copy link
Member

@shulaoda shulaoda commented Nov 9, 2025

closes #6770, related to #5867

Copy link
Member Author

shulaoda commented Nov 9, 2025


How to use the Graphite Merge Queue

Add 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.

@shulaoda shulaoda force-pushed the 11-09-test_add_tsconfig_include_exclude_files_matching_test_cases branch from 9370bee to a68f059 Compare November 9, 2025 13:05
@shulaoda shulaoda force-pushed the 11-07-feat_support_vite-style_tsconfig_resolution branch 2 times, most recently from c25dac4 to 73a2089 Compare November 10, 2025 03:01
@shulaoda shulaoda force-pushed the 11-09-test_add_tsconfig_include_exclude_files_matching_test_cases branch from a68f059 to f5c87de Compare November 10, 2025 03:01
@shulaoda shulaoda force-pushed the 11-09-test_add_tsconfig_include_exclude_files_matching_test_cases branch from f5c87de to 060610a Compare November 10, 2025 03:05
@shulaoda shulaoda force-pushed the 11-07-feat_support_vite-style_tsconfig_resolution branch 2 times, most recently from 489db0b to c4a2a6d Compare November 10, 2025 03:23
@shulaoda shulaoda force-pushed the 11-09-test_add_tsconfig_include_exclude_files_matching_test_cases branch 2 times, most recently from 641260e to ad0d7be Compare November 10, 2025 13:37
@shulaoda shulaoda force-pushed the 11-07-feat_support_vite-style_tsconfig_resolution branch from c4a2a6d to 12ef7f3 Compare November 10, 2025 13:39
@shulaoda shulaoda force-pushed the 11-09-test_add_tsconfig_include_exclude_files_matching_test_cases branch from ad0d7be to bb2df72 Compare November 10, 2025 13:39
@shulaoda shulaoda changed the base branch from 11-07-feat_support_vite-style_tsconfig_resolution to graphite-base/6899 November 22, 2025 20:19
@shulaoda shulaoda force-pushed the 11-09-test_add_tsconfig_include_exclude_files_matching_test_cases branch from bb2df72 to d4b177a Compare November 22, 2025 20:32
@shulaoda shulaoda changed the base branch from graphite-base/6899 to 11-07-feat_support_vite-style_tsconfig_resolution November 22, 2025 20:32
@github-actions
Copy link
Contributor

github-actions bot commented Nov 22, 2025

Benchmarks Rust

  • target: 11-07-feat_support_vite-style_tsconfig_resolution(4d14185)
  • pr: 11-09-test_add_tsconfig_include_exclude_files_matching_test_cases(db83a99)
group                                                        pr                                     target
-----                                                        --                                     ------
bundle/bundle@multi-duplicated-top-level-symbol              1.00     66.2±1.19ms        ? ?/sec    1.01     66.7±1.54ms        ? ?/sec
bundle/bundle@multi-duplicated-top-level-symbol-sourcemap    1.00     72.9±1.71ms        ? ?/sec    1.00     72.5±1.48ms        ? ?/sec
bundle/bundle@rome_ts                                        1.00    109.4±3.06ms        ? ?/sec    1.02    111.3±2.15ms        ? ?/sec
bundle/bundle@rome_ts-sourcemap                              1.00    121.6±2.90ms        ? ?/sec    1.02    124.1±2.00ms        ? ?/sec
bundle/bundle@threejs                                        1.00     40.8±0.66ms        ? ?/sec    1.00     41.0±0.58ms        ? ?/sec
bundle/bundle@threejs-sourcemap                              1.00     43.7±0.76ms        ? ?/sec    1.02     44.7±0.81ms        ? ?/sec
bundle/bundle@threejs10x                                     1.00    400.0±5.90ms        ? ?/sec    1.00    401.0±5.26ms        ? ?/sec
bundle/bundle@threejs10x-sourcemap                           1.01    462.6±5.36ms        ? ?/sec    1.00    457.9±5.23ms        ? ?/sec
scan/scan@rome_ts                                            1.00     88.3±1.69ms        ? ?/sec    1.00     88.1±1.49ms        ? ?/sec
scan/scan@threejs                                            1.00     29.4±0.47ms        ? ?/sec    1.00     29.3±0.41ms        ? ?/sec
scan/scan@threejs10x                                         1.00    304.7±5.11ms        ? ?/sec    1.00    303.3±6.09ms        ? ?/sec

@shulaoda shulaoda force-pushed the 11-09-test_add_tsconfig_include_exclude_files_matching_test_cases branch from 2da959d to 6947a60 Compare November 22, 2025 20:57
@shulaoda shulaoda force-pushed the 11-07-feat_support_vite-style_tsconfig_resolution branch 2 times, most recently from f10920d to 4d14185 Compare November 22, 2025 21:23
@shulaoda shulaoda force-pushed the 11-09-test_add_tsconfig_include_exclude_files_matching_test_cases branch 2 times, most recently from db83a99 to 0180142 Compare November 22, 2025 21:29
@shulaoda shulaoda force-pushed the 11-07-feat_support_vite-style_tsconfig_resolution branch from e4a6b51 to 7e521e1 Compare November 22, 2025 21:29
@shulaoda shulaoda force-pushed the 11-09-test_add_tsconfig_include_exclude_files_matching_test_cases branch from 0180142 to 35e190f Compare November 23, 2025 16:49
@shulaoda shulaoda force-pushed the 11-07-feat_support_vite-style_tsconfig_resolution branch from 7e521e1 to d65d0c7 Compare November 23, 2025 16:49
@shulaoda shulaoda force-pushed the 11-09-test_add_tsconfig_include_exclude_files_matching_test_cases branch 2 times, most recently from aa97a45 to 26529e2 Compare November 23, 2025 20:30
@shulaoda shulaoda force-pushed the 11-07-feat_support_vite-style_tsconfig_resolution branch from 94c8973 to 39e1d19 Compare November 24, 2025 08:17
@shulaoda shulaoda requested a review from sapphi-red November 24, 2025 08:33
@shulaoda shulaoda force-pushed the 11-07-feat_support_vite-style_tsconfig_resolution branch from 39e1d19 to 8fc0be8 Compare November 26, 2025 01:45
@shulaoda shulaoda force-pushed the 11-09-test_add_tsconfig_include_exclude_files_matching_test_cases branch 2 times, most recently from 3fa939a to af57743 Compare November 26, 2025 01:48
@shulaoda shulaoda force-pushed the 11-07-feat_support_vite-style_tsconfig_resolution branch 2 times, most recently from d1fcedb to 1023739 Compare November 26, 2025 06:14
@shulaoda shulaoda force-pushed the 11-09-test_add_tsconfig_include_exclude_files_matching_test_cases branch 2 times, most recently from 004d45a to 568f4fd Compare November 26, 2025 06:39
@shulaoda shulaoda force-pushed the 11-07-feat_support_vite-style_tsconfig_resolution branch from 1023739 to 44fda45 Compare November 26, 2025 06:39
@shulaoda shulaoda force-pushed the 11-09-test_add_tsconfig_include_exclude_files_matching_test_cases branch from 568f4fd to 05ee132 Compare November 26, 2025 06:45
@shulaoda shulaoda force-pushed the 11-07-feat_support_vite-style_tsconfig_resolution branch from 44fda45 to 6164491 Compare November 26, 2025 06:45
@shulaoda shulaoda force-pushed the 11-09-test_add_tsconfig_include_exclude_files_matching_test_cases branch from 05ee132 to 47be70e Compare November 26, 2025 06:53
@shulaoda shulaoda force-pushed the 11-07-feat_support_vite-style_tsconfig_resolution branch from 6164491 to 26e4526 Compare November 26, 2025 06:53
Base automatically changed from 11-07-feat_support_vite-style_tsconfig_resolution to main November 26, 2025 07:31
Copilot AI review requested due to automatic review settings November 26, 2025 07:34
@shulaoda shulaoda force-pushed the 11-09-test_add_tsconfig_include_exclude_files_matching_test_cases branch from 47be70e to c7a7795 Compare November 26, 2025 07:34
@shulaoda shulaoda force-pushed the 11-09-test_add_tsconfig_include_exclude_files_matching_test_cases branch from c7a7795 to b21e0b5 Compare November 26, 2025 07:34
@netlify
Copy link

netlify bot commented Nov 26, 2025

Deploy Preview for rolldown-rs ready!

Name Link
🔨 Latest commit c7a7795
🔍 Latest deploy log https://app.netlify.com/projects/rolldown-rs/deploys/6926ad77fec09f0008d346ca
😎 Deploy Preview https://deploy-preview-6899--rolldown-rs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

Copy link
Contributor

Copilot AI left a 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, and virtual-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.

@netlify
Copy link

netlify bot commented Nov 26, 2025

Deploy Preview for rolldown-rs ready!

Name Link
🔨 Latest commit b21e0b5
🔍 Latest deploy log https://app.netlify.com/projects/rolldown-rs/deploys/6926ada56f77440008ac4763
😎 Deploy Preview https://deploy-preview-6899--rolldown-rs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@shulaoda shulaoda merged commit d37270e into main Nov 26, 2025
24 checks passed
@shulaoda shulaoda deleted the 11-09-test_add_tsconfig_include_exclude_files_matching_test_cases branch November 26, 2025 07:50
shulaoda added a commit that referenced this pull request Nov 26, 2025
## [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]>
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.

3 participants