Skip to content

feat: add useDefineForClassFields playground fixture and pass tsconfig to Rolldown#82

Merged
Brooooooklyn merged 3 commits intomainfrom
playground/use-define-for-class-fields
Mar 5, 2026
Merged

feat: add useDefineForClassFields playground fixture and pass tsconfig to Rolldown#82
Brooooooklyn merged 3 commits intomainfrom
playground/use-define-for-class-fields

Conversation

@Brooooooklyn
Copy link
Member

@Brooooooklyn Brooooooklyn commented Mar 5, 2026

  • Add tsconfig.base.json with useDefineForClassFields: false (non-standard name to test extends chain resolution)
  • Add CasesComponent fixture with inject(), private fields (#view), and field cross-references
  • Pass tsconfig to Rolldown via resolvedConfig.build.rolldownOptions.tsconfig
  • Wire CasesComponent into playground routes

Close #73

Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com


Note

Medium Risk
Touches build tooling configuration by injecting tsconfig into Rolldown and upgrades core toolchain dependencies (Vite/Rolldown), which could subtly affect bundling behavior across environments.

Overview
Adds support in @oxc-angular/vite to forward options.tsconfig into Vite’s build.rolldownOptions.tsconfig, enabling Rolldown to resolve TypeScript settings/extends chains during builds.

Updates the playground to include a tsconfig.base.json (with useDefineForClassFields: false) and a new CasesComponent route/fixture exercising inject(), native/private class fields, and cross-field initialization order.

Bumps workspace Vite to 8.0.0-beta.16 (and related lockfile updates for rolldown/lightningcss).

Written by Cursor Bugbot for commit d87738e. This will update automatically on new commits. Configure here.

…g to Rolldown

- Add tsconfig.base.json with useDefineForClassFields: false (non-standard name to test extends chain resolution)
- Add CasesComponent fixture with inject(), private fields (#view), and field cross-references
- Pass tsconfig to Rolldown via resolvedConfig.build.rolldownOptions.tsconfig
- Wire CasesComponent into playground routes

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copy link
Member Author

This stack of pull requests is managed by Graphite. Learn more about stacking.

Move rolldownOptions.tsconfig from configResolved mutation to the
config hook's return value, so Vite properly deep-merges it.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Avoid passing undefined tsconfig which could override Rolldown's
auto-discovery default.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@Brooooooklyn Brooooooklyn merged commit a6e98f0 into main Mar 5, 2026
4 checks passed
@Brooooooklyn Brooooooklyn deleted the playground/use-define-for-class-fields branch March 5, 2026 08:57
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.

Support useDefineForClassFields: false (Class Field Lowering)

1 participant