From ac33eb483e862eca369ee91d55749369836842b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philipp=20Ku=CC=88hn?= Date: Thu, 24 Sep 2020 00:29:05 +0200 Subject: [PATCH] fix more linting errors --- .eslintrc.js | 4 ++ docs/src/components/Demo/index.vue | 14 ++--- docs/src/components/PageNavigation/index.vue | 4 +- docs/src/components/Prism/index.vue | 4 +- docs/src/components/ReactRenderer/index.vue | 4 +- docs/src/components/Tab/index.vue | 8 +-- docs/src/demos/Api/Schema/index.vue | 32 +++++----- docs/src/demos/Examples/Basic/index.vue | 4 +- .../demos/Examples/ExportHtmlOrJson/index.vue | 2 +- docs/src/demos/Examples/Focus/index.vue | 2 +- docs/src/demos/Examples/History/index.vue | 4 +- .../Examples/MarkdownShortcuts/index.vue | 4 +- docs/src/demos/Examples/ReadOnly/index.vue | 2 +- docs/src/demos/Examples/Simple/index.vue | 2 +- .../demos/ExtensionConfiguration/index.vue | 2 +- .../src/demos/Extensions/Blockquote/index.vue | 4 +- docs/src/demos/Extensions/Bold/index.vue | 4 +- .../src/demos/Extensions/BulletList/index.vue | 4 +- docs/src/demos/Extensions/Code/index.vue | 4 +- docs/src/demos/Extensions/CodeBlock/index.vue | 4 +- docs/src/demos/Extensions/Document/index.vue | 4 +- docs/src/demos/Extensions/HardBreak/index.vue | 4 +- docs/src/demos/Extensions/Heading/index.vue | 4 +- docs/src/demos/Extensions/History/index.vue | 4 +- .../demos/Extensions/HorizontalRule/index.vue | 4 +- docs/src/demos/Extensions/Italic/index.vue | 4 +- docs/src/demos/Extensions/Link/index.vue | 4 +- docs/src/demos/Extensions/ListItem/index.vue | 4 +- .../demos/Extensions/OrderedList/index.vue | 4 +- docs/src/demos/Extensions/Paragraph/index.vue | 4 +- docs/src/demos/Extensions/Strike/index.vue | 4 +- docs/src/demos/Extensions/Text/index.vue | 4 +- docs/src/demos/Extensions/Underline/index.vue | 4 +- docs/src/demos/General/Installation/index.vue | 2 +- .../src/demos/Guide/BuildYourEditor/index.vue | 2 +- docs/src/demos/Guide/GettingStarted/index.vue | 2 +- docs/src/demos/React/components/Editor.jsx | 8 ++- docs/src/demos/React/index.jsx | 58 +++++++++---------- docs/src/demos/SimpleMenuBar/index.vue | 2 +- docs/src/layouts/App/index.vue | 17 +++--- docs/src/templates/ApiPage/index.vue | 2 +- docs/src/templates/DocPage/index.vue | 2 +- packages/core/src/CommandManager.ts | 23 ++++---- packages/core/src/ComponentRenderer.ts | 2 +- packages/core/src/Editor.ts | 21 +++++-- packages/core/src/EventEmitter.ts | 2 +- packages/core/src/Extension.ts | 13 +++-- packages/core/src/ExtensionManager.ts | 29 +++++++--- packages/core/src/Mark.ts | 2 +- packages/core/src/commands/deleteSelection.ts | 2 +- packages/core/src/commands/focus.ts | 11 ++-- packages/core/src/commands/insertHTML.ts | 12 ++-- packages/core/src/commands/liftListItem.ts | 4 +- packages/core/src/commands/removeMark.ts | 8 ++- packages/core/src/commands/removeMarks.ts | 4 +- packages/core/src/commands/replaceWithNode.ts | 4 +- packages/core/src/commands/selectAll.ts | 2 +- .../core/src/commands/selectParentNode.ts | 2 +- packages/core/src/commands/setContent.ts | 4 +- packages/core/src/commands/sinkListItem.ts | 4 +- packages/core/src/commands/splitListItem.ts | 4 +- packages/core/src/commands/toggleList.ts | 2 +- packages/core/src/commands/toggleMark.ts | 4 +- packages/core/src/commands/toggleNode.ts | 4 +- packages/core/src/commands/updateMark.ts | 5 +- packages/core/src/inputRules/nodeInputRule.ts | 2 +- packages/core/src/pasteRules/markPasteRule.ts | 4 +- packages/core/src/plugins/editable.ts | 2 +- packages/core/src/plugins/focus.ts | 2 +- packages/core/src/plugins/index.ts | 4 +- packages/core/src/types.ts | 2 +- packages/core/src/utils/capitalize.ts | 2 +- packages/core/src/utils/elementFromString.ts | 4 +- packages/core/src/utils/generateHtml.ts | 2 +- packages/core/src/utils/getAllMethodNames.ts | 8 +-- .../core/src/utils/getHtmlFromFragment.ts | 3 +- .../core/src/utils/getMarksFromExtensions.ts | 4 +- .../core/src/utils/getNodesFromExtensions.ts | 4 +- packages/core/src/utils/getSchema.ts | 2 +- .../core/src/utils/getSchemaTypeByName.ts | 2 +- .../src/utils/getTopNodeFromExtensions.ts | 2 +- packages/core/src/utils/magicMethods.ts | 16 ++--- packages/core/src/utils/minMax.ts | 2 +- packages/core/src/utils/removeElement.ts | 2 +- .../core/src/utils/resolveExtensionConfig.ts | 2 +- packages/core/src/utils/sleep.ts | 2 +- packages/extension-blockquote/index.ts | 2 - packages/extension-bold/index.ts | 6 +- packages/extension-code-block/index.ts | 2 +- packages/extension-code/index.ts | 10 ++-- packages/extension-document/index.ts | 2 +- packages/extension-focus/index.ts | 2 +- packages/extension-hard-break/index.ts | 6 +- packages/extension-history/index.ts | 4 +- packages/extension-italic/index.ts | 6 +- packages/extension-ordered-list/index.ts | 2 +- packages/extension-paragraph/index.ts | 2 +- packages/extension-paragraph/paragraph.vue | 2 +- packages/extension-strike/index.ts | 12 ++-- packages/extension-text/index.ts | 2 +- packages/extension-underline/index.ts | 6 +- packages/html/getHtmlFromFragment.ts | 6 +- packages/starter-kit/index.ts | 2 +- packages/vue-starter-kit/index.ts | 5 +- packages/vue/index.ts | 2 +- packages/vue/src/Renderer.ts | 3 +- 106 files changed, 310 insertions(+), 274 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index 9f7aa29a..d5a7a0c3 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -34,6 +34,7 @@ module.exports = { 'global-require': 'off', 'func-names': ['error', 'never'], 'arrow-body-style': 'off', + 'max-len': 'off', 'vue/this-in-template': ['error', 'never'], 'vue/max-attributes-per-line': ['error', { singleline: 3, @@ -42,6 +43,9 @@ module.exports = { allowFirstLine: false, }, }], + 'no-param-reassign': 'off', + 'import/prefer-default-export': 'off', + 'consistent-return': 'off', 'no-unused-vars': 'off', '@typescript-eslint/no-unused-vars': ['error'], }, diff --git a/docs/src/components/Demo/index.vue b/docs/src/components/Demo/index.vue index 0647a2cd..aa476198 100644 --- a/docs/src/components/Demo/index.vue +++ b/docs/src/components/Demo/index.vue @@ -23,7 +23,7 @@
- Demo/{{ this.name }} + Demo/{{ name }}
Edit on GitHub → @@ -31,7 +31,7 @@
- Could not find a demo called “{{ this.name }}”. + Could not find a demo called “{{ name }}”.
@@ -66,7 +66,7 @@ export default { hideSourceCode: { type: Boolean, default: false, - } + }, }, data() { @@ -106,7 +106,7 @@ export default { }, mounted() { - this.files = collect(require.context(`~/demos/`, true, /.+\..+$/).keys()) + this.files = collect(require.context('~/demos/', true, /.+\..+$/).keys()) .filter(path => path.startsWith(`./${this.name}`)) .map(path => path.replace('./', '')) .map(path => { @@ -120,13 +120,13 @@ export default { highlight: this.syntax[extension] || extension, } }) - .filter((item) => { + .filter(item => { return ['vue', 'jsx', 'scss'].includes(item.extension) }) .sortBy(item => item.path.split('/').length) .toArray() - } + }, } - \ No newline at end of file + diff --git a/docs/src/components/Prism/index.vue b/docs/src/components/Prism/index.vue index 5deb2bd2..8c336bbc 100644 --- a/docs/src/components/Prism/index.vue +++ b/docs/src/components/Prism/index.vue @@ -34,11 +34,11 @@ export default { methods: { highlightCode() { Prism.highlightAllUnder(this.$el) - } + }, }, mounted() { this.highlightCode() }, } - \ No newline at end of file + diff --git a/docs/src/components/ReactRenderer/index.vue b/docs/src/components/ReactRenderer/index.vue index a54a8ace..b78f22fb 100644 --- a/docs/src/components/ReactRenderer/index.vue +++ b/docs/src/components/ReactRenderer/index.vue @@ -10,7 +10,7 @@ export default { props: { component: { required: true, - } + }, }, mounted() { @@ -21,4 +21,4 @@ export default { ReactDOM.unmountComponentAtNode(this.$el) }, } - \ No newline at end of file + diff --git a/docs/src/components/Tab/index.vue b/docs/src/components/Tab/index.vue index 057309a9..7af19c14 100644 --- a/docs/src/components/Tab/index.vue +++ b/docs/src/components/Tab/index.vue @@ -8,18 +8,18 @@ import { outdent } from '@mvasilkov/outdent' export default { data() { return { - formattedCode: null + formattedCode: null, } }, methods: { updateCode() { - const text = this.$slots.default[0].text + const { text } = this.$slots.default[0] if (text) { this.formattedCode = outdent(text) } - } + }, }, beforeUpdate() { @@ -30,4 +30,4 @@ export default { this.updateCode() }, } - \ No newline at end of file + diff --git a/docs/src/demos/Api/Schema/index.vue b/docs/src/demos/Api/Schema/index.vue index 9003dd36..a2d47419 100644 --- a/docs/src/demos/Api/Schema/index.vue +++ b/docs/src/demos/Api/Schema/index.vue @@ -1,5 +1,5 @@ \ No newline at end of file + diff --git a/docs/src/demos/Examples/Basic/index.vue b/docs/src/demos/Examples/Basic/index.vue index ea2ab8c2..ac98419d 100644 --- a/docs/src/demos/Examples/Basic/index.vue +++ b/docs/src/demos/Examples/Basic/index.vue @@ -83,7 +83,7 @@ export default { mounted() { this.editor = new Editor({ extensions: defaultExtensions(), - content: ` + content: `

Hi there,

@@ -112,4 +112,4 @@ export default { this.editor.destroy() }, } - \ No newline at end of file + diff --git a/docs/src/demos/Examples/ExportHtmlOrJson/index.vue b/docs/src/demos/Examples/ExportHtmlOrJson/index.vue index fbb6bd27..c10b0369 100644 --- a/docs/src/demos/Examples/ExportHtmlOrJson/index.vue +++ b/docs/src/demos/Examples/ExportHtmlOrJson/index.vue @@ -88,4 +88,4 @@ export default { } - - \ No newline at end of file + diff --git a/docs/src/templates/ApiPage/index.vue b/docs/src/templates/ApiPage/index.vue index 54c64f10..de9a02f5 100644 --- a/docs/src/templates/ApiPage/index.vue +++ b/docs/src/templates/ApiPage/index.vue @@ -35,4 +35,4 @@ export default { } - \ No newline at end of file + diff --git a/docs/src/templates/DocPage/index.vue b/docs/src/templates/DocPage/index.vue index c25fa000..0fb293a6 100644 --- a/docs/src/templates/DocPage/index.vue +++ b/docs/src/templates/DocPage/index.vue @@ -6,4 +6,4 @@ - \ No newline at end of file + diff --git a/packages/core/src/CommandManager.ts b/packages/core/src/CommandManager.ts index 2ebeab31..91ee92c0 100644 --- a/packages/core/src/CommandManager.ts +++ b/packages/core/src/CommandManager.ts @@ -1,10 +1,11 @@ -import { EditorState, Transaction } from "prosemirror-state" -import { ChainedCommands, Editor, CommandSpec } from "./Editor" +import { EditorState, Transaction } from 'prosemirror-state' +import { ChainedCommands, Editor, CommandSpec } from './Editor' import getAllMethodNames from './utils/getAllMethodNames' export default class CommandManager { editor: Editor + commands: { [key: string]: any } = {} constructor(editor: Editor) { @@ -35,13 +36,13 @@ export default class CommandManager { const { commands, editor } = this const { state, view } = editor const command = commands[name] - + if (!command) { // TODO: prevent vue devtools to throw error // throw new Error(`tiptap: command '${name}' not found.`) return } - + return (...args: any) => { const { tr } = state const props = this.buildProps(tr) @@ -87,7 +88,7 @@ export default class CommandManager { return proxy } - } + }, }) as ChainedCommands } @@ -108,16 +109,16 @@ export default class CommandManager { .map(([name, command]) => { return [name, (...args: any[]) => command(...args)(props)] })) - } + }, } return props } public chainableState(tr: Transaction, state: EditorState): EditorState { - let selection = tr.selection - let doc = tr.doc - let storedMarks = tr.storedMarks + let { selection } = tr + let { doc } = tr + let { storedMarks } = tr return { ...state, @@ -143,7 +144,7 @@ export default class CommandManager { return tr }, - }; + } } -} \ No newline at end of file +} diff --git a/packages/core/src/ComponentRenderer.ts b/packages/core/src/ComponentRenderer.ts index 1b69445e..39d9d865 100644 --- a/packages/core/src/ComponentRenderer.ts +++ b/packages/core/src/ComponentRenderer.ts @@ -2,4 +2,4 @@ export default abstract class ComponentRenderer { static type: string -} \ No newline at end of file +} diff --git a/packages/core/src/Editor.ts b/packages/core/src/Editor.ts index 8a9dddef..6987abca 100644 --- a/packages/core/src/Editor.ts +++ b/packages/core/src/Editor.ts @@ -1,5 +1,5 @@ import { EditorState, Plugin, Transaction } from 'prosemirror-state' -import { EditorView} from 'prosemirror-view' +import { EditorView } from 'prosemirror-view' import { Schema, DOMParser, DOMSerializer } from 'prosemirror-model' import magicMethods from './utils/magicMethods' import elementFromString from './utils/elementFromString' @@ -18,7 +18,7 @@ import Node from './Node' import Mark from './Mark' import ComponentRenderer from './ComponentRenderer' import defaultPlugins from './plugins' -import * as commands from './commands' +import * as coreCommands from './commands' export type Command = (props: { editor: Editor, @@ -77,14 +77,23 @@ declare module './Editor' { export class Editor extends EventEmitter { public renderer!: any + private proxy!: Editor + private commandManager!: CommandManager + private extensionManager!: ExtensionManager + private css!: HTMLStyleElement + public schema!: Schema + public view!: EditorView + public selection = { from: 0, to: 0 } + public isFocused = false + public options: EditorOptions = { element: document.createElement('div'), content: '', @@ -109,7 +118,7 @@ export class Editor extends EventEmitter { this.createSchema() this.extensionManager.resolveConfigs() this.createView() - this.registerCommands(commands) + this.registerCommands(coreCommands) if (this.options.injectCSS) { require('./style.css') @@ -190,7 +199,7 @@ export class Editor extends EventEmitter { * @param plugin A ProseMirror plugin * @param handlePlugins Control how to merge the plugin into the existing plugins. */ - public registerPlugin(plugin: Plugin, handlePlugins?: (plugin: Plugin, plugins: Plugin[]) => Plugin[]) { + public registerPlugin(plugin: Plugin, handlePlugins?: (newPlugin: Plugin, plugins: Plugin[]) => Plugin[]) { const plugins = typeof handlePlugins === 'function' ? handlePlugins(plugin, this.state.plugins) : [plugin, ...this.state.plugins] @@ -333,7 +342,7 @@ export class Editor extends EventEmitter { if (schemaType === 'node') { return nodeIsActive(this.state, this.schema.nodes[name], attrs) - } else if (schemaType === 'mark') { + } if (schemaType === 'mark') { return markIsActive(this.state, this.schema.marks[name]) } @@ -381,5 +390,5 @@ export class Editor extends EventEmitter { this.removeAllListeners() removeElement(this.css) } - + } diff --git a/packages/core/src/EventEmitter.ts b/packages/core/src/EventEmitter.ts index f15c81ce..7d83d475 100644 --- a/packages/core/src/EventEmitter.ts +++ b/packages/core/src/EventEmitter.ts @@ -8,7 +8,7 @@ export default class EventEmitter { } this._callbacks[event].push(fn) - + return this } diff --git a/packages/core/src/Extension.ts b/packages/core/src/Extension.ts index 873c424b..e244c86b 100644 --- a/packages/core/src/Extension.ts +++ b/packages/core/src/Extension.ts @@ -41,8 +41,11 @@ export default class Extension< Methods extends ExtensionMethods = ExtensionMethods > { type = 'extension' + config: AnyObject = {} - configs: Configs = {} + + configs: Configs = {} + options: Partial = {} protected storeConfig(key: string, value: any, stategy: MergeStrategy) { @@ -102,12 +105,10 @@ export default class Extension< this.storeConfig(key, value, 'extend') return this } - - public create() { - type ParentOptions = Options - return (options?: Partial>) => { - return cloneDeep(this, true).configure(options as Options) + public create() { + return (options?: Partial>) => { + return cloneDeep(this, true).configure(options as NewOptions) } } } diff --git a/packages/core/src/ExtensionManager.ts b/packages/core/src/ExtensionManager.ts index df056a02..5309e75a 100644 --- a/packages/core/src/ExtensionManager.ts +++ b/packages/core/src/ExtensionManager.ts @@ -2,10 +2,10 @@ import deepmerge from 'deepmerge' import collect from 'collect.js' import { Plugin } from 'prosemirror-state' import { keymap } from 'prosemirror-keymap' -import { Schema } from 'prosemirror-model' +import { Schema, Node as ProsemirrorNode } from 'prosemirror-model' import { inputRules } from 'prosemirror-inputrules' import { EditorView, Decoration } from 'prosemirror-view' -import { Node as ProsemirrorNode } from 'prosemirror-model' + import { Editor } from './Editor' import capitalize from './utils/capitalize' import { Extensions } from './types' @@ -18,6 +18,7 @@ import getSchema from './utils/getSchema' export default class ExtensionManager { editor: Editor + extensions: Extensions constructor(extensions: Extensions, editor: Editor) { @@ -28,17 +29,27 @@ export default class ExtensionManager { resolveConfigs() { this.extensions.forEach(extension => { const { editor } = this - const name = extension.config.name + const { name } = extension.config const options = deepmerge(extension.config.defaults, extension.options) const type = extension.type === 'node' ? editor.schema.nodes[name] : editor.schema.marks[name] - resolveExtensionConfig(extension, 'commands', { name, options, editor, type }) - resolveExtensionConfig(extension, 'inputRules', { name, options, editor, type }) - resolveExtensionConfig(extension, 'pasteRules', { name, options, editor, type }) - resolveExtensionConfig(extension, 'keys', { name, options, editor, type }) - resolveExtensionConfig(extension, 'plugins', { name, options, editor, type }) + resolveExtensionConfig(extension, 'commands', { + name, options, editor, type, + }) + resolveExtensionConfig(extension, 'inputRules', { + name, options, editor, type, + }) + resolveExtensionConfig(extension, 'pasteRules', { + name, options, editor, type, + }) + resolveExtensionConfig(extension, 'keys', { + name, options, editor, type, + }) + resolveExtensionConfig(extension, 'plugins', { + name, options, editor, type, + }) if (extension.config.commands) { editor.registerCommands(extension.config.commands) @@ -57,7 +68,7 @@ export default class ExtensionManager { get nodes(): any { return getNodesFromExtensions(this.extensions) } - + get marks(): any { return getMarksFromExtensions(this.extensions) } diff --git a/packages/core/src/Mark.ts b/packages/core/src/Mark.ts index 60394a9b..7d4f0ae2 100644 --- a/packages/core/src/Mark.ts +++ b/packages/core/src/Mark.ts @@ -25,4 +25,4 @@ export default class Mark< this.storeConfig('schema', value, 'overwrite') return this } -} \ No newline at end of file +} diff --git a/packages/core/src/commands/deleteSelection.ts b/packages/core/src/commands/deleteSelection.ts index 7d74c5df..067cdebd 100644 --- a/packages/core/src/commands/deleteSelection.ts +++ b/packages/core/src/commands/deleteSelection.ts @@ -1,5 +1,5 @@ -import { Command } from '../Editor' import { deleteSelection as originalDeleteSelection } from 'prosemirror-commands' +import { Command } from '../Editor' type DeleteSelectionCommand = () => Command diff --git a/packages/core/src/commands/focus.ts b/packages/core/src/commands/focus.ts index b9b9ae51..1042852e 100644 --- a/packages/core/src/commands/focus.ts +++ b/packages/core/src/commands/focus.ts @@ -1,7 +1,8 @@ -import { Editor, Command } from '../Editor' import { TextSelection } from 'prosemirror-state' +import { Editor, Command } from '../Editor' import minMax from '../utils/minMax' +type Position = 'start' | 'end' | number | boolean | null type FocusCommand = (position?: Position) => Command declare module '../Editor' { @@ -15,8 +16,6 @@ interface ResolvedSelection { to: number, } -type Position = 'start' | 'end' | number | boolean | null - function resolveSelection(editor: Editor, position: Position = null): ResolvedSelection { if (position === null) { return editor.selection @@ -31,7 +30,7 @@ function resolveSelection(editor: Editor, position: Position = null): ResolvedSe if (position === 'end') { const { size } = editor.state.doc.content - + return { from: size, to: size - 1, // TODO: -1 only for nodes with content @@ -54,9 +53,9 @@ export const focus: FocusCommand = (position = null) => ({ editor, view, tr }) = const resolvedFrom = minMax(from, 0, doc.content.size) const resolvedEnd = minMax(to, 0, doc.content.size) const selection = TextSelection.create(doc, resolvedFrom, resolvedEnd) - + tr.setSelection(selection) view.focus() return true -} \ No newline at end of file +} diff --git a/packages/core/src/commands/insertHTML.ts b/packages/core/src/commands/insertHTML.ts index ccee22f9..9d06dddf 100644 --- a/packages/core/src/commands/insertHTML.ts +++ b/packages/core/src/commands/insertHTML.ts @@ -1,8 +1,8 @@ import { DOMParser } from 'prosemirror-model' import { Selection, Transaction } from 'prosemirror-state' +import { ReplaceStep, ReplaceAroundStep } from 'prosemirror-transform' import { Command } from '../Editor' import elementFromString from '../utils/elementFromString' -import {ReplaceStep, ReplaceAroundStep} from "prosemirror-transform" type InsertHTMLCommand = (value: string) => Command @@ -15,13 +15,13 @@ declare module '../Editor' { // TODO: move to utils // https://github.com/ProseMirror/prosemirror-state/blob/master/src/selection.js#L466 function selectionToInsertionEnd(tr: Transaction, startLen: number, bias: number) { - let last = tr.steps.length - 1 + const last = tr.steps.length - 1 if (last < startLen) return - let step = tr.steps[last] + const step = tr.steps[last] if (!(step instanceof ReplaceStep || step instanceof ReplaceAroundStep)) return - let map = tr.mapping.maps[last] + const map = tr.mapping.maps[last] let end = 0 - map.forEach((_from, _to, _newFrom, newTo) => { if (end == 0) end = newTo }) + map.forEach((_from, _to, _newFrom, newTo) => { if (end === 0) end = newTo }) tr.setSelection(Selection.near(tr.doc.resolve(end as unknown as number), bias)) } @@ -34,4 +34,4 @@ export const insertHTML: InsertHTMLCommand = value => ({ tr, state }) => { selectionToInsertionEnd(tr, tr.steps.length - 1, -1) return true -} \ No newline at end of file +} diff --git a/packages/core/src/commands/liftListItem.ts b/packages/core/src/commands/liftListItem.ts index 0508e2ae..ad0db3ad 100644 --- a/packages/core/src/commands/liftListItem.ts +++ b/packages/core/src/commands/liftListItem.ts @@ -1,6 +1,6 @@ -import { Command } from '../Editor' import { liftListItem as originalLiftListItem } from 'prosemirror-schema-list' import { NodeType } from 'prosemirror-model' +import { Command } from '../Editor' import getNodeType from '../utils/getNodeType' type LiftListItem = (typeOrName: string | NodeType) => Command @@ -11,7 +11,7 @@ declare module '../Editor' { } } -export const liftListItem: LiftListItem = (typeOrName) => ({ state, dispatch }) => { +export const liftListItem: LiftListItem = typeOrName => ({ state, dispatch }) => { const type = getNodeType(typeOrName, state.schema) return originalLiftListItem(type)(state, dispatch) diff --git a/packages/core/src/commands/removeMark.ts b/packages/core/src/commands/removeMark.ts index 71456afb..9950819f 100644 --- a/packages/core/src/commands/removeMark.ts +++ b/packages/core/src/commands/removeMark.ts @@ -1,5 +1,5 @@ -import { Command } from '../Editor' import { MarkType } from 'prosemirror-model' +import { Command } from '../Editor' import getMarkType from '../utils/getMarkType' import getMarkRange from '../utils/getMarkRange' @@ -11,10 +11,12 @@ declare module '../Editor' { } } -export const removeMark: RemoveMarkCommand = (typeOrName) => ({ tr, state }) => { +export const removeMark: RemoveMarkCommand = typeOrName => ({ tr, state }) => { const { selection } = tr const type = getMarkType(typeOrName, state.schema) - let { from, to, $from, empty } = selection + let { + from, to, $from, empty, + } = selection if (empty) { const range = getMarkRange($from, type) diff --git a/packages/core/src/commands/removeMarks.ts b/packages/core/src/commands/removeMarks.ts index f71400d2..d2eb17c4 100644 --- a/packages/core/src/commands/removeMarks.ts +++ b/packages/core/src/commands/removeMarks.ts @@ -8,7 +8,7 @@ declare module '../Editor' { } } -export const removeMarks: RemoveMarksCommand = () => ({ tr, state, view }) => { +export const removeMarks: RemoveMarksCommand = () => ({ tr, state }) => { const { selection } = tr const { from, to, empty } = selection @@ -18,7 +18,7 @@ export const removeMarks: RemoveMarksCommand = () => ({ tr, state, view }) => { Object .entries(state.schema.marks) - .forEach(([name, mark]) => { + .forEach(([, mark]) => { tr.removeMark(from, to, mark as any) }) diff --git a/packages/core/src/commands/replaceWithNode.ts b/packages/core/src/commands/replaceWithNode.ts index 233897d6..d992735a 100644 --- a/packages/core/src/commands/replaceWithNode.ts +++ b/packages/core/src/commands/replaceWithNode.ts @@ -1,5 +1,5 @@ -import { Command } from '../Editor' import { NodeType } from 'prosemirror-model' +import { Command } from '../Editor' import getNodeType from '../utils/getNodeType' interface Range { @@ -29,7 +29,7 @@ export const replaceWithNode: ReplaceWithNodeCommand = (typeOrName, attrs = {}, if (!$from.parent.canReplaceWith(index, index, type)) { return false } - + view.dispatch(tr.replaceWith(from, to, type.create(attrs))) return true diff --git a/packages/core/src/commands/selectAll.ts b/packages/core/src/commands/selectAll.ts index 293bc8c6..6aca7b86 100644 --- a/packages/core/src/commands/selectAll.ts +++ b/packages/core/src/commands/selectAll.ts @@ -1,5 +1,5 @@ -import { Command } from '../Editor' import { selectAll as originalSelectAll } from 'prosemirror-commands' +import { Command } from '../Editor' type SelectAllCommand = () => Command diff --git a/packages/core/src/commands/selectParentNode.ts b/packages/core/src/commands/selectParentNode.ts index 32ccbc05..7e51e7c9 100644 --- a/packages/core/src/commands/selectParentNode.ts +++ b/packages/core/src/commands/selectParentNode.ts @@ -1,5 +1,5 @@ -import { Command } from '../Editor' import { selectParentNode as originalSelectParentNode } from 'prosemirror-commands' +import { Command } from '../Editor' type SelectParentNodeCommand = () => Command diff --git a/packages/core/src/commands/setContent.ts b/packages/core/src/commands/setContent.ts index 8daa605d..fb1c5d1e 100644 --- a/packages/core/src/commands/setContent.ts +++ b/packages/core/src/commands/setContent.ts @@ -1,5 +1,5 @@ -import { Command } from '../Editor' import { TextSelection } from 'prosemirror-state' +import { Command } from '../Editor' type SetContentCommand = ( content: string, @@ -18,7 +18,7 @@ export const setContent: SetContentCommand = (content = '', emitUpdate = false, const { doc } = tr const document = createDocument(content, parseOptions) const selection = TextSelection.create(doc, 0, doc.content.size) - + tr.setSelection(selection) .replaceSelectionWith(document, false) .setMeta('preventUpdate', !emitUpdate) diff --git a/packages/core/src/commands/sinkListItem.ts b/packages/core/src/commands/sinkListItem.ts index fc1743fb..04dea8b9 100644 --- a/packages/core/src/commands/sinkListItem.ts +++ b/packages/core/src/commands/sinkListItem.ts @@ -1,6 +1,6 @@ -import { Command } from '../Editor' import { sinkListItem as originalSinkListItem } from 'prosemirror-schema-list' import { NodeType } from 'prosemirror-model' +import { Command } from '../Editor' import getNodeType from '../utils/getNodeType' type SinkListItem = (typeOrName: string | NodeType) => Command @@ -11,7 +11,7 @@ declare module '../Editor' { } } -export const sinkListItem: SinkListItem = (typeOrName) => ({ state, dispatch }) => { +export const sinkListItem: SinkListItem = typeOrName => ({ state, dispatch }) => { const type = getNodeType(typeOrName, state.schema) return originalSinkListItem(type)(state, dispatch) diff --git a/packages/core/src/commands/splitListItem.ts b/packages/core/src/commands/splitListItem.ts index 75dc79f4..807eee36 100644 --- a/packages/core/src/commands/splitListItem.ts +++ b/packages/core/src/commands/splitListItem.ts @@ -1,6 +1,6 @@ -import { Command } from '../Editor' import { splitListItem as originalSplitListItem } from 'prosemirror-schema-list' import { NodeType } from 'prosemirror-model' +import { Command } from '../Editor' import getNodeType from '../utils/getNodeType' type SplitListItem = (typeOrName: string | NodeType) => Command @@ -11,7 +11,7 @@ declare module '../Editor' { } } -export const splitListItem: SplitListItem = (typeOrName) => ({ state, dispatch }) => { +export const splitListItem: SplitListItem = typeOrName => ({ state, dispatch }) => { const type = getNodeType(typeOrName, state.schema) return originalSplitListItem(type)(state, dispatch) diff --git a/packages/core/src/commands/toggleList.ts b/packages/core/src/commands/toggleList.ts index 699decdb..2a2238cd 100644 --- a/packages/core/src/commands/toggleList.ts +++ b/packages/core/src/commands/toggleList.ts @@ -1,7 +1,7 @@ -import { Command } from '../Editor' import { wrapInList, liftListItem } from 'prosemirror-schema-list' import { findParentNode } from 'prosemirror-utils' import { Node, NodeType, Schema } from 'prosemirror-model' +import { Command } from '../Editor' import getNodeType from '../utils/getNodeType' type ToggleListCommand = ( diff --git a/packages/core/src/commands/toggleMark.ts b/packages/core/src/commands/toggleMark.ts index 2dad4937..65aacab7 100644 --- a/packages/core/src/commands/toggleMark.ts +++ b/packages/core/src/commands/toggleMark.ts @@ -1,6 +1,6 @@ -import { Command } from '../Editor' import { toggleMark as originalToggleMark } from 'prosemirror-commands' import { MarkType } from 'prosemirror-model' +import { Command } from '../Editor' import getMarkType from '../utils/getMarkType' type ToggleMarkCommand = (typeOrName: string | MarkType) => Command @@ -11,7 +11,7 @@ declare module '../Editor' { } } -export const toggleMark: ToggleMarkCommand = (typeOrName) => ({ state, dispatch }) => { +export const toggleMark: ToggleMarkCommand = typeOrName => ({ state, dispatch }) => { const type = getMarkType(typeOrName, state.schema) return originalToggleMark(type)(state, dispatch) diff --git a/packages/core/src/commands/toggleNode.ts b/packages/core/src/commands/toggleNode.ts index 95642645..342e6781 100644 --- a/packages/core/src/commands/toggleNode.ts +++ b/packages/core/src/commands/toggleNode.ts @@ -23,7 +23,7 @@ export const toggleNode: ToggleNodeCommand = (typeOrName, toggleTypeOrName, attr if (isActive) { return setBlockType(toggleType)(state, dispatch) - } else { - return setBlockType(type, attrs)(state, dispatch) } + return setBlockType(type, attrs)(state, dispatch) + } diff --git a/packages/core/src/commands/updateMark.ts b/packages/core/src/commands/updateMark.ts index c66a6449..4e09e46c 100644 --- a/packages/core/src/commands/updateMark.ts +++ b/packages/core/src/commands/updateMark.ts @@ -1,5 +1,5 @@ -import { Command } from '../Editor' import { MarkType } from 'prosemirror-model' +import { Command } from '../Editor' import getMarkType from '../utils/getMarkType' import getMarkRange from '../utils/getMarkRange' @@ -16,7 +16,8 @@ declare module '../Editor' { export const updateMark: UpdateMarkCommand = (typeOrName, attrs = {}) => ({ tr, state }) => { const { selection, doc } = tr - let { from, to, $from, empty } = selection + let { from, to } = selection + const { $from, empty } = selection const type = getMarkType(typeOrName, state.schema) if (empty) { diff --git a/packages/core/src/inputRules/nodeInputRule.ts b/packages/core/src/inputRules/nodeInputRule.ts index 057798b9..c69cc700 100644 --- a/packages/core/src/inputRules/nodeInputRule.ts +++ b/packages/core/src/inputRules/nodeInputRule.ts @@ -12,4 +12,4 @@ export default function (regexp: RegExp, type: NodeType, getAttrs?: Function) { return tr }) -} \ No newline at end of file +} diff --git a/packages/core/src/pasteRules/markPasteRule.ts b/packages/core/src/pasteRules/markPasteRule.ts index 0fe2fd49..25cf7e44 100644 --- a/packages/core/src/pasteRules/markPasteRule.ts +++ b/packages/core/src/pasteRules/markPasteRule.ts @@ -5,13 +5,13 @@ export default function (regexp: RegExp, type: MarkType, getAttrs?: Function) { const handler = (fragment: Fragment, parent?: any) => { const nodes: any[] = [] - + fragment.forEach(child => { if (child.isText && child.text) { const { text } = child let pos = 0 let match - + // eslint-disable-next-line while ((match = regexp.exec(text)) !== null) { const m = match.length - 1 diff --git a/packages/core/src/plugins/editable.ts b/packages/core/src/plugins/editable.ts index 28212bea..1a2078f2 100644 --- a/packages/core/src/plugins/editable.ts +++ b/packages/core/src/plugins/editable.ts @@ -6,4 +6,4 @@ export default (editor: Editor) => new Plugin({ props: { editable: () => editor.options.editable, }, -}) \ No newline at end of file +}) diff --git a/packages/core/src/plugins/focus.ts b/packages/core/src/plugins/focus.ts index 07fb7243..794346e9 100644 --- a/packages/core/src/plugins/focus.ts +++ b/packages/core/src/plugins/focus.ts @@ -25,4 +25,4 @@ export default (editor: Editor) => new Plugin({ }, }, }, -}) \ No newline at end of file +}) diff --git a/packages/core/src/plugins/index.ts b/packages/core/src/plugins/index.ts index 188a1b3d..3f630521 100644 --- a/packages/core/src/plugins/index.ts +++ b/packages/core/src/plugins/index.ts @@ -2,9 +2,9 @@ import { keymap } from 'prosemirror-keymap' import { baseKeymap } from 'prosemirror-commands' import { dropCursor } from 'prosemirror-dropcursor' import { gapCursor } from 'prosemirror-gapcursor' +import { undoInputRule } from 'prosemirror-inputrules' import editable from './editable' import focus from './focus' -import { undoInputRule } from 'prosemirror-inputrules' export default [ () => dropCursor(), @@ -13,4 +13,4 @@ export default [ () => keymap(baseKeymap), editable, focus, -] \ No newline at end of file +] diff --git a/packages/core/src/types.ts b/packages/core/src/types.ts index 745605e5..bc33c59c 100644 --- a/packages/core/src/types.ts +++ b/packages/core/src/types.ts @@ -2,4 +2,4 @@ import Extension from './Extension' import Node from './Node' import Mark from './Mark' -export type Extensions = (Extension | Node | Mark)[] \ No newline at end of file +export type Extensions = (Extension | Node | Mark)[] diff --git a/packages/core/src/utils/capitalize.ts b/packages/core/src/utils/capitalize.ts index 43abafe6..e153512d 100644 --- a/packages/core/src/utils/capitalize.ts +++ b/packages/core/src/utils/capitalize.ts @@ -1,3 +1,3 @@ export default function capitalize(value: string = ''): string { return value.charAt(0).toUpperCase() + value.slice(1) -} \ No newline at end of file +} diff --git a/packages/core/src/utils/elementFromString.ts b/packages/core/src/utils/elementFromString.ts index 14c7055e..6240a975 100644 --- a/packages/core/src/utils/elementFromString.ts +++ b/packages/core/src/utils/elementFromString.ts @@ -1,7 +1,7 @@ export default function elementFromString(value: string): HTMLElement { const htmlString = `
${value}
` - const parser = new window.DOMParser + const parser = new window.DOMParser() const element = parser.parseFromString(htmlString, 'text/html').body return element -} \ No newline at end of file +} diff --git a/packages/core/src/utils/generateHtml.ts b/packages/core/src/utils/generateHtml.ts index 05ebc31f..45d723ab 100644 --- a/packages/core/src/utils/generateHtml.ts +++ b/packages/core/src/utils/generateHtml.ts @@ -1,6 +1,6 @@ +import { Node } from 'prosemirror-model' import getSchema from './getSchema' import getHtmlFromFragment from './getHtmlFromFragment' -import { Node } from 'prosemirror-model' import { Extensions } from '../types' export default function generateHtml(doc: object, extensions: Extensions): string { diff --git a/packages/core/src/utils/getAllMethodNames.ts b/packages/core/src/utils/getAllMethodNames.ts index de23f7c3..f773df95 100644 --- a/packages/core/src/utils/getAllMethodNames.ts +++ b/packages/core/src/utils/getAllMethodNames.ts @@ -1,10 +1,10 @@ export default function getAllMethodNames(obj: Object) { - let methods = new Set() + const methods = new Set() while (obj = Reflect.getPrototypeOf(obj)) { - let keys = Reflect.ownKeys(obj) - keys.forEach((k) => methods.add(k)) + const keys = Reflect.ownKeys(obj) + keys.forEach(k => methods.add(k)) } return Array.from(methods) -} \ No newline at end of file +} diff --git a/packages/core/src/utils/getHtmlFromFragment.ts b/packages/core/src/utils/getHtmlFromFragment.ts index 64a7ecef..a1332b2f 100644 --- a/packages/core/src/utils/getHtmlFromFragment.ts +++ b/packages/core/src/utils/getHtmlFromFragment.ts @@ -1,5 +1,4 @@ -import { Node, DOMSerializer } from 'prosemirror-model' -import { Schema } from 'prosemirror-model' +import { Node, DOMSerializer, Schema } from 'prosemirror-model' export default function getHtmlFromFragment(doc: Node, schema: Schema): string { const fragment = DOMSerializer diff --git a/packages/core/src/utils/getMarksFromExtensions.ts b/packages/core/src/utils/getMarksFromExtensions.ts index 63c890bf..13152522 100644 --- a/packages/core/src/utils/getMarksFromExtensions.ts +++ b/packages/core/src/utils/getMarksFromExtensions.ts @@ -1,5 +1,5 @@ -import Mark from '../Mark' import collect from 'collect.js' +import Mark from '../Mark' import { Extensions } from '../types' export default function getMarksFromExtensions(extensions: Extensions): any { @@ -7,4 +7,4 @@ export default function getMarksFromExtensions(extensions: Extensions): any { .where('type', 'mark') .mapWithKeys((extension: Mark) => [extension.config.name, extension.config.schema]) .all() -} \ No newline at end of file +} diff --git a/packages/core/src/utils/getNodesFromExtensions.ts b/packages/core/src/utils/getNodesFromExtensions.ts index 409c04fc..34290eec 100644 --- a/packages/core/src/utils/getNodesFromExtensions.ts +++ b/packages/core/src/utils/getNodesFromExtensions.ts @@ -1,5 +1,5 @@ -import Node from '../Node' import collect from 'collect.js' +import Node from '../Node' import { Extensions } from '../types' export default function getNodesFromExtensions(extensions: Extensions): any { @@ -7,4 +7,4 @@ export default function getNodesFromExtensions(extensions: Extensions): any { .where('type', 'node') .mapWithKeys((extension: Node) => [extension.config.name, extension.config.schema]) .all() -} \ No newline at end of file +} diff --git a/packages/core/src/utils/getSchema.ts b/packages/core/src/utils/getSchema.ts index 58b455d2..066af5f5 100644 --- a/packages/core/src/utils/getSchema.ts +++ b/packages/core/src/utils/getSchema.ts @@ -12,7 +12,7 @@ export default function getSchema(extensions: Extensions): Schema { resolveExtensionConfig(extension, 'defaults') resolveExtensionConfig(extension, 'topNode') - const name = extension.config.name + const { name } = extension.config const options = deepmerge(extension.config.defaults, extension.options) resolveExtensionConfig(extension, 'schema', { name, options }) diff --git a/packages/core/src/utils/getSchemaTypeByName.ts b/packages/core/src/utils/getSchemaTypeByName.ts index 5f445d27..bf8250f0 100644 --- a/packages/core/src/utils/getSchemaTypeByName.ts +++ b/packages/core/src/utils/getSchemaTypeByName.ts @@ -10,4 +10,4 @@ export default function getSchemaTypeByName(name: string, schema: Schema) { } return null -} \ No newline at end of file +} diff --git a/packages/core/src/utils/getTopNodeFromExtensions.ts b/packages/core/src/utils/getTopNodeFromExtensions.ts index a7ce3e63..693070e1 100644 --- a/packages/core/src/utils/getTopNodeFromExtensions.ts +++ b/packages/core/src/utils/getTopNodeFromExtensions.ts @@ -7,4 +7,4 @@ export default function getTopNodeFromExtensions(extensions: Extensions): any { if (topNode) { return topNode.config.name } -} \ No newline at end of file +} diff --git a/packages/core/src/utils/magicMethods.ts b/packages/core/src/utils/magicMethods.ts index c5421321..e48bf22e 100644 --- a/packages/core/src/utils/magicMethods.ts +++ b/packages/core/src/utils/magicMethods.ts @@ -1,10 +1,10 @@ -export default function magicMethods(clazz: any) { +export default function magicMethods(Clazz: any) { const classHandler = Object.create(null) - classHandler.construct = (target: any, args: any) => { - const instance = new clazz(...args) + classHandler.construct = (_, args: any) => { + const instance = new Clazz(...args) const instanceHandler = Object.create(null) - const get = Object.getOwnPropertyDescriptor(clazz.prototype, '__get') + const get = Object.getOwnPropertyDescriptor(Clazz.prototype, '__get') if (get) { instanceHandler.get = (target: any, name: any) => { @@ -18,9 +18,9 @@ export default function magicMethods(clazz: any) { if (exists) { return target[name] - } else { - return get.value.call(target, name) } + + return get.value.call(target, name) } } @@ -30,5 +30,5 @@ export default function magicMethods(clazz: any) { return instance.proxy } - return new Proxy(clazz, classHandler) -} \ No newline at end of file + return new Proxy(Clazz, classHandler) +} diff --git a/packages/core/src/utils/minMax.ts b/packages/core/src/utils/minMax.ts index 332cbc59..c1aa6838 100644 --- a/packages/core/src/utils/minMax.ts +++ b/packages/core/src/utils/minMax.ts @@ -1,3 +1,3 @@ export default function minMax(value: number = 0, min: number = 0, max: number = 0): number { return Math.min(Math.max(value, min), max) -} \ No newline at end of file +} diff --git a/packages/core/src/utils/removeElement.ts b/packages/core/src/utils/removeElement.ts index a2cca1e0..7aab5fff 100644 --- a/packages/core/src/utils/removeElement.ts +++ b/packages/core/src/utils/removeElement.ts @@ -2,4 +2,4 @@ export default function removeElement(element: HTMLElement) { if (element && element.parentNode) { element.parentNode.removeChild(element) } -} \ No newline at end of file +} diff --git a/packages/core/src/utils/resolveExtensionConfig.ts b/packages/core/src/utils/resolveExtensionConfig.ts index 384e0268..05a73ded 100644 --- a/packages/core/src/utils/resolveExtensionConfig.ts +++ b/packages/core/src/utils/resolveExtensionConfig.ts @@ -32,4 +32,4 @@ export default function resolveExtensionConfig( return accumulator }, undefined) -} \ No newline at end of file +} diff --git a/packages/core/src/utils/sleep.ts b/packages/core/src/utils/sleep.ts index e9a79bbc..63930530 100644 --- a/packages/core/src/utils/sleep.ts +++ b/packages/core/src/utils/sleep.ts @@ -1,3 +1,3 @@ export default function sleep(milliseconds: number): Promise { return new Promise(resolve => setTimeout(resolve, milliseconds)) -} \ No newline at end of file +} diff --git a/packages/extension-blockquote/index.ts b/packages/extension-blockquote/index.ts index 5c2fac4c..d5d09f77 100644 --- a/packages/extension-blockquote/index.ts +++ b/packages/extension-blockquote/index.ts @@ -35,5 +35,3 @@ export default new Node() textblockTypeInputRule(inputRegex, type), ]) .create() - - diff --git a/packages/extension-bold/index.ts b/packages/extension-bold/index.ts index 2ac2a9e5..31f06829 100644 --- a/packages/extension-bold/index.ts +++ b/packages/extension-bold/index.ts @@ -1,4 +1,6 @@ -import { Command, Mark, markInputRule, markPasteRule } from '@tiptap/core' +import { + Command, Mark, markInputRule, markPasteRule, +} from '@tiptap/core' export type BoldCommand = () => Command @@ -37,7 +39,7 @@ export default new Mark() }, })) .keys(({ editor }) => ({ - 'Mod-b': () => editor.bold() + 'Mod-b': () => editor.bold(), })) .inputRules(({ type }) => [ markInputRule(starInputRegex, type), diff --git a/packages/extension-code-block/index.ts b/packages/extension-code-block/index.ts index 91aa9309..9358f1b5 100644 --- a/packages/extension-code-block/index.ts +++ b/packages/extension-code-block/index.ts @@ -29,7 +29,7 @@ export default new Node() }, })) .keys(({ editor }) => ({ - 'Shift-Ctrl-\\': () => editor.codeBlock() + 'Shift-Ctrl-\\': () => editor.codeBlock(), })) .inputRules(({ type }) => [ textblockTypeInputRule(/^```$/, type), diff --git a/packages/extension-code/index.ts b/packages/extension-code/index.ts index 7731cb50..b9615fd0 100644 --- a/packages/extension-code/index.ts +++ b/packages/extension-code/index.ts @@ -1,4 +1,6 @@ -import { Command, Mark, markInputRule, markPasteRule } from '@tiptap/core' +import { + Command, Mark, markInputRule, markPasteRule, +} from '@tiptap/core' export type CodeCommand = () => Command @@ -26,12 +28,12 @@ export default new Mark() }, })) .keys(({ editor }) => ({ - 'Mod-`': () => editor.code() + 'Mod-`': () => editor.code(), })) .inputRules(({ type }) => [ - markInputRule(inputRegex, type) + markInputRule(inputRegex, type), ]) .pasteRules(({ type }) => [ - markPasteRule(inputRegex, type) + markPasteRule(inputRegex, type), ]) .create() diff --git a/packages/extension-document/index.ts b/packages/extension-document/index.ts index 7099a8d4..11e688aa 100644 --- a/packages/extension-document/index.ts +++ b/packages/extension-document/index.ts @@ -6,4 +6,4 @@ export default new Node() .schema(() => ({ content: 'block+', })) - .create() \ No newline at end of file + .create() diff --git a/packages/extension-focus/index.ts b/packages/extension-focus/index.ts index 73c605d8..c4388807 100644 --- a/packages/extension-focus/index.ts +++ b/packages/extension-focus/index.ts @@ -22,7 +22,7 @@ export default new Extension() const decorations: Decoration[] = [] if (!isEditable || !isFocused) { - return + return DecorationSet.create(doc, []) } doc.descendants((node, pos) => { diff --git a/packages/extension-hard-break/index.ts b/packages/extension-hard-break/index.ts index 1baaa68a..fee38fbe 100644 --- a/packages/extension-hard-break/index.ts +++ b/packages/extension-hard-break/index.ts @@ -20,8 +20,10 @@ export default new Node() ], toDOM: () => ['br'], })) - .commands(({ editor, type }) => ({ - hardBreak: () => ({ tr, state, dispatch, view }) => { + .commands(({ type }) => ({ + hardBreak: () => ({ + tr, state, dispatch, view, + }) => { return chainCommands(exitCode, () => { dispatch(tr.replaceSelectionWith(type.create()).scrollIntoView()) return true diff --git a/packages/extension-history/index.ts b/packages/extension-history/index.ts index 0f389dbe..67058d1d 100644 --- a/packages/extension-history/index.ts +++ b/packages/extension-history/index.ts @@ -3,8 +3,6 @@ import { history, undo, redo, - undoDepth, - redoDepth, } from 'prosemirror-history' declare module '@tiptap/core/src/Editor' { @@ -37,6 +35,6 @@ export default new Extension() 'Shift-Mod-z': () => editor.redo(), })) .plugins(({ options }) => [ - history(options.historyPluginOptions) + history(options.historyPluginOptions), ]) .create() diff --git a/packages/extension-italic/index.ts b/packages/extension-italic/index.ts index 3bf2e1f3..11472c5b 100644 --- a/packages/extension-italic/index.ts +++ b/packages/extension-italic/index.ts @@ -1,4 +1,6 @@ -import { Command, Mark, markInputRule, markPasteRule } from '@tiptap/core' +import { + Command, Mark, markInputRule, markPasteRule, +} from '@tiptap/core' export type ItalicCommand = () => Command @@ -29,7 +31,7 @@ export default new Mark() }, })) .keys(({ editor }) => ({ - 'Mod-i': () => editor.italic() + 'Mod-i': () => editor.italic(), })) .inputRules(({ type }) => [ markInputRule(starInputRegex, type), diff --git a/packages/extension-ordered-list/index.ts b/packages/extension-ordered-list/index.ts index 492dc546..797f80a8 100644 --- a/packages/extension-ordered-list/index.ts +++ b/packages/extension-ordered-list/index.ts @@ -23,7 +23,7 @@ export default new Node() tag: 'ol', getAttrs: node => ({ order: (node as HTMLElement).hasAttribute('start') - ? parseInt((node as HTMLElement).getAttribute('start') || '') + ? parseInt((node as HTMLElement).getAttribute('start') || '', 10) : 1, }), }], diff --git a/packages/extension-paragraph/index.ts b/packages/extension-paragraph/index.ts index a09ee093..a0a721d1 100644 --- a/packages/extension-paragraph/index.ts +++ b/packages/extension-paragraph/index.ts @@ -10,4 +10,4 @@ export default new Node() toDOM: () => ['p', 0], // toVue: ParagraphComponent, })) - .create() \ No newline at end of file + .create() diff --git a/packages/extension-paragraph/paragraph.vue b/packages/extension-paragraph/paragraph.vue index be3b6ae6..7fc13d8c 100644 --- a/packages/extension-paragraph/paragraph.vue +++ b/packages/extension-paragraph/paragraph.vue @@ -6,4 +6,4 @@ export default { } - \ No newline at end of file + diff --git a/packages/extension-strike/index.ts b/packages/extension-strike/index.ts index e8470564..2f33e1cc 100644 --- a/packages/extension-strike/index.ts +++ b/packages/extension-strike/index.ts @@ -1,4 +1,6 @@ -import { Command, Mark, markInputRule, markPasteRule } from '@tiptap/core' +import { + Command, Mark, markInputRule, markPasteRule, +} from '@tiptap/core' type StrikeCommand = () => Command @@ -26,7 +28,7 @@ export default new Mark() }, { style: 'text-decoration', - getAttrs: node => node === 'line-through' ? {} : false, + getAttrs: node => (node === 'line-through' ? {} : false), }, ], toDOM: () => ['s', 0], @@ -37,12 +39,12 @@ export default new Mark() }, })) .keys(({ editor }) => ({ - 'Mod-d': () => editor.strike() + 'Mod-d': () => editor.strike(), })) .inputRules(({ type }) => [ - markInputRule(inputRegex, type) + markInputRule(inputRegex, type), ]) .pasteRules(({ type }) => [ - markPasteRule(inputRegex, type) + markPasteRule(inputRegex, type), ]) .create() diff --git a/packages/extension-text/index.ts b/packages/extension-text/index.ts index 46fe7b40..96e8355f 100644 --- a/packages/extension-text/index.ts +++ b/packages/extension-text/index.ts @@ -5,4 +5,4 @@ export default new Node() .schema(() => ({ group: 'inline', })) - .create() \ No newline at end of file + .create() diff --git a/packages/extension-underline/index.ts b/packages/extension-underline/index.ts index 0ba4541e..aedfe852 100644 --- a/packages/extension-underline/index.ts +++ b/packages/extension-underline/index.ts @@ -17,17 +17,17 @@ export default new Mark() }, { style: 'text-decoration', - getAttrs: node => node === 'underline' ? {} : false, + getAttrs: node => (node === 'underline' ? {} : false), }, ], toDOM: () => ['u', 0], })) - .commands(({ editor, name }) => ({ + .commands(({ name }) => ({ underline: () => ({ commands }) => { return commands.toggleMark(name) }, })) .keys(({ editor }) => ({ - 'Mod-u': () => editor.underline() + 'Mod-u': () => editor.underline(), })) .create() diff --git a/packages/html/getHtmlFromFragment.ts b/packages/html/getHtmlFromFragment.ts index 38a678f7..644c9ab6 100644 --- a/packages/html/getHtmlFromFragment.ts +++ b/packages/html/getHtmlFromFragment.ts @@ -1,5 +1,5 @@ -import { Node, DOMSerializer } from 'prosemirror-model' -import { Schema } from 'prosemirror-model' +import { Node, DOMSerializer, Schema } from 'prosemirror-model' + import { JSDOM } from 'jsdom' export default function getHtmlFromFragment(doc: Node, schema: Schema): string { @@ -7,7 +7,7 @@ export default function getHtmlFromFragment(doc: Node, schema: Schema): string { .fromSchema(schema) .serializeFragment(doc.content) - const temporaryDocument = new JSDOM(``).window.document + const temporaryDocument = new JSDOM('').window.document const container = temporaryDocument.createElement('div') container.appendChild(fragment) diff --git a/packages/starter-kit/index.ts b/packages/starter-kit/index.ts index d16ab0dd..31995f9e 100644 --- a/packages/starter-kit/index.ts +++ b/packages/starter-kit/index.ts @@ -36,4 +36,4 @@ export default function defaultExtensions() { OrderedList(), ListItem(), ] -} \ No newline at end of file +} diff --git a/packages/vue-starter-kit/index.ts b/packages/vue-starter-kit/index.ts index fe6a96ff..66c80143 100644 --- a/packages/vue-starter-kit/index.ts +++ b/packages/vue-starter-kit/index.ts @@ -1,6 +1,7 @@ -export * from '@tiptap/vue' import originalDefaultExtensions from '@tiptap/starter-kit' +export * from '@tiptap/vue' + export function defaultExtensions() { return originalDefaultExtensions() -} \ No newline at end of file +} diff --git a/packages/vue/index.ts b/packages/vue/index.ts index e6de937c..79050a05 100644 --- a/packages/vue/index.ts +++ b/packages/vue/index.ts @@ -6,4 +6,4 @@ export { default as EditorContent } from './src/components/EditorContent' export class Editor extends CoreEditor { renderer = Renderer -} \ No newline at end of file +} diff --git a/packages/vue/src/Renderer.ts b/packages/vue/src/Renderer.ts index 405c2da6..ad40af79 100644 --- a/packages/vue/src/Renderer.ts +++ b/packages/vue/src/Renderer.ts @@ -6,7 +6,7 @@ export default class Renderer extends ComponentRenderer { static type = 'vue' vm!: Vue - + constructor(component: Vue, options: any) { super() this.mount(component) @@ -30,4 +30,3 @@ export default class Renderer extends ComponentRenderer { } } -