diff --git a/packages/core/src/Extension.ts b/packages/core/src/Extension.ts index 50e7157d..48a4a3cf 100644 --- a/packages/core/src/Extension.ts +++ b/packages/core/src/Extension.ts @@ -65,6 +65,8 @@ export interface ExtensionConfig { } export class Extension { + type = 'extension' + config: Required = { name: 'extension', defaultOptions: {}, diff --git a/packages/core/src/Mark.ts b/packages/core/src/Mark.ts index 6d4a948a..07bc21eb 100644 --- a/packages/core/src/Mark.ts +++ b/packages/core/src/Mark.ts @@ -111,6 +111,8 @@ export interface MarkConfig extends Overwrite {} export class Mark { + type = 'mark' + config: Required = { name: 'mark', defaultOptions: {}, diff --git a/packages/core/src/Node.ts b/packages/core/src/Node.ts index b5ba6c13..8dd1308d 100644 --- a/packages/core/src/Node.ts +++ b/packages/core/src/Node.ts @@ -155,6 +155,8 @@ export interface NodeConfig extends Overwrite {} export class Node { + type = 'node' + config: Required = { name: 'node', defaultOptions: {}, diff --git a/packages/core/src/utils/splitExtensions.ts b/packages/core/src/utils/splitExtensions.ts index 97c6c9fe..91d4268f 100644 --- a/packages/core/src/utils/splitExtensions.ts +++ b/packages/core/src/utils/splitExtensions.ts @@ -4,9 +4,9 @@ import { Node } from '../Node' import { Mark } from '../Mark' export default function splitExtensions(extensions: Extensions) { - const baseExtensions = extensions.filter(extension => extension instanceof Extension) as Extension[] - const nodeExtensions = extensions.filter(extension => extension instanceof Node) as Node[] - const markExtensions = extensions.filter(extension => extension instanceof Mark) as Mark[] + const baseExtensions = extensions.filter(extension => extension.type === 'extension') as Extension[] + const nodeExtensions = extensions.filter(extension => extension.type === 'node') as Node[] + const markExtensions = extensions.filter(extension => extension.type === 'mark') as Mark[] return { baseExtensions,