Merge pull request #19 from ckeditor/add-support-for-nim

Update to support current installation methods of CKEditor 5 (v42.0.0+) and legacy installation methods with DLLs (pre-42.0.0).
This commit is contained in:
Piotr Szczęśniak 2024-06-27 09:37:59 +02:00 committed by GitHub
commit 064d69d797
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
26 changed files with 308 additions and 129 deletions

View File

@ -5,12 +5,28 @@
module.exports = { module.exports = {
extends: 'ckeditor5', extends: 'ckeditor5',
root: true, root: true,
ignorePatterns: [
// Ignore the entire `build/` (the DLL build).
'build/**',
// Ignore the entire `dist/`.
'dist/**'
],
rules: { rules: {
// This rule disallows importing core DLL packages directly. Imports should be done using the `ckeditor5` package. // This rule disallows importing core DLL packages directly. Imports should be done using the `ckeditor5` package.
// Also, importing non-DLL packages is not allowed. If the package requires other features to work, they should be // Also, importing non-DLL packages is not allowed. If the package requires other features to work, they should be
// specified as soft-requirements. // specified as soft-requirements.
// Read more: https://ckeditor.com/docs/ckeditor5/latest/builds/guides/migration/migration-to-26.html#soft-requirements. // Read more: https://ckeditor.com/docs/ckeditor5/latest/builds/guides/migration/migration-to-26.html#soft-requirements.
'ckeditor5-rules/ckeditor-imports': 'error' 'ckeditor5-rules/ckeditor-imports': 'error',
// This rule disallows importing from any path other than the package main entrypoint.
'ckeditor5-rules/allow-imports-only-from-main-package-entry-point': 'error',
// As required by the ECMAScript (ESM) standard, all imports must include a file extension.
// If the import does not include it, this rule will try to automatically detect the correct file extension.
'ckeditor5-rules/require-file-extensions-in-imports': [
'error',
{
extensions: [ '.ts', '.js', '.json' ]
}
]
}, },
overrides: [ overrides: [
{ {

1
.gitignore vendored
View File

@ -1,5 +1,6 @@
.nyc_output/ .nyc_output/
coverage/ coverage/
dist/
node_modules/ node_modules/
yarn.lock yarn.lock
tmp/ tmp/

View File

@ -1,6 +1,6 @@
{ {
"name": "@ckeditor/ckeditor5-mermaid", "name": "@ckeditor/ckeditor5-mermaid",
"version": "0.0.2", "version": "0.0.3",
"description": "Mermaid widget for CKEditor 5.", "description": "Mermaid widget for CKEditor 5.",
"private": true, "private": true,
"keywords": [ "keywords": [
@ -11,16 +11,18 @@
"ckeditor5-plugin", "ckeditor5-plugin",
"ckeditor5-mermaid" "ckeditor5-mermaid"
], ],
"type": "module",
"main": "src/index.js", "main": "src/index.js",
"license": "SEE LICENSE IN LICENSE.md", "license": "SEE LICENSE IN LICENSE.md",
"author": "CKSource (https://cksource.com/)", "author": "CKSource (https://cksource.com/)",
"homepage": "https://github.com/ckeditor/ckeditor5-mermaid", "homepage": "https://github.com/ckeditor/ckeditor5-mermaid",
"bugs": "https://github.com/ckeditor/ckeditor5-mermaid/issues", "bugs": "https://github.com/ckeditor/ckeditor5-mermaid/issues",
"engines": { "engines": {
"node": ">=14.0.0", "node": ">=18.0.0",
"npm": ">=5.7.1" "npm": ">=5.7.1"
}, },
"files": [ "files": [
"dist",
"lang", "lang",
"src", "src",
"theme", "theme",
@ -28,47 +30,34 @@
"ckeditor5-metadata.json" "ckeditor5-metadata.json"
], ],
"dependencies": { "dependencies": {
"mermaid": "9.1.7", "mermaid": "^9.1.4",
"lodash-es": "^4.17.15" "lodash-es": "^4.17.15"
}, },
"peerDependencies": {
"ckeditor5": "*"
},
"devDependencies": { "devDependencies": {
"@ckeditor/ckeditor5-basic-styles": "^35.0.1", "@ckeditor/ckeditor5-dev-build-tools": "^40.2.0",
"@ckeditor/ckeditor5-clipboard": "^35.0.1",
"@ckeditor/ckeditor5-code-block": "^35.0.1",
"@ckeditor/ckeditor5-editor-classic": "^35.0.1",
"@ckeditor/ckeditor5-engine": "^35.0.1",
"@ckeditor/ckeditor5-enter": "^35.0.1",
"@ckeditor/ckeditor5-essentials": "^35.0.1",
"@ckeditor/ckeditor5-heading": "^35.0.1",
"@ckeditor/ckeditor5-inspector": "^4.0.0", "@ckeditor/ckeditor5-inspector": "^4.0.0",
"@ckeditor/ckeditor5-link": "^35.0.1", "@ckeditor/ckeditor5-package-tools": "^2.0.0",
"@ckeditor/ckeditor5-markdown-gfm": "^35.0.1", "ckeditor5": "latest",
"@ckeditor/ckeditor5-paragraph": "^35.0.1",
"@ckeditor/ckeditor5-typing": "^35.0.1",
"@ckeditor/ckeditor5-undo": "^35.0.1",
"@ckeditor/ckeditor5-widget": "^35.0.1",
"@ckeditor/ckeditor5-package-tools": "^1.0.0-beta.4",
"@ckeditor/ckeditor5-theme-lark": "^35.0.1",
"eslint": "^7.32.0", "eslint": "^7.32.0",
"eslint-config-ckeditor5": ">=3.1.1", "eslint-config-ckeditor5": "^6.0.0",
"http-server": "^14.1.0", "http-server": "^14.1.0",
"husky": "^4.2.5", "husky": "^4.2.5",
"lint-staged": "^10.2.6", "lint-staged": "^10.2.6",
"stylelint": "^13.13.1", "stylelint": "^13.13.1",
"stylelint-config-ckeditor5": ">=2.0.1" "stylelint-config-ckeditor5": ">=2.0.1"
}, },
"peerDependencies": {
"ckeditor5": ">=42.0.0 || ^0.0.0-nightly"
},
"scripts": { "scripts": {
"dll:build": "ckeditor5-package-tools dll:build", "dll:build": "ckeditor5-package-tools dll:build",
"dll:serve": "http-server ./ -o sample/dll.html", "dll:serve": "http-server ./ -o sample/index.html",
"build:dist": "node ./scripts/build-dist.mjs",
"lint": "eslint \"**/*.js\" --quiet --ignore-pattern \"build/\"", "lint": "eslint \"**/*.js\" --quiet --ignore-pattern \"build/\"",
"start": "ckeditor5-package-tools start", "start": "ckeditor5-package-tools start",
"stylelint": "stylelint --quiet --allow-empty-input 'theme/*.css'", "stylelint": "stylelint --quiet --allow-empty-input 'theme/*.css'",
"test": "ckeditor5-package-tools test", "test": "ckeditor5-package-tools test",
"prepare": "yarn run dll:build", "prepare": "yarn run dll:build && yarn run build:dist",
"prepublishOnly": "yarn run dll:build", "prepublishOnly": "yarn run dll:build",
"translations:collect": "ckeditor5-package-tools translations:collect", "translations:collect": "ckeditor5-package-tools translations:collect",
"translations:download": "ckeditor5-package-tools translations:download", "translations:download": "ckeditor5-package-tools translations:download",

22
sample/ckeditor.js vendored
View File

@ -5,19 +5,19 @@
/* globals console, window, document */ /* globals console, window, document */
import ClassicEditor from '@ckeditor/ckeditor5-editor-classic/src/classiceditor'; import { ClassicEditor } from '@ckeditor/ckeditor5-editor-classic';
import Typing from '@ckeditor/ckeditor5-typing/src/typing'; import { Typing } from '@ckeditor/ckeditor5-typing';
import Paragraph from '@ckeditor/ckeditor5-paragraph/src/paragraph'; import { Paragraph } from '@ckeditor/ckeditor5-paragraph';
import Undo from '@ckeditor/ckeditor5-undo/src/undo'; import { Undo } from '@ckeditor/ckeditor5-undo';
import Enter from '@ckeditor/ckeditor5-enter/src/enter'; import { Enter } from '@ckeditor/ckeditor5-enter';
import Clipboard from '@ckeditor/ckeditor5-clipboard/src/clipboard'; import { Clipboard } from '@ckeditor/ckeditor5-clipboard';
import Link from '@ckeditor/ckeditor5-link/src/link'; import { Link } from '@ckeditor/ckeditor5-link';
import Bold from '@ckeditor/ckeditor5-basic-styles/src/bold'; import { Bold, Italic } from '@ckeditor/ckeditor5-basic-styles';
import Italic from '@ckeditor/ckeditor5-basic-styles/src/italic'; import { CodeBlock } from '@ckeditor/ckeditor5-code-block';
import CKEditorInspector from '@ckeditor/ckeditor5-inspector'; import CKEditorInspector from '@ckeditor/ckeditor5-inspector';
import CodeBlock from '@ckeditor/ckeditor5-code-block/src/codeblock'; import Mermaid from '../src/mermaid.js';
import Mermaid from '../src/mermaid';
ClassicEditor ClassicEditor
.create( document.querySelector( '#editor' ), { .create( document.querySelector( '#editor' ), {

View File

@ -17,6 +17,103 @@
<div id="editor"> <div id="editor">
</div> </div>
<script src="./ckeditor.dist.js"></script> <!-- DLL builds are served from the `node_modules/` directory -->
<script src="../node_modules/ckeditor5/build/ckeditor5-dll.js"></script>
<script src="../node_modules/@ckeditor/ckeditor5-editor-classic/build/editor-classic.js"></script>
<script src="../node_modules/@ckeditor/ckeditor5-code-block/build/code-block.js"></script>
<script src="../node_modules/@ckeditor/ckeditor5-essentials/build/essentials.js"></script>
<script src="../node_modules/@ckeditor/ckeditor5-basic-styles/build/basic-styles.js"></script>
<script src="../node_modules/@ckeditor/ckeditor5-heading/build/heading.js"></script>
<script src="../node_modules/@ckeditor/ckeditor5-autoformat/build/autoformat.js"></script>
<script src="../node_modules/@ckeditor/ckeditor5-block-quote/build/block-quote.js"></script>
<script src="../node_modules/@ckeditor/ckeditor5-image/build/image.js"></script>
<script src="../node_modules/@ckeditor/ckeditor5-link/build/link.js"></script>
<script src="../node_modules/@ckeditor/ckeditor5-indent/build/indent.js"></script>
<script src="../node_modules/@ckeditor/ckeditor5-media-embed/build/media-embed.js"></script>
<script src="../node_modules/@ckeditor/ckeditor5-list/build/list.js"></script>
<script src="../node_modules/@ckeditor/ckeditor5-table/build/table.js"></script>
<!-- The "@ckeditor/ckeditor5-mermaid" package DLL build is served from the `build/` directory -->
<script src="../build/mermaid.js"></script>
<script>
console.log( 'Objects exported by the DLL build:', CKEditor5[ 'mermaid' ] );
CKEditor5.editorClassic.ClassicEditor
.create( document.querySelector( '#editor' ), {
plugins: [
CKEditor5[ 'mermaid' ].Mermaid,
CKEditor5.essentials.Essentials,
CKEditor5.autoformat.Autoformat,
CKEditor5.blockQuote.BlockQuote,
CKEditor5.basicStyles.Bold,
CKEditor5.heading.Heading,
CKEditor5.image.Image,
CKEditor5.image.ImageCaption,
CKEditor5.image.ImageStyle,
CKEditor5.image.ImageToolbar,
CKEditor5.image.ImageUpload,
CKEditor5.indent.Indent,
CKEditor5.basicStyles.Italic,
CKEditor5.link.Link,
CKEditor5.list.List,
CKEditor5.mediaEmbed.MediaEmbed,
CKEditor5.paragraph.Paragraph,
CKEditor5.table.Table,
CKEditor5.table.TableToolbar,
CKEditor5.codeBlock.CodeBlock,
CKEditor5.basicStyles.Code,
CKEditor5.upload.Base64UploadAdapter
],
toolbar: [
'mermaid',
'|',
'undo',
'redo',
'|',
'heading',
'|',
'bold',
'italic',
'link',
'code',
'bulletedList',
'numberedList',
'|',
'outdent',
'indent',
'|',
'uploadImage',
'blockQuote',
'insertTable',
'mediaEmbed',
'codeBlock'
],
image: {
toolbar: [
'imageStyle:inline',
'imageStyle:block',
'imageStyle:side',
'|',
'imageTextAlternative'
]
},
table: {
contentToolbar: [
'tableColumn',
'tableRow',
'mergeTableCells'
]
}
} )
.then( editor => {
window.editor = editor;
} )
.catch( error => {
console.error( 'There was a problem initializing the editor.', error );
} );
</script>
</body> </body>
</html> </html>

61
scripts/build-dist.mjs Normal file
View File

@ -0,0 +1,61 @@
#!/usr/bin/env node
/**
* @license Copyright (c) 2020-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md.
*/
/* eslint-env node */
import { createRequire } from 'module';
import upath from 'upath';
import chalk from 'chalk';
import { build } from '@ckeditor/ckeditor5-dev-build-tools';
function dist( path ) {
return upath.join( 'dist', path );
}
( async () => {
/**
* Step 1
*/
console.log( chalk.cyan( '1/2: Generating NPM build...' ) );
const require = createRequire( import.meta.url );
const pkg = require( upath.resolve( process.cwd(), './package.json' ) );
await build( {
input: 'src/index.js',
output: dist( './index.js' ),
external: [
'ckeditor5',
'ckeditor5-premium-features',
...Object.keys( {
...pkg.dependencies,
...pkg.peerDependencies
} )
],
clean: true,
sourceMap: true,
translations: '**/*.po'
} );
/**
* Step 2
*/
console.log( chalk.cyan( '2/2: Generating browser build...' ) );
await build( {
input: 'src/index.js',
output: dist( 'browser/index.js' ),
sourceMap: true,
minify: true,
browser: true,
name: '@ckeditor/ckeditor5-mermaid',
external: [
'ckeditor5',
'ckeditor5-premium-features'
]
} );
} )();

View File

@ -2,7 +2,7 @@
* @module mermaid/insertmermaidcommand * @module mermaid/insertmermaidcommand
*/ */
import { Command } from 'ckeditor5/src/core'; import { Command } from 'ckeditor5/src/core.js';
const MOCK_MERMAID_MARKUP = `flowchart TB const MOCK_MERMAID_MARKUP = `flowchart TB
A --> B A --> B

View File

@ -2,9 +2,9 @@
* @module mermaid/mermaidpreviewcommand * @module mermaid/mermaidpreviewcommand
*/ */
import { Command } from 'ckeditor5/src/core'; import { Command } from 'ckeditor5/src/core.js';
import { checkIsOn } from '../utils'; import { checkIsOn } from '../utils.js';
/** /**
* The mermaid preview command. * The mermaid preview command.

View File

@ -2,9 +2,9 @@
* @module mermaid/mermaidsourceviewcommand * @module mermaid/mermaidsourceviewcommand
*/ */
import { Command } from 'ckeditor5/src/core'; import { Command } from 'ckeditor5/src/core.js';
import { checkIsOn } from '../utils'; import { checkIsOn } from '../utils.js';
/** /**
* The mermaid source view command. * The mermaid source view command.

View File

@ -2,9 +2,9 @@
* @module mermaid/mermaidsplitviewcommand * @module mermaid/mermaidsplitviewcommand
*/ */
import { Command } from 'ckeditor5/src/core'; import { Command } from 'ckeditor5/src/core.js';
import { checkIsOn } from '../utils'; import { checkIsOn } from '../utils.js';
/** /**
* The mermaid split view command. * The mermaid split view command.

View File

@ -8,7 +8,7 @@ import previewModeIcon from './../theme/icons/preview-mode.svg';
import splitModeIcon from './../theme/icons/split-mode.svg'; import splitModeIcon from './../theme/icons/split-mode.svg';
import sourceModeIcon from './../theme/icons/source-mode.svg'; import sourceModeIcon from './../theme/icons/source-mode.svg';
export { default as Mermaid } from './mermaid'; export { default as Mermaid } from './mermaid.js';
export const icons = { export const icons = {
infoIcon, infoIcon,

View File

@ -2,11 +2,11 @@
* @module mermaid/mermaid * @module mermaid/mermaid
*/ */
import { Plugin } from 'ckeditor5/src/core'; import { Plugin } from 'ckeditor5/src/core.js';
import MermaidEditing from './mermaidediting'; import MermaidEditing from './mermaidediting.js';
import MermaidToolbar from './mermaidtoolbar'; import MermaidToolbar from './mermaidtoolbar.js';
import MermaidUI from './mermaidui'; import MermaidUI from './mermaidui.js';
import '../theme/mermaid.css'; import '../theme/mermaid.css';

View File

@ -2,17 +2,17 @@
* @module mermaid/mermaidediting * @module mermaid/mermaidediting
*/ */
import { Plugin } from 'ckeditor5/src/core'; import { Plugin } from 'ckeditor5/src/core.js';
import { toWidget } from 'ckeditor5/src/widget'; import { toWidget } from 'ckeditor5/src/widget.js';
import mermaid from 'mermaid/dist/mermaid'; import mermaid from 'mermaid/dist/mermaid.js';
import { debounce } from 'lodash-es'; import { debounce } from 'lodash-es';
import MermaidPreviewCommand from './commands/mermaidPreviewCommand'; import MermaidPreviewCommand from './commands/mermaidPreviewCommand.js';
import MermaidSourceViewCommand from './commands/mermaidSourceViewCommand'; import MermaidSourceViewCommand from './commands/mermaidSourceViewCommand.js';
import MermaidSplitViewCommand from './commands/mermaidSplitViewCommand'; import MermaidSplitViewCommand from './commands/mermaidSplitViewCommand.js';
import InsertMermaidCommand from './commands/insertMermaidCommand'; import InsertMermaidCommand from './commands/insertMermaidCommand.js';
// Time in milliseconds. // Time in milliseconds.
const DEBOUNCE_TIME = 300; const DEBOUNCE_TIME = 300;

View File

@ -2,8 +2,8 @@
* @module mermaid/mermaidtoolbar * @module mermaid/mermaidtoolbar
*/ */
import { Plugin } from 'ckeditor5/src/core'; import { Plugin } from 'ckeditor5/src/core.js';
import { WidgetToolbarRepository } from 'ckeditor5/src/widget'; import { WidgetToolbarRepository } from 'ckeditor5/src/widget.js';
export default class MermaidToolbar extends Plugin { export default class MermaidToolbar extends Plugin {
/** /**

View File

@ -2,8 +2,8 @@
* @module mermaid/mermaidui * @module mermaid/mermaidui
*/ */
import { Plugin } from 'ckeditor5/src/core'; import { Plugin } from 'ckeditor5/src/core.js';
import { ButtonView } from 'ckeditor5/src/ui'; import { ButtonView } from 'ckeditor5/src/ui.js';
import insertMermaidIcon from '../theme/icons/insert.svg'; import insertMermaidIcon from '../theme/icons/insert.svg';
import previewModeIcon from '../theme/icons/preview-mode.svg'; import previewModeIcon from '../theme/icons/preview-mode.svg';

View File

@ -1,9 +1,12 @@
import ClassicEditor from '@ckeditor/ckeditor5-editor-classic/src/classiceditor'; import { ClassicEditor } from '@ckeditor/ckeditor5-editor-classic';
import { getData as getModelData, setData as setModelData } from '@ckeditor/ckeditor5-engine/src/dev-utils/model';
import { Paragraph } from '@ckeditor/ckeditor5-paragraph'; import { Paragraph } from '@ckeditor/ckeditor5-paragraph';
import {
_setModelData as setModelData,
_getModelData as getModelData
} from '@ckeditor/ckeditor5-engine';
import InsertMermaidCommand from '../../src/commands/insertMermaidCommand'; import InsertMermaidCommand from '../../src/commands/insertMermaidCommand.js';
import MermaidEditing from '../../src/mermaidediting'; import MermaidEditing from '../../src/mermaidediting.js';
/* global document */ /* global document */

View File

@ -1,9 +1,12 @@
import ClassicEditor from '@ckeditor/ckeditor5-editor-classic/src/classiceditor'; import { ClassicEditor } from '@ckeditor/ckeditor5-editor-classic';
import { getData as getModelData, setData as setModelData } from '@ckeditor/ckeditor5-engine/src/dev-utils/model';
import { Paragraph } from '@ckeditor/ckeditor5-paragraph'; import { Paragraph } from '@ckeditor/ckeditor5-paragraph';
import {
_setModelData as setModelData,
_getModelData as getModelData
} from '@ckeditor/ckeditor5-engine';
import MermaidPreviewCommand from '../../src/commands/mermaidPreviewCommand'; import MermaidPreviewCommand from '../../src/commands/mermaidPreviewCommand.js';
import MermaidEditing from '../../src/mermaidediting'; import MermaidEditing from '../../src/mermaidediting.js';
/* global document */ /* global document */

View File

@ -1,9 +1,12 @@
import ClassicEditor from '@ckeditor/ckeditor5-editor-classic/src/classiceditor'; import { ClassicEditor } from '@ckeditor/ckeditor5-editor-classic';
import { getData as getModelData, setData as setModelData } from '@ckeditor/ckeditor5-engine/src/dev-utils/model';
import { Paragraph } from '@ckeditor/ckeditor5-paragraph'; import { Paragraph } from '@ckeditor/ckeditor5-paragraph';
import {
_setModelData as setModelData,
_getModelData as getModelData
} from '@ckeditor/ckeditor5-engine';
import MermaidSourceViewCommand from '../../src/commands/mermaidSourceViewCommand'; import MermaidSourceViewCommand from '../../src/commands/mermaidSourceViewCommand.js';
import MermaidEditing from '../../src/mermaidediting'; import MermaidEditing from '../../src/mermaidediting.js';
/* global document */ /* global document */

View File

@ -1,9 +1,12 @@
import ClassicEditor from '@ckeditor/ckeditor5-editor-classic/src/classiceditor'; import { ClassicEditor } from '@ckeditor/ckeditor5-editor-classic';
import { getData as getModelData, setData as setModelData } from '@ckeditor/ckeditor5-engine/src/dev-utils/model';
import { Paragraph } from '@ckeditor/ckeditor5-paragraph'; import { Paragraph } from '@ckeditor/ckeditor5-paragraph';
import {
_setModelData as setModelData,
_getModelData as getModelData
} from '@ckeditor/ckeditor5-engine';
import MermaidSplitViewCommand from '../../src/commands/mermaidSplitViewCommand'; import MermaidSplitViewCommand from '../../src/commands/mermaidSplitViewCommand.js';
import MermaidEditing from '../../src/mermaidediting'; import MermaidEditing from '../../src/mermaidediting.js';
/* global document */ /* global document */

View File

@ -1,5 +1,5 @@
import { Mermaid as MermaidDll, icons } from '../src'; import { Mermaid as MermaidDll, icons } from '../src/index.js';
import Mermaid from '../src/mermaid'; import Mermaid from '../src/mermaid.js';
import infoIcon from './../theme/icons/info.svg'; import infoIcon from './../theme/icons/info.svg';
import insertMermaidIcon from './../theme/icons/insert.svg'; import insertMermaidIcon from './../theme/icons/insert.svg';

View File

@ -5,19 +5,18 @@
/* globals console, window, document */ /* globals console, window, document */
import ClassicEditor from '@ckeditor/ckeditor5-editor-classic/src/classiceditor'; import { ClassicEditor } from '@ckeditor/ckeditor5-editor-classic';
import Typing from '@ckeditor/ckeditor5-typing/src/typing'; import { Typing } from '@ckeditor/ckeditor5-typing';
import Paragraph from '@ckeditor/ckeditor5-paragraph/src/paragraph'; import { Paragraph } from '@ckeditor/ckeditor5-paragraph';
import Undo from '@ckeditor/ckeditor5-undo/src/undo'; import { Undo } from '@ckeditor/ckeditor5-undo';
import Enter from '@ckeditor/ckeditor5-enter/src/enter'; import { Enter } from '@ckeditor/ckeditor5-enter';
import Clipboard from '@ckeditor/ckeditor5-clipboard/src/clipboard'; import { Clipboard } from '@ckeditor/ckeditor5-clipboard';
import Link from '@ckeditor/ckeditor5-link/src/link'; import { Link } from '@ckeditor/ckeditor5-link';
import Bold from '@ckeditor/ckeditor5-basic-styles/src/bold'; import { Bold, Italic } from '@ckeditor/ckeditor5-basic-styles';
import Italic from '@ckeditor/ckeditor5-basic-styles/src/italic'; import { Markdown } from '@ckeditor/ckeditor5-markdown-gfm';
import Markdown from '@ckeditor/ckeditor5-markdown-gfm/src/markdown'; import { CodeBlock } from '@ckeditor/ckeditor5-code-block';
import CodeBlock from '@ckeditor/ckeditor5-code-block/src/codeblock'; import Mermaid from '../../src/mermaid.js';
import Mermaid from '../../src/mermaid';
ClassicEditor ClassicEditor
.create( document.querySelector( '#editor' ), { .create( document.querySelector( '#editor' ), {

View File

@ -5,18 +5,17 @@
/* globals console, window, document */ /* globals console, window, document */
import ClassicEditor from '@ckeditor/ckeditor5-editor-classic/src/classiceditor'; import { ClassicEditor } from '@ckeditor/ckeditor5-editor-classic';
import Typing from '@ckeditor/ckeditor5-typing/src/typing'; import { Typing } from '@ckeditor/ckeditor5-typing';
import Paragraph from '@ckeditor/ckeditor5-paragraph/src/paragraph'; import { Paragraph } from '@ckeditor/ckeditor5-paragraph';
import Undo from '@ckeditor/ckeditor5-undo/src/undo'; import { Undo } from '@ckeditor/ckeditor5-undo';
import Enter from '@ckeditor/ckeditor5-enter/src/enter'; import { Enter } from '@ckeditor/ckeditor5-enter';
import Clipboard from '@ckeditor/ckeditor5-clipboard/src/clipboard'; import { Clipboard } from '@ckeditor/ckeditor5-clipboard';
import Link from '@ckeditor/ckeditor5-link/src/link'; import { Link } from '@ckeditor/ckeditor5-link';
import Bold from '@ckeditor/ckeditor5-basic-styles/src/bold'; import { Bold, Italic } from '@ckeditor/ckeditor5-basic-styles';
import Italic from '@ckeditor/ckeditor5-basic-styles/src/italic'; import { CodeBlock } from '@ckeditor/ckeditor5-code-block';
import CodeBlock from '@ckeditor/ckeditor5-code-block/src/codeblock'; import Mermaid from '../../src/mermaid.js';
import Mermaid from '../../src/mermaid';
ClassicEditor ClassicEditor
.create( document.querySelector( '#editor' ), { .create( document.querySelector( '#editor' ), {

View File

@ -1,10 +1,10 @@
import Essentials from '@ckeditor/ckeditor5-essentials/src/essentials'; import { ClassicEditor } from '@ckeditor/ckeditor5-editor-classic';
import Paragraph from '@ckeditor/ckeditor5-paragraph/src/paragraph'; import { Essentials } from '@ckeditor/ckeditor5-essentials';
import Heading from '@ckeditor/ckeditor5-heading/src/heading'; import { Paragraph } from '@ckeditor/ckeditor5-paragraph';
import ClassicEditor from '@ckeditor/ckeditor5-editor-classic/src/classiceditor'; import { Heading } from '@ckeditor/ckeditor5-heading';
import Mermaid from '../src/mermaid'; import { _setModelData as setModelData } from '@ckeditor/ckeditor5-engine';
import { setData as setModelData } from '@ckeditor/ckeditor5-engine/src/dev-utils/model'; import Mermaid from '../src/mermaid.js';
/* global document */ /* global document */

View File

@ -1,11 +1,14 @@
import Essentials from '@ckeditor/ckeditor5-essentials/src/essentials'; import { ClassicEditor } from '@ckeditor/ckeditor5-editor-classic';
import Paragraph from '@ckeditor/ckeditor5-paragraph/src/paragraph'; import { Essentials } from '@ckeditor/ckeditor5-essentials';
import Heading from '@ckeditor/ckeditor5-heading/src/heading'; import { Paragraph } from '@ckeditor/ckeditor5-paragraph';
import { setData as setModelData, getData as getModelData } from '@ckeditor/ckeditor5-engine/src/dev-utils/model'; import { Heading } from '@ckeditor/ckeditor5-heading';
import { getData as getViewData } from '@ckeditor/ckeditor5-engine/src/dev-utils/view'; import { CodeBlockEditing } from '@ckeditor/ckeditor5-code-block';
import CodeBlockEditing from '@ckeditor/ckeditor5-code-block/src/codeblockediting'; import {
import ClassicEditor from '@ckeditor/ckeditor5-editor-classic/src/classiceditor'; _setModelData as setModelData,
import MermaidEditing from '../src/mermaidediting'; _getModelData as getModelData,
_getViewData as getViewData
} from '@ckeditor/ckeditor5-engine';
import MermaidEditing from '../src/mermaidediting.js';
/* global document */ /* global document */

View File

@ -1,12 +1,10 @@
import ClassicTestEditor from '@ckeditor/ckeditor5-editor-classic/src/classiceditor'; import { ClassicEditor as ClassicTestEditor } from '@ckeditor/ckeditor5-editor-classic';
import { import { Essentials } from '@ckeditor/ckeditor5-essentials';
setData
} from '@ckeditor/ckeditor5-engine/src/dev-utils/model';
import WidgetToolbarRepository from '@ckeditor/ckeditor5-widget/src/widgettoolbarrepository';
import Essentials from '@ckeditor/ckeditor5-essentials/src/essentials';
import { Paragraph } from '@ckeditor/ckeditor5-paragraph'; import { Paragraph } from '@ckeditor/ckeditor5-paragraph';
import { WidgetToolbarRepository } from '@ckeditor/ckeditor5-widget';
import { _setModelData as setData } from '@ckeditor/ckeditor5-engine';
import Mermaid from '../src/mermaid'; import Mermaid from '../src/mermaid.js';
/* global document */ /* global document */
@ -38,6 +36,10 @@ describe( 'MermaidToolbar', () => {
describe( 'toolbar', () => { describe( 'toolbar', () => {
it( 'should be initialized with expected buttons', () => { it( 'should be initialized with expected buttons', () => {
editor.ui.focusTracker.isFocused = true;
setData( model, '<mermaid displayMode="split" source="">[]</mermaid>' );
expect( toolbar.items ).to.have.length( 5 ); expect( toolbar.items ).to.have.length( 5 );
expect( toolbar.items.get( 0 ).label ).to.equal( 'Source view' ); expect( toolbar.items.get( 0 ).label ).to.equal( 'Source view' );
expect( toolbar.items.get( 1 ).label ).to.equal( 'Split view' ); expect( toolbar.items.get( 1 ).label ).to.equal( 'Split view' );

View File

@ -1,8 +1,8 @@
import ClassicEditor from '@ckeditor/ckeditor5-editor-classic/src/classiceditor'; import { ClassicEditor } from '@ckeditor/ckeditor5-editor-classic';
import { setData as setModelData } from '@ckeditor/ckeditor5-engine/src/dev-utils/model'; import { _setModelData as setModelData } from '@ckeditor/ckeditor5-engine';
import Mermaid from '../src/mermaid'; import Mermaid from '../src/mermaid.js';
import MermaidUI from '../src/mermaidui'; import MermaidUI from '../src/mermaidui.js';
/* global document */ /* global document */