Migration reflected from package-generator to support NIM.

This commit is contained in:
Piotr Szczęśniak 2024-05-20 14:27:21 +02:00
parent 4fcdc10758
commit 9a1e1eef92
25 changed files with 198 additions and 122 deletions

View File

@ -21,5 +21,11 @@ module.exports = {
'ckeditor5-rules/ckeditor-imports': 'off'
}
}
],
ignorePatterns: [
// Ignore the entire `build/` (the DLL build).
'build/**',
// Ignore the entire `dist/`.
'dist/**'
]
};

1
.gitignore vendored
View File

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

View File

@ -11,16 +11,18 @@
"ckeditor5-plugin",
"ckeditor5-mermaid"
],
"type": "module",
"main": "src/index.js",
"license": "SEE LICENSE IN LICENSE.md",
"author": "CKSource (https://cksource.com/)",
"homepage": "https://github.com/ckeditor/ckeditor5-mermaid",
"bugs": "https://github.com/ckeditor/ckeditor5-mermaid/issues",
"engines": {
"node": ">=14.0.0",
"node": ">=18.0.0",
"npm": ">=5.7.1"
},
"files": [
"dist",
"lang",
"src",
"theme",
@ -35,23 +37,24 @@
"ckeditor5": "*"
},
"devDependencies": {
"@ckeditor/ckeditor5-basic-styles": "^35.0.1",
"@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-basic-styles": "^41.4.2",
"@ckeditor/ckeditor5-clipboard": "^41.4.2",
"@ckeditor/ckeditor5-code-block": "^41.4.2",
"@ckeditor/ckeditor5-dev-build-tools": "^40.0.0",
"@ckeditor/ckeditor5-editor-classic": "^41.4.2",
"@ckeditor/ckeditor5-engine": "^41.4.2",
"@ckeditor/ckeditor5-enter": "^41.4.2",
"@ckeditor/ckeditor5-essentials": "^41.4.2",
"@ckeditor/ckeditor5-heading": "^41.4.2",
"@ckeditor/ckeditor5-inspector": "^4.0.0",
"@ckeditor/ckeditor5-link": "^35.0.1",
"@ckeditor/ckeditor5-markdown-gfm": "^35.0.1",
"@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",
"@ckeditor/ckeditor5-link": "^41.4.2",
"@ckeditor/ckeditor5-markdown-gfm": "^41.4.2",
"@ckeditor/ckeditor5-paragraph": "^41.4.2",
"@ckeditor/ckeditor5-typing": "^41.4.2",
"@ckeditor/ckeditor5-undo": "^41.4.2",
"@ckeditor/ckeditor5-widget": "^41.4.2",
"@ckeditor/ckeditor5-package-tools": "file:/Users/piotrszczesniak/Dev/ckeditor5-package-generator/packages/ckeditor5-package-tools",
"@ckeditor/ckeditor5-theme-lark": "^41.4.2",
"eslint": "^7.32.0",
"eslint-config-ckeditor5": ">=3.1.1",
"http-server": "^14.1.0",
@ -64,11 +67,12 @@
"scripts": {
"dll:build": "ckeditor5-package-tools dll:build",
"dll:serve": "http-server ./ -o sample/dll.html",
"build:dist": "node ./scripts/build-dist.mjs",
"lint": "eslint \"**/*.js\" --quiet --ignore-pattern \"build/\"",
"start": "ckeditor5-package-tools start",
"stylelint": "stylelint --quiet --allow-empty-input 'theme/*.css'",
"test": "ckeditor5-package-tools test",
"prepare": "yarn run dll:build",
"prepare": "yarn run dll:build && yarn run build:dist",
"prepublishOnly": "yarn run dll:build",
"translations:collect": "ckeditor5-package-tools translations:collect",
"translations:download": "ckeditor5-package-tools translations:download",

22
sample/ckeditor.js vendored
View File

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

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: '<%= formattedNames.plugin.lowerCaseMerged %>',
external: [
'ckeditor5',
'ckeditor5-premium-features'
]
} );
} )();

View File

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

View File

@ -2,9 +2,9 @@
* @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.

View File

@ -2,9 +2,9 @@
* @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.

View File

@ -2,9 +2,9 @@
* @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.

View File

@ -8,7 +8,7 @@ import previewModeIcon from './../theme/icons/preview-mode.svg';
import splitModeIcon from './../theme/icons/split-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 = {
infoIcon,

View File

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

View File

@ -2,17 +2,17 @@
* @module mermaid/mermaidediting
*/
import { Plugin } from 'ckeditor5/src/core';
import { toWidget } from 'ckeditor5/src/widget';
import { Plugin } from 'ckeditor5/src/core.js';
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 MermaidPreviewCommand from './commands/mermaidPreviewCommand';
import MermaidSourceViewCommand from './commands/mermaidSourceViewCommand';
import MermaidSplitViewCommand from './commands/mermaidSplitViewCommand';
import InsertMermaidCommand from './commands/insertMermaidCommand';
import MermaidPreviewCommand from './commands/mermaidPreviewCommand.js';
import MermaidSourceViewCommand from './commands/mermaidSourceViewCommand.js';
import MermaidSplitViewCommand from './commands/mermaidSplitViewCommand.js';
import InsertMermaidCommand from './commands/insertMermaidCommand.js';
// Time in milliseconds.
const DEBOUNCE_TIME = 300;

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,12 +1,12 @@
import ClassicTestEditor from '@ckeditor/ckeditor5-editor-classic/src/classiceditor';
import ClassicTestEditor from '@ckeditor/ckeditor5-editor-classic/src/classiceditor.js';
import {
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';
} from '@ckeditor/ckeditor5-engine/src/dev-utils/model.js';
import WidgetToolbarRepository from '@ckeditor/ckeditor5-widget/src/widgettoolbarrepository.js';
import Essentials from '@ckeditor/ckeditor5-essentials/src/essentials.js';
import Paragraph from '@ckeditor/ckeditor5-paragraph/src/paragraph.js';
import Mermaid from '../src/mermaid';
import Mermaid from '../src/mermaid.js';
/* global document */
@ -38,6 +38,10 @@ describe( 'MermaidToolbar', () => {
describe( 'toolbar', () => {
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.get( 0 ).label ).to.equal( 'Source 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 { setData as setModelData } from '@ckeditor/ckeditor5-engine/src/dev-utils/model';
import ClassicEditor from '@ckeditor/ckeditor5-editor-classic/src/classiceditor.js';
import { setData as setModelData } from '@ckeditor/ckeditor5-engine/src/dev-utils/model.js';
import Mermaid from '../src/mermaid';
import MermaidUI from '../src/mermaidui';
import Mermaid from '../src/mermaid.js';
import MermaidUI from '../src/mermaidui.js';
/* global document */