Package detail

@ckeditor/ckeditor5-package-tools

ckeditor7.3kMIT4.0.2

Development environment tools for the CKEditor 5 packages.

readme

CKEditor 5 Package Tools

npm version

This package implements the scripts and utils used by ckeditor5-package-generator.

Installation

npm install --save @ckeditor/ckeditor5-package-tools

Usage

The following scripts are available in the package:

  • test – run tests using Vitest testing framework,
  • test:debug – run tests using Vitest testing framework and allows debugging them. Once Vitest starts it will stop execution and wait for you to open developer tools that can connect to Node.js inspector,
  • start – prepares the development server with the live-reloading mechanism,
  • dll:build – prepares a file compatible with CKEditor 5 DLL that exposes plugins from the package,
  • translations:synchronize – validates and synchronizes the translation messages by updating all translation files (*.po files) to be in sync with the context file,
  • translations:validate – only validates the translation messages against the context file,
  • export-package-as-javascript – changes main entry in package.json file to point to a .js file,
  • export-package-as-typescript – changes main entry in package.json file to point to a .ts file.

There are two ways to integrate these scripts, either with npm scripts or Node.js scripts.

Integration with npm scripts

Available scripts can be called via npm scripts in the package.json file, e.g.:

{
  "dll:build": "ckeditor5-package-tools dll:build"
}

Integration with Node.js scripts

Available scripts can be called manually as Node scripts, e.g.:

import packageTools from '@ckeditor/ckeditor5-package-tools';

packageTools[ 'dll:build' ]( /* Ckeditor5PackageToolsOptions */ );

All available scripts require the Ckeditor5PackageToolsOptions object. Its interface is described in the lib/utils/parse-arguments.js file.

Contribute

The source code of this package is available on GitHub in https://github.com/ckeditor/ckeditor5-package-generator/tree/master/packages/ckeditor5-package-tools.

Changelog

See the CHANGELOG.md file.

License

The package is licensed under the terms of MIT license. Please check the LICENSE.md file.

changelog

Changelog

4.0.2 (July 23, 2025)

Bug fixes

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary> Other releases: @ckeditor/ckeditor5-package-tools: v4.0.1 => v4.0.2 ckeditor5-package-generator: v4.0.1 => v4.0.2

4.0.1 (2025-06-26)

Other changes

  • package-tools: Add support for importing raw file content by appending ?raw query parameter to import path. Closes #235. (commit)

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary> Other releases: @ckeditor/ckeditor5-package-tools: v4.0.0 => v4.0.1 ckeditor5-package-generator: v4.0.0 => v4.0.1

4.0.0 (2025-06-04)

MAJOR BREAKING CHANGES ℹ️

  • Updated the required version of Node.js to 22.

Other changes

  • generator: The Stylelint version in the generated packages has been bumped to v16.x. (commit)
  • generator: The ESLint version in the generated packages has been bumped to v9.x. (commit)
  • The development environment of the CKEditor 5 package generator now uses ESLint v9. Therefore, the required Node.js version has been upgraded to 22 to match the ESLint requirements. (commit)

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary> Other releases: @ckeditor/ckeditor5-package-tools: v3.0.1 => v4.0.0 ckeditor5-package-generator: v3.0.1 => v4.0.0

3.0.1 (2025-01-07)

Other changes

  • generator: The package generator prompt displays the suggested name for the UMD build. The name is created from the plugin name and prefixed with the CK. Closes #207. (commit)
  • generator: Aligned the UI component name from the generated package to naming convention in CKEditor 5. Closes #209. (commit)
  • package-generator: Added GPL license key to the packages created by the generator. Closes #201. (commit)

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary> Other releases: @ckeditor/ckeditor5-package-tools: v3.0.0 => v3.0.1 ckeditor5-package-generator: v3.0.0 => v3.0.1

3.0.0 (2024-11-04)

We are excited to announce an update to the package generator for CKEditor 5 plugins. Starting this release, the created packages use Vitest as a testing environment for automated tests.

Taking the occasion, we decided to drop the Transifex integration. Right now, translation entries (if needed) can be modified via pull requests instead of an external service. This change reflects the translation updates in CKEditor 5.

Last but not least, the generator follows the ESM standard. However, this change should not affect the integrators, as the @ckeditor/ckeditor5-package-tools package exposes a binary script that is aligned to the new API.

MAJOR BREAKING CHANGES ℹ️

  • generator: Removed the translations:collect, translations:download and translations:upload scripts from the generated package. Instead, the translations:synchronize and translations:validate scripts are introduced. These two new scripts do not provide an integration with Transifex service anymore, but they help preparing translation files (*.po files) which must be handled by the integrator himself.
  • tools: Removed the translations:collect, translations:download and translations:upload tasks. Instead, the translations:synchronize task is introduced. It helps preparing translation files (*.po files) in the generated package.

MINOR BREAKING CHANGES ℹ️

  • generator: The generated package no longer uses Karma as the test runner. Instead, Vitest is used.
  • tools: The test script is removed, because unit tests in the generated package are executed directly by Vitest. Hence, the previous custom support for the --coverage (-c) and --source-map (-s) flags is no longer needed and has been also removed. The yarn run test (or npm run test) script is still available in the generated package, but it executes Vitest. See CLI flags supported in Vitest.

Other changes

  • generator: Lock to the last compatible version of the @ckeditor/ckeditor5-dev-build-tools package due to the upcoming release of breaking changes in the @ckeditor/ckeditor5-dev-* packages. Closes #191. (commit)
  • generator: Replaced Karma with Vitest as the testing framework in the generated package. (commit)
  • tools: Removed support for the --coverage (-c) and --source-map (-s) flags. (commit)
  • tools: Removed test script from the tools, because unit tests in the generated package are executed now directly by Vitest. (commit)
  • The generated package no longer integrates with the Transifex service. Thanks to that, a community can provide translation entries directly via pull requests. (commit)
  • Converted the project repository to ESM. Closes #192. (commit)

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary> Other releases: @ckeditor/ckeditor5-package-tools: v2.1.1 => v3.0.0 ckeditor5-package-generator: v2.1.1 => v3.0.0

To see all releases, visit the release page.