Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@ckeditor/ckeditor5-dev-webpack-plugin

ckeditor124.4kGPL-2.0-or-laterdeprecated31.1.13

This package is no longer maintained. Please, read the migration path: https://github.com/ckeditor/ckeditor5-dev/releases/tag/v32.0.0.

CKEditor 5 plugin for webpack.

readme

CKEditor 5 webpack plugin

npm version Build Status Dependency Status

Intergrate CKEditor 5's build process with your webpack setup.

Requires webpack ^4.0.0 or ^5.0.0.

More information about development tools packages can be found at the following URL: https://github.com/ckeditor/ckeditor5-dev.

Usage

The current functionality of this plugin is limited to localizing the editor builds. Add this plugin to your webpack configuration to change the language of the editor's interface or build the editor with support for multiple languages (by extracting multiple language files):

const CKEditorWebpackPlugin = require( '@ckeditor/ckeditor5-dev-webpack-plugin' );

// Define webpack plugins ...
    plugins: [
        new CKEditorWebpackPlugin( options ),

        // Other webpack plugins...
    ]
// ...

Options:

language

The main language that will be built into the main bundle, e.g. en.

additionalLanguages

Additional languages that will be emitted to the outputDirectory. This option can be set to an array of language codes or 'all' to build all found languages. The bundle is optimized for one language when this option is omitted.

outputDirectory

An optional directory for emitted translations. Relative to the webpack's output. Defaults to 'translations'.

strict

When set to true, it stops the webpack compilation when an error occurs. Defaults to false.

verbose

When set to true, it logs all warnings found during the compilation. Defaults to false.

addMainLanguageTranslationsToAllAssets

When set to true, all generated assets (bundles) will include translations for the main language.

buildAllTranslationsToSeparateFiles

When set to true, all translations will be output to the translations directory (or the directory specified by the outputDirectory option).

packageNamesPattern

A pattern which is used for determining if a package may contain translations (PO files) in the <package_name>/lang/translations directory. Defaults to /[/\\]ckeditor5-[^/\\]+[/\\]/.

sourceFilesPattern

A pattern which is used for determining if a file may contain messages to translate. Defaults to /[/\\]ckeditor5-[^/\\]+[/\\]src[/\\].+\.js$/.

translationsOutputFile

An option that allows specifying the target file to which all translations will be outputted. This option supports a string, regular expression and a function. If no asset exists with the name, it will be created automatically and filled with translations.

includeCorePackageTranslations

When set to true, all translations from the ckeditor5-core package will be added into the bundle files. Defaults to false.

skipPluralFormFunction

When set to true, the getPluralForm() function (if exists for the specified language) will not be added into the bundle file. Defaults to false.

corePackagePattern

(internal) A pattern which is used to get a path to the core translation package from corePackageSampleResourcePath, which contains the main translations. Defaults to /[/\]ckeditor5-core/.

corePackageSampleResourcePath

(internal) A sample path to the ckeditor5-core package. A test import to this file shows if the ckeditor5-core package is available and allows to load the core package translations first.

corePackageContextsResourcePath

(internal) A path the context.json file in the ckeditor5-core package. It is used if the includeCorePackageTranslations option is set to true.

You can read more about localizing the editor in the Setting the UI language guide.

Changelog

See the CHANGELOG.md file.

License

Licensed under the terms of GNU General Public License Version 2 or later. For full details about the license, please check the LICENSE.md file.

changelog

Changelog

31.1.13 (2022-11-25)

Bug fixes

  • webpack-plugin: Fixed generating source maps after switching the order of loaders in the CKEditor 5 translations webpack plugin. The source loader should pass through the source map object to avoid generating a new one. Closes ckeditor/ckeditor5#12928. (commit)

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Other releases:

31.1.12 (2022-11-24)

Bug fixes

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Other releases:

31.1.11 (2022-11-22)

Bug fixes

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Other releases:

31.1.10 (2022-11-22)

Bug fixes

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Other releases:

31.1.9 (2022-11-17)

Bug fixes

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Other releases:

31.1.8 (2022-11-04)

The v31.1.8 release restores changes introduced in the v31.1.6 version.

