@teachinglab/omd 0.5.1 → 0.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/index.js +13 -17
  2. package/package.json +1 -1
package/index.js CHANGED
@@ -11,12 +11,19 @@
11
11
  * const { omdTable } = await import('@teachinglab/omd')
12
12
  */
13
13
 
14
- // Force side-effect imports in strict dependency order to ensure proper class inheritance
15
- // Level 1: Base node class
16
- import './omd/nodes/omdNode.js';
14
+ // Force synchronous side-effect imports to initialize the class hierarchy
15
+ // These MUST load in dependency order before anything else
16
+ import './src/omdMetaExpression.js'; // Base of omdNode
17
+ import './omd/nodes/omdNode.js'; // Extends omdMetaExpression
18
+ import './omd/nodes/omdLeafNode.js'; // Extends omdNode
17
19
 
18
- // Level 2: Classes extending omdNode
19
- import './omd/nodes/omdLeafNode.js';
20
+ // Now load classes that depend on omdLeafNode
21
+ import './omd/nodes/omdConstantNode.js';
22
+ import './omd/nodes/omdOperatorNode.js';
23
+ import './omd/nodes/omdVariableNode.js';
24
+ import './omd/nodes/omdGroupNode.js';
25
+
26
+ // Load other node classes that extend omdNode
20
27
  import './omd/nodes/omdBinaryExpressionNode.js';
21
28
  import './omd/nodes/omdUnaryExpressionNode.js';
22
29
  import './omd/nodes/omdParenthesisNode.js';
@@ -28,18 +35,7 @@ import './omd/nodes/omdEquationNode.js';
28
35
  import './omd/nodes/omdEquationSequenceNode.js';
29
36
  import './omd/nodes/omdOperationDisplayNode.js';
30
37
 
31
- // Level 3: Classes extending omdLeafNode
32
- import './omd/nodes/omdConstantNode.js';
33
- import './omd/nodes/omdOperatorNode.js';
34
- import './omd/nodes/omdVariableNode.js';
35
- import './omd/nodes/omdGroupNode.js';
36
-
37
- // Import everything to ensure proper loading order
38
- import * as omdCore from './omd/core/index.js';
39
- import * as omdCanvas from './canvas/index.js';
40
- import * as omdVisualizations from './src/index.js';
41
-
42
- // Re-export everything
38
+ // Now that classes are initialized, we can safely import and re-export
43
39
  export * from './omd/core/index.js';
44
40
  export * from './canvas/index.js';
45
41
  export * from './src/index.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@teachinglab/omd",
3
- "version": "0.5.1",
3
+ "version": "0.5.2",
4
4
  "description": "omd",
5
5
  "main": "./index.js",
6
6
  "module": "./index.js",