-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Description
There is a circular dependency between gridstack.component.ts and base-widget.ts, which in some scenarios will lead to errors. One of those scenario's can be found in the example below where we cannot extend from BaseWidget.
Worth mentioning is that we have other unit tests and other code in the same codebase that extend BaseWidget without any problems.
The issue was discovered in version 11.3.0, but has likely existed long before.
Example.
test-base-widget.spec.ts (jest unit test)
import { BaseWidget } from 'gridstack/dist/angular';
class TestComponent extends BaseWidget {}
it('test', () => {
// nothing
});
Running this unit test will throw the following error:
We have seen similar weird issues in the past with other code that were eventually tracked down to be caused by Circular Dependencies and often those circular dependencies had existed for a longer period of time, it just never manifested in errors before.
So it is just a matter of time before actual issues occur in other parts of a client's codebase.