We found a different approach to add DllReferencePlugin to the webpack configuration for DLL and non-DLL manual tests. Now, they are compiled in separate processes, and the CKEditor5 is not defined error should not occur anymore.

Bug fixes

  • tests: When processing manual tests, if any of them require a DLL build, the manual test server adds the DllReferencePlugin plugin to the webpack configuration to avoid the duplicated modules error when using an import statement behind the CK_DEBUG_* flags. See ckeditor/ckeditor5#12791. (commit)

Other changes

  • tests: Split DLL and non-DLL manual tests to run separate webpack processes for both groups. They need to be compiled separately because DLL tests require DllReferencePlugin, and non-DLL ones must not have it. (commit)

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Other releases:

31.1.7 (2022-11-04)

Bug fixes

  • Reverts #809 due to the CKEditor5 is not defined error when processing mixed tests (DLL and non-DLL). (commit)

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Other releases:

31.1.6 (2022-11-04)

Bug fixes

  • tests: When processing manual tests, if any of them require a DLL build, the manual test server adds the DllReferencePlugin plugin to the webpack configuration to avoid the duplicated modules error when using an import statement behind the CK_DEBUG_* flags. Closes ckeditor/ckeditor5#12791. (commit)

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Other releases:

31.1.5 (2022-10-27)

Bug fixes

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Other releases:

31.1.4 (2022-10-25)

Other changes

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Other releases:

31.1.3 (2022-10-20)

Bug fixes

  • webpack-plugin: Improved the default RegExp used in the sourceFilesPattern option to match only *.ts and *.js files. (commit)

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Other releases:

31.1.2 (2022-10-20)

Bug fixes

Other changes

  • utils: The CKEditorWebpackPlugin is added to the webpack configuration for DLL builds only when the lang/ directory is present in the package directory. Closes ckeditor/ckeditor5#12584. (commit)

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Other releases:

31.1.1 (2022-10-07)

Bug fixes

  • tests: Disabled watch mode for building manual tests when no files are provided. Closes ckeditor/ckeditor5#12189. (commit)
  • tests: Debugging of manual tests should properly display TypeScript files. Debugging of automatic tests should remove the 'istanbul-instrumenter-loader' if the 'coverage' reporter was disabled by 'karma-config-overrides'. (commit)

Other changes

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Other releases:

31.1.0 (2022-09-19)

Features

  • tests: The manual test server will detect whether DLL builds are required when compiling manual tests. If so, it asks a user whether to build them before starting to compile tests. Closes ckeditor/ckeditor5#12190. (commit)

    Feature (tests) Added the --dll and --no-dll flags to the manual test server. Both are optional and allow avoiding asking whether to build DLL files. When passing --dll, the script will build them automatically. When passing --no-dll, the process of building DLLs will not be triggered.

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Releases containing new features:

Other releases:

31.0.0 (2022-09-09)

MAJOR BREAKING CHANGES ℹ️

  • tests: Changed syntax in the --files option for tests used to compile tests from a specific directory. Now, it requires a slash at the end.
  • tests: Removed option of using simplified glob in filename option for tests.

Features

Bug fixes

Other changes

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Releases containing new features:

Other releases:

30.5.0 (2022-09-01)

Features

  • env: Added a new check during the release process that verifies if all required files exist in a package directory before releasing a package on npm. (commit)
  • tests: Added the --resolve-js-first option that prioritizes loading *.js over *.ts files for automated tests. (commit)
  • tests: Added the --cache option that enables webpack cache for automated tests. (commit)

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Releases containing new features:

Other releases:

30.4.0 (2022-08-04)

Features

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Releases containing new features:

Other releases:

30.3.5 (2022-07-23)

Other changes

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Other releases:

30.3.4 (2022-07-21)

Bug fixes

  • tests: Override compiler options when processing test files to avoid errors when modifying source files when the watcher mode is enabled. Both tasks use noEmit=false. Additionally, for manual tests use noEmitOnError=false. For automated tests, use noEmitOnError=true to avoid running tests when the TypeScript compilator ends with an error Closes ckeditor/ckeditor5#12111. (commit)

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Other releases:

