Skip to content

fix(dev): detect same-second rewrites in CI poll watcher#9736

Merged
h-a-n-a merged 1 commit into
mainfrom
claude/watcher-pr-issue-lpz3yy
Jun 13, 2026
Merged

fix(dev): detect same-second rewrites in CI poll watcher#9736
h-a-n-a merged 1 commit into
mainfrom
claude/watcher-pr-issue-lpz3yy

Conversation

@h-a-n-a

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

Copy link
Copy Markdown
Member

Problem

The CI dev-server specs intermittently hang on ubuntu node-20 until the 15-min job ceiling, then get canceled.

Cause

The CI dev-watch options use the poll watcher, which stores mtime at whole-second granularity and only emits a change when that second advances. With content comparison off, two writes to the same file within the same second are invisible. On a loaded CI runner the recovery edit in the dev-server specs lands in the same second as the prior write, the watcher misses it, and the build never re-fires — so the spec polls until the job times out.

Fix

Enable compareContentsForPolling. The watcher then also compares a content hash, which gives a second detection path for same-second rewrites. It is purely additive — it never suppresses an event that mtime alone would have caught.

// packages/test-dev-server/src/utils/get-dev-watch-options-for-ci.ts
compareContentsForPolling: true,

Verification

Repeated the previously-flaky recovery scenario 40× per run with retries disabled — green on node 20 / 22 / 24, each well within the 15-min budget.

https://claude.ai/code/session_01PRs5hSHmbjySb2RXG36twX

@netlify

netlify Bot commented Jun 13, 2026

Copy link
Copy Markdown

Deploy Preview for rolldown-rs canceled.

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

@h-a-n-a h-a-n-a force-pushed the claude/watcher-pr-issue-lpz3yy branch from bf1f6c8 to e6cc7ab Compare June 13, 2026 14:23
@h-a-n-a h-a-n-a changed the title test(dev): add debug instrumentation for node-dev-server-test CI flake test(dev): fix node-dev-server-test flake via content-hash polling + verify Jun 13, 2026
@h-a-n-a h-a-n-a force-pushed the claude/watcher-pr-issue-lpz3yy branch from 5fa4b29 to e6cc7ab Compare June 13, 2026 14:32
@h-a-n-a

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

Copy link
Copy Markdown
Member Author

@sapphi-red sapphi-red self-requested a review June 13, 2026 15:58
@h-a-n-a h-a-n-a marked this pull request as draft June 13, 2026 16:03
The CI dev-watch options use the poll watcher, which stores mtime at
whole-second granularity and only emits a change when the second advances.
With content comparison off, two writes to the same file within the same
second are invisible, so on loaded CI runners the recovery edit in the
dev-server specs is dropped and the build never re-fires (the job then hangs
to the 15-min ceiling). Enable compareContentsForPolling so a content-hash
change is a second detection path for same-second rewrites.
@h-a-n-a h-a-n-a force-pushed the claude/watcher-pr-issue-lpz3yy branch from 0e17cc8 to a642a6d Compare June 13, 2026 16:08
@h-a-n-a h-a-n-a changed the title test(dev): fix node-dev-server-test flake via content-hash polling + verify fix(test-dev-server): detect same-second rewrites in CI poll watcher Jun 13, 2026
@h-a-n-a h-a-n-a marked this pull request as ready for review June 13, 2026 16:10
@h-a-n-a h-a-n-a enabled auto-merge (squash) June 13, 2026 16:17
@h-a-n-a h-a-n-a disabled auto-merge June 13, 2026 16:18
@h-a-n-a h-a-n-a changed the title fix(test-dev-server): detect same-second rewrites in CI poll watcher fix(dev): detect same-second rewrites in CI poll watcher Jun 13, 2026
@h-a-n-a h-a-n-a enabled auto-merge (squash) June 13, 2026 16:18

@sapphi-red sapphi-red left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I guess we should probably change notify to check the nanosec difference like libuv does (code).
https://github.com/rolldown/notify/blob/1b0bb85234daa264505b9b20c5db6d710a2be5ce/notify/src/poll.rs#L419

But I think this is good enough to unblock other PRs temporarily.

@h-a-n-a h-a-n-a merged commit 8659362 into main Jun 13, 2026
34 checks passed
@h-a-n-a h-a-n-a deleted the claude/watcher-pr-issue-lpz3yy branch June 13, 2026 16:30
@h-a-n-a

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

