diff --git a/docs/gridsome.server.js b/docs/gridsome.server.js index 214db742..43b1783a 100644 --- a/docs/gridsome.server.js +++ b/docs/gridsome.server.js @@ -111,7 +111,7 @@ module.exports = function (api) { .map(name => name.replace('../packages/', '')) .forEach(name => { config.resolve.alias - .set(`@tiptap/${name}`, path.resolve(`../packages/${name}/index.ts`)) + .set(`@tiptap/${name}`, path.resolve(`../packages/${name}/src/index.ts`)) }) }) } diff --git a/package.json b/package.json index 150f26aa..0fbca9f9 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,7 @@ "start": "yarn --cwd ./docs start", "build:docs": "yarn --cwd ./docs build", "build:packages": "yarn clean:packages && rollup -c", + "build:ci": "yarn clean:packages && rollup -c --ci", "clean:packages": "rm -rf ./packages/*/dist", "lint": "eslint --quiet --no-error-on-unmatched-pattern ./", "test:open": "cypress open --project tests", diff --git a/packages/core/index.ts b/packages/core/index.ts deleted file mode 100644 index 86797ce9..00000000 --- a/packages/core/index.ts +++ /dev/null @@ -1,16 +0,0 @@ -export { Editor, Command, CommandsSpec } from './src/Editor' - -export * from './src/Extension' -export * from './src/NodeExtension' -export * from './src/MarkExtension' -export * from './src/types' - -export { default as nodeInputRule } from './src/inputRules/nodeInputRule' -export { default as markInputRule } from './src/inputRules/markInputRule' -export { default as markPasteRule } from './src/pasteRules/markPasteRule' - -export { default as getSchema } from './src/utils/getSchema' -export { default as generateHTML } from './src/utils/generateHTML' -export { default as getHTMLFromFragment } from './src/utils/getHTMLFromFragment' -export { default as getMarkAttrs } from './src/utils/getMarkAttrs' -export { default as mergeAttributes } from './src/utils/mergeAttributes' diff --git a/packages/core/package.json b/packages/core/package.json index 4ce3cfa1..8593e0cb 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,7 +1,6 @@ { "name": "@tiptap/core", "version": "2.0.0", - "source": "index.ts", "main": "dist/tiptap-core.cjs.js", "umd": "dist/tiptap-core.umd.js", "module": "dist/tiptap-core.esm.js", @@ -22,8 +21,5 @@ "prosemirror-tables": "^1.1.1", "prosemirror-utils": "^1.0.0-0", "prosemirror-view": "^1.16.1" - }, - "scripts": { - "build": "microbundle" } } diff --git a/packages/core/src/Editor.ts b/packages/core/src/Editor.ts index 852aaf22..eb192f40 100644 --- a/packages/core/src/Editor.ts +++ b/packages/core/src/Editor.ts @@ -267,8 +267,6 @@ export class Editor extends EventEmitter { }), }) - console.log({ plugins: this.extensionManager.plugins }) - // `editor.view` is not yet available at this time. // Therefore we will add all plugins and node views directly afterwards. const newState = this.state.reconfigure({ diff --git a/packages/core/src/extensions/commands.ts b/packages/core/src/extensions/commands.ts index 9991a88e..98d4c3ab 100644 --- a/packages/core/src/extensions/commands.ts +++ b/packages/core/src/extensions/commands.ts @@ -63,7 +63,7 @@ export const Commands = createExtension({ }, }) -declare module '../Editor' { +declare module '@tiptap/core' { interface AllExtensions { Commands: typeof Commands, } diff --git a/packages/core/src/extensions/editable.ts b/packages/core/src/extensions/editable.ts index 431bc774..2efe4a03 100644 --- a/packages/core/src/extensions/editable.ts +++ b/packages/core/src/extensions/editable.ts @@ -15,7 +15,7 @@ export const Editable = createExtension({ }) // TODO: Editable circularly references itself!? -// declare module '../Editor' { +// declare module '@tiptap/core' { // interface AllExtensions { // Editable: typeof Editable, // } diff --git a/packages/core/src/extensions/focusEvents.ts b/packages/core/src/extensions/focusEvents.ts index ab58347e..c0d770fc 100644 --- a/packages/core/src/extensions/focusEvents.ts +++ b/packages/core/src/extensions/focusEvents.ts @@ -36,7 +36,7 @@ export const FocusEvents = createExtension({ }, }) -declare module '../Editor' { +declare module '@tiptap/core' { interface AllExtensions { FocusEvents: typeof FocusEvents, } diff --git a/packages/core/src/extensions/keymap.ts b/packages/core/src/extensions/keymap.ts index 64739e23..68b58936 100644 --- a/packages/core/src/extensions/keymap.ts +++ b/packages/core/src/extensions/keymap.ts @@ -45,7 +45,7 @@ export const Keymap = createExtension({ }, }) -declare module '../Editor' { +declare module '@tiptap/core' { interface AllExtensions { Keymap: typeof Keymap, } diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts new file mode 100644 index 00000000..76199f78 --- /dev/null +++ b/packages/core/src/index.ts @@ -0,0 +1,21 @@ +export { + Editor, + Command, + CommandsSpec, + AllExtensions, +} from './Editor' + +export * from './Extension' +export * from './NodeExtension' +export * from './MarkExtension' +export * from './types' + +export { default as nodeInputRule } from './inputRules/nodeInputRule' +export { default as markInputRule } from './inputRules/markInputRule' +export { default as markPasteRule } from './pasteRules/markPasteRule' + +export { default as getSchema } from './utils/getSchema' +export { default as generateHTML } from './utils/generateHTML' +export { default as getHTMLFromFragment } from './utils/getHTMLFromFragment' +export { default as getMarkAttrs } from './utils/getMarkAttrs' +export { default as mergeAttributes } from './utils/mergeAttributes' diff --git a/packages/extension-blockquote/package.json b/packages/extension-blockquote/package.json index 66ffb56c..62e004a8 100644 --- a/packages/extension-blockquote/package.json +++ b/packages/extension-blockquote/package.json @@ -1,7 +1,6 @@ { "name": "@tiptap/extension-blockquote", "version": "1.0.0", - "source": "index.ts", "main": "dist/tiptap-extension-blockquote.cjs.js", "umd": "dist/tiptap-extension-blockquote.umd.js", "module": "dist/tiptap-extension-blockquote.esm.js", diff --git a/packages/extension-blockquote/index.ts b/packages/extension-blockquote/src/index.ts similarity index 95% rename from packages/extension-blockquote/index.ts rename to packages/extension-blockquote/src/index.ts index dc6d5a01..2f9dc137 100644 --- a/packages/extension-blockquote/index.ts +++ b/packages/extension-blockquote/src/index.ts @@ -45,7 +45,7 @@ const Blockquote = createNode({ export default Blockquote -declare module '@tiptap/core/src/Editor' { +declare module '@tiptap/core' { interface AllExtensions { Blockquote: typeof Blockquote, } diff --git a/packages/extension-bold/package.json b/packages/extension-bold/package.json index 83e7a7d8..38f186c1 100644 --- a/packages/extension-bold/package.json +++ b/packages/extension-bold/package.json @@ -1,7 +1,6 @@ { "name": "@tiptap/extension-bold", "version": "1.0.0", - "source": "index.ts", "main": "dist/tiptap-extension-bold.cjs.js", "umd": "dist/tiptap-extension-bold.umd.js", "module": "dist/tiptap-extension-bold.esm.js", diff --git a/packages/extension-bold/index.ts b/packages/extension-bold/src/index.ts similarity index 97% rename from packages/extension-bold/index.ts rename to packages/extension-bold/src/index.ts index 21f8c58c..2f42f747 100644 --- a/packages/extension-bold/index.ts +++ b/packages/extension-bold/src/index.ts @@ -64,7 +64,7 @@ const Bold = createMark({ export default Bold -declare module '@tiptap/core/src/Editor' { +declare module '@tiptap/core' { interface AllExtensions { Bold: typeof Bold, } diff --git a/packages/extension-bullet-list/package.json b/packages/extension-bullet-list/package.json index 4d5f1ce7..6d2a969a 100644 --- a/packages/extension-bullet-list/package.json +++ b/packages/extension-bullet-list/package.json @@ -1,7 +1,6 @@ { "name": "@tiptap/extension-bullet-list", "version": "1.0.0", - "source": "index.ts", "main": "dist/tiptap-extension-bullet-list.cjs.js", "umd": "dist/tiptap-extension-bullet-list.umd.js", "module": "dist/tiptap-extension-bullet-list.esm.js", diff --git a/packages/extension-bullet-list/index.ts b/packages/extension-bullet-list/src/index.ts similarity index 95% rename from packages/extension-bullet-list/index.ts rename to packages/extension-bullet-list/src/index.ts index ef2b7701..4b4bbc87 100644 --- a/packages/extension-bullet-list/index.ts +++ b/packages/extension-bullet-list/src/index.ts @@ -43,7 +43,7 @@ const BulletList = createNode({ export default BulletList -declare module '@tiptap/core/src/Editor' { +declare module '@tiptap/core' { interface AllExtensions { BulletList: typeof BulletList, } diff --git a/packages/extension-code-block/package.json b/packages/extension-code-block/package.json index b514ab01..ba11d26b 100644 --- a/packages/extension-code-block/package.json +++ b/packages/extension-code-block/package.json @@ -1,7 +1,6 @@ { "name": "@tiptap/extension-code-block", "version": "1.0.0", - "source": "index.ts", "main": "dist/tiptap-extension-code-block.cjs.js", "umd": "dist/tiptap-extension-code-block.umd.js", "module": "dist/tiptap-extension-code-block.esm.js", diff --git a/packages/extension-code-block/index.ts b/packages/extension-code-block/src/index.ts similarity index 93% rename from packages/extension-code-block/index.ts rename to packages/extension-code-block/src/index.ts index 3cd4e1dd..8b7c1fc4 100644 --- a/packages/extension-code-block/index.ts +++ b/packages/extension-code-block/src/index.ts @@ -9,7 +9,7 @@ export const backtickInputRegex = /^```(?[a-z]*)? $/ export const tildeInputRegex = /^~~~(?[a-z]*)? $/ const CodeBlock = createNode({ - name: 'code_block', + name: 'codeBlock', defaultOptions: { languageClassPrefix: 'language-', @@ -71,7 +71,7 @@ const CodeBlock = createNode({ addCommands() { return { codeBlock: (attrs?: CodeBlockOptions): Command => ({ commands }) => { - return commands.toggleBlockType('code_block', 'paragraph', attrs) + return commands.toggleBlockType('codeBlock', 'paragraph', attrs) }, } }, @@ -92,7 +92,7 @@ const CodeBlock = createNode({ export default CodeBlock -declare module '@tiptap/core/src/Editor' { +declare module '@tiptap/core' { interface AllExtensions { CodeBlock: typeof CodeBlock, } diff --git a/packages/extension-code/package.json b/packages/extension-code/package.json index 0cd4c7ae..f7e0d656 100644 --- a/packages/extension-code/package.json +++ b/packages/extension-code/package.json @@ -1,7 +1,6 @@ { "name": "@tiptap/extension-code", "version": "1.0.0", - "source": "index.ts", "main": "dist/tiptap-extension-code.cjs.js", "umd": "dist/tiptap-extension-code.umd.js", "module": "dist/tiptap-extension-code.esm.js", diff --git a/packages/extension-code/index.ts b/packages/extension-code/src/index.ts similarity index 95% rename from packages/extension-code/index.ts rename to packages/extension-code/src/index.ts index 7dcc8f5d..655e4d10 100644 --- a/packages/extension-code/index.ts +++ b/packages/extension-code/src/index.ts @@ -49,7 +49,7 @@ const Code = createMark({ export default Code -declare module '@tiptap/core/src/Editor' { +declare module '@tiptap/core' { interface AllExtensions { Code: typeof Code, } diff --git a/packages/extension-collaboration-cursor/package.json b/packages/extension-collaboration-cursor/package.json index d26cdc5c..c3e9f9d4 100644 --- a/packages/extension-collaboration-cursor/package.json +++ b/packages/extension-collaboration-cursor/package.json @@ -1,7 +1,6 @@ { "name": "@tiptap/extension-collaboration-cursor", "version": "1.0.0", - "source": "index.ts", "main": "dist/tiptap-extension-collaboration-cursor.cjs.js", "umd": "dist/tiptap-extension-collaboration-cursor.umd.js", "module": "dist/tiptap-extension-collaboration-cursor.esm.js", diff --git a/packages/extension-collaboration-cursor/index.ts b/packages/extension-collaboration-cursor/src/index.ts similarity index 97% rename from packages/extension-collaboration-cursor/index.ts rename to packages/extension-collaboration-cursor/src/index.ts index c969fa95..cc2a4627 100644 --- a/packages/extension-collaboration-cursor/index.ts +++ b/packages/extension-collaboration-cursor/src/index.ts @@ -61,7 +61,7 @@ const CollaborationCursor = createExtension({ export default CollaborationCursor -declare module '@tiptap/core/src/Editor' { +declare module '@tiptap/core' { interface AllExtensions { CollaborationCursor: typeof CollaborationCursor, } diff --git a/packages/extension-collaboration/package.json b/packages/extension-collaboration/package.json index f0d6ca32..c8b7b4e6 100644 --- a/packages/extension-collaboration/package.json +++ b/packages/extension-collaboration/package.json @@ -1,7 +1,6 @@ { "name": "@tiptap/extension-collaboration", "version": "1.0.0", - "source": "index.ts", "main": "dist/tiptap-extension-collaboration.cjs.js", "umd": "dist/tiptap-extension-collaboration.umd.js", "module": "dist/tiptap-extension-collaboration.esm.js", diff --git a/packages/extension-collaboration/index.ts b/packages/extension-collaboration/src/index.ts similarity index 93% rename from packages/extension-collaboration/index.ts rename to packages/extension-collaboration/src/index.ts index d4427f14..c85fd16b 100644 --- a/packages/extension-collaboration/index.ts +++ b/packages/extension-collaboration/src/index.ts @@ -32,7 +32,7 @@ const Collaboration = createExtension({ export default Collaboration -declare module '@tiptap/core/src/Editor' { +declare module '@tiptap/core' { interface AllExtensions { Collaboration: typeof Collaboration, } diff --git a/packages/extension-document/package.json b/packages/extension-document/package.json index f0e4d2ad..789695e2 100644 --- a/packages/extension-document/package.json +++ b/packages/extension-document/package.json @@ -1,7 +1,6 @@ { "name": "@tiptap/extension-document", "version": "1.0.0", - "source": "index.ts", "main": "dist/tiptap-extension-document.cjs.js", "umd": "dist/tiptap-extension-document.umd.js", "module": "dist/tiptap-extension-document.esm.js", diff --git a/packages/extension-document/index.ts b/packages/extension-document/src/index.ts similarity index 83% rename from packages/extension-document/index.ts rename to packages/extension-document/src/index.ts index d569b12f..f743b3d1 100644 --- a/packages/extension-document/index.ts +++ b/packages/extension-document/src/index.ts @@ -8,7 +8,7 @@ const Document = createNode({ export default Document -declare module '@tiptap/core/src/Editor' { +declare module '@tiptap/core' { interface AllExtensions { Document: typeof Document, } diff --git a/packages/extension-dropcursor/package.json b/packages/extension-dropcursor/package.json index 9181f223..7e5523d7 100644 --- a/packages/extension-dropcursor/package.json +++ b/packages/extension-dropcursor/package.json @@ -1,7 +1,6 @@ { "name": "@tiptap/extension-dropcursor", "version": "1.0.0", - "source": "index.ts", "main": "dist/tiptap-extension-dropcursor.cjs.js", "umd": "dist/tiptap-extension-dropcursor.umd.js", "module": "dist/tiptap-extension-dropcursor.esm.js", diff --git a/packages/extension-dropcursor/index.ts b/packages/extension-dropcursor/src/index.ts similarity index 87% rename from packages/extension-dropcursor/index.ts rename to packages/extension-dropcursor/src/index.ts index ab6ba960..4d457f10 100644 --- a/packages/extension-dropcursor/index.ts +++ b/packages/extension-dropcursor/src/index.ts @@ -11,7 +11,7 @@ const Dropcursor = createExtension({ export default Dropcursor -declare module '@tiptap/core/src/Editor' { +declare module '@tiptap/core' { interface AllExtensions { Dropcursor: typeof Dropcursor, } diff --git a/packages/extension-focus/package.json b/packages/extension-focus/package.json index 3747875d..9f7020db 100644 --- a/packages/extension-focus/package.json +++ b/packages/extension-focus/package.json @@ -1,7 +1,6 @@ { "name": "@tiptap/extension-focus", "version": "1.0.0", - "source": "index.ts", "main": "dist/tiptap-extension-focus.cjs.js", "umd": "dist/tiptap-extension-focus.umd.js", "module": "dist/tiptap-extension-focus.esm.js", diff --git a/packages/extension-focus/index.ts b/packages/extension-focus/src/index.ts similarity index 97% rename from packages/extension-focus/index.ts rename to packages/extension-focus/src/index.ts index a1a18329..a6a59b89 100644 --- a/packages/extension-focus/index.ts +++ b/packages/extension-focus/src/index.ts @@ -50,7 +50,7 @@ const FocusClasses = createExtension({ export default FocusClasses -declare module '@tiptap/core/src/Editor' { +declare module '@tiptap/core' { interface AllExtensions { FocusClasses: typeof FocusClasses, } diff --git a/packages/extension-font-family/package.json b/packages/extension-font-family/package.json index 6a56dd13..0d41e393 100644 --- a/packages/extension-font-family/package.json +++ b/packages/extension-font-family/package.json @@ -1,7 +1,6 @@ { "name": "@tiptap/extension-font-family", "version": "1.0.0", - "source": "index.ts", "main": "dist/tiptap-extension-font-family.cjs.js", "umd": "dist/tiptap-extension-font-family.umd.js", "module": "dist/tiptap-extension-font-family.esm.js", diff --git a/packages/extension-font-family/index.ts b/packages/extension-font-family/src/index.ts similarity index 96% rename from packages/extension-font-family/index.ts rename to packages/extension-font-family/src/index.ts index 750f5f04..8d1bacbc 100644 --- a/packages/extension-font-family/index.ts +++ b/packages/extension-font-family/src/index.ts @@ -49,7 +49,7 @@ const FontFamily = createExtension({ export default FontFamily -declare module '@tiptap/core/src/Editor' { +declare module '@tiptap/core' { interface AllExtensions { FontFamily: typeof FontFamily, } diff --git a/packages/extension-gapcursor/package.json b/packages/extension-gapcursor/package.json index 3fcfcf6b..c0996b3c 100644 --- a/packages/extension-gapcursor/package.json +++ b/packages/extension-gapcursor/package.json @@ -1,7 +1,6 @@ { "name": "@tiptap/extension-gapcursor", "version": "1.0.0", - "source": "index.ts", "main": "dist/tiptap-extension-gapcursor.cjs.js", "umd": "dist/tiptap-extension-gapcursor.umd.js", "module": "dist/tiptap-extension-gapcursor.esm.js", diff --git a/packages/extension-gapcursor/index.ts b/packages/extension-gapcursor/src/index.ts similarity index 87% rename from packages/extension-gapcursor/index.ts rename to packages/extension-gapcursor/src/index.ts index f7c267a1..8ed452f4 100644 --- a/packages/extension-gapcursor/index.ts +++ b/packages/extension-gapcursor/src/index.ts @@ -11,7 +11,7 @@ const Gapcursor = createExtension({ export default Gapcursor -declare module '@tiptap/core/src/Editor' { +declare module '@tiptap/core' { interface AllExtensions { Gapcursor: typeof Gapcursor, } diff --git a/packages/extension-hard-break/package.json b/packages/extension-hard-break/package.json index b2c6e210..f2a1502d 100644 --- a/packages/extension-hard-break/package.json +++ b/packages/extension-hard-break/package.json @@ -1,7 +1,6 @@ { "name": "@tiptap/extension-hard-break", "version": "1.0.0", - "source": "index.ts", "main": "dist/tiptap-extension-hard-break.cjs.js", "umd": "dist/tiptap-extension-hard-break.umd.js", "module": "dist/tiptap-extension-hard-break.esm.js", diff --git a/packages/extension-hard-break/index.ts b/packages/extension-hard-break/src/index.ts similarity index 95% rename from packages/extension-hard-break/index.ts rename to packages/extension-hard-break/src/index.ts index 6d804df1..2112c195 100644 --- a/packages/extension-hard-break/index.ts +++ b/packages/extension-hard-break/src/index.ts @@ -47,7 +47,7 @@ const HardBreak = createNode({ export default HardBreak -declare module '@tiptap/core/src/Editor' { +declare module '@tiptap/core' { interface AllExtensions { HardBreak: typeof HardBreak, } diff --git a/packages/extension-heading/package.json b/packages/extension-heading/package.json index 632a6c05..5d852f0e 100644 --- a/packages/extension-heading/package.json +++ b/packages/extension-heading/package.json @@ -1,7 +1,6 @@ { "name": "@tiptap/extension-heading", "version": "1.0.0", - "source": "index.ts", "main": "dist/tiptap-extension-heading.cjs.js", "umd": "dist/tiptap-extension-heading.umd.js", "module": "dist/tiptap-extension-heading.esm.js", diff --git a/packages/extension-heading/index.ts b/packages/extension-heading/src/index.ts similarity index 81% rename from packages/extension-heading/index.ts rename to packages/extension-heading/src/index.ts index 223e6717..bf1e5c43 100644 --- a/packages/extension-heading/index.ts +++ b/packages/extension-heading/src/index.ts @@ -38,7 +38,12 @@ const Heading = createNode({ }, renderHTML({ node, attributes }) { - return [`h${node.attrs.level}`, attributes, 0] + const hasLevel = this.options.levels.includes(node.attrs.level) + const level = hasLevel + ? node.attrs.level + : this.options.levels[0] + + return [`h${level}`, attributes, 0] }, addCommands() { @@ -47,6 +52,10 @@ const Heading = createNode({ * heading command */ heading: (options: { level: Level }): Command => ({ commands }) => { + if (!this.options.levels.includes(options.level)) { + return false + } + return commands.toggleBlockType('heading', 'paragraph', options) }, } @@ -70,7 +79,7 @@ const Heading = createNode({ export default Heading -declare module '@tiptap/core/src/Editor' { +declare module '@tiptap/core' { interface AllExtensions { Heading: typeof Heading, } diff --git a/packages/extension-highlight/package.json b/packages/extension-highlight/package.json index 0683ccbb..e4eb1f10 100644 --- a/packages/extension-highlight/package.json +++ b/packages/extension-highlight/package.json @@ -1,7 +1,6 @@ { "name": "@tiptap/extension-highlight", "version": "1.0.0", - "source": "index.ts", "main": "dist/tiptap-extension-highlight.cjs.js", "umd": "dist/tiptap-extension-highlight.umd.js", "module": "dist/tiptap-extension-highlight.esm.js", diff --git a/packages/extension-highlight/index.ts b/packages/extension-highlight/src/index.ts similarity index 97% rename from packages/extension-highlight/index.ts rename to packages/extension-highlight/src/index.ts index 94e87460..d0a6370d 100644 --- a/packages/extension-highlight/index.ts +++ b/packages/extension-highlight/src/index.ts @@ -75,7 +75,7 @@ const Highlight = createMark({ export default Highlight -declare module '@tiptap/core/src/Editor' { +declare module '@tiptap/core' { interface AllExtensions { Highlight: typeof Highlight, } diff --git a/packages/extension-history/package.json b/packages/extension-history/package.json index fad9ea4e..54fea19e 100644 --- a/packages/extension-history/package.json +++ b/packages/extension-history/package.json @@ -1,7 +1,6 @@ { "name": "@tiptap/extension-history", "version": "1.0.0", - "source": "index.ts", "main": "dist/tiptap-extension-history.cjs.js", "umd": "dist/tiptap-extension-history.umd.js", "module": "dist/tiptap-extension-history.esm.js", diff --git a/packages/extension-history/index.ts b/packages/extension-history/src/index.ts similarity index 95% rename from packages/extension-history/index.ts rename to packages/extension-history/src/index.ts index b9ff706b..c4170503 100644 --- a/packages/extension-history/index.ts +++ b/packages/extension-history/src/index.ts @@ -40,7 +40,7 @@ const History = createExtension({ export default History -declare module '@tiptap/core/src/Editor' { +declare module '@tiptap/core' { interface AllExtensions { History: typeof History, } diff --git a/packages/extension-horizontal-rule/package.json b/packages/extension-horizontal-rule/package.json index 06b41562..3284661c 100644 --- a/packages/extension-horizontal-rule/package.json +++ b/packages/extension-horizontal-rule/package.json @@ -1,7 +1,6 @@ { "name": "@tiptap/extension-horizontal-rule", "version": "1.0.0", - "source": "index.ts", "main": "dist/tiptap-extension-horizontal-rule.cjs.js", "umd": "dist/tiptap-extension-horizontal-rule.umd.js", "module": "dist/tiptap-extension-horizontal-rule.esm.js", diff --git a/packages/extension-horizontal-rule/index.ts b/packages/extension-horizontal-rule/src/index.ts similarity index 93% rename from packages/extension-horizontal-rule/index.ts rename to packages/extension-horizontal-rule/src/index.ts index 73f5b7d2..a4dd2ca1 100644 --- a/packages/extension-horizontal-rule/index.ts +++ b/packages/extension-horizontal-rule/src/index.ts @@ -34,7 +34,7 @@ const HorizontalRule = createNode({ export default HorizontalRule -declare module '@tiptap/core/src/Editor' { +declare module '@tiptap/core' { interface AllExtensions { HorizontalRule: typeof HorizontalRule, } diff --git a/packages/extension-image/package.json b/packages/extension-image/package.json index fd7f2574..97b29746 100644 --- a/packages/extension-image/package.json +++ b/packages/extension-image/package.json @@ -1,7 +1,6 @@ { "name": "@tiptap/extension-image", "version": "1.0.0", - "source": "index.ts", "main": "dist/tiptap-extension-image.cjs.js", "umd": "dist/tiptap-extension-image.umd.js", "module": "dist/tiptap-extension-image.esm.js", diff --git a/packages/extension-image/index.ts b/packages/extension-image/src/index.ts similarity index 96% rename from packages/extension-image/index.ts rename to packages/extension-image/src/index.ts index 67e9c04a..09ee1318 100644 --- a/packages/extension-image/index.ts +++ b/packages/extension-image/src/index.ts @@ -75,7 +75,7 @@ const Image = createNode({ export default Image -declare module '@tiptap/core/src/Editor' { +declare module '@tiptap/core' { interface AllExtensions { Image: typeof Image, } diff --git a/packages/extension-italic/package.json b/packages/extension-italic/package.json index 3368a6d8..481a22c6 100644 --- a/packages/extension-italic/package.json +++ b/packages/extension-italic/package.json @@ -1,7 +1,6 @@ { "name": "@tiptap/extension-italic", "version": "1.0.0", - "source": "index.ts", "main": "dist/tiptap-extension-italic.cjs.js", "umd": "dist/tiptap-extension-italic.umd.js", "module": "dist/tiptap-extension-italic.esm.js", diff --git a/packages/extension-italic/index.ts b/packages/extension-italic/src/index.ts similarity index 96% rename from packages/extension-italic/index.ts rename to packages/extension-italic/src/index.ts index 4e1cafc9..9847378d 100644 --- a/packages/extension-italic/index.ts +++ b/packages/extension-italic/src/index.ts @@ -60,7 +60,7 @@ const Italic = createMark({ export default Italic -declare module '@tiptap/core/src/Editor' { +declare module '@tiptap/core' { interface AllExtensions { Italic: typeof Italic, } diff --git a/packages/extension-link/package.json b/packages/extension-link/package.json index a930d636..68fa483a 100644 --- a/packages/extension-link/package.json +++ b/packages/extension-link/package.json @@ -1,7 +1,6 @@ { "name": "@tiptap/extension-link", "version": "1.0.0", - "source": "index.ts", "main": "dist/tiptap-extension-link.cjs.js", "umd": "dist/tiptap-extension-link.umd.js", "module": "dist/tiptap-extension-link.esm.js", diff --git a/packages/extension-link/index.ts b/packages/extension-link/src/index.ts similarity index 97% rename from packages/extension-link/index.ts rename to packages/extension-link/src/index.ts index d31faa3b..44108da3 100644 --- a/packages/extension-link/index.ts +++ b/packages/extension-link/src/index.ts @@ -89,7 +89,7 @@ const Link = createMark({ export default Link -declare module '@tiptap/core/src/Editor' { +declare module '@tiptap/core' { interface AllExtensions { Link: typeof Link, } diff --git a/packages/extension-list-item/package.json b/packages/extension-list-item/package.json index 8843c527..aaf049fc 100644 --- a/packages/extension-list-item/package.json +++ b/packages/extension-list-item/package.json @@ -1,7 +1,6 @@ { "name": "@tiptap/extension-list-item", "version": "1.0.0", - "source": "index.ts", "main": "dist/tiptap-extension-list-item.cjs.js", "umd": "dist/tiptap-extension-list-item.umd.js", "module": "dist/tiptap-extension-list-item.esm.js", diff --git a/packages/extension-list-item/index.ts b/packages/extension-list-item/src/index.ts similarity index 93% rename from packages/extension-list-item/index.ts rename to packages/extension-list-item/src/index.ts index f3c932bc..d40414dc 100644 --- a/packages/extension-list-item/index.ts +++ b/packages/extension-list-item/src/index.ts @@ -30,7 +30,7 @@ const ListItem = createNode({ export default ListItem -declare module '@tiptap/core/src/Editor' { +declare module '@tiptap/core' { interface AllExtensions { ListItem: typeof ListItem, } diff --git a/packages/extension-ordered-list/package.json b/packages/extension-ordered-list/package.json index 99b81bc0..748d48bd 100644 --- a/packages/extension-ordered-list/package.json +++ b/packages/extension-ordered-list/package.json @@ -1,7 +1,6 @@ { "name": "@tiptap/extension-ordered-list", "version": "1.0.0", - "source": "index.ts", "main": "dist/tiptap-extension-ordered-list.cjs.js", "umd": "dist/tiptap-extension-ordered-list.umd.js", "module": "dist/tiptap-extension-ordered-list.esm.js", diff --git a/packages/extension-ordered-list/index.ts b/packages/extension-ordered-list/src/index.ts similarity index 97% rename from packages/extension-ordered-list/index.ts rename to packages/extension-ordered-list/src/index.ts index ce47c143..931c0c08 100644 --- a/packages/extension-ordered-list/index.ts +++ b/packages/extension-ordered-list/src/index.ts @@ -67,7 +67,7 @@ const OrderedList = createNode({ export default OrderedList -declare module '@tiptap/core/src/Editor' { +declare module '@tiptap/core' { interface AllExtensions { OrderedList: typeof OrderedList, } diff --git a/packages/extension-paragraph/package.json b/packages/extension-paragraph/package.json index 726bf64f..3aef55e0 100644 --- a/packages/extension-paragraph/package.json +++ b/packages/extension-paragraph/package.json @@ -1,7 +1,6 @@ { "name": "@tiptap/extension-paragraph", "version": "1.0.0", - "source": "index.ts", "main": "dist/tiptap-extension-paragraph.cjs.js", "umd": "dist/tiptap-extension-paragraph.umd.js", "module": "dist/tiptap-extension-paragraph.esm.js", diff --git a/packages/extension-paragraph/index.ts b/packages/extension-paragraph/src/index.ts similarity index 94% rename from packages/extension-paragraph/index.ts rename to packages/extension-paragraph/src/index.ts index 59706d64..8704dc92 100644 --- a/packages/extension-paragraph/index.ts +++ b/packages/extension-paragraph/src/index.ts @@ -35,7 +35,7 @@ const Paragraph = createNode({ export default Paragraph -declare module '@tiptap/core/src/Editor' { +declare module '@tiptap/core' { interface AllExtensions { Paragraph: typeof Paragraph, } diff --git a/packages/extension-strike/package.json b/packages/extension-strike/package.json index 5ec401f5..43291e1d 100644 --- a/packages/extension-strike/package.json +++ b/packages/extension-strike/package.json @@ -1,7 +1,6 @@ { "name": "@tiptap/extension-strike", "version": "1.0.0", - "source": "index.ts", "main": "dist/tiptap-extension-strike.cjs.js", "umd": "dist/tiptap-extension-strike.umd.js", "module": "dist/tiptap-extension-strike.esm.js", diff --git a/packages/extension-strike/index.ts b/packages/extension-strike/src/index.ts similarity index 96% rename from packages/extension-strike/index.ts rename to packages/extension-strike/src/index.ts index 1e31a8a0..a8b3e57a 100644 --- a/packages/extension-strike/index.ts +++ b/packages/extension-strike/src/index.ts @@ -58,7 +58,7 @@ const Strike = createMark({ export default Strike -declare module '@tiptap/core/src/Editor' { +declare module '@tiptap/core' { interface AllExtensions { Strike: typeof Strike, } diff --git a/packages/extension-task-item/package.json b/packages/extension-task-item/package.json index 60b01740..51e9b3f3 100644 --- a/packages/extension-task-item/package.json +++ b/packages/extension-task-item/package.json @@ -1,7 +1,6 @@ { "name": "@tiptap/extension-task-item", "version": "1.0.0", - "source": "index.ts", "main": "dist/tiptap-extension-task-item.cjs.js", "umd": "dist/tiptap-extension-task-item.umd.js", "module": "dist/tiptap-extension-task-item.esm.js", diff --git a/packages/extension-task-item/index.ts b/packages/extension-task-item/src/index.ts similarity index 98% rename from packages/extension-task-item/index.ts rename to packages/extension-task-item/src/index.ts index 248164c4..ec8fc80b 100644 --- a/packages/extension-task-item/index.ts +++ b/packages/extension-task-item/src/index.ts @@ -121,7 +121,7 @@ const TaskItem = createNode({ export default TaskItem -declare module '@tiptap/core/src/Editor' { +declare module '@tiptap/core' { interface AllExtensions { TaskItem: typeof TaskItem, } diff --git a/packages/extension-task-list/package.json b/packages/extension-task-list/package.json index 111cb264..860242a2 100644 --- a/packages/extension-task-list/package.json +++ b/packages/extension-task-list/package.json @@ -1,7 +1,6 @@ { "name": "@tiptap/extension-task-list", "version": "1.0.0", - "source": "index.ts", "main": "dist/tiptap-extension-task-list.cjs.js", "umd": "dist/tiptap-extension-task-list.umd.js", "module": "dist/tiptap-extension-task-list.esm.js", diff --git a/packages/extension-task-list/index.ts b/packages/extension-task-list/src/index.ts similarity index 93% rename from packages/extension-task-list/index.ts rename to packages/extension-task-list/src/index.ts index 21fc7545..7f3173d3 100644 --- a/packages/extension-task-list/index.ts +++ b/packages/extension-task-list/src/index.ts @@ -31,7 +31,7 @@ const TaskList = createNode({ export default TaskList -declare module '@tiptap/core/src/Editor' { +declare module '@tiptap/core' { interface AllExtensions { TaskList: typeof TaskList, } diff --git a/packages/extension-text-align/package.json b/packages/extension-text-align/package.json index 93c79b40..8d3d7170 100644 --- a/packages/extension-text-align/package.json +++ b/packages/extension-text-align/package.json @@ -1,7 +1,6 @@ { "name": "@tiptap/extension-text-align", "version": "1.0.0", - "source": "index.ts", "main": "dist/tiptap-extension-text-align.cjs.js", "umd": "dist/tiptap-extension-text-align.umd.js", "module": "dist/tiptap-extension-text-align.esm.js", diff --git a/packages/extension-text-align/index.ts b/packages/extension-text-align/src/index.ts similarity index 97% rename from packages/extension-text-align/index.ts rename to packages/extension-text-align/src/index.ts index a237d470..6f79df2f 100644 --- a/packages/extension-text-align/index.ts +++ b/packages/extension-text-align/src/index.ts @@ -62,7 +62,7 @@ const TextAlign = createExtension({ export default TextAlign -declare module '@tiptap/core/src/Editor' { +declare module '@tiptap/core' { interface AllExtensions { TextAlign: typeof TextAlign, } diff --git a/packages/extension-text-style/package.json b/packages/extension-text-style/package.json index 0be6b360..f36131de 100644 --- a/packages/extension-text-style/package.json +++ b/packages/extension-text-style/package.json @@ -1,7 +1,6 @@ { "name": "@tiptap/extension-text-style", "version": "1.0.0", - "source": "index.ts", "main": "dist/tiptap-extension-text-style.cjs.js", "umd": "dist/tiptap-extension-text-style.umd.js", "module": "dist/tiptap-extension-text-style.esm.js", diff --git a/packages/extension-text-style/index.ts b/packages/extension-text-style/src/index.ts similarity index 95% rename from packages/extension-text-style/index.ts rename to packages/extension-text-style/src/index.ts index fb23f028..73f35981 100644 --- a/packages/extension-text-style/index.ts +++ b/packages/extension-text-style/src/index.ts @@ -43,7 +43,7 @@ const TextStyle = createMark({ export default TextStyle -declare module '@tiptap/core/src/Editor' { +declare module '@tiptap/core' { interface AllExtensions { TextStyle: typeof TextStyle, } diff --git a/packages/extension-text/package.json b/packages/extension-text/package.json index ad2bd0dd..7c2a331d 100644 --- a/packages/extension-text/package.json +++ b/packages/extension-text/package.json @@ -1,7 +1,6 @@ { "name": "@tiptap/extension-text", "version": "1.0.0", - "source": "index.ts", "main": "dist/tiptap-extension-text.cjs.js", "umd": "dist/tiptap-extension-text.umd.js", "module": "dist/tiptap-extension-text.esm.js", diff --git a/packages/extension-text/index.ts b/packages/extension-text/src/index.ts similarity index 81% rename from packages/extension-text/index.ts rename to packages/extension-text/src/index.ts index 26c1609f..b670bed4 100644 --- a/packages/extension-text/index.ts +++ b/packages/extension-text/src/index.ts @@ -7,7 +7,7 @@ const Text = createNode({ export default Text -declare module '@tiptap/core/src/Editor' { +declare module '@tiptap/core' { interface AllExtensions { Text: typeof Text, } diff --git a/packages/extension-typography/package.json b/packages/extension-typography/package.json index 03f46285..f06a3297 100644 --- a/packages/extension-typography/package.json +++ b/packages/extension-typography/package.json @@ -1,7 +1,6 @@ { "name": "@tiptap/extension-typography", "version": "1.0.0", - "source": "index.ts", "main": "dist/tiptap-extension-typography.cjs.js", "umd": "dist/tiptap-extension-typography.umd.js", "module": "dist/tiptap-extension-typography.esm.js", diff --git a/packages/extension-typography/index.ts b/packages/extension-typography/src/index.ts similarity index 96% rename from packages/extension-typography/index.ts rename to packages/extension-typography/src/index.ts index f62b1cc4..80590283 100644 --- a/packages/extension-typography/index.ts +++ b/packages/extension-typography/src/index.ts @@ -45,7 +45,7 @@ const Typography = createExtension({ export default Typography -declare module '@tiptap/core/src/Editor' { +declare module '@tiptap/core' { interface AllExtensions { Typography: typeof Typography, } diff --git a/packages/extension-underline/package.json b/packages/extension-underline/package.json index f9bfb6cb..adfbfb7e 100644 --- a/packages/extension-underline/package.json +++ b/packages/extension-underline/package.json @@ -1,7 +1,6 @@ { "name": "@tiptap/extension-underline", "version": "1.0.0", - "source": "index.ts", "main": "dist/tiptap-extension-underline.cjs.js", "umd": "dist/tiptap-extension-underline.umd.js", "module": "dist/tiptap-extension-underline.esm.js", diff --git a/packages/extension-underline/index.ts b/packages/extension-underline/src/index.ts similarity index 93% rename from packages/extension-underline/index.ts rename to packages/extension-underline/src/index.ts index 91d342c6..004dbd26 100644 --- a/packages/extension-underline/index.ts +++ b/packages/extension-underline/src/index.ts @@ -35,7 +35,7 @@ const Underline = createMark({ export default Underline -declare module '@tiptap/core/src/Editor' { +declare module '@tiptap/core' { interface AllExtensions { Underline: typeof Underline, } diff --git a/packages/html/package.json b/packages/html/package.json index 6b259cb3..f86a27d1 100644 --- a/packages/html/package.json +++ b/packages/html/package.json @@ -1,7 +1,6 @@ { "name": "@tiptap/html", "version": "1.0.0", - "source": "index.ts", "main": "dist/tiptap-html.cjs.js", "umd": "dist/tiptap-html.umd.js", "module": "dist/tiptap-html.esm.js", diff --git a/packages/html/example.js b/packages/html/src/example.js similarity index 100% rename from packages/html/example.js rename to packages/html/src/example.js diff --git a/packages/html/getHTMLFromFragment.ts b/packages/html/src/getHTMLFromFragment.ts similarity index 100% rename from packages/html/getHTMLFromFragment.ts rename to packages/html/src/getHTMLFromFragment.ts diff --git a/packages/html/index.ts b/packages/html/src/index.ts similarity index 100% rename from packages/html/index.ts rename to packages/html/src/index.ts diff --git a/packages/starter-kit/package.json b/packages/starter-kit/package.json index c8685af2..0b9030e9 100644 --- a/packages/starter-kit/package.json +++ b/packages/starter-kit/package.json @@ -1,7 +1,6 @@ { "name": "@tiptap/starter-kit", "version": "1.0.0", - "source": "index.ts", "main": "dist/tiptap-starter-kit.cjs.js", "umd": "dist/tiptap-starter-kit.umd.js", "module": "dist/tiptap-starter-kit.esm.js", diff --git a/packages/starter-kit/index.ts b/packages/starter-kit/src/index.ts similarity index 69% rename from packages/starter-kit/index.ts rename to packages/starter-kit/src/index.ts index 00fd81aa..8dd4c848 100644 --- a/packages/starter-kit/index.ts +++ b/packages/starter-kit/src/index.ts @@ -3,12 +3,12 @@ import Gapcursor from '@tiptap/extension-gapcursor' import Document from '@tiptap/extension-document' import Paragraph from '@tiptap/extension-paragraph' import Text from '@tiptap/extension-text' -import History from '@tiptap/extension-history' +import History, { HistoryOptions } from '@tiptap/extension-history' import Bold from '@tiptap/extension-bold' import Italic from '@tiptap/extension-italic' import Code from '@tiptap/extension-code' -import CodeBlock from '@tiptap/extension-code-block' -import Heading from '@tiptap/extension-heading' +import CodeBlock, { CodeBlockOptions } from '@tiptap/extension-code-block' +import Heading, { HeadingOptions } from '@tiptap/extension-heading' import HardBreak from '@tiptap/extension-hard-break' import Strike from '@tiptap/extension-strike' import Blockquote from '@tiptap/extension-blockquote' @@ -17,19 +17,23 @@ import BulletList from '@tiptap/extension-bullet-list' import OrderedList from '@tiptap/extension-ordered-list' import ListItem from '@tiptap/extension-list-item' -export function defaultExtensions() { +export function defaultExtensions(options: { + history: HistoryOptions, + codeBlock: CodeBlockOptions, + heading: HeadingOptions, +}) { return [ Dropcursor(), Gapcursor(), Document(), - History(), + History(options?.history), Paragraph(), Text(), Bold(), Italic(), Code(), - CodeBlock(), - Heading(), + CodeBlock(options?.codeBlock), + Heading(options?.heading), HardBreak(), Strike(), Blockquote(), diff --git a/packages/vue-starter-kit/package.json b/packages/vue-starter-kit/package.json index 33d285e6..46beecf6 100644 --- a/packages/vue-starter-kit/package.json +++ b/packages/vue-starter-kit/package.json @@ -1,7 +1,6 @@ { "name": "@tiptap/vue-starter-kit", "version": "1.0.0", - "source": "index.ts", "main": "dist/tiptap-vue-starter-kit.cjs.js", "umd": "dist/tiptap-vue-starter-kit.umd.js", "module": "dist/tiptap-vue-starter-kit.esm.js", diff --git a/packages/vue-starter-kit/index.ts b/packages/vue-starter-kit/src/index.ts similarity index 100% rename from packages/vue-starter-kit/index.ts rename to packages/vue-starter-kit/src/index.ts diff --git a/packages/vue/index.ts b/packages/vue/index.ts deleted file mode 100644 index 80cb8873..00000000 --- a/packages/vue/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from '@tiptap/core' -export { default as VueRenderer } from './src/VueRenderer' -export { default as EditorContent } from './src/components/EditorContent' diff --git a/packages/vue/package.json b/packages/vue/package.json index d37a2f09..7334a98e 100644 --- a/packages/vue/package.json +++ b/packages/vue/package.json @@ -1,7 +1,6 @@ { "name": "@tiptap/vue", "version": "1.0.0", - "source": "index.ts", "main": "dist/tiptap-vue.cjs.js", "umd": "dist/tiptap-vue.umd.js", "module": "dist/tiptap-vue.esm.js", diff --git a/packages/vue/src/index.ts b/packages/vue/src/index.ts new file mode 100644 index 00000000..d668e82c --- /dev/null +++ b/packages/vue/src/index.ts @@ -0,0 +1,3 @@ +export * from '@tiptap/core' +export { default as VueRenderer } from './VueRenderer' +export { default as EditorContent } from './components/EditorContent' diff --git a/rollup.config.js b/rollup.config.js index 43d2227d..2676a86d 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -24,16 +24,17 @@ async function build(commandLineArgs) { const config = [] // Support --scope and --ignore globs if passed in via commandline - const { scope, ignore } = minimist(process.argv.slice(2)) + const { scope, ignore, ci } = minimist(process.argv.slice(2)) const packages = await getSortedPackages(scope, ignore) // prevent rollup warning + delete commandLineArgs.ci delete commandLineArgs.scope delete commandLineArgs.ignore packages.forEach(pkg => { const basePath = path.relative(__dirname, pkg.location) - const input = path.join(basePath, 'index.ts') + const input = path.join(basePath, 'src/index.ts') const { name, main, @@ -42,16 +43,9 @@ async function build(commandLineArgs) { unpkg, } = pkg.toJSON() - const plugins = [ + const basePlugins = [ resolve(), commonjs(), - typescript({ - tsconfigOverride: { - compilerOptions: { - declaration: true, - }, - }, - }), vuePlugin(), babel({ babelHelpers: 'bundled', @@ -87,30 +81,54 @@ async function build(commandLineArgs) { ...Object.keys(pkg.devDependencies || {}), ...Object.keys(pkg.peerDependencies || {}), ], - plugins, + plugins: [ + ...basePlugins, + typescript({ + tsconfigOverride: { + compilerOptions: { + declaration: true, + paths: { + '@tiptap/*': ['*/src'], + }, + }, + include: null, + }, + }), + ], }) - config.push({ - input, - output: [ - { - name, - file: path.join(basePath, unpkg), - format: 'umd', - sourcemap: true, - globals: { - vue: 'Vue', + if (!ci) { + config.push({ + input, + output: [ + { + name, + file: path.join(basePath, unpkg), + format: 'umd', + sourcemap: true, + globals: { + vue: 'Vue', + }, }, - }, - ], - externals: [ - 'vue', - ], - plugins: [ - ...plugins, - terser(), - ], - }) + ], + external: [ + 'vue', + ], + plugins: [ + ...basePlugins, + typescript({ + tsconfigOverride: { + compilerOptions: { + paths: { + '@tiptap/*': ['*/src'], + }, + }, + }, + }), + terser(), + ], + }) + } }) return config diff --git a/tsconfig.json b/tsconfig.json index d54ffe2f..eccd4dc7 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -10,13 +10,11 @@ "allowSyntheticDefaultImports": true, "experimentalDecorators": true, "sourceMap": true, - "baseUrl": ".", + "baseUrl": "./packages", "allowJs": false, "checkJs": false, "paths": { - "@/*": [ - "packages/*" - ] + "@tiptap/*": ["*/dist", "*/src"] }, "lib": [ "esnext", @@ -28,6 +26,9 @@ "files": [ "./shims/vue.d.ts" ], + "include": [ + "**/*.ts" + ], "exclude": [ "**/node_modules", "**/dist"