30.3.3 (2022-07-20)

Bug fixes

Other changes

  • env: Renaming the entry point extension from ".ts" to ".js" in the main field in the package.json files for each package written in TypeScript before the package is published to npm. After publishing, the original extension is restored. Closes ckeditor/ckeditor5#12038. (commit)

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Other releases:

30.3.2 (2022-07-06)

Other changes

  • env: Added new method getResourceTranslations() in lib/translations/transifex-service.js for fetching all current translations from Transifex for specified resource and language. (commit)
  • env: Exposed new method isSourceLanguage() in lib/translations/transifex-service.js that checks if the specified language is the source language (English). (commit)

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Other releases:

30.3.1 (2022-06-22)

Other changes

  • utils: Adds support for TypeScript when building DLLs. (commit)

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Other releases:

30.3.0 (2022-06-08)

Features

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Releases containing new features:

Other releases:

30.2.0 (2022-06-03)

Features

Bug fixes

  • tests: Properly detect console method usage in the asynchronous code and stop the whole test run if the --production flag is set. (commit)

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Releases containing new features:

Other releases:

30.1.5 (2022-05-23)

Other changes

  • utils: Passed the noIsPseudoSelector option to postcss-nesting for backward compatibility in browsers that do not support CSS :is(). Closes #ckeditor/ckeditor5#11730. (commit)

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Other releases:

30.1.4 (2022-05-13)

Other changes

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Releases containing new features:

Other releases:

30.1.3 (2022-04-15)

Other changes

  • utils: Upgraded the PostCSS plugins to their latest versions due to producing the invalid CSS content. (commit)

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Other releases:

30.1.2 (2022-04-14)

Other changes

  • utils: The version of the following dependencies postcss-mixins and postcss-nesting was upgraded to use the PostCSS@8 API for declaring the plugins. (commit)

    Thanks, @yoyo837.

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Other releases:

30.1.1 (2022-04-12)

Internal changes only (updated dependencies, documentation, etc.).

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Other releases:

30.1.0 (2022-03-30)

Features

  • docs: Web crawler shows the full console error that has been captured. Closes ckeditor/ckeditor5#11505. (commit)
  • docs: Web crawler listens to the unhandledRejection errors and marks the script execution as failed. (commit)

Other changes

  • docs: Web crawler can now properly serialize objects and iterables that are passed to the console. (commit)

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Releases containing new features:

Other releases:

30.0.1 (2022-03-22)

Other changes

  • utils: Removed the invalid "postcss" package defined as "peerDependencies". (commit)

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Other releases:

30.0.0 (2022-03-22)

MAJOR BREAKING CHANGES ℹ️

  • utils: Upgraded the postcss version to 8 and marked the package as peer dependency instead of dependency. Starting from this version, when using the @ckeditor/ckeditor5-dev-utils, you need to manually install the postcss dependency.

Features

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Releases containing new features:

Other releases:

29.0.2 (2022-03-18)

Other changes

  • Downgraded the previous version of the sinon dependency due to errors while executing tests in CKEditor 5. (commit)

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Other releases:

29.0.1 (2022-03-18)

Other changes

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Other releases:

29.0.0 (2022-03-18)

MAJOR BREAKING CHANGES ℹ️

  • env: The url option for uploadPotFiles() and downloadTranslations() is not supported anymore. Instead, use organizationName and projectName that represent organization and project names.
  • env: The uploadPotFiles() task does not read anything from the file system automatically (removed the translationsDirectory option). A developer must pass the cwd option, which points to the project's root directory. Also, the packages map is required, which defines which packages should be processed. Keys in the map represent package names, while their values point to directories where to look for translation sources.

Features

  • env: Tools for translations use the latest version of the Transifex API (3.0). Improved the UI - these scripts print updates whenever a new step of the process starts. (commit)
  • env: The upload() and download() scripts stores resources that could not be processed (e.g., due to network issues). Only packages that failed during the previous run will be processed when re-running. (commit)

Bug fixes

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Releases containing new features:

Other releases:

28.1.1 (2022-03-03)

