GrapesJS / grapesjs

Free and Open source Web Builder Framework. Next generation tool for building templates without coding
https://grapesjs.com
BSD 3-Clause "New" or "Revised" License
22.37k stars 4.05k forks source link

BUG: Custom block categories can't be named same as prototype object method names or it breaks Grapes #5478

Closed bryanjamesmiller closed 11 months ago

bryanjamesmiller commented 11 months ago

GrapesJS version

What browser are you using?

Chrome

Reproducible demo link

Version 118.0.5993.88 (Official Build) (arm64)

Describe the bug

How to reproduce the bug? Video demo part 1:

https://github.com/GrapesJS/grapesjs/assets/8781182/bfbbf6ea-7780-417e-880b-61992897c740

Part 2:

https://github.com/GrapesJS/grapesjs/assets/8781182/c61fa3b5-c62a-459d-bdf2-d8dc106e310b

Part 3:

https://github.com/GrapesJS/grapesjs/assets/8781182/b8540f2d-f52b-42ae-aaa5-87d6f9fb395c

What is the expected behavior? Sorry for the 3-part video, it was due to file size restrictions. The expected behavior is i should be able to name my custom block categories anything i want to, such as "constructor", without it breaking grapes.

What is the current behavior? Currently if you pick any built-in javascript object prototype method name (like "constructor"), then it breaks Grapes JS.

If is necessary to execute some code in order to reproduce the bug, paste it here below: https://jsfiddle.net/gratiafide/k04azsd9/8/

Code of Conduct

artf commented 11 months ago

Thanks @bryanjamesmiller for all the insights, I'll investigate for a fix.