Skip to content

Commit 3d515d3

Browse files
obiotclaude
andcommitted
Plugin: use pluginClass.name for reliable class name extraction
plugin.register() now uses pluginClass.name before falling back to the toString() regex. Fixes class name extraction when bundlers (e.g. esbuild) strip class names from minified output, which caused "plugin extends already registered" errors when registering multiple plugins. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 5a828f9 commit 3d515d3

1 file changed

Lines changed: 2 additions & 1 deletion

File tree

packages/melonjs/src/plugin/plugin.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,8 @@ export function register(
9595
...args: any[]
9696
): void {
9797
// derive name from class if not provided
98-
const pluginName = name || pluginClass.toString().match(/ (\w+)/)![1];
98+
const pluginName =
99+
name || pluginClass.name || pluginClass.toString().match(/ (\w+)/)![1];
99100

100101
// ensure me.plugins[name] is not already "used"
101102
if (cache[pluginName]) {

0 commit comments

Comments
 (0)