From 2785278e83df413ec086d3e398201349667977e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fl=C3=A1vio=20Carvalho?= <8357327+flaviouk@users.noreply.github.com> Date: Tue, 21 Sep 2021 18:20:38 +0100 Subject: [PATCH 1/2] Add enableCoreExtensions flag (#1923) --- packages/core/src/Editor.ts | 5 ++++- packages/core/src/index.ts | 3 +++ packages/core/src/types.ts | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/core/src/Editor.ts b/packages/core/src/Editor.ts index a6d122b8..3878321b 100644 --- a/packages/core/src/Editor.ts +++ b/packages/core/src/Editor.ts @@ -59,6 +59,7 @@ export class Editor extends EventEmitter { parseOptions: {}, enableInputRules: true, enablePasteRules: true, + enableCoreExtensions: true, onBeforeCreate: () => null, onCreate: () => null, onUpdate: () => null, @@ -218,7 +219,9 @@ export class Editor extends EventEmitter { * Creates an extension manager. */ private createExtensionManager(): void { - const coreExtensions = Object.entries(extensions).map(([, extension]) => extension) + const coreExtensions = this.options.enableCoreExtensions + ? Object.entries(extensions).map(([, extension]) => extension) + : [] const allExtensions = [...coreExtensions, ...this.options.extensions].filter(extension => { return ['extension', 'node', 'mark'].includes(extension?.type) }) diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts index 184b9dd6..fbb4f12f 100644 --- a/packages/core/src/index.ts +++ b/packages/core/src/index.ts @@ -1,3 +1,6 @@ +import * as extensions from './extensions' + +export { extensions } export * from './Editor' export * from './Extension' export * from './Node' diff --git a/packages/core/src/types.ts b/packages/core/src/types.ts index b039d458..25682574 100644 --- a/packages/core/src/types.ts +++ b/packages/core/src/types.ts @@ -50,6 +50,7 @@ export interface EditorOptions { parseOptions: ParseOptions, enableInputRules: boolean, enablePasteRules: boolean, + enableCoreExtensions: boolean, onBeforeCreate: (props: { editor: Editor }) => void, onCreate: (props: { editor: Editor }) => void, onUpdate: (props: { editor: Editor, transaction: Transaction }) => void, From 532e7003ceffe5f6398f8bb483c1faa5d17e469a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philipp=20Ku=CC=88hn?= Date: Tue, 21 Sep 2021 20:21:12 +0200 Subject: [PATCH 2/2] refactoring --- packages/core/src/Editor.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/src/Editor.ts b/packages/core/src/Editor.ts index 3878321b..e99813e0 100644 --- a/packages/core/src/Editor.ts +++ b/packages/core/src/Editor.ts @@ -220,7 +220,7 @@ export class Editor extends EventEmitter { */ private createExtensionManager(): void { const coreExtensions = this.options.enableCoreExtensions - ? Object.entries(extensions).map(([, extension]) => extension) + ? Object.values(extensions) : [] const allExtensions = [...coreExtensions, ...this.options.extensions].filter(extension => { return ['extension', 'node', 'mark'].includes(extension?.type)