From fa8c4ca63980f704598e2281b705150efd1e4ca6 Mon Sep 17 00:00:00 2001 From: Dominik <6538827+bdbch@users.noreply.github.com> Date: Sat, 11 Jun 2022 07:11:14 +0200 Subject: [PATCH] refactor: use index files for imports to simplify the export flow (#2870) --- packages/core/src/commands/index.ts | 50 ++++++++ packages/core/src/extensions/commands.ts | 153 +---------------------- packages/core/src/helpers/index.ts | 33 +++++ packages/core/src/index.ts | 51 +------- packages/core/src/inputRules/index.ts | 5 + packages/core/src/pasteRules/index.ts | 2 + packages/core/src/utilities/index.ts | 3 + 7 files changed, 101 insertions(+), 196 deletions(-) create mode 100644 packages/core/src/commands/index.ts create mode 100644 packages/core/src/helpers/index.ts create mode 100644 packages/core/src/inputRules/index.ts create mode 100644 packages/core/src/pasteRules/index.ts create mode 100644 packages/core/src/utilities/index.ts diff --git a/packages/core/src/commands/index.ts b/packages/core/src/commands/index.ts new file mode 100644 index 00000000000..78d1fab0807 --- /dev/null +++ b/packages/core/src/commands/index.ts @@ -0,0 +1,50 @@ +export * from './blur' +export * from './clearContent' +export * from './clearNodes' +export * from './command' +export * from './createParagraphNear' +export * from './deleteNode' +export * from './deleteRange' +export * from './deleteSelection' +export * from './enter' +export * from './exitCode' +export * from './extendMarkRange' +export * from './first' +export * from './focus' +export * from './forEach' +export * from './insertContent' +export * from './insertContentAt' +export * from './joinBackward' +export * from './joinForward' +export * from './keyboardShortcut' +export * from './lift' +export * from './liftEmptyBlock' +export * from './liftListItem' +export * from './newlineInCode' +export * from './resetAttributes' +export * from './scrollIntoView' +export * from './selectAll' +export * from './selectNodeBackward' +export * from './selectNodeForward' +export * from './selectParentNode' +export * from './selectTextblockEnd' +export * from './selectTextblockStart' +export * from './setContent' +export * from './setMark' +export * from './setMeta' +export * from './setNode' +export * from './setNodeSelection' +export * from './setTextSelection' +export * from './sinkListItem' +export * from './splitBlock' +export * from './splitListItem' +export * from './toggleList' +export * from './toggleMark' +export * from './toggleNode' +export * from './toggleWrap' +export * from './undoInputRule' +export * from './unsetAllMarks' +export * from './unsetMark' +export * from './updateAttributes' +export * from './wrapIn' +export * from './wrapInList' diff --git a/packages/core/src/extensions/commands.ts b/packages/core/src/extensions/commands.ts index 67f3e27ff27..90fb1789de0 100644 --- a/packages/core/src/extensions/commands.ts +++ b/packages/core/src/extensions/commands.ts @@ -1,161 +1,14 @@ -import * as blur from '../commands/blur' -import * as clearContent from '../commands/clearContent' -import * as clearNodes from '../commands/clearNodes' -import * as command from '../commands/command' -import * as createParagraphNear from '../commands/createParagraphNear' -import * as deleteNode from '../commands/deleteNode' -import * as deleteRange from '../commands/deleteRange' -import * as deleteSelection from '../commands/deleteSelection' -import * as enter from '../commands/enter' -import * as exitCode from '../commands/exitCode' -import * as extendMarkRange from '../commands/extendMarkRange' -import * as first from '../commands/first' -import * as focus from '../commands/focus' -import * as forEach from '../commands/forEach' -import * as insertContent from '../commands/insertContent' -import * as insertContentAt from '../commands/insertContentAt' -import * as joinBackward from '../commands/joinBackward' -import * as joinForward from '../commands/joinForward' -import * as keyboardShortcut from '../commands/keyboardShortcut' -import * as lift from '../commands/lift' -import * as liftEmptyBlock from '../commands/liftEmptyBlock' -import * as liftListItem from '../commands/liftListItem' -import * as newlineInCode from '../commands/newlineInCode' -import * as resetAttributes from '../commands/resetAttributes' -import * as scrollIntoView from '../commands/scrollIntoView' -import * as selectAll from '../commands/selectAll' -import * as selectNodeBackward from '../commands/selectNodeBackward' -import * as selectNodeForward from '../commands/selectNodeForward' -import * as selectParentNode from '../commands/selectParentNode' -import * as selectTextblockEnd from '../commands/selectTextblockEnd' -import * as selectTextblockStart from '../commands/selectTextblockStart' -import * as setContent from '../commands/setContent' -import * as setMark from '../commands/setMark' -import * as setMeta from '../commands/setMeta' -import * as setNode from '../commands/setNode' -import * as setNodeSelection from '../commands/setNodeSelection' -import * as setTextSelection from '../commands/setTextSelection' -import * as sinkListItem from '../commands/sinkListItem' -import * as splitBlock from '../commands/splitBlock' -import * as splitListItem from '../commands/splitListItem' -import * as toggleList from '../commands/toggleList' -import * as toggleMark from '../commands/toggleMark' -import * as toggleNode from '../commands/toggleNode' -import * as toggleWrap from '../commands/toggleWrap' -import * as undoInputRule from '../commands/undoInputRule' -import * as unsetAllMarks from '../commands/unsetAllMarks' -import * as unsetMark from '../commands/unsetMark' -import * as updateAttributes from '../commands/updateAttributes' -import * as wrapIn from '../commands/wrapIn' -import * as wrapInList from '../commands/wrapInList' +import * as commands from '../commands' import { Extension } from '../Extension' -export { blur } -export { clearContent } -export { clearNodes } -export { command } -export { createParagraphNear } -export { deleteNode } -export { deleteRange } -export { deleteSelection } -export { enter } -export { exitCode } -export { extendMarkRange } -export { first } -export { focus } -export { forEach } -export { insertContent } -export { insertContentAt } -export { joinBackward } -export { joinForward } -export { keyboardShortcut } -export { lift } -export { liftEmptyBlock } -export { liftListItem } -export { newlineInCode } -export { resetAttributes } -export { scrollIntoView } -export { selectAll } -export { selectNodeBackward } -export { selectNodeForward } -export { selectParentNode } -export { selectTextblockEnd } -export { selectTextblockStart } -export { setContent } -export { setMark } -export { setMeta } -export { setNode } -export { setNodeSelection } -export { setTextSelection } -export { sinkListItem } -export { splitBlock } -export { splitListItem } -export { toggleList } -export { toggleMark } -export { toggleNode } -export { toggleWrap } -export { undoInputRule } -export { unsetAllMarks } -export { unsetMark } -export { updateAttributes } -export { wrapIn } -export { wrapInList } +export * from '../commands' export const Commands = Extension.create({ name: 'commands', addCommands() { return { - ...blur, - ...clearContent, - ...clearNodes, - ...command, - ...createParagraphNear, - ...deleteNode, - ...deleteRange, - ...deleteSelection, - ...enter, - ...exitCode, - ...extendMarkRange, - ...first, - ...focus, - ...forEach, - ...insertContent, - ...insertContentAt, - ...joinBackward, - ...joinForward, - ...keyboardShortcut, - ...lift, - ...liftEmptyBlock, - ...liftListItem, - ...newlineInCode, - ...resetAttributes, - ...scrollIntoView, - ...selectAll, - ...selectNodeBackward, - ...selectNodeForward, - ...selectParentNode, - ...selectTextblockEnd, - ...selectTextblockStart, - ...setContent, - ...setMark, - ...setMeta, - ...setNode, - ...setNodeSelection, - ...setTextSelection, - ...sinkListItem, - ...splitBlock, - ...splitListItem, - ...toggleList, - ...toggleMark, - ...toggleNode, - ...toggleWrap, - ...undoInputRule, - ...unsetAllMarks, - ...unsetMark, - ...updateAttributes, - ...wrapIn, - ...wrapInList, + ...commands, } }, }) diff --git a/packages/core/src/helpers/index.ts b/packages/core/src/helpers/index.ts new file mode 100644 index 00000000000..fb624226c41 --- /dev/null +++ b/packages/core/src/helpers/index.ts @@ -0,0 +1,33 @@ +export * from './combineTransactionSteps' +export * from './defaultBlockAt' +export * from './findChildren' +export * from './findChildrenInRange' +export * from './findParentNode' +export * from './findParentNodeClosestToPos' +export * from './generateHTML' +export * from './generateJSON' +export * from './generateText' +export * from './getAttributes' +export * from './getChangedRanges' +export * from './getDebugJSON' +export * from './getExtensionField' +export * from './getHTMLFromFragment' +export * from './getMarkAttributes' +export * from './getMarkRange' +export * from './getMarksBetween' +export * from './getMarkType' +export * from './getNodeAttributes' +export * from './getNodeType' +export * from './getSchema' +export * from './getText' +export * from './getTextBetween' +export * from './getTextContentFromNodes' +export * from './getTextSerializersFromSchema' +export * from './isActive' +export * from './isList' +export * from './isMarkActive' +export * from './isNodeActive' +export * from './isNodeEmpty' +export * from './isNodeSelection' +export * from './isTextSelection' +export * from './posToDOMRect' diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts index 7cc13b4de38..854fdf490cc 100644 --- a/packages/core/src/index.ts +++ b/packages/core/src/index.ts @@ -1,59 +1,18 @@ -import * as extensions from './extensions' - -export { extensions } export * from './CommandManager' export * from './Editor' export * from './Extension' -export * from './helpers/combineTransactionSteps' -export * from './helpers/defaultBlockAt' -export * from './helpers/findChildren' -export * from './helpers/findChildrenInRange' -export * from './helpers/findParentNode' -export * from './helpers/findParentNodeClosestToPos' -export * from './helpers/generateHTML' -export * from './helpers/generateJSON' -export * from './helpers/generateText' -export * from './helpers/getAttributes' -export * from './helpers/getChangedRanges' -export * from './helpers/getDebugJSON' -export * from './helpers/getExtensionField' -export * from './helpers/getHTMLFromFragment' -export * from './helpers/getMarkAttributes' -export * from './helpers/getMarkRange' -export * from './helpers/getMarksBetween' -export * from './helpers/getMarkType' -export * from './helpers/getNodeAttributes' -export * from './helpers/getNodeType' -export * from './helpers/getSchema' -export * from './helpers/getText' -export * from './helpers/getTextBetween' -export * from './helpers/getTextContentFromNodes' -export * from './helpers/getTextSerializersFromSchema' -export * from './helpers/isActive' -export * from './helpers/isList' -export * from './helpers/isMarkActive' -export * from './helpers/isNodeActive' -export * from './helpers/isNodeEmpty' -export * from './helpers/isNodeSelection' -export * from './helpers/isTextSelection' -export * from './helpers/posToDOMRect' +export * as extensions from './extensions' +export * from './helpers' export * from './InputRule' -export * from './inputRules/markInputRule' -export * from './inputRules/nodeInputRule' -export * from './inputRules/textblockTypeInputRule' -export * from './inputRules/textInputRule' -export * from './inputRules/wrappingInputRule' +export * from './inputRules' export * from './Mark' export * from './Node' export * from './NodeView' export * from './PasteRule' -export * from './pasteRules/markPasteRule' -export * from './pasteRules/textPasteRule' +export * from './pasteRules' export * from './Tracker' export * from './types' -export * from './utilities/callOrReturn' -export * from './utilities/escapeForRegEx' -export * from './utilities/mergeAttributes' +export * from './utilities' // eslint-disable-next-line export interface Commands {} diff --git a/packages/core/src/inputRules/index.ts b/packages/core/src/inputRules/index.ts new file mode 100644 index 00000000000..f3b6324333f --- /dev/null +++ b/packages/core/src/inputRules/index.ts @@ -0,0 +1,5 @@ +export * from './markInputRule' +export * from './nodeInputRule' +export * from './textblockTypeInputRule' +export * from './textInputRule' +export * from './wrappingInputRule' diff --git a/packages/core/src/pasteRules/index.ts b/packages/core/src/pasteRules/index.ts new file mode 100644 index 00000000000..c1921cc2092 --- /dev/null +++ b/packages/core/src/pasteRules/index.ts @@ -0,0 +1,2 @@ +export * from './markPasteRule' +export * from './textPasteRule' diff --git a/packages/core/src/utilities/index.ts b/packages/core/src/utilities/index.ts new file mode 100644 index 00000000000..79091e84ead --- /dev/null +++ b/packages/core/src/utilities/index.ts @@ -0,0 +1,3 @@ +export * from './callOrReturn' +export * from './escapeForRegEx' +export * from './mergeAttributes'