Bug fixes

  • tests: Karma integrated with the IntelliJ IDE rebuilds the test bundle when detecting a change. (commit)
  • tests: Paths to files are clickable from a console if a test fails. (commit)
  • tests: Karma should not execute the test bundle twice when detecting a change (a macOS case). (commit)

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Other releases:

28.1.0 (2022-02-25)

Features

  • tests: Added --identity-file (-i) option for automated tests. (commit)

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Releases containing new features:

Other releases:

28.0.4 (2022-02-17)

Bug fixes

  • env: Added the missing "webpack" dependency in "package.json" which is a peer dependency of the @ckeditor/ckeditor5-dev-utils package. Closes ckeditor/ckeditor5#11300. (commit)

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Other releases:

28.0.3 (2022-02-17)

Other changes

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Other releases:

28.0.2 (2022-02-03)

Other changes

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Other releases:

28.0.1 (2022-01-20)

Bug fixes

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Other releases:

28.0.0 (2022-01-12)

This version contains updated copyrights in a license in all source files.

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Other releases:

27.4.0 (2022-01-07)

Features

  • env: Created a script for updating versions of ckeditor5 and @ckeditor/ckeditor5-* dependencies to a specified version. (commit)

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Releases containing new features:

Other releases:

27.3.0 (2022-01-04)

Features

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Releases containing new features:

Other releases:

27.2.0 (2022-01-03)

Features

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Releases containing new features:

Other releases:

27.1.1 (2021-12-17)

Bug fixes

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Other releases:

27.1.0 (2021-12-10)

Features

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Releases containing new features:

Other releases:

27.0.0 (2021-12-09)

MAJOR BREAKING CHANGES ℹ️

  • Upgraded the minimal versions of Node.js to 14.0.0 due to the end of LTS.

Other changes

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Other releases:

26.2.1 (2021-12-08)

Bug fixes

  • tests: Added the definition for process/browser in webpack configuration for the manual test server to fix the problem "process is not defined". (commit)

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Other releases:

26.2.0 (2021-12-08)

MINOR BREAKING CHANGES ℹ️

  • tests: Packages starting with the ckeditor- prefix are not supported anymore.

Other changes

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Other releases:

26.1.0 (2021-11-24)

Features

Bug fixes

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Releases containing new features:

Other releases:

26.0.1 (2021-11-18)

Bug fixes

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Other releases:

26.0.0 (2021-11-18)

MAJOR BREAKING CHANGES ℹ️

  • env: The createPotFiles() function requires the translationsDirectory option, which points to the directory where all *.po files will be created.
  • env: The downloadTranslations() function requires the following properties:translationsDirectory - an absolute path used for resolving paths to packages; url - Transifex API URL.
  • env: The upload() function requires the following properties: translationsDirectory- points to the directory where all *.po files will be created; url - Transifex API URL.
  • env: Removed the ckeditor5-dev-env-translations binary script as it worked only for the CKEditor 5 project. Use the following functions instead: const { createPotFiles, uploadPotFiles, downloadTranslations } = require( '@ckeditor/ckeditor5-dev-env' );.
  • env: The uploadPotFiles() and downloadTranslations() functions require the token value passed directly to the script. Use the const getToken = require( '@ckeditor/ckeditor5-dev-env/lib/translations/gettoken' ) function for reading the input from the command line.

MINOR BREAKING CHANGES ℹ️

  • env: All functions in the transifex-service.js util require the url value when calling API.

Features

  • env: Redesigned the API for handling localization in CKEditor 5 sources. Now, the code can be shared in 3rd party plugins created by external developers. See ckeditor/ckeditor5-package-generator#9. (commit)
  • env: The createPotFiles() function accepts new flags:. (commit)

    • ignoreUnusedCorePackageContexts - when set to true, unused contexts from the @ckeditor/ckeditor5-core package will not be displayed as errors,
    • skipLicenseHeader - when set to true, created *.po files will not contain the CKEditor 5 license header.
  • env: The simplifyLicenseHeader() function accepts a new flag (simplifyLicenseHeader) that allows skipping adding the contribute URL in generated *.po files. (commit)

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Releases containing new features:

