Bundling TinyMCE plugins using module loading

Overview

This section shows the files required for each TinyMCE plugin. The file paths shown are relative to the root TinyMCE package directory, where tinymce.min.js is stored. For example:

./
├── icons/
├── langs/
├── license.txt
├── models/
├── plugins/
├── readme.txt
├── skins/
├── themes/
├── tinymce.d.ts
├── tinymce.js
├── tinymce.min.js
└── version.txt
If using TinyMCE 7.0.1 or earlier, please refer to Bundling TinyMCE plugins using module loading from the TinyMCE v6 documentation guide.

Required base folder

The below base folder is required for each plugin when bundling TinyMCE.

./plugins/<plugincode>

Example syntax for including the example "<plugincode>" plugin in a bundle using `content.js`for bundling:

Module Syntax Source Example

ES6+

npm

import 'tinymce/plugins/<plugincode>';

.zip

import '../tinymce/plugins/<plugincode>';

Common JS

npm

require('tinymce/plugins/<plugincode>');

.zip

require('../tinymce/plugins/<plugincode>');

Contents

Premium plugins

Currently .zip style bundling is only available for premium plugins.

When bundling, replace the plugincode with the specific plugins in your TinyMCE configuration.

Plugin language files (such as ./plugins/<plugincode>/langs/sv_SE.js) are required where the editor user interface is localized using the language option.

The below plugins require these plugin-language-files

  • AI Assistant (ai)

  • Accessibility Checker (a11ychecker)

  • Enhanced Code (advcode)

  • Enhanced Tables (advtable)

  • Templates (advtemplate)

  • Spelling Autocorrect (autocorrect)

  • Image Editing (editimage)

  • Export to PDF (exportpdf)

  • Export to Word (exportword)

  • Footnotes (footnotes)

  • Import from Word (importword)

  • Merge Tags (mergetags)

  • Page Embedding (pageembed)

  • PowerPaste (powerpaste)

  • Revision History (revisionhistory)

  • Table of Contents (tableofcontents)

  • Comments (tinycomments)

  • Spell Checker (tinymcespellchecker)

  • Typography (typography)

Community plugins

When bundling, replace the plugincode with the specific plugins in your TinyMCE configuration.

The below plugin also requires additional files to be included along side the base folder.

Emoticons (emoticons)

Requires other js files
./plugins/emoticons/js/emojiimages.js
./plugins/emoticons/js/emojis.js
Only one of the above .js files are required, depending on which one is chosen through the emoticons_database setting.

Plugin language files

Replace <plugincode> placeholder with the specific plugincode when adding the plugin language files to your config.
./plugins/<plugincode>/langs/ar.js
./plugins/<plugincode>/langs/bg_BG.js
./plugins/<plugincode>/langs/ca.js
./plugins/<plugincode>/langs/cs.js
./plugins/<plugincode>/langs/da.js
./plugins/<plugincode>/langs/de.js
./plugins/<plugincode>/langs/el.js
./plugins/<plugincode>/langs/es.js
./plugins/<plugincode>/langs/eu.js
./plugins/<plugincode>/langs/fa.js
./plugins/<plugincode>/langs/fi.js
./plugins/<plugincode>/langs/fr_FR.js
./plugins/<plugincode>/langs/he_IL.js
./plugins/<plugincode>/langs/hi.js
./plugins/<plugincode>/langs/hr.js
./plugins/<plugincode>/langs/hu_HU.js
./plugins/<plugincode>/langs/id.js
./plugins/<plugincode>/langs/it.js
./plugins/<plugincode>/langs/ja.js
./plugins/<plugincode>/langs/kk.js
./plugins/<plugincode>/langs/ko_KR.js
./plugins/<plugincode>/langs/ms.js
./plugins/<plugincode>/langs/nb_NO.js
./plugins/<plugincode>/langs/nl.js
./plugins/<plugincode>/langs/pl.js
./plugins/<plugincode>/langs/pt_BR.js
./plugins/<plugincode>/langs/pt_PT.js
./plugins/<plugincode>/langs/ro.js
./plugins/<plugincode>/langs/ru.js
./plugins/<plugincode>/langs/sk.js
./plugins/<plugincode>/langs/sl_SI.js
./plugins/<plugincode>/langs/sv_SE.js
./plugins/<plugincode>/langs/th_TH.js
./plugins/<plugincode>/langs/tr.js
./plugins/<plugincode>/langs/uk.js
./plugins/<plugincode>/langs/vi.js
./plugins/<plugincode>/langs/zh_CN.js
./plugins/<plugincode>/langs/zh_TW.js