@arbocollab/arbo-ckeditor-custom-build
v1.0.48
Published
A custom CKEditor 5 build with a specific set of plugins.
Readme
@arbocollab/arbo-ckeditor-custom-build
Custom CKEditor 5 build with:
- ESM entry (tree‑shakable) ->
dist/esm/main.js - IIFE (CDN/global) ->
dist/umd/ckeditor.js(global:window.ArboCKEditor) - Duplicate‑load protection (prevents two distinct CKEditor 5 engine graphs on the same page)
NOTE: A CommonJS build is NOT currently emitted. Existing
package.jsonfields that point atdist/cjs/*will need adjusting if you truly need CJS; otherwise consumers should use ESM or the IIFE. See "Package JSON alignment" below.
Install (ESM / bundlers)
npm install @arbocollab/arbo-ckeditor-custom-buildUse (ESM)
import { ClassicEditor } from '@arbocollab/arbo-ckeditor-custom-build';
ClassicEditor.create(document.querySelector('#editor')!);CDN (Global IIFE)
<script src="https://cdn.jsdelivr.net/npm/@arbocollab/[email protected]/dist/umd/ckeditor.js"></script>
<script>
ArboCKEditor.ClassicEditor.create(document.getElementById('editor'));
// ArboCKEditor exports: ClassicEditor, BalloonEditor, createClassicEditor, createBalloonEditor
}</script>CDN (ESM import)
<script type="module">
import { ClassicEditor } from 'https://cdn.jsdelivr.net/npm/@arbocollab/[email protected]/dist/esm/main.js';
ClassicEditor.create(document.querySelector('#editor'));
</script>Avoid double loading
Do NOT both import the ESM bundle and include the IIFE script; the guard in index.ts will abort the second copy to prevent ckeditor-duplicated-modules errors.
Duplicate build protection
If a second distinct CKEditor 5 engine instance is detected, this build logs an error and throws early to keep the page stable.
Package JSON alignment
Current repo build emits:
dist/
esm/main.js
umd/ckeditor.jsIf you do not produce dist/cjs/*, remove or update the main / exports.require fields before publishing to avoid broken "require()" consumers. Simplest minimal export map (ESM + CDN) could be:
{
"main": "dist/umd/ckeditor.js", // optional legacy entry
"module": "dist/esm/main.js",
"exports": { ".": { "import": "./dist/esm/main.js", "default": "./dist/esm/main.js" } },
"unpkg": "dist/umd/ckeditor.js",
"jsdelivr": "dist/umd/ckeditor.js"
}Only add CJS paths back if you reinstate the commented CJS build in rollup.config.mjs.
Publishing (summary)
npm version patch -w @arbocollab/arbo-ckeditor-custom-build
TARGET=ckeditor npx rollup -c # or your build script
npm publish -w @arbocollab/arbo-ckeditor-custom-build --access publicTroubleshooting
| Issue | Fix |
|-------|-----|
| 404 / ENEEDAUTH | Re-login: npm whoami; ensure npmjs registry for this scope |
| Duplicate build error | Remove extra CKEditor bundle / script tag |
| Missing CJS file | Adjust package.json (see above) or enable CJS build |
License
Includes CKEditor 5 (GPL-2.0-or-later). Commercial license holders may apply their terms. Ensure redistribution complies with CKEditor licensing.