Other releases:

25.4.5 (2021-10-26)

Bug fixes

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Other releases:

25.4.4 (2021-09-23)

Bug fixes

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Other releases:

25.4.3 (2021-09-22)

Other changes

  • tests: Added in the Karma configuration a list of available plugins to avoid an error related to loading a non-registered plugin. (commit)

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Other releases:

25.4.2 (2021-08-30)

Bug fixes

  • env: The "generateChangelog()" util will not crash when merging "Updated translations." commits found in the private repositories. Closes ckeditor/ckeditor5#10445. (commit)

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Other releases:

25.4.1 (2021-08-19)

Bug fixes

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Other releases:

25.4.0 (2021-08-12)

Features

  • webpack-plugin: Introduced several new options that improve the output files produced by the plugin. (commit)

    New options:

    • corePackageContextsResourcePath - (optional) a path to the file where all translation contexts are specified for the ckeditor5-core package. Defaults to '@ckeditor/ckeditor5-core/lang/contexts.json'.
    • includeCorePackageTranslations - (optional) a flag that determines whether all translations found in the core package should be added to the output bundle file. If set to true, translations from the core package will be saved even if they are not used in the source code (*.js files). Defaults to false.
    • skipPluralFormFunction- (optional) a flag that determines whether the getPluralForm() function should not be added in the output bundle file. Defaults to false.

Other changes

  • utils: The webpack configuration for DLL builds now produces the translation files. (commit)

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Releases containing new features:

Other releases:

25.3.1 (2021-08-11)

Other changes

  • docs: The web-crawler configuration now allows ignoring HTTPS errors. (commit)

    New options:

    • ignoreHTTPSErrors - (optional) a flag passed to the browser creator that allows ignoring HTTPS errors (e.g., when validating over HTTPS with a self-signed certificate). Defaults to false.

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Other releases:

25.3.0 (2021-07-26)

Features

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Releases containing new features:

Other releases:

25.2.6 (2021-07-13)

Bug fixes

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Other releases:

25.2.5 (2021-07-12)

Other changes

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Other releases:

25.2.4 (2021-06-28)

Other changes

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Other releases:

25.2.3 (2021-06-21)

Bug fixes

Other changes

  • tests: The Slack notifier script will read the commit message from GitHub API for a particular commit. If the SLACK_NOTIFY_COMMIT_URL variable is specified, the value will be treated as the commit. Otherwise, a concatenation of TRAVIS_REPO_SLUG, and TRAVIS_COMMIT variables will be used. (commit)
  • tests: The Slack notifier will print a message if a commit was made by a bot (as a result of merging branches). (commit)
  • tests: The Slack notifier script will work if a commit comes from the #stable branch. (commit)

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Other releases:

25.2.2 (2021-06-10)

Other changes

  • tests: Added the always visible button that navigates back to the list of manual tests. Refined the look of the list of manual tests. Closes ckeditor/ckeditor5#9843. (commit)

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Other releases:

25.2.1 (2021-05-21)

Other changes

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Other releases:

25.2.0 (2021-05-20)

Features

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Releases containing new features:

Other releases:

25.1.0 (2021-05-19)

Features

  • docs: Introduced a web crawler that allows verifying whether subpages under the specified URL can be opened without any errors. (commit)

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Releases containing new features:

Other releases:

25.0.0 (2021-05-18)

MAJOR BREAKING CHANGES ℹ️

  • utils: The webpack configuration returned by the builds.getDllPluginWebpackConfig() function will not export the default library (libraryExport) anymore. See ckeditor/ckeditor5#9134.

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Other releases:

24.4.2 (2021-03-16)

Other changes

  • tests: Ability to disable mentioning an author of the commit in the Slack notification by specifying the environment variable (SLACK_NOTIFY_HIDE_AUTHOR="true"). Closes ckeditor/ckeditor5#9252. (commit)

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Other releases:

24.4.1 (2021-03-12)

Bug fixes

Other changes

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Other releases:

24.4.0 (2021-03-08)

Features

  • tests: The notify-travis-status script will mention an author of a commit that caused to fail the CI. (commit)

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Releases containing new features:

