Skip to content

Migrate the repository tooling to Rolldown and isolated declarations.#1299

Open
filipsobol wants to merge 7 commits intomasterfrom
ci/4293-migrate-to-rolldown-and-isolated-declarations
Open

Migrate the repository tooling to Rolldown and isolated declarations.#1299
filipsobol wants to merge 7 commits intomasterfrom
ci/4293-migrate-to-rolldown-and-isolated-declarations

Conversation

@filipsobol
Copy link
Copy Markdown
Member

@filipsobol filipsobol commented Feb 18, 2026

🚀 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:

  • I renamed numerous files, and Git didn't register it properly, so instead of one rename, there are two changes for some files (deletion + addition).
  • Because some tests are written in TypeScript, I configured TS to typecheck them too, which previously didn't happen. This forced me to fix some typings in tests too.

Findings

  • Similar migrations should be fairly easy to implement in CKE5 repositories.

How to test

In the repository root, run the following commands:

  • pnpm run -r build — run build command in all packages that have this command.
  • pnpm run typecheck — run a single TypeScript check for all .ts files in the repository.

In the CKE5 repository (on the master-v48 branch), run the following commands:

  • pnpm run nice
  • pnpm run docs
  • pnpm run docs:verify
  • pnpm run release:prepare-packages --compile-only
  • pnpm run check-dependencies
  • pnpm run manual

Note

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 rollup to rolldown by replacing rollup.config.js with rolldown.config.js, updating package scripts/deps, and dropping per-package tsconfig.json files.

Adds scripts/plugin-declarations.js (tested in scripts-tests/plugin-declarations.mjs) to generate .d.ts assets via oxc-transform isolated declarations, and updates the root tsconfig.json to enforce repo-wide strict typechecking (isolatedDeclarations, noEmit, expanded includes/excludes). CI is updated to run pnpm run typecheck, and the dynamic CircleCI config generator no longer injects per-package types steps.

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.

Copy link
Copy Markdown

@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.

✅ Bugbot reviewed your changes and found no new issues!

Comment @cursor review or bugbot run to trigger another review on this PR

Copy link
Copy Markdown

@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.

"@types/node": "^22.14.1",
"@types/postcss-mixins": "^9.0.5",
"@vitest/coverage-v8": "^4.0.18",
"rolldown": "^1.0.0-rc.4",
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.

While I can accept isolated declarations, I am opposed to using unstable dependencies.

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 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?

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 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.

Base automatically changed from epic/ci/4168-drop-oim to master March 12, 2026 09:48
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