Migrate the repository tooling to Rolldown and isolated declarations.#1299
Migrate the repository tooling to Rolldown and isolated declarations.#1299filipsobol wants to merge 7 commits intomasterfrom
Conversation
…-and-isolated-declarations
There was a problem hiding this comment.
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.
…e glob available in Node).
| "@types/node": "^22.14.1", | ||
| "@types/postcss-mixins": "^9.0.5", | ||
| "@vitest/coverage-v8": "^4.0.18", | ||
| "rolldown": "^1.0.0-rc.4", |
There was a problem hiding this comment.
While I can accept isolated declarations, I am opposed to using unstable dependencies.
There was a problem hiding this comment.
I do not understand why we migrate partially. Rolldown is used to build internals, but in the end, we still use Rollup. Is it due to a lack of changes in CKEditor 5?
There was a problem hiding this comment.
I propose to merge isolated declarations if this PR focuses only on them.
Once rolldown officially releases v1 (https://voidzero.dev/posts/announcing-rolldown-rc#roadmap-to-1-0-and-vite-8), we can adopt it in this repository.
🚀 Summary
Migrate the repository tooling to Rolldown and isolated declarations.
📌 Related issues
💡 Additional information
No changelog
There are no changelog entries, as this is an internal-only change and should not affect the consumers.
Explanation for number of changes
There are more changes than necessary, but that's because:
Findings
How to test
In the repository root, run the following commands:
pnpm run -r build— runbuildcommand in all packages that have this command.pnpm run typecheck— run a single TypeScript check for all.tsfiles in the repository.In the CKE5 repository (on the
master-v48branch), run the following commands:pnpm run nicepnpm run docspnpm run docs:verifypnpm run release:prepare-packages --compile-onlypnpm run check-dependenciespnpm run manualNote
Medium Risk
Build pipeline and TypeScript configuration changes affect how packages are bundled and how declarations are produced, which can break publishing or CI if Rolldown/isolated declarations behave differently. Runtime logic changes are small but touch crawler error handling and should be validated with existing tests and builds.
Overview
Switches multiple internal tooling packages from
rolluptorolldownby replacingrollup.config.jswithrolldown.config.js, updating package scripts/deps, and dropping per-packagetsconfig.jsonfiles.Adds
scripts/plugin-declarations.js(tested inscripts-tests/plugin-declarations.mjs) to generate.d.tsassets viaoxc-transformisolated declarations, and updates the roottsconfig.jsonto enforce repo-wide strict typechecking (isolatedDeclarations,noEmit, expanded includes/excludes). CI is updated to runpnpm run typecheck, and the dynamic CircleCI config generator no longer injects per-packagetypessteps.Includes follow-up typing fixes in tests and runtime code (e.g., web-crawler event handlers and error message extraction) to satisfy the stricter typechecking.
Written by Cursor Bugbot for commit d080d01. This will update automatically on new commits. Configure here.