Skip to content

test(dev): align dev-engine test harness with Vite#9684

Merged
graphite-app[bot] merged 1 commit into
mainfrom
06-09-test_dev_align_dev-engine_test_infra_with_vite_dev_server
Jun 11, 2026
Merged

test(dev): align dev-engine test harness with Vite#9684
graphite-app[bot] merged 1 commit into
mainfrom
06-09-test_dev_align_dev-engine_test_infra_with_vite_dev_server

Conversation

@h-a-n-a

@h-a-n-a h-a-n-a commented Jun 9, 2026

Copy link
Copy Markdown
Member

Summary

Rebuilds the @rolldown/test-dev-server browser test harness around an
in-process dev server, mirroring Vite's playground harness. The old model ran
each playground as a pnpm serve subprocess on a hand-picked port kept in two
synced registries; this replaces it with a server that runs inside each vitest
worker on an OS-assigned port, discovered from the spec's own path. Adding a
browser test is now a folder + a spec, with zero central edits.

Stacked on #9668. Rationale and as-built detail live in
meta/design/dev-server-test-harness.md.

Server entry point (src/)

  • New createDevServer(config, opts?) → { url, port, close } — binds
    port 0 (OS-assigned) and resolves once the first bundle is actually being
    served (a navigation never lands on the spinner).
  • Listen-before-build: bind the socket → read the bound port → inject it into
    experimental.devMode.port → build. This makes auto-port work even though the
    HMR websocket port is baked into the bundle, without touching the shared
    runtime.
  • New loadDevConfig(dir), an injectable Logger (server output → serverLogs),
    and a real DevServer.close() (ws server + clients + httpServer.close() +
    env.close()). serve() (the CLI/fixtures path) delegates to the same class.

Harness (tests/)

  • In-process server per spec file; one shared Chromium (launchServer in global
    setup; each file connects and opens one page); teardown via the server's own
    close() — no killPort, no orphaned subprocesses.
  • Spec-path discovery: vitest.config.e2e.mts globs playground/**/*.spec.ts;
    global setup copies only the selected playgrounds into playground-temp/.
  • A ~utils surface (page, serverUrl, editFile, waitForBuildStable,
    untilBrowserLogAfter, …) and URL-keyed /_dev/status helpers shared with the
    node fixtures suite.
  • Removed the subprocess machinery: browser.spec.ts, vitest-setup-browser.ts,
    tests/test-utils.ts, tests/src/config.ts (the port registry), and
    vitest.config.browser.mts.

Lazy-compilation consolidation

The four sibling lazy-* playgrounds (lazy-compilation, lazy-aliased-import,
lazy-shared-module, lazy-nested-dynamic-import) are merged into one
lazy-compilation/ co-tenant playground: one dev.config.mjs, one index.html,
main.js importing a setup.js per scenario sub-folder (basic/,
aliased-import/, shared-module/, nested-dynamic-import/), and four specs
sharing one cold-start serve.ts. Safe because lazy chunks compile only on first
dynamic import, so each spec's own per-file server stays virgin for its scenario
even though all four live in one project.

Docs

Rewrote meta/design/dev-server-test-harness.md down to principles + as-built
implementation; folded in and deleted dev-server-browser-tests.md; updated
tests/README.md.

Verification

  • pnpm typecheck (tests) — clean
  • pnpm test:browser — 10/10 green (hmr-full-bundle-mode + the four lazy scenarios)
  • knip (lazy-compilation workspace) — clean

🤖 Generated with Claude Code

h-a-n-a commented Jun 9, 2026

Copy link
Copy Markdown
Member Author

How to use the Graphite Merge Queue

Add the label graphite: merge-when-ready 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.

