From 54195d29eb597dfbb798491075daeacc6952ecac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philipp=20Ku=CC=88hn?= Date: Fri, 23 Oct 2020 11:24:27 +0200 Subject: [PATCH] fix more errors --- docs/gridsome.server.js | 2 +- packages/core/src/Extension.ts | 6 ------ packages/core/src/MarkExtension.ts | 8 ++++---- packages/core/src/NodeExtension.ts | 8 ++++---- packages/core/src/types.ts | 7 ++++++- packages/extension-focus/index.ts | 6 +++--- tsconfig.json | 3 +++ 7 files changed, 21 insertions(+), 19 deletions(-) diff --git a/docs/gridsome.server.js b/docs/gridsome.server.js index abfa5d03..24b1b86b 100644 --- a/docs/gridsome.server.js +++ b/docs/gridsome.server.js @@ -95,7 +95,7 @@ module.exports = function (api) { .test(/\.tsx?$/) .use() .loader('ts-loader') - .options({ transpileOnly: true, appendTsSuffixTo: [/\.vue$/] }) + .options({ transpileOnly: false, appendTsSuffixTo: [/\.vue$/] }) config.module .rule('jsx') diff --git a/packages/core/src/Extension.ts b/packages/core/src/Extension.ts index 9284d82b..bcd91541 100644 --- a/packages/core/src/Extension.ts +++ b/packages/core/src/Extension.ts @@ -1,4 +1,3 @@ -import { MarkType, NodeType } from 'prosemirror-model' import { Plugin } from 'prosemirror-state' import { Editor } from './Editor' import { GlobalAttributes } from './types' @@ -27,7 +26,6 @@ export interface ExtensionSpec { addCommands?: (this: { options: Options, editor: Editor, - type: NodeType | MarkType, }) => Commands, /** @@ -36,7 +34,6 @@ export interface ExtensionSpec { addKeyboardShortcuts?: (this: { options: Options, editor: Editor, - type: NodeType | MarkType, }) => { [key: string]: any }, @@ -47,7 +44,6 @@ export interface ExtensionSpec { addInputRules?: (this: { options: Options, editor: Editor, - // type: NodeType | MarkType, }) => any[], /** @@ -56,7 +52,6 @@ export interface ExtensionSpec { addPasteRules?: (this: { options: Options, editor: Editor, - type: NodeType | MarkType, }) => any[], /** @@ -65,7 +60,6 @@ export interface ExtensionSpec { addProseMirrorPlugins?: (this: { options: Options, editor: Editor, - type: NodeType | MarkType, }) => Plugin[], } diff --git a/packages/core/src/MarkExtension.ts b/packages/core/src/MarkExtension.ts index 7fee6359..4982bb81 100644 --- a/packages/core/src/MarkExtension.ts +++ b/packages/core/src/MarkExtension.ts @@ -3,10 +3,10 @@ import { } from 'prosemirror-model' import { Plugin } from 'prosemirror-state' import { ExtensionSpec, defaultExtension } from './Extension' -import { Attributes } from './types' +import { Attributes, Overwrite } from './types' import { Editor } from './Editor' -export interface MarkExtensionSpec extends ExtensionSpec { +export interface MarkExtensionSpec extends Overwrite, { /** * Inclusive */ @@ -104,7 +104,7 @@ export interface MarkExtensionSpec extends Extensio editor: Editor, type: MarkType, }) => Plugin[], -} +}> {} export type MarkExtension = Required & { type: string, @@ -122,7 +122,7 @@ const defaultMark: MarkExtension = { group: null, spanning: null, parseHTML: () => null, - renderHTML: () => null, + renderHTML: () => '', addAttributes: () => ({}), } diff --git a/packages/core/src/NodeExtension.ts b/packages/core/src/NodeExtension.ts index a8df82ab..195800ac 100644 --- a/packages/core/src/NodeExtension.ts +++ b/packages/core/src/NodeExtension.ts @@ -3,10 +3,10 @@ import { } from 'prosemirror-model' import { Plugin } from 'prosemirror-state' import { ExtensionSpec, defaultExtension } from './Extension' -import { Attributes } from './types' +import { Attributes, Overwrite } from './types' import { Editor } from './Editor' -export interface NodeExtensionSpec extends ExtensionSpec { +export interface NodeExtensionSpec extends Overwrite, { /** * TopNode */ @@ -139,7 +139,7 @@ export interface NodeExtensionSpec extends Extensio editor: Editor, type: NodeType, }) => Plugin[], -} +}> {} export type NodeExtension = Required & { type: string, @@ -164,7 +164,7 @@ const defaultNode: NodeExtension = { defining: null, isolating: null, parseHTML: () => null, - renderHTML: () => null, + renderHTML: () => '', addAttributes: () => ({}), } diff --git a/packages/core/src/types.ts b/packages/core/src/types.ts index 7651db73..343326f5 100644 --- a/packages/core/src/types.ts +++ b/packages/core/src/types.ts @@ -20,7 +20,7 @@ export type Attributes = { export type ExtensionAttribute = { type: string, name: string, - attribute: Attribute, + attribute: Required, } export type GlobalAttributes = { @@ -33,3 +33,8 @@ export type PickValue = T[K] export type UnionToIntersection = (U extends any ? (k: U) => void : never) extends ((k: infer I)=>void) ? I : never + +export type Diff = + ({ [P in T]: P } & { [P in U]: never } & { [x: string]: never })[T] + +export type Overwrite = Pick> & U; diff --git a/packages/extension-focus/index.ts b/packages/extension-focus/index.ts index ea4e2232..77070018 100644 --- a/packages/extension-focus/index.ts +++ b/packages/extension-focus/index.ts @@ -7,7 +7,7 @@ export interface FocusOptions { nested: boolean, } -const Focus = createExtension({ +const FocusClasses = createExtension({ defaultOptions: { className: 'has-focus', nested: false, @@ -47,10 +47,10 @@ const Focus = createExtension({ }, }) -export default Focus +export default FocusClasses declare module '@tiptap/core/src/Editor' { interface AllExtensions { - Focus: typeof Focus, + FocusClasses: typeof FocusClasses, } } diff --git a/tsconfig.json b/tsconfig.json index 96ec68b1..cbf208f1 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -28,6 +28,9 @@ "files": [ "./shims/vue.d.ts" ], + "filesGlob": [ + "packages/**/*.ts" + ], "exclude": [ "node_modules", "dist"