GrapesJS stores active plugins inside `editor.Plugins` module, so the plugin can be identified and removed later.
@ -139,12 +139,6 @@ editor.Plugins.add({
});
```
If you don't need the descriptor form, plain plugin functions still work as before.
```ts
editor.Plugins.add(myPlugin);
```
When possible, GrapesJS also tracks editor-level entities added during plugin execution and removes them automatically when the plugin is removed. This currently applies to runtime/editor configuration features such as blocks, component types, keymaps, etc.
The automatic cleanup is intentionally limited to editor-level registrations. It does not remove project data such as pages, components already added to the canvas, or any other persisted content.