Skip to content

docs(tsconfig): correct auto-discovery resolution to match TypeScript#9714

Merged
shulaoda merged 3 commits into
mainfrom
06-11-docs_tsconfig_correct_auto-discovery_resolution_to_match_typescript
Jun 11, 2026
Merged

docs(tsconfig): correct auto-discovery resolution to match TypeScript#9714
shulaoda merged 3 commits into
mainfrom
06-11-docs_tsconfig_correct_auto-discovery_resolution_to_match_typescript

Conversation

@shulaoda

Copy link
Copy Markdown
Member

What

Corrects the tsconfig auto-discovery documentation to match how Rolldown actually resolves tsconfig.json since v1.1.0.

Why

The v1.1.0 release notes covered the in-config reference changes (oxc-resolver #1151 reference priority, #1198 allowJs) but omitted oxc-resolver #1154 ("walk past a tsconfig that doesn't claim the file"), which shipped in oxc_resolver v11.19.2 and is part of the 11.19.1 -> 11.21.0 upgrade.

As a result the docs still described the old behavior:

  • "find the nearest tsconfig.json"
  • "if no referenced project includes the file, fall back to the root tsconfig"

Both are inaccurate now. find_tsconfig_auto walks up ancestor directories, uses the first tsconfig that owns the file (its files/include/exclude, or a matching references entry), and falls back to the outermost (topmost) tsconfig when nothing claims it. This matches TypeScript 6.0 tsserver. A solution-style root (files: [] plus only references) never claims files on its own, so resolution continues upward unless one of its references matches.

Changes

  • Rewrite the auto-discovery paragraph: upward, ownership-based search with topmost fallback instead of "nearest".
  • Fix the references paragraph: root's own include vs. a solution-style root, first matching reference wins, per-project allowJs.
  • Drop the "(similar to Vite)" qualifier; the semantics follow TypeScript, not Vite.
  • Add a ::: warning callout flagging the v1.1.0 behavior change.

@netlify

netlify Bot commented Jun 11, 2026

Copy link
Copy Markdown

Deploy Preview for rolldown-rs canceled.

Name Link
🔨 Latest commit 362cfd1
🔍 Latest deploy log https://app.netlify.com/projects/rolldown-rs/deploys/6a2a60eb99584300083bcafa

Comment thread packages/rolldown/src/options/docs/tsconfig.md Outdated
Comment thread packages/rolldown/src/options/docs/tsconfig.md Outdated
@shulaoda shulaoda requested a review from sapphi-red June 11, 2026 06:48
@shulaoda shulaoda merged commit d8044a6 into main Jun 11, 2026
11 of 12 checks passed
@shulaoda shulaoda deleted the 06-11-docs_tsconfig_correct_auto-discovery_resolution_to_match_typescript branch June 11, 2026 07:17
@shulaoda shulaoda mentioned this pull request Jun 11, 2026
@rolldown-guard rolldown-guard Bot mentioned this pull request Jun 11, 2026
shulaoda pushed a commit that referenced this pull request Jun 11, 2026
## [1.1.1] - 2026-06-11

### 🚀 Features

- ecmascript_utils: introduce AstFactory for AST construction (#9682) by @hyf0
- drop no-op init calls for empty wrapped-ESM modules (#9678) by @IWANABETHATGUY

### 🐛 Bug Fixes

- resolver: honor package.json#type for .jsx/.tsx extensions (#9690) (#9699) by @IWANABETHATGUY
- hmr: report the full-reload reason for the invalidate-loop case (#9708) by @hyf0
- explicit `moduleSideEffects` from a hook must take priority over the `package.json#sideEffects` (#9688) by @sapphi-red
- keep the `rolldown-runtime` name for the standalone runtime chunk (#9685) by @shulaoda
- lazy-barrel: request all exports for entry barrels on first encounter (#9672) by @shulaoda
- finalizer: skip init_*() for tree-shaken wrapped ESM owners (#9669) by @IWANABETHATGUY
- order `chunk.imports` by execution order (#9654) by @chuganzy
- vite-resolve: preserve slash separators for Sass partial exports (#9546) by @cjc0013
- cross-chunk CJS wrapper shadowed by author-local binding (#9648) by @IWANABETHATGUY

### 🚜 Refactor

- precompute wrapped-ESM init metadata in generate stage (#9712) by @IWANABETHATGUY
- ecmascript_utils: fold construction ext traits onto AstFactory and delete AstSnippet (#9702) by @hyf0
- finalizer: finish ScopeHoistingFinalizer migration to AstFactory (#9701) by @hyf0
- finalizer: migrate module_finalizers/mod.rs to AstFactory (#9700) by @hyf0
- hmr: migrate hmr finalizer to AstFactory (#9695) by @hyf0
- plugin: migrate vite_build_import_analysis to AstFactory (#9693) by @hyf0
- scanner: migrate tweak_ast_for_scanning to AstFactory (#9683) by @hyf0
- always split runtime module first (#9419) by @IWANABETHATGUY

### 📚 Documentation

- tsconfig: correct auto-discovery resolution to match TypeScript (#9714) by @shulaoda
- design: plan to unify all internal AST construction (#9673) by @hyf0
- tsconfig: align reference resolution docs with TypeScript behavior (#9641) by @shulaoda

### ⚡ Performance

- avoid per-module join Strings in scope-hoisting concatenation (#9645) by @Boshen
- avoid intermediate Strings in the ESM export clause (#9644) by @Boshen
- reuse a scratch buffer for facade namespace names in the scanner (#9642) by @Boshen
- reuse the import-matching tracker stack across named imports (#9643) by @Boshen
- avoid cloning the per-chunk export-items map in render_chunk_exports (#9639) by @Boshen
- avoid CompactStr allocation in sorted-exports membership check (#9640) by @Boshen

### 🧪 Testing

- add more `moduleSideEffects` precedence tests (#9689) by @sapphi-red
- 9651: drop shimMissingExports from regression fixture (#9674) by @IWANABETHATGUY

### ⚙️ Miscellaneous Tasks

- update react repo links (#9711) by @iiio2
- remove outdated pnpm configurations (#9666) by @btea
- deps: update github actions to v2.81.5 (#9665) by @renovate[bot]
- testing: migrate test harness off deprecated inlineDynamicImports (#9710) by @IWANABETHATGUY
- hmr: delete commented-out dead code left from old register-module codegen (#9707) by @hyf0
- deps: update napi-rs toolchain (#9706) by @shulaoda
- deps: update rollup submodule for tests to v4.61.1 (#9676) by @rolldown-guard[bot]
- deps: update test262 submodule for tests (#9677) by @rolldown-guard[bot]
- deps: update oxc to 0.135.0 (#9670) by @Boshen
- pass ALGOLIA_APP_ID and ALGOLIA_API_KEY to void deploy (#9667) by @Boshen
- deps: update github actions (#9662) by @renovate[bot]
- deps: update rust crates (#9663) by @renovate[bot]
- deps: update rolldown-plugin-dts to v0.25.2 (#9661) by @renovate[bot]
- deps: update typos to v1.47.2 (#9660) by @renovate[bot]
- deps: update docs dependencies (#9657) by @bddjr
- deps: update typos to v1.47.1 (#9655) by @renovate[bot]
- deploy website in its own workflow, only on docs output change (#9650) by @Boshen
- publish to pkg.pr.new add pm and `commentWithDev` option (#9638) by @btea

### ❤️ New Contributors

* @chuganzy made their first contribution in [#9654](#9654)
* @cjc0013 made their first contribution in [#9546](#9546)
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.

2 participants