Copy link
Copy Markdown
Member Author

I guess we should probably change notify to check the nanosec difference like libuv does (code). https://github.com/rolldown/notify/blob/1b0bb85234daa264505b9b20c5db6d710a2be5ce/notify/src/poll.rs#L419

But I think this is good enough to unblock other PRs temporarily.

Probably. I'm not sure why notify does this in the first place. Nevertheless, this should also not be a problem for user cases. It only becomes very prominent in testing environments.

sapphi-red added a commit to rolldown/notify that referenced this pull request Jun 15, 2026
It seems this `.seconds` was added when the polling watcher was added
(notify-rs#19). So I guess there wasn't
any huge reason for this.

refs rolldown/rolldown#9736
h-a-n-a added a commit that referenced this pull request Jun 15, 2026
Align packages/test-dev-server/tests with Vite's playground harness and
speed the suite up by running playgrounds in parallel.

vitest.config.e2e.mts (match Vite's vitest.config.e2e.ts):
- Enable file parallelism (vitest's default; Vite sets neither `pool` nor
  `fileParallelism`). It was previously forced off.
- Drop `retry` (vitest defaults to 0, like Vite). The product flake that
  once justified a retry crutch is fixed (`compareContentsForPolling`, #9736).
- Add `reporters: 'dot'` and the `PWDEBUG -> Infinity` timeout; rely on the
  default `forks` pool (the in-process rust/napi dev engine needs process
  isolation). Keep rolldown-only `env`.

One spec file per playground (required for safe parallelism). The global
setup copies `playground-temp/<name>/` per playground name and each spec
file forks its own dev server against that copy, so two spec files in one
playground would race on the same temp dir:
- hmr-full-bundle-mode: merge 4 specs into one file. They exercise the same
  bundle on one page and each test restores its edits, so sharing one page
  and server is correct.
- lazy-compilation: split into lazy-basic, lazy-aliased-import,
  lazy-nested-dynamic-import, lazy-shared-module. Merging them would be
  incorrect: each lazy regression only reproduces on the first interaction
  with a fresh server (hence each spec's `{ retry: 0 }`), so they cannot
  share one server.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
graphite-app Bot pushed a commit that referenced this pull request Jun 15, 2026
## Summary

Aligns the dev-server browser e2e suite (`packages/test-dev-server/tests`) with Vite's playground harness and **optimizes test performance by running playgrounds in parallel**.

## `vitest.config.e2e.mts` — match Vite's `vitest.config.e2e.ts`

- **Enable file parallelism.** Vite sets neither `pool` nor `fileParallelism`, so it runs playgrounds in parallel on vitest's defaults. We were forcing `fileParallelism: false`; dropping it (and the explicit `pool`) opts into the same default `forks` pool + parallel execution. The `forks` pool matters for us: each spec runs an in-process rust/napi dev engine that needs process isolation.
- **Drop `retry`** (vitest defaults to `0`, like Vite). The product flake that once justified a retry crutch is fixed (`compareContentsForPolling`, #9736).
- Add `reporters: 'dot'` and the `PWDEBUG → Infinity` timeout. Keep the rolldown-only `env` (`RUST_BACKTRACE`/`RD_LOG`).

## `hmr-full-bundle-mode`: merge 4 specs → 1 file

Parallelism runs **spec files** concurrently, each forking its own dev server against the playground's shared `playground-temp/<name>/` copy. Multiple spec files in one playground are safe **only when their scenarios are disjoint** — own page/DOM/source files, no spec editing a file another spec's page imports. That is how Vite runs its multi-spec playgrounds (and how `lazy-compilation` already works).

`hmr-full-bundle-mode` can't be disjoint: it's *full-bundle* mode with one shared entry (`main.js` imports every scenario's module, `index.html` renders them all), so every spec's server bundles every file and an edit by one spec would rebuild a sibling's page mid-test. Its four `__tests__/*.spec.ts` are therefore merged into one `hmr-full-bundle-mode.spec.ts` — now `describe` blocks that run sequentially, each restoring what it edits.

`lazy-compilation` is **left unchanged**: its four specs already use disjoint scenarios (separate DOM nodes and source folders, lazily compiled so they never warm each other), so they run safely in parallel as separate spec files.

## Verification

Local: `pnpm run test:browser` — 5 test files / 14 tests pass in parallel with no retry.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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.

3 participants