@h-a-n-a h-a-n-a force-pushed the 06-08-feat_dev_align_test-dev-server_with_vite branch from dc1b912 to aad66aa Compare June 9, 2026 09:03
@h-a-n-a h-a-n-a force-pushed the 06-09-test_dev_align_dev-engine_test_infra_with_vite_dev_server branch from 90adb47 to 81e0436 Compare June 9, 2026 09:03
@h-a-n-a h-a-n-a force-pushed the 06-08-feat_dev_align_test-dev-server_with_vite branch from aad66aa to 72d10a4 Compare June 9, 2026 09:46
@h-a-n-a h-a-n-a force-pushed the 06-09-test_dev_align_dev-engine_test_infra_with_vite_dev_server branch 2 times, most recently from 0ea7b09 to 109c57e Compare June 10, 2026 12:10
@h-a-n-a h-a-n-a changed the title test(dev): align dev-engine test infra with Vite dev server test(dev): align dev-engine test harness with Vite Jun 10, 2026
@h-a-n-a h-a-n-a force-pushed the 06-09-test_dev_align_dev-engine_test_infra_with_vite_dev_server branch 2 times, most recently from 0fd0baa to d200e34 Compare June 10, 2026 16:55
@h-a-n-a h-a-n-a marked this pull request as ready for review June 11, 2026 05:26
@h-a-n-a h-a-n-a requested review from hyf0 and sapphi-red June 11, 2026 05:26
Comment thread knip.jsonc Outdated
Comment thread packages/test-dev-server/tests/playground/lazy-compilation/dev.config.mjs Outdated
@h-a-n-a h-a-n-a force-pushed the 06-09-test_dev_align_dev-engine_test_infra_with_vite_dev_server branch 3 times, most recently from 682cc4c to 9457a9f Compare June 11, 2026 08:57
@h-a-n-a h-a-n-a force-pushed the 06-08-feat_dev_align_test-dev-server_with_vite branch from 72d10a4 to 4aa3c92 Compare June 11, 2026 13:59
@h-a-n-a h-a-n-a force-pushed the 06-09-test_dev_align_dev-engine_test_infra_with_vite_dev_server branch from 9457a9f to 83eeb62 Compare June 11, 2026 13:59
@graphite-app

graphite-app Bot commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

Merge activity

## Summary

Rebuilds the `@rolldown/test-dev-server` **browser** test harness around an
in-process dev server, mirroring Vite's playground harness. The old model ran
each playground as a `pnpm serve` subprocess on a hand-picked port kept in two
synced registries; this replaces it with a server that runs inside each vitest
worker on an OS-assigned port, discovered from the spec's own path. **Adding a
browser test is now a folder + a spec, with zero central edits.**

Stacked on #9668. Rationale and as-built detail live in
`meta/design/dev-server-test-harness.md`.

## Server entry point (`src/`)

- New **`createDevServer(config, opts?) → { url, port, close }`** — binds
  `port 0` (OS-assigned) and resolves once the first bundle is actually being
  served (a navigation never lands on the spinner).
- **Listen-before-build**: bind the socket → read the bound port → inject it into
  `experimental.devMode.port` → build. This makes auto-port work even though the
  HMR websocket port is baked into the bundle, without touching the shared
  runtime.
- New `loadDevConfig(dir)`, an injectable `Logger` (server output → `serverLogs`),
  and a real `DevServer.close()` (ws server + clients + `httpServer.close()` +
  `env.close()`). `serve()` (the CLI/fixtures path) delegates to the same class.

## Harness (`tests/`)

- In-process server per spec file; one shared Chromium (`launchServer` in global
  setup; each file connects and opens one page); teardown via the server's own
  `close()` — no `killPort`, no orphaned subprocesses.
- Spec-path discovery: `vitest.config.e2e.mts` globs `playground/**/*.spec.ts`;
  global setup copies only the selected playgrounds into `playground-temp/`.
- A `~utils` surface (`page`, `serverUrl`, `editFile`, `waitForBuildStable`,
  `untilBrowserLogAfter`, …) and URL-keyed `/_dev/status` helpers shared with the
  node fixtures suite.
- Removed the subprocess machinery: `browser.spec.ts`, `vitest-setup-browser.ts`,
  `tests/test-utils.ts`, `tests/src/config.ts` (the port registry), and
  `vitest.config.browser.mts`.

## Lazy-compilation consolidation

The four sibling `lazy-*` playgrounds (`lazy-compilation`, `lazy-aliased-import`,
`lazy-shared-module`, `lazy-nested-dynamic-import`) are merged into **one**
`lazy-compilation/` co-tenant playground: one `dev.config.mjs`, one `index.html`,
`main.js` importing a `setup.js` per scenario sub-folder (`basic/`,
`aliased-import/`, `shared-module/`, `nested-dynamic-import/`), and four specs
sharing one cold-start `serve.ts`. Safe because lazy chunks compile only on first
dynamic import, so each spec's own per-file server stays virgin for its scenario
even though all four live in one project.