Other releases:

24.3.0 (2021-03-01)

Features

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Releases containing new features:

Other releases:

24.2.0 (2021-02-16)

Features

  • env: The bumpVersions() function can read the changelog file from an external directory (using options.changelogDirectory). Thanks to that, the private packages from the mono-repository can be released using a public changelog. (commit)
  • env: The bumpVersions() function allows skipping upgrading versions of dependencies between updated packages (using options.skipUpdatingDependencies which is false by default). (commit)

Bug fixes

  • env: Simplified a check whether a package was published on NPM in the releaseSubRepositories() function. (commit)
  • utils: A DLL-consumer package produced by webpack should be assigned to the window object. See ckeditor/ckeditor5#9039. (commit)

Other changes

  • env: The bumpVersions() function returns a promise with a collection that contains all updated packages. Previously the promise didn't resolve anything. (commit)

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Releases containing new features:

Other releases:

24.1.0 (2021-02-01)

Features

  • env: Support for collecting commits from additional mono-repositories in the generateChangelogForMonoRepository() function. (commit)
  • utils: Added a module (builds.getDllPluginWebpackConfig()) that produces the webpack configuration for DLL. See ckeditor/ckeditor5#8395. (commit)

Bug fixes

  • env: The "releaserepositories.js" script should not throw an error if the "options.customReleasesFiles" option is not specified. Closes ckeditor/ckeditor5#8932. (commit)

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Releases containing new features:

Other releases:

24.0.2 (2021-01-20)

Other changes

  • tests: Minor improvements for the dependency checker that is exposed as a binary script by the @ckeditor/ckeditor5-dev-tests package (ckeditor5-dev-tests-check-dependencies). Closes https://github.com/ckeditor/ckeditor5/issues/8862. (commit)

    • Added a flag --quiet that allows display logs only if found issues with dependencies,
    • If packages were not specified in arguments, all packages found in the packages/ directory will be checked by default.

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Other releases:

24.0.1 (2021-01-19)

Bug fixes

  • env: Changed packages in the generated changelog will be grouped properly by exact comparing their scopes instead of matching values. Closes ckeditor/ckeditor5#8596. (commit)
  • tests: Improved the dependency checker in detecting missing, unused, or misplaced packages from JS, CSS, and package.json files. Closes ckeditor/ckeditor5#8817. (commit)

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Other releases:

24.0.0 (2021-01-11)

MAJOR BREAKING CHANGES ℹ️

  • env: Renamed options.packageJsonForEmptyReleases to options.packageJsonForCustomReleases in the releaseSubRepositories() function.
  • env: Renamed options.emptyReleases to options.customReleases in the releaseSubRepositories() function.

Features

  • env: The idea of having "emptyReleases" has been changed to "customReleases" that allows specifying which files from the original package should be copied. Introduced the customReleasesFiles option for the releaseSubRepositories() function. It allows specifying glob patterns of files that should be copied to the temporary directory from which the package will be published on npm. Closes ckeditor/ckeditor5#8616. (commit)
  • env: Added the "--include-external-directory" to the translations:collect task that allows checking packages located in the "external/" directory. See ckeditor/ckeditor5#7901. (commit)

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Major releases (contain major breaking changes):

Other releases:

23.6.1 (2020-11-06)

Internal changes only (updated dependencies, documentation, etc.).

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Other releases:

23.6.0 (2020-10-22)

Features

  • env: generateChangelogForMonoRepository() accepts a new option options.skipLinks (which is false by default) to omit release and commit links in the generated changelog. Closes ckeditor/ckeditor5#8167. (commit)
  • env: generateChangelogForSinglePackage() accept an optional option: options.releaseBranch (which defaults to master). (commit)

Bug fixes

Other changes

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Releases containing new features:

Other releases:

23.5.1 (2020-09-04)

Other changes

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Other releases:

23.5.0 (2020-09-04)

Features

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Releases containing new features:

Other releases:

23.4.0 (2020-09-02)

