Skip to content

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

Open
filipsobol wants to merge 12 commits into
masterfrom
ci/4293-migrate-to-rolldown-and-isolated-declarations
Open

Migrate the repository tooling to Rolldown and isolated declarations.#1299
filipsobol wants to merge 12 commits into
masterfrom
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.

Comment thread packages/typedoc-plugins/rolldown.config.js
Comment thread scripts/plugin-declarations.js
Comment thread .circleci/template.yml
Comment thread packages/ckeditor5-dev-utils/package.json
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

Comment thread scripts/plugin-declarations.js
Comment thread packages/ckeditor5-dev-build-tools/package.json Outdated
Base automatically changed from epic/ci/4168-drop-oim to master March 12, 2026 09:48
@filipsobol filipsobol force-pushed the ci/4293-migrate-to-rolldown-and-isolated-declarations branch from 512b1f7 to dd07c99 Compare May 11, 2026 07:52
@pomek
Copy link
Copy Markdown
Member

pomek commented May 11, 2026

Is this change a breaking change?

Comment thread packages/ckeditor5-dev-web-crawler/package.json
@filipsobol
Copy link
Copy Markdown
Member Author

filipsobol commented May 11, 2026

Is this change a breaking change?

I don't think so. While the bundles might be slightly different, the APIs we already expose should stay intact. We don't fundamentally change the APIs, so if something stops working, then it will be a regression needing fixing.

See the “Additional information” section above.

@filipsobol filipsobol requested a review from pomek May 11, 2026 09:06
Comment thread scripts/plugin-declarations.js Outdated
Comment thread packages/ckeditor5-dev-changelog/rolldown.config.js Outdated
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 2 potential issues.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 35dddf5. Configure here.

Comment thread packages/ckeditor5-dev-changelog/rolldown.config.js
Comment thread scripts/plugin-declarations.js Outdated
@filipsobol filipsobol requested a review from psmyrek May 19, 2026 14:01
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