## Docs

Rewrote `meta/design/dev-server-test-harness.md` down to principles + as-built
implementation; folded in and deleted `dev-server-browser-tests.md`; updated
`tests/README.md`.

## Verification

- `pnpm typecheck` (tests) — clean
- `pnpm test:browser` — 10/10 green (`hmr-full-bundle-mode` + the four lazy scenarios)
- `knip` (lazy-compilation workspace) — clean

🤖 Generated with [Claude Code](https://claude.com/claude-code)
@graphite-app graphite-app Bot force-pushed the 06-08-feat_dev_align_test-dev-server_with_vite branch from 4aa3c92 to d104a73 Compare June 11, 2026 14:24
@graphite-app graphite-app Bot force-pushed the 06-09-test_dev_align_dev-engine_test_infra_with_vite_dev_server branch from 83eeb62 to 5d0e17b Compare June 11, 2026 14:24
Base automatically changed from 06-08-feat_dev_align_test-dev-server_with_vite to main June 11, 2026 14:29
@graphite-app graphite-app Bot merged commit 5d0e17b into main Jun 11, 2026
30 checks passed
@graphite-app graphite-app Bot deleted the 06-09-test_dev_align_dev-engine_test_infra_with_vite_dev_server branch June 11, 2026 14:30
This was referenced Jun 18, 2026
shulaoda added a commit that referenced this pull request Jun 18, 2026
## [1.1.2] - 2026-06-18

### 📝 Notable tsconfig behavior changes

These ship via the `oxc_resolver` 11.21.3 bump (#9841) and affect `resolve.tsconfigPaths` (Vite 8 resolves through oxc-resolver):

- **Honor explicit non-TS extensions in `include`** (oxc-project/oxc-resolver#1213). `compilerOptions.paths` now resolve for importers whose extension is explicitly listed in a tsconfig's `include` (e.g. `src/**/*.vue`, `src/**/*.svelte`). Previously oxc-resolver filtered importers by extension before evaluating the `include` globs, so a `.vue`/`.svelte` file listed in `include` never matched its project and its `paths` were skipped. This unblocks the default create-vite Vue + TS layout (a solution-style root plus a referenced `tsconfig.app.json` that declares `paths` and `include: ["src/**/*.ts", "src/**/*.vue"]`). Matches vue-tsc and svelte-check, which register these extensions via TypeScript's `extraFileExtensions`.
- **No fallback to the outermost tsconfig in auto-discovery** (oxc-project/oxc-resolver#1220). Auto-discovery no longer attaches the topmost ancestor `tsconfig.json` to a file that no project actually owns (via `files` / `include` / project references). Previously such a file inherited the outermost ancestor's `paths` / `baseUrl`, leaking aliases into files that project does not own. oxc-resolver now returns no config in that case, matching tsserver / typescript-go, which route such files to an inferred project with no aliases.

### 🚀 Features

- add option named for invalid return type errors for more places (#9846) by @shulaoda
- add option names for invalid return type errors (#9821) by @sapphi-red
- transform: infer decorator strictNullChecks from tsconfig (#9590) by @kylecannon
- expose React Compiler options for rolldown and Vite users (#9801) by @Boshen
- tracing: gate chrome-json trace layer behind `chrome-tracing` feature (#9773) by @hyf0
- dev: align test-dev-server with Vite dev server (#9668) by @h-a-n-a

### 🐛 Bug Fixes

- plugin_timings: point doc link to existing checks reference page (#9837) by @hyf0
- generator: correct contradictory panic message in cjs cross-chunk symbol lookup (#9836) by @hyf0
- esm: preserve with clause on export * from external (#9796) by @hyf0
- Make external_import_binding_merger deterministic (#9755) by @naruaway
- surface invalid `manualCodeSplitting` group `test` regex as an error (#9792) by @shulaoda
- avoid panic on `output.file` without a file name (#9789) by @shulaoda
- avoid O(N^2) rendering of high-volume diagnostics (#9748) (#9749) by @IWANABETHATGUY
- avoid panic on JSON numbers outside f64 range (#9788) by @shulaoda
- deps: bump mimalloc-safe to 0.1.63 to fix worker_threads segfault (#9785) by @shulaoda
- cache ESM evaluation errors (#9784) by @sapphi-red
- wrap node require helper in pure IIFE (#9783) by @kb019
- lazy-barrel: load locally-used imports on a re-exported record (#9757) by @shulaoda
- avoid dangling wrapped-ESM init call across chunks (#9502) (#9717) by @IWANABETHATGUY
- dev: detect same-second rewrites in CI poll watcher (#9736) by @h-a-n-a
- dev: force rebuild after HMR errors (#9686) by @h-a-n-a
- dev: print build errors on browser refresh after a failed build (#9652) by @h-a-n-a

### 🚜 Refactor

- single-source the chunk $N symbol-naming algorithm (#9831) by @Dunqing
- simplify common_dir helper (#9857) by @IWANABETHATGUY
- drop commondir crate in favor of in-house helper (#9849) by @Boshen
- binding: extract helpers from normalize_binding_options (#9842) by @Boshen
- move rolldown_filter_analyzer to tasks and scope oxc cfg feature (#9839) by @Boshen
- options: merge manualCodeSplitting into codeSplitting object form (#9805) by @IWANABETHATGUY
- options: support codeSplitting object form in CodeSplittingMode (#9804) by @IWANABETHATGUY
- diagnostic: reuse ByteLocator for per-source line lookup (#9762) by @IWANABETHATGUY
- remove redundant Arc around tracing spans (#9778) by @camc314
- remove unnecessary `Arc` around sourcemap sender (#9777) by @camc314
- rolldown_plugin_vite_wasm_fallback: remove the plugin (#9775) by @sapphi-red
- binding: remove infer-able `napi(ts_type)` (#9737) by @sapphi-red
- remove preprocessor span dedup (#9734) by @hyf0
- identify AST nodes by NodeId instead of Span/Address (#9609) by @IWANABETHATGUY

### 📚 Documentation

- tsconfig: align auto-discovery docs with oxc-resolver behavior (#9845) by @shulaoda
- relocate meta/design to internal-docs, split design from implementation (#9826) by @h-a-n-a
- meta: add options normalization design doc (#9818) by @IWANABETHATGUY
- document why the napi tracing feature is enabled (#9766) by @Boshen
- dev: move test-dev-server test guidance into the testing docs (#9809) by @h-a-n-a

### ⚡ Performance

- drop unused regex unicode property tables from the binding (#9848) by @Boshen
- drop urlencoding crate in favor of percent-encoding (#9851) by @Boshen
- drop owo-colors supports-colors feature in vite reporter (#9824) by @Boshen
- skip enum member value extraction for non-TypeScript modules (#9840) by @shulaoda
- rolldown: use unstable sort for itertools sorted_by at unique-key sites (#9827) by @Boshen
- cheaper deterministic ordering in external import binding merger (#9810) by @IWANABETHATGUY
- disable idna's ICU backend by pinning idna_adapter to 1.0.0 (-129 KB) (#9811) by @Boshen
- size: use unstable sort where stability is unneeded (#9803) by @Boshen
- remove num-format dependency from vite reporter (#9795) by @Boshen
- reduce js callback error size (#9776) by @Boshen
- rolldown_error: remove Debug supertrait from BuildEvent (#9798) by @Boshen
- reduce plugin hook order code size (#9761) by @Boshen
- deps: disable `infer` default features to reduce binary size (#9765) by @Boshen
- reduce pluginable monomorphization size (#9771) by @Boshen
- avoid rebuilding replace plugin values (#9764) by @Boshen
- defer link-stage-output drop to rayon workers after output is produced (#9733) by @Brooooooklyn
- tree-shaking: hoist already-included guard to call sites in inclusion DFS (#9738) by @Brooooooklyn
- renamer: dedup before allocating the owned name in add_symbol_in_root_scope (#9740) by @Brooooooklyn

### 🧪 Testing

- allocs: track allocation counts for rolldown_sourcemap (#9835) by @hyf0
- bench: add CodSpeed micro-benchmarks for rolldown_sourcemap (#9834) by @hyf0
- add cjs named export mutation test (#9823) by @sapphi-red
- dev: restore shared-page reliability conventions in AGENTS.md (#9786) by @h-a-n-a
- dev: add `AGENTS.md` test guidance for agents (#9763) by @h-a-n-a
- dev: split out initial-build-error into its own playground (#9772) by @h-a-n-a
- dev: align e2e suite with Vite and parallelize playgrounds (#9759) by @h-a-n-a
- remove unnecessary module namespace object JSON serializations in tests (#9725) by @sapphi-red
- use `assert.deepStrictEqual` instead of `assert.deepEqual` by using `assert/strict` instead of `assert` (#9724) by @sapphi-red
- hmr: add test case for #5301 (#5302) by @sapphi-red
- dev: add tests for dev-engine principles (#9720) by @h-a-n-a
- dev: align dev-engine test harness with Vite (#9684) by @h-a-n-a

### ⚙️ Miscellaneous Tasks

- deps: update napi to 3.9.3 (#9862) by @shulaoda
- deps: update oxc to 0.137.0 (#9856) by @Boshen
- re-enable default lld linker on x86_64-unknown-linux-gnu (#9855) by @Boshen
- deps: bump vite-plus to 0.2.1 (#9850) by @Boshen
- skills: translate _config.json when encoding rolldown REPL links (#9847) by @IWANABETHATGUY
- deps: update oxc_resolver and oxc_resolver_napi to 11.21.3 (#9841) by @Boshen
- pin vite-plus (vp) CLI to 0.1.24 in setup-vp (#9830) by @Boshen
- add crate/package-level CODEOWNERS (#9819) by @IWANABETHATGUY
- drop unused derive_more display feature from rolldown_plugin (#9820) by @Boshen
- remove auto-assign PR workflow (#9807) by @IWANABETHATGUY
- deps: update rollup submodule for tests to v4.62.0 (#9780) by @rolldown-guard[bot]
- deps: update esbuild for tests to 0.28.1 (#9779) by @rolldown-guard[bot]
- deps: update test262 submodule for tests (#9781) by @rolldown-guard[bot]
- deps: update oxc to 0.136.0 (#9770) by @Boshen
- add pull request template (#9756) by @sapphi-red
- clarify `rolldown_plugin_vite_*` is compatible for the same minor (#9774) by @sapphi-red
- deps: update github actions (#9745) by @renovate[bot]
- deps: update rust crates (#9747) by @renovate[bot]
- deps: update napi to v3.9.2 (#9744) by @renovate[bot]
- deps: update npm packages (#9746) by @renovate[bot]
- deps: update @napi-rs/cli and emnapi deps (#9741) by @Brooooooklyn
- generator: fix `vp fmt` on Windows (#9727) by @sapphi-red
- ban importing from `assert` and recommend `assert/strict` (#9726) by @sapphi-red

### ❤️ New Contributors

* @naruaway made their first contribution in [#9755](#9755)
* @kb019 made their first contribution in [#9783](#9783)

Co-authored-by: shulaoda <165626830+shulaoda@users.noreply.github.com>
leegeunhyeok added a commit to rollipop-dev/rolldown that referenced this pull request Jun 18, 2026
## [1.0.16] - 2026-06-18

### 🚀 Features

- add option named for invalid return type errors for more places
(rolldown#9846) by `@shulaoda`
- add option names for invalid return type errors (rolldown#9821) by
`@sapphi-red`
- transform: infer decorator strictNullChecks from tsconfig (rolldown#9590) by
`@kylecannon`
- expose React Compiler options for rolldown and Vite users (rolldown#9801) by
`@Boshen`
- tracing: gate chrome-json trace layer behind `chrome-tracing` feature
(rolldown#9773) by `@hyf0`
- dev: align test-dev-server with Vite dev server (rolldown#9668) by `@h-a-n-a`

### 🐛 Bug Fixes

- plugin_timings: point doc link to existing checks reference page
(rolldown#9837) by `@hyf0`
- generator: correct contradictory panic message in cjs cross-chunk
symbol lookup (rolldown#9836) by `@hyf0`
- esm: preserve with clause on export * from external (rolldown#9796) by `@hyf0`
- Make external_import_binding_merger deterministic (rolldown#9755) by
`@naruaway`
- surface invalid `manualCodeSplitting` group `test` regex as an error
(rolldown#9792) by `@shulaoda`
- avoid panic on `output.file` without a file name (rolldown#9789) by
`@shulaoda`
- avoid O(N^2) rendering of high-volume diagnostics (rolldown#9748) (rolldown#9749) by
`@IWANABETHATGUY`
- avoid panic on JSON numbers outside f64 range (rolldown#9788) by `@shulaoda`
- deps: bump mimalloc-safe to 0.1.63 to fix worker_threads segfault
(rolldown#9785) by `@shulaoda`
- cache ESM evaluation errors (rolldown#9784) by `@sapphi-red`
- wrap node require helper in pure IIFE (rolldown#9783) by `@kb019`
- lazy-barrel: load locally-used imports on a re-exported record (rolldown#9757)
by `@shulaoda`
- avoid dangling wrapped-ESM init call across chunks (rolldown#9502) (rolldown#9717) by
`@IWANABETHATGUY`
- dev: detect same-second rewrites in CI poll watcher (rolldown#9736) by
`@h-a-n-a`
- dev: force rebuild after HMR errors (rolldown#9686) by `@h-a-n-a`
- dev: print build errors on browser refresh after a failed build
(rolldown#9652) by `@h-a-n-a`

### 🚜 Refactor

- single-source the chunk $N symbol-naming algorithm (rolldown#9831) by
`@Dunqing`
- simplify common_dir helper (rolldown#9857) by `@IWANABETHATGUY`
- drop commondir crate in favor of in-house helper (rolldown#9849) by `@Boshen`
- binding: extract helpers from normalize_binding_options (rolldown#9842) by
`@Boshen`
- move rolldown_filter_analyzer to tasks and scope oxc cfg feature
(rolldown#9839) by `@Boshen`
- options: merge manualCodeSplitting into codeSplitting object form
(rolldown#9805) by `@IWANABETHATGUY`
- options: support codeSplitting object form in CodeSplittingMode
(rolldown#9804) by `@IWANABETHATGUY`
- diagnostic: reuse ByteLocator for per-source line lookup (rolldown#9762) by
`@IWANABETHATGUY`
- remove redundant Arc around tracing spans (rolldown#9778) by `@camc314`
- remove unnecessary `Arc` around sourcemap sender (rolldown#9777) by `@camc314`
- rolldown_plugin_vite_wasm_fallback: remove the plugin (rolldown#9775) by
`@sapphi-red`
- binding: remove infer-able `napi(ts_type)` (rolldown#9737) by `@sapphi-red`
- remove preprocessor span dedup (rolldown#9734) by `@hyf0`
- identify AST nodes by NodeId instead of Span/Address (rolldown#9609) by
`@IWANABETHATGUY`

### 📚 Documentation

- tsconfig: align auto-discovery docs with oxc-resolver behavior (rolldown#9845)
by `@shulaoda`
- relocate meta/design to internal-docs, split design from
implementation (rolldown#9826) by `@h-a-n-a`
- meta: add options normalization design doc (rolldown#9818) by
`@IWANABETHATGUY`
- document why the napi tracing feature is enabled (rolldown#9766) by `@Boshen`
- dev: move test-dev-server test guidance into the testing docs (rolldown#9809)
by `@h-a-n-a`

### ⚡ Performance

- drop unused regex unicode property tables from the binding (rolldown#9848) by
`@Boshen`
- drop urlencoding crate in favor of percent-encoding (rolldown#9851) by
`@Boshen`
- drop owo-colors supports-colors feature in vite reporter (rolldown#9824) by
`@Boshen`
- skip enum member value extraction for non-TypeScript modules (rolldown#9840)
by `@shulaoda`
- rolldown: use unstable sort for itertools sorted_by at unique-key
sites (rolldown#9827) by `@Boshen`
- cheaper deterministic ordering in external import binding merger
(rolldown#9810) by `@IWANABETHATGUY`
- disable idna's ICU backend by pinning idna_adapter to 1.0.0 (-129 KB)
(rolldown#9811) by `@Boshen`
- size: use unstable sort where stability is unneeded (rolldown#9803) by
`@Boshen`
- remove num-format dependency from vite reporter (rolldown#9795) by `@Boshen`
- reduce js callback error size (rolldown#9776) by `@Boshen`
- rolldown_error: remove Debug supertrait from BuildEvent (rolldown#9798) by
`@Boshen`
- reduce plugin hook order code size (rolldown#9761) by `@Boshen`
- deps: disable `infer` default features to reduce binary size (rolldown#9765)
by `@Boshen`
- reduce pluginable monomorphization size (rolldown#9771) by `@Boshen`
- avoid rebuilding replace plugin values (rolldown#9764) by `@Boshen`
- defer link-stage-output drop to rayon workers after output is produced
(rolldown#9733) by `@Brooooooklyn`
- tree-shaking: hoist already-included guard to call sites in inclusion
DFS (rolldown#9738) by `@Brooooooklyn`
- renamer: dedup before allocating the owned name in
add_symbol_in_root_scope (rolldown#9740) by `@Brooooooklyn`

### 🧪 Testing

- allocs: track allocation counts for rolldown_sourcemap (rolldown#9835) by
`@hyf0`
- bench: add CodSpeed micro-benchmarks for rolldown_sourcemap (rolldown#9834) by
`@hyf0`
- add cjs named export mutation test (rolldown#9823) by `@sapphi-red`
- dev: restore shared-page reliability conventions in AGENTS.md (rolldown#9786)
by `@h-a-n-a`
- dev: add `AGENTS.md` test guidance for agents (rolldown#9763) by `@h-a-n-a`
- dev: split out initial-build-error into its own playground (rolldown#9772) by
`@h-a-n-a`
- dev: align e2e suite with Vite and parallelize playgrounds (rolldown#9759) by
`@h-a-n-a`
- remove unnecessary module namespace object JSON serializations in
tests (rolldown#9725) by `@sapphi-red`
- use `assert.deepStrictEqual` instead of `assert.deepEqual` by using
`assert/strict` instead of `assert` (rolldown#9724) by `@sapphi-red`
- hmr: add test case for rolldown#5301 (rolldown#5302) by `@sapphi-red`
- dev: add tests for dev-engine principles (rolldown#9720) by `@h-a-n-a`
- dev: align dev-engine test harness with Vite (rolldown#9684) by `@h-a-n-a`

### ⚙️ Miscellaneous Tasks

- add rollipop-integration skill by `@leegeunhyeok`
- update esbuild snap diff metrics by `@leegeunhyeok`
- sync upstream rolldown v1.1.2 by `@leegeunhyeok`
- deps: update napi to 3.9.3 (rolldown#9862) by `@shulaoda`
- deps: update oxc to 0.137.0 (rolldown#9856) by `@Boshen`
- re-enable default lld linker on x86_64-unknown-linux-gnu (rolldown#9855) by
`@Boshen`
- deps: bump vite-plus to 0.2.1 (rolldown#9850) by `@Boshen`
- skills: translate _config.json when encoding rolldown REPL links
(rolldown#9847) by `@IWANABETHATGUY`
- deps: update oxc_resolver and oxc_resolver_napi to 11.21.3 (rolldown#9841) by
`@Boshen`
- pin vite-plus (vp) CLI to 0.1.24 in setup-vp (rolldown#9830) by `@Boshen`
- add crate/package-level CODEOWNERS (rolldown#9819) by `@IWANABETHATGUY`
- drop unused derive_more display feature from rolldown_plugin (rolldown#9820)
by `@Boshen`
- remove auto-assign PR workflow (rolldown#9807) by `@IWANABETHATGUY`
- deps: update rollup submodule for tests to v4.62.0 (rolldown#9780) by
`@rolldown-guard[bot]`
- deps: update esbuild for tests to 0.28.1 (rolldown#9779) by
`@rolldown-guard[bot]`
- deps: update test262 submodule for tests (rolldown#9781) by
`@rolldown-guard[bot]`
- deps: update oxc to 0.136.0 (rolldown#9770) by `@Boshen`
- add pull request template (rolldown#9756) by `@sapphi-red`
- clarify `rolldown_plugin_vite_*` is compatible for the same minor
(rolldown#9774) by `@sapphi-red`
- deps: update github actions (rolldown#9745) by `@renovate[bot]`
- deps: update rust crates (rolldown#9747) by `@renovate[bot]`
- deps: update napi to v3.9.2 (rolldown#9744) by `@renovate[bot]`
- deps: update npm packages (rolldown#9746) by `@renovate[bot]`
- deps: update @napi-rs/cli and emnapi deps (rolldown#9741) by `@Brooooooklyn`
- generator: fix `vp fmt` on Windows (rolldown#9727) by `@sapphi-red`
- ban importing from `assert` and recommend `assert/strict` (rolldown#9726) by
`@sapphi-red`

Co-authored-by: leegeunhyeok <26512984+leegeunhyeok@users.noreply.github.com>
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