Features

  • tests: Introduced the --repositories (also known as -r) option that allows specifying a name of a repository (or repositories, separated by a comma, similar to the --files option) where the tool should look for packages that should be tested. Thanks to that, you do not have to specify all packages of a repository that was cloned into the external/ directory. Closes ckeditor/ckeditor5#7889. (commit)

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Releases containing new features:

Other releases:

23.3.0 (2020-09-01)

Features

Other changes

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Releases containing new features:

Other releases:

23.2.0 (2020-08-20)

Features

  • jsdoc-plugins: Introduced a plugin that hides the package documentation if in the package's package.json file the private key is set to true. However, by adding the @publicApi annotation, you can mark blocks of the code that should not be hidden. (commit)
  • tests: Manual test server accepts a new flag: --identity-file (alias: -i) that allows defining global constants in manual tests. (commit)

Other changes

  • env: Improved output displayed while the translations.upload() function is working. Instead of displaying console.log() after each package, summary tables will be displayed when the function finishes its job. (commit)
  • tests: Manual test script will not search for tests in the ./manual/_utils directory. If any of a manual test requires additional utils to work, those can be placed in the _utils directory. (commit)

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Releases containing new features:

Other releases:

23.1.1 (2020-08-05)

Internal changes only (updated dependencies, documentation, etc.).

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Other releases:

23.1.0 (2020-08-03)

Features

Bug fixes

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Releases containing new features:

Other releases:

23.0.0 (2020-07-21)

MAJOR BREAKING CHANGES ℹ️

  • jsdoc-plugins: Functions documented in a module will no longer be documented as static functions. Therefore links to functions will not contain the static- part and links created in the past will no longer work.

Features

  • jsdoc-plugins: Updated JSDoc and align custom JSDoc plugins. Part of ckeditor/ckeditor5#7575. (commit)

    • Improved performance,
    • Fixed incorrectly and inconsistently documented functions. Previously they were marked as static/instance using the . or # symbols. Now they are documented the same as classes, interfaces, and mixins using the ~ symbol. (e.g. module:widget/utils~toWidget),
    • Validator was improved, now it detects duplicated modules and previously hidden mistakes.
    • Updated JSDoc allows for modern JS syntax, async/await among others.

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Major releases (contain major breaking changes):

Other releases:

22.0.0 (2020-07-20)

MAJOR BREAKING CHANGES ℹ️

  • env: Task generateChangelogForMonoRepository() will generate the changelog uses the same version for all packages.

Features

Bug fixes

  • env: The getCommit() util will return a proper array with commits if the release branch in the project is other than master. Due to --first-parent flag which is used for collecting the commits, when the release branch is other than master, commits made on master could not be collected directly from the branch. Now those commits are collected in two ranges: from the last tag to the base commit and from the base commit to HEAD and merged together. Closes ckeditor/ckeditor5#7492. (commit)
  • env: Scoped breaking changes notes won't be duplicated in the changelog. Closes ckeditor/ckeditor5#7495. (commit)
  • env: Commit and note groups should be sorted properly. Closes ckeditor/ckeditor5#7496. (commit)

Other changes

  • env: The generateChangelogForMonoRepository() task supports options.releaseBranch that is passed directly to the getCommit() util. See ckeditor/ckeditor5#7492. (commit)
  • env: The changelog generator for mono repository will use the same version for all packages. On the screen, a user will see all changes: MAJOR BREAKING CHANGES, MINOR BREAKING CHANGES, and all commits since the last release. The user must review it and provide the version. Closes ckeditor/ckeditor5#7323. (commit)
  • env: Merge commits between stable/release/master branches will be ignored when generating the changelog, to reduce the noise. Closes ckeditor/ckeditor5#7489. (commit)

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Major releases (contain major breaking changes):

Releases containing new features:

Other releases:

21.0.0 (2020-06-22)

MAJOR BREAKING CHANGES ℹ️

  • Minimal version of Node.js for all packages included in the repository has been increased to 12.0.0.

Features

Bug fixes

  • When typed "skip" as a new version, the changelog generator should abort the process instead of writing invalid entries to the changelog file. Closes ckeditor/ckeditor5#7402. (commit)

Other changes

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Major releases (contain major breaking changes):

