Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Oct 31, 2025

Rolldown was adding Symbol.toStringTag to all chunks when generatedCode.symbols: true, but should only add it to module facades (entry point chunks), not common chunks from code splitting. This aligns with Rollup's behavior and resolves potential Storybook compatibility issues.

Changes

  • Added Chunk::is_module_facade() helper method that returns true for entry point chunks, false for common chunks

  • Updated format renderers (CJS, IIFE, UMD) to pass ctx.chunk.is_module_facade() instead of hardcoded true to render_namespace_markers()

  • Added test case symbols_common_chunk that validates the fix by creating two entry points with shared code, confirming entry chunks get Symbol.toStringTag while common chunks do not

Example

With code splitting enabled:

// Entry chunk (entry1.js) - gets Symbol.toStringTag
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
exports.foo = foo;

// Common chunk (shared-xxx.js) - does NOT get Symbol.toStringTag
exports.shared = shared;

This matches Rollup's behavior where Symbol.toStringTag marks namespace objects for dynamic imports and entry points, but not arbitrary shared code chunks.

Testing

  • ✅ All 607 integration tests pass
  • ✅ New test validates Symbol.toStringTag is only added to module facades
  • ✅ Common chunks correctly do not receive Symbol.toStringTag

Fixes #6700

Original prompt

This section details on the original issue you should resolve

<issue_title>Storybook doesn't work when using rolldown-vite with output.generatedCode.symbols: true</issue_title>
<issue_description>> Hello, unfortunately, it's not working.

I've created a minimal (as I can only have this bug while running storybook build) reproduction: https://github.com/beaussan/repro-storybook-rolldown-story-of

Originally posted by @beaussan in #206</issue_description>

Comments on the Issue (you are @copilot in this section)

@hyf0 @beaussan

I checked https://github.com/rolldown/rolldown/blob/d46ee80c28ecf56d31807a76523dd09c36873d67/crates/rolldown/tests/rolldown/topics/generated_code/symbols/artifacts.snap and the documentation of https://rollupjs.org/configuration-options/#output-generatedcode-symbols. I think rolldown's behavior works as expected.

I can't find the relevance between your reproduction and output.generatedCode.symbols. Please elaborate your issue.</comment_new>
<comment_new>@hyf0
Thank you for the context. I'm gonna leave the investigation to @IWANABETHATGUY. Currently we think rolldown behaves correctly, so this issue will get a low priority for now.</comment_new>


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

@graphite-app
Copy link
Contributor

graphite-app bot commented Oct 31, 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.

@netlify
Copy link

netlify bot commented Oct 31, 2025

Deploy Preview for rolldown-rs canceled.

Name Link
🔨 Latest commit 8e4f6e2
🔍 Latest deploy log https://app.netlify.com/projects/rolldown-rs/deploys/6914bc8c92e59b0008374818

Copilot AI changed the title [WIP] Fix Storybook build issue with rolldown-vite and symbols Fix: Only add Symbol.toStringTag to module facades when generatedCode.symbols is enabled Oct 31, 2025
Copilot AI requested a review from IWANABETHATGUY October 31, 2025 05:15
@github-actions
Copy link
Contributor

github-actions bot commented Oct 31, 2025

Benchmarks Rust

  • target: main(ea4208b)
  • pr: copilot/fix-storybook-rolldown-issue(8e4f6e2)
