CKEditor 5 plugin for webpack.

Usage no npm install needed!

<script type="module">
  import ckeditorCkeditor5DevWebpackPlugin from 'https://cdn.skypack.dev/@ckeditor/ckeditor5-dev-webpack-plugin';


CKEditor 5 webpack plugin

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.


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



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


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.


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


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


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


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


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


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-[^/\\]+[/\\]/.


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


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.


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


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


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


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


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


See the CHANGELOG.md file.


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.