20.2.1 (2020-06-01)

Internal changes only (updated dependencies, documentation, etc.).

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Other releases:

20.2.0 (2020-05-31)

Features

Bug fixes

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Releases containing new features:

20.1.0 (2020-05-27)

Features

Bug fixes

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Releases containing new features:

Other releases:

20.0.0 (2020-05-22)

MAJOR BREAKING CHANGES ℹ️

  • env: Removed generateChangelogForSubPackages() task. Use generateChangelogForMonoRepository() instead.
  • env: Removed generateChangelogForSubRepositories() task. Use generateChangelogForMonoRepository() instead if your repository is a monorepository.
  • env: Removed generateSummaryChangelog() task.
  • env: CKEditor 5 release tools now are designed to work with monorepo architecture.
  • env: Following binary commands were removed:
    • ckeditor5-dev-tests-travis
    • ckeditor5-dev-tests-prepare-mrgit-json
    • ckeditor5-dev-tests-prepare-package-json
    • ckeditor5-dev-tests-install-dependencies
    • ckeditor5-dev-tests-save-revision

MINOR BREAKING CHANGES ℹ️

  • env: Removed support for the NOTE type of commit's notes.
  • env: Removed hasMajorBreakingChanges() and hasMinorBreakingChanges() utils from /lib/release-tools/utils/changelog.js helper.
  • env: Removed the getNewReleaseType() util. Use getCommits() and getNewVersionType() instead.
  • env: Removed getSubPackagesPaths() util.
  • env: Renamed getSubRepositoriesPaths() util to getPackagesPaths().
  • env: The util getPackagesPaths() does not check whether packages are defined as dependencies in package.json in the main repository.
  • env: Task generateChangelogForSinglePackage() does not accept options: newVersion, disableMajorBump, isInternalRelease, indentLevel, useExplicitBreakingChangeGroups anymore. The task should be used for generating the changelog for the single repository.
  • env: Moved all utils from /lib/release-tools/utils/transform-commit to /lib/release-tools/utils.

Features

  • env: Support for multi-entries messages in the single commit and scoped changes. Closes ckeditor/ckeditor5#7207, ckeditor/ckeditor5#7171. See Git commit message convention guide. (commit)
  • env: Added new utils that help to collect commits, parsing them, and generating the changelog. (commit)

    • The util for generating changelog from commits (those must be specified as an argument). See /lib/release-tools/utils/generatechangelog.js
    • The util for collecting commits. See /lib/release-tools/utils/getcommits.js
    • The util for suggesting new version based on commits. See /lib/release-tools/utils/getnewversiontype.js
  • env: Task generateChangelogForSinglePackage() supports new options: from - a commit or tag for collecting commits since the last release, highlightsPlaceholder - whether to add "Release highlights" placeholder in the changelog, collaborationFeatures - whether to add a URL to collaboration features changelog. (commit)
  • tests: Introduced the --port flag allowing to customize port number for automated tests server. Closes #637. (commit)

Bug fixes

  • env: The getChangedFilesForCommit() util filters files returned by the Git command. It won't return an empty string anymore. (commit)

Other changes

  • env: Adjusted release tools to handle single mono-repository architecture. Closes #606. (commit)
  • env: Commits in the changelog will display the word commit instead of the first 7 characters from the commit's hash. In big repositories (the number of commits is huge), 7 characters are not unique anymore. (commit)
  • env: Closes references will be merged into a single entry. Github does not support such references (Closes x, y) but it can be simplified during the commit's transformation. (commit)
  • env: The provideVersion() util from lib/release-tools/utils/cli.js allows disabling returning skip version by setting its option disableSkipVersion to true. (commit)
  • tests: Removed unnecessary scripts after merging the main repository to the monorepo. Closes #628. (commit)
  • Removed lerna and all its files from the project. Now the release process is handled by our tools. The entire repository will follow the same rules as ckeditor5. Read more in the Versioning policy guide. (commit)

Released packages

Check out the Versioning policy guide for more information.

<summary>Released packages (summary)</summary>

Major releases (contain major breaking changes):

Releases containing new features:

Other releases: