Latest version (commit 4f0c5b1) no longer compiles without errors
Question
GrapesJS version
- I confirm to use the latest version of GrapesJS
What browser are you using?
none
Reproducible demo link
none
Describe the bug
yarn build fails with two errors:
ERROR in /Users/andreas/rozek/GitHub/grapesjs/test/specs/utils/Sorter.ts
438:19-35
[tsl] ERROR in /Users/andreas/rozek/GitHub/grapesjs/test/specs/utils/Sorter.ts(438,20)
TS2532: Object is possibly 'undefined'.
ts-loader-default_4a384f05a8be7d44
ERROR in /Users/andreas/rozek/GitHub/grapesjs/test/specs/utils/Sorter.ts
489:19-35
[tsl] ERROR in /Users/andreas/rozek/GitHub/grapesjs/test/specs/utils/Sorter.ts(489,20)
TS2532: Object is possibly 'undefined'.
ts-loader-default_4a384f05a8be7d44
This may just be a problem with TypeScript being too picky, because
- you may disable the error messages using
// @ts-ignoreand compile again - the tests will run fine then.
but since I'm new to GrapesJS, I can not judge myself. Anyway, it's normally not a good idea to just // @ts-ignore TypeScript errors...
Code of Conduct
- I agree to follow this project's Code of Conduct
Answers (3)
Thanks @rozek I'll fix it now
thank you very much!
Thanks for reporting this, @rozek.
The issue with latest version (commit 4f0c5b1) no longer compiles without errors appears to be a race condition or state management timing problem. This typically happens when component lifecycle events and DOM modifications overlap, creating an inconsistent state.
What to try:
- Add a setTimeout wrapper to ensure the DOM has settled:
setTimeout(() => {
// your operation here
}, 0);
-
Check initialization order β make sure components are fully loaded before you interact with them
-
Use the editor's event system β listen to completion events:
editor.on('component:mount', (component) => {
// safe to interact with component here
});
Recommended next steps:
- Test with the latest GrapesJS version if you haven't
- Provide a minimal reproducible example (CodeSandbox) β this helps the team identify the root cause faster
- Include GrapesJS version, browser, and console errors in your report
Related Questions and Answers
Continue research with similar issue discussions.
Issue #6040
Cannot read properties of undefined (reading 'lastComponent')
GrapesJS version [X] I confirm to use the latest version of GrapesJS What browser are you using? Version 127.0.6533.89 (Official Build) (64...
Issue #5148
none of the official GrapesJS plugins works with the new index.d.ts
GrapesJS version [X] I confirm to use the latest version of GrapesJS What browser are you using? all and none, the bug is during the build...
Issue #5583
Can't set background:none in mobile version using styles panel
GrapesJS version [X] I confirm to use the latest version of GrapesJS What browser are you using? Edge last version Reproducible demo link h...
Issue #5362
draggable/droppable property functions not called while dragging
GrapesJS version [X] I confirm to use the latest version of GrapesJS What browser are you using? Version 1.56.20 Chromium: 115.0.5790.171 (...
Paid Plugins That Match This Issue
Curated by issue keywords and label relevance to help you ship faster.
Loading paid plugin recommendations...
Check the open-source GrapesJS plugins on GitHub or run a quick search in our free catalog.
Browse free plugins βPremium plugins ship with support, regular updates, and production-ready features β save days of integration work.
Browse premium plugins βRelated tutorials
In-depth guides on the same topic.
Tutorial
Find the Right GrapesJS Plugin in Seconds: Smarter Discovery Is Live
We're shipping a set of discovery upgrades. New label filters, a proper compatibility switch for GrapesJS vs Studio, one-click and a smarter sort bar.
Tutorial
GJS Market 2.0 - Donations, Tracking, Labels and Better Product Discovery
Weβve rolled out a new set of GrapesJS marketplace updates across GJS Market, focused on improving how creators distribute products
Tutorial
Preset DevFuture 2.0 β New Update Released
Preset continues evolving as a clean, production-ready starting point for building visual editors powered by GrapesJS
Browse Plugin Categories
Jump directly to plugin category pages on the marketplace.