group                                                        pr                                     target
-----                                                        --                                     ------
bundle/bundle@multi-duplicated-top-level-symbol              1.01     64.0±2.03ms        ? ?/sec    1.00     63.1±1.96ms        ? ?/sec
bundle/bundle@multi-duplicated-top-level-symbol-sourcemap    1.05     72.1±4.45ms        ? ?/sec    1.00     68.8±1.94ms        ? ?/sec
bundle/bundle@rome_ts                                        1.00    103.6±1.82ms        ? ?/sec    1.02    106.1±1.90ms        ? ?/sec
bundle/bundle@rome_ts-sourcemap                              1.00    117.3±1.72ms        ? ?/sec    1.02    119.1±3.43ms        ? ?/sec
bundle/bundle@threejs                                        1.00     39.3±2.65ms        ? ?/sec    1.00     39.4±1.68ms        ? ?/sec
bundle/bundle@threejs-sourcemap                              1.01     43.7±0.95ms        ? ?/sec    1.00     43.3±0.79ms        ? ?/sec
bundle/bundle@threejs10x                                     1.01    389.1±7.40ms        ? ?/sec    1.00    386.8±8.85ms        ? ?/sec
bundle/bundle@threejs10x-sourcemap                           1.00    452.3±5.14ms        ? ?/sec    1.01    456.2±7.26ms        ? ?/sec
scan/scan@rome_ts                                            1.01     81.0±1.50ms        ? ?/sec    1.00     80.4±1.69ms        ? ?/sec
scan/scan@threejs                                            1.02     28.0±1.76ms        ? ?/sec    1.00     27.3±0.61ms        ? ?/sec
scan/scan@threejs10x                                         1.01    285.6±4.05ms        ? ?/sec    1.00    281.5±3.91ms        ? ?/sec

@IWANABETHATGUY
Copy link
Member

@copilot add a test case

Copy link
Contributor Author

Copilot AI commented Oct 31, 2025

@copilot add a test case

Added test case symbols_common_chunk that validates Symbol.toStringTag is only added to entry chunks, not common chunks. The test creates two entry points sharing code, confirming entry chunks get Symbol.toStringTag while the common chunk does not. Commit 49b7f26

@IWANABETHATGUY IWANABETHATGUY force-pushed the copilot/fix-storybook-rolldown-issue branch from 49b7f26 to 9fa935b Compare November 10, 2025 14:14
Copy link
Member

IWANABETHATGUY commented Nov 10, 2025

Warning

This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more


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.

@IWANABETHATGUY IWANABETHATGUY force-pushed the copilot/fix-storybook-rolldown-issue branch from 9fa935b to aabf383 Compare November 12, 2025 11:48
@IWANABETHATGUY IWANABETHATGUY marked this pull request as ready for review November 12, 2025 11:52
@IWANABETHATGUY IWANABETHATGUY force-pushed the copilot/fix-storybook-rolldown-issue branch from aabf383 to 545a17c Compare November 12, 2025 11:55
@IWANABETHATGUY IWANABETHATGUY marked this pull request as draft November 12, 2025 12:02
@IWANABETHATGUY IWANABETHATGUY changed the base branch from main to graphite-base/6784 November 12, 2025 12:32
@IWANABETHATGUY IWANABETHATGUY force-pushed the copilot/fix-storybook-rolldown-issue branch from 545a17c to 264a6fe Compare November 12, 2025 12:32
@IWANABETHATGUY IWANABETHATGUY changed the base branch from graphite-base/6784 to 11-12-chore_allow_format_rolldown_runtime November 12, 2025 12:32
@graphite-app graphite-app bot changed the base branch from 11-12-chore_allow_format_rolldown_runtime to graphite-base/6784 November 12, 2025 12:33
@IWANABETHATGUY IWANABETHATGUY changed the title Fix: Only add Symbol.toStringTag to module facades when generatedCode.symbols is enabled Fix: add Symbol.toStringTag to module facades when generatedCode.symbols is enabled Nov 12, 2025
@IWANABETHATGUY IWANABETHATGUY changed the title Fix: add Symbol.toStringTag to module facades when generatedCode.symbols is enabled fix: add Symbol.toStringTag to module facades when generatedCode.symbols is enabled Nov 12, 2025
@graphite-app graphite-app bot force-pushed the copilot/fix-storybook-rolldown-issue branch from 264a6fe to aa0a228 Compare November 12, 2025 12:49
@graphite-app graphite-app bot changed the base branch from graphite-base/6784 to main November 12, 2025 12:49
@graphite-app graphite-app bot force-pushed the copilot/fix-storybook-rolldown-issue branch from aa0a228 to bc48d06 Compare November 12, 2025 12:50
@IWANABETHATGUY IWANABETHATGUY marked this pull request as ready for review November 12, 2025 13:01
@IWANABETHATGUY IWANABETHATGUY requested a review from hyf0 November 12, 2025 16:55
@graphite-app
Copy link
Contributor

graphite-app bot commented Nov 12, 2025

Merge activity

…ols is enabled (#6784)

Rolldown was adding `Symbol.toStringTag` to all chunks when `generatedCode.symbols: true`, but should only add it to module facades (entry point chunks), not common chunks from code splitting. This aligns with Rollup's behavior and resolves potential Storybook compatibility issues.

## Changes

- **Added `Chunk::is_module_facade()`** helper method that returns `true` for entry point chunks, `false` for common chunks

- **Updated format renderers** (CJS, IIFE, UMD) to pass `ctx.chunk.is_module_facade()` instead of hardcoded `true` to `render_namespace_markers()`

- **Added test case** `symbols_common_chunk` that validates the fix by creating two entry points with shared code, confirming entry chunks get `Symbol.toStringTag` while common chunks do not

## Example

With code splitting enabled:

```rust
// Entry chunk (entry1.js) - gets Symbol.toStringTag
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
exports.foo = foo;

// Common chunk (shared-xxx.js) - does NOT get Symbol.toStringTag
exports.shared = shared;
```

This matches Rollup's behavior where `Symbol.toStringTag` marks namespace objects for dynamic imports and entry points, but not arbitrary shared code chunks.

## Testing

- ✅ All 607 integration tests pass
- ✅ New test validates Symbol.toStringTag is only added to module facades
- ✅ Common chunks correctly do not receive Symbol.toStringTag

Fixes #6700

<!-- START COPILOT CODING AGENT SUFFIX -->

<details>

<summary>Original prompt</summary>

>
> ----
>
> *This section details on the original issue you should resolve*
>
> <issue_title>Storybook doesn't work when using rolldown-vite with `output.generatedCode.symbols: true`</issue_title>
> <issue_description>> Hello, unfortunately, it's not working.
> >
> > I've created a _minimal_ (as I can only have this bug while running storybook build) reproduction: https://github.com/beaussan/repro-storybook-rolldown-story-of
> >
>
>  _Originally posted by @beaussan in [#206](https://github.com/rolldown/rolldown/issues/206#issuecomment-3345966705)_</issue_description>
>
> ## Comments on the Issue (you are @copilot in this section)
>
> <comments>
> <comment_new><author>@hyf0</author><body>
> @beaussan
>
> I checked https://github.com/rolldown/rolldown/blob/d46ee80c28ecf56d31807a76523dd09c36873d67/crates/rolldown/tests/rolldown/topics/generated_code/symbols/artifacts.snap and the documentation of https://rollupjs.org/configuration-options/#output-generatedcode-symbols. I think rolldown's behavior works as expected.
>
> I can't find the relevance between your reproduction and `output.generatedCode.symbols`. Please elaborate your issue.</body></comment_new>
> <comment_new><author>@hyf0</author><body>
> Thank you for the context. I'm gonna leave the investigation to @IWANABETHATGUY. Currently we think rolldown behaves correctly, so this issue will get a low priority for now.</body></comment_new>
> </comments>
>

</details>

- Fixes #6700

<!-- START COPILOT CODING AGENT TIPS -->
---

💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more [Copilot coding agent tips](https://gh.io/copilot-coding-agent-tips) in the docs.
@graphite-app graphite-app bot force-pushed the copilot/fix-storybook-rolldown-issue branch from bc48d06 to 8e4f6e2 Compare November 12, 2025 16:57
Comment on lines +335 to +340
/// Check if this chunk is a module facade (represents a specific module).
/// Module facades are entry point chunks (user-defined or dynamic), not common chunks.
/// This is used to determine if Symbol.toStringTag should be added when generatedCode.symbols is true.
pub fn is_module_facade(&self) -> bool {
matches!(&self.kind, ChunkKind::EntryPoint { .. })
}
Copy link
Member

Choose a reason for hiding this comment

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

In rollup, IIRC facade module means a module that only has re-exports, so I think this is confusing.

Copy link
Member

@sapphi-red sapphi-red left a comment

Choose a reason for hiding this comment

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

I think we should also add a test for cases that contains __reExport.

@graphite-app graphite-app bot merged commit 8e4f6e2 into main Nov 12, 2025
28 checks passed
@graphite-app graphite-app bot deleted the copilot/fix-storybook-rolldown-issue branch November 12, 2025 17:11
@IWANABETHATGUY
Copy link
Member

image Why did the PR still get merged, even though the approval is white?

@sapphi-red
Copy link
Member

sapphi-red commented Nov 12, 2025

GitHub itself considers the user that triggered Copilot to not have an approval permission, but graphite doesn't seem to do that.

@IWANABETHATGUY
Copy link
Member

GitHub itself considers the user that triggered Copilot to not have an approval permission, but graphite doesn't seem to do that.

I see

shulaoda added a commit that referenced this pull request Nov 19, 2025
## [1.0.0-beta.51] - 2025-11-19

### 💥 BREAKING CHANGES

- rolldown_plugin_vite_react_refresh_wrapper: add vite prefix (#7086) by
@shulaoda
- rolldown_plugin_vite_web_worker_post: add vite prefix (#7085) by
@shulaoda
- rolldown_plugin_vite_wasm_helper: add vite prefix (#7084) by @shulaoda
- rolldown_plugin_vite_wasm_fallback: add vite prefix (#7083) by
@shulaoda
- rolldown_plugin_vite_transform: add vite prefix (#7082) by @shulaoda
- rolldown_plugin_vite_reporter: add vite prefix (#7081) by @shulaoda
- rolldown_plugin_vite_module_preload_polyfill: add vite prefix (#7080)
by @shulaoda
- rolldown_plugin_vite_manifest: add vite prefix (#7079) by @shulaoda
- rolldown_plugin_vite_load_fallback: add vite prefix (#7072) by
@shulaoda
- rolldown_plugin_vite_json: add vite prefix (#7071) by @shulaoda
- rolldown_plugin_vite_import_glob: add vite prefix (#7070) by @shulaoda
- rolldown_plugin_vite_html_inline_proxy: add vite prefix (#7069) by
@shulaoda
- rolldown_plugin_vite_dynamic_import_vars: add vite prefix (#7068) by
@shulaoda
- rolldown_plugin_vite_build_import_analysis: add vite prefix (#7067) by
@shulaoda
- rolldown_plugin_vite_asset_import_meta_url: add vite prefix (#7066) by
@shulaoda
- rolldown_plugin_vite_alias: add vite prefix (#7065) by @shulaoda
- rolldown_plugin_vite_asset_plugin: add vite prefix (#7064) by
@shulaoda

### 🚀 Features

- export sync APIs to experimental (#7122) by @shulaoda
- rolldown_plugin_vite_asset_import_meta_url: implement template literal
support for dynamic URLs (#7118) by @shulaoda
- rolldown_plugin_vite_asset_import_meta_url: implement AST-based URL
detection (#7113) by @shulaoda
- add isPathFragment validation for filename patterns (rollup compat)
(#7101) by @IWANABETHATGUY
- rolldown_plugin_vite_asset_import_meta_url: align filter logic (#7103)
by @shulaoda
- rolldown: oxc v0.98.0 (#6961) by @camc314
- show error contexts for unhandleable errors (#7095) by @sapphi-red
- rolldown_plugin_utils: extract `get_hash` utility function (#7059) by
@shulaoda
- rolldown_plugin_asset: initialize `CSSEntriesCache` (#7015) by
@shulaoda
- rolldown_plugin_vite_html: align `transformIndexHtml` logic (#7010) by
@shulaoda
- builtin-plugin: support `bindingifyViteHtmlPlugin` (#7008) by
@shulaoda
- impl `generatedCode.symbols` for reexport dynamic modules. (#6993) by
@IWANABETHATGUY
- rolldown_plugin_manifest: support v2 logic (#6979) by @shulaoda
- support Node.js `module.exports` ESM export (#6967) by @Copilot
- change "could not clean directory" from error to warning (#6955) by
@Copilot
- rolldown_binding: add context to errors thrown by plugin hooks (#6964)
by @sapphi-red

### 🐛 Bug Fixes

- content hash should be affected by the minify behavior (#7102) by
@hyf0
- `canonical name not found for "__toESM"` error when only named imports
are used from a CJS module (#7094) by @sapphi-red
- preserve directory structure in chunk names with preserveModules
(#6872) by @IWANABETHATGUY
- rolldown_plugin_asset: correct bundle deletion index calculation
(#7063) by @shulaoda
- rolldown_plugin_utils: correct string slicing in
`render_asset_url_in_js` (#7061) by @shulaoda
- rolldown_plugin_vite_html: use transformed result in asset URL
handling (#7060) by @shulaoda
- rolldown_plugin_vite_html: skip redundant path resolution for
processed URLs (#7058) by @shulaoda
- rolldown_plugin_vite_css_post: data race in CSS URL processing (#7055)
by @shulaoda
- rolldown_plugin_vite_css_post: always compute css asset dirname in
build command (#7054) by @shulaoda
- rolldown_plugin_vite_css: ensure consistent url in import and export
(#7053) by @shulaoda
- rolldown_plugin_vite_css_post: use `get_or_insert_default` for
`HTMLProxyResult` (#7052) by @shulaoda
- rolldown_plugin_vite_css: skip `commonjs-proxy` CSS requests (#7050)
by @shulaoda
- rolldown_plugin_utils: correct `is_css_module` (#7049) by @shulaoda
- rolldown_plugin_utils: correct `is_css_request` (#7048) by @shulaoda
- rolldown_plugin_vite_html: use correct inline module index (#7046) by
@shulaoda
- rolldown_plugin_vite_html: correct scripts url update logic (#7045) by
@shulaoda
- rolldown_plugin_vite_html: fallback to original url on NotFound error
(#7043) by @shulaoda
- rolldown_plugin_vite_html: move src_tasks to correct branch (#7040) by
@shulaoda
- rolldown_plugin_vite_html: correct `handle_style_tag_or_attribute`
(#7038) by @shulaoda
- builtin-plugin: add `config` to `htmlInlineProxyPlugin` (#7036) by
@shulaoda
- missing CJS default export when SafelyMergeCjsNs optimization is
enabled (#7006) by @Copilot
- reserve global names before deconflicting external symbols (#7022) by
@IWANABETHATGUY
- rolldown_plugin_build_import_analysis: process all bundle outputs
correctly (#7020) by @shulaoda
- rolldown_plugin_vite_css_post: process all bundle outputs correctly
(#7019) by @shulaoda
- rolldown_plugin_vite_css_post: remove `/*$vite$:1*/` correctly (#7018)
by @shulaoda
- rolldown_plugin_vite_html: use correct span for `style_urls` (#7017)
by @shulaoda
- rolldown_plugin_vite_html: track full element span from start to end
tag (#7016) by @shulaoda
- builtin-plugin: correct `viteHtmlPlugin` related logic (#7013) by
@shulaoda
- remove unused module namespace object exporting (#7002) by
@IWANABETHATGUY
- rust/dev: allow to recover from hmr rebuild failure (#6991) by @hyf0
- rust/dev: `ensure_latest_bundle_output` shouldn't loop infinitely
(#6974) by @hyf0
- rust/dev: `DevEngine#ensure_latest_bundle_output` should schedule a
rebuild task if there're no queued tasks (#6968) by @hyf0
- add Symbol.toStringTag to module facades when generatedCode.symbols is
enabled (#6784) by @Copilot

### 🚜 Refactor

- extension checking to use constant array (#7057) by @Copilot
- rust/devtools: tweak namings and introduction comments (#7028) by
@hyf0
- rolldown_plugin_vite_html: use `root` instead of `cwd` (#7035) by
@shulaoda
- rolldown_plugin_vite_css_post: use `root` instead of `cwd` (#7034) by
@shulaoda
- rolldown_plugin_vite_css: use `root` instead of `cwd` (#7033) by
@shulaoda
- rolldown_plugin_transform: use `root` instead of `cwd` (#7032) by
@shulaoda
- rolldown_plugin_reporter: use `root` instead of `cwd` (#7031) by
@shulaoda
- rolldown_plugin_asset: use `root` instead of `cwd` (#7030) by
@shulaoda
- rolldown_plugin_html_inline_proxy: use `root` instead of `cwd` (#7029)
by @shulaoda
- rust/dev: remove dead code of `rolldown_dev` crate (#6997) by @hyf0
- rust: move dev related code into new `rolldown_dev` crate (#6996) by
@hyf0
- rolldown_resolver: use consistent generic parameter name `Fs` (#6998)
by @shulaoda
- rolldown_resolver: improve resolve method clarity and documentation
(#6986) by @shulaoda
- rename `is_module_facade()` to `is_entry_point()` for clarity (#6994)
by @IWANABETHATGUY
- rust/dev: unwrap `Result<_>` from the return type of
`BundleCoordinator::schedule_build_if_stale` (#6980) by @sapphi-red
- rolldown_resolver: reorganize impl blocks (#6984) by @shulaoda
- rolldown_resolver: extract configuration logic into separate module
(#6983) by @shulaoda
- rolldown_resolver: improve error messages (#6982) by @shulaoda
- rust/dev: rename `CoordinatorStatus` to `CoordinatorStateSnapshot`
(#6973) by @hyf0
- rust/dev: replace `InitialBuildState` with `CoordinatorState` (#6972)
by @hyf0
- ast_scanner: derive `Debug`, `Clone`, `Copy` for
`CjsGlobalAssignmentType` (#6971) by @camc314
- rust: filter out devtools specific events for normal tracing (#6965)
by @hyf0
- rust/dev: replace `CoordinatorMsg::HasLatestBuildOutput` with
`GetStatus` (#6960) by @hyf0
- rust/dev: `ensure_current_build_finish` shouldn't block the
coordinator's event loop (#6959) by @hyf0

### 📚 Documentation

- in-depth/directives: remove TODOs and fix code (#7112) by @sapphi-red
- clarify concepts of rolldown's test infra (#7047) by @hyf0
- contrib/style: add suggestions about choosing file names (#6989) by
@hyf0

### ⚡ Performance

- rolldown_plugin_vite_css_post: cache CSS URL processing results
(#7056) by @shulaoda
- remove unnecessary `collect_vec` (#6999) by @IWANABETHATGUY

### 🧪 Testing

- add testcase for #6880 and #6879 (#7107) by @IWANABETHATGUY
- vite-tests: use integration branch for vite compatibility tests
(#7091) by @shulaoda

### ⚙️ Miscellaneous Tasks

- remove redundant chunk level linefeed (#7109) by @IWANABETHATGUY
- pin oxc-minify to 0.97.0 (#7108) by @IWANABETHATGUY
- deps: update oxc apps (#7104) by @renovate[bot]
- deps: update glob for security (#7105) by @shulaoda
- rolldown: add aliases for renamed vite plugins (#7087) by @shulaoda
- automate weekly beta releases (#7089) by @Boshen
- deps: update dependency oxlint-tsgolint to v0.7.0 (#7088) by
@renovate[bot]
- deps: update github-actions (#7075) by @renovate[bot]
- deps: update dependency oxlint-tsgolint to v0.6.0 (#7037) by
@renovate[bot]
- deps: update npm packages (#7076) by @renovate[bot]
- deps: update rust crates (#7077) by @renovate[bot]
- add retry to flaky tests (#7041) by @sapphi-red
- rust: rename `rolldown_debug` to `rolldown_devtools` (#7026) by @hyf0
- deps: update crate-ci/typos action to v1.39.2 (#7001) by
@renovate[bot]
- ai/github: make copilot review check rust api style (#6988) by @hyf0
- move test `recover_from_initial_build_error` to
`error_recovery/from_initial_build_syntax_error` (#6990) by @hyf0
- oxlint: enable `typescript/consistent-type-imports` rule (#6987) by
@shulaoda
- deps: update crate-ci/typos action to v1.39.1 (#6975) by
@renovate[bot]
- build.ts: separate import type (#6921) by @iiio2
- format rolldown runtime (#6966) by @IWANABETHATGUY

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.

Storybook doesn't work when using rolldown-vite with output.generatedCode.symbols: true

3 participants