neo.mjs 8.2.0 → 8.3.0

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.
@@ -20,9 +20,9 @@ class ServiceWorker extends ServiceBase {
20
20
  */
21
21
  singleton: true,
22
22
  /**
23
- * @member {String} version='8.2.0'
23
+ * @member {String} version='8.3.0'
24
24
  */
25
- version: '8.2.0'
25
+ version: '8.3.0'
26
26
  }
27
27
 
28
28
  /**
@@ -16,7 +16,7 @@
16
16
  "@type": "Organization",
17
17
  "name": "Neo.mjs"
18
18
  },
19
- "datePublished": "2025-01-12",
19
+ "datePublished": "2025-01-13",
20
20
  "publisher": {
21
21
  "@type": "Organization",
22
22
  "name": "Neo.mjs"
@@ -107,7 +107,7 @@ class FooterContainer extends Container {
107
107
  }, {
108
108
  module: Component,
109
109
  cls : ['neo-version'],
110
- html : 'v8.2.0'
110
+ html : 'v8.3.0'
111
111
  }]
112
112
  }],
113
113
  /**
@@ -20,9 +20,9 @@ class ServiceWorker extends ServiceBase {
20
20
  */
21
21
  singleton: true,
22
22
  /**
23
- * @member {String} version='8.2.0'
23
+ * @member {String} version='8.3.0'
24
24
  */
25
- version: '8.2.0'
25
+ version: '8.3.0'
26
26
  }
27
27
 
28
28
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "neo.mjs",
3
- "version": "8.2.0",
3
+ "version": "8.3.0",
4
4
  "description": "The webworkers driven UI framework",
5
5
  "type": "module",
6
6
  "repository": {
@@ -54,7 +54,7 @@
54
54
  "envinfo": "^7.14.0",
55
55
  "fs-extra": "^11.2.0",
56
56
  "highlightjs-line-numbers.js": "^2.9.0",
57
- "inquirer": "^12.3.0",
57
+ "inquirer": "^12.3.1",
58
58
  "marked": "^15.0.6",
59
59
  "monaco-editor": "0.50.0",
60
60
  "neo-jsdoc": "1.0.1",
@@ -262,12 +262,12 @@ const DefaultConfig = {
262
262
  useVdomWorker: true,
263
263
  /**
264
264
  * buildScripts/injectPackageVersion.mjs will update this value
265
- * @default '8.2.0'
265
+ * @default '8.3.0'
266
266
  * @memberOf! module:Neo
267
267
  * @name config.version
268
268
  * @type String
269
269
  */
270
- version: '8.2.0'
270
+ version: '8.3.0'
271
271
  };
272
272
 
273
273
  Object.assign(DefaultConfig, {
@@ -16,6 +16,7 @@ const
16
16
  addUnits = value => value == null ? value : isNaN(value) ? value : `${value}px`,
17
17
  closestController = Symbol.for('closestController'),
18
18
  closestProvider = Symbol.for('closestProvider'),
19
+ {currentWorker} = Neo,
19
20
  lengthRE = /^\d+\w+$/,
20
21
  twoWayBindingSymbol = Symbol.for('twoWayBinding');
21
22
 
@@ -573,7 +574,7 @@ class Component extends Base {
573
574
  afterSetConfig(key, value, oldValue) {
574
575
  let me = this;
575
576
 
576
- if (Neo.currentWorker.isUsingStateProviders && me[twoWayBindingSymbol] && oldValue !== undefined) {
577
+ if (currentWorker.isUsingStateProviders && me[twoWayBindingSymbol] && oldValue !== undefined) {
577
578
  let binding = me.bind?.[key];
578
579
 
579
580
  if (binding?.twoWay) {
@@ -1057,7 +1058,7 @@ class Component extends Base {
1057
1058
  controller = me.controller;
1058
1059
 
1059
1060
  if (value) {
1060
- Neo.currentWorker.insertThemeFiles(value, me.__proto__);
1061
+ currentWorker.insertThemeFiles(value, me.__proto__);
1061
1062
 
1062
1063
  if (controller) {
1063
1064
  controller.windowId = value
@@ -1544,7 +1545,7 @@ class Component extends Base {
1544
1545
  opts = {},
1545
1546
  deltas;
1546
1547
 
1547
- if (Neo.currentWorker.isSharedWorker) {
1548
+ if (currentWorker.isSharedWorker) {
1548
1549
  opts.appName = me.appName;
1549
1550
  opts.windowId = me.windowId
1550
1551
  }
@@ -1783,7 +1784,7 @@ class Component extends Base {
1783
1784
  * @returns {Neo.state.Provider|null}
1784
1785
  */
1785
1786
  getStateProvider(ntype) {
1786
- if (!Neo.currentWorker.isUsingStateProviders) {
1787
+ if (!currentWorker.isUsingStateProviders) {
1787
1788
  return null
1788
1789
  }
1789
1790
 
@@ -2055,7 +2056,7 @@ class Component extends Base {
2055
2056
 
2056
2057
  me.render(true)
2057
2058
  } else {
2058
- await Neo.currentWorker.promiseMessage('main', {
2059
+ await currentWorker.promiseMessage('main', {
2059
2060
  action : 'mountDom',
2060
2061
  appName : me.appName,
2061
2062
  id : me.id,
@@ -2287,8 +2288,9 @@ class Component extends Base {
2287
2288
  {app} = me,
2288
2289
  {useVdomWorker} = Neo.config;
2289
2290
 
2290
- if (Neo.currentWorker.countLoadingThemeFiles !== 0) {
2291
- Neo.currentWorker.on('themeFilesLoaded', function() {
2291
+ // Verify that the critical rendering path => CSS files for the new tree is in place
2292
+ if (currentWorker.countLoadingThemeFiles !== 0) {
2293
+ currentWorker.on('themeFilesLoaded', function() {
2292
2294
  me.render(mount)
2293
2295
  }, me, {once: true});
2294
2296
 
@@ -2620,11 +2622,11 @@ class Component extends Base {
2620
2622
  deltas: [{id, style: delta}]
2621
2623
  };
2622
2624
 
2623
- if (Neo.currentWorker.isSharedWorker) {
2625
+ if (currentWorker.isSharedWorker) {
2624
2626
  opts.appName = me.appName
2625
2627
  }
2626
2628
 
2627
- Neo.currentWorker.sendMessage('main', opts)
2629
+ currentWorker.sendMessage('main', opts)
2628
2630
  }
2629
2631
  }
2630
2632
  }
@@ -2667,7 +2669,14 @@ class Component extends Base {
2667
2669
  && mounted
2668
2670
  && vnode
2669
2671
  ) {
2670
- me.#executeVdomUpdate(vdom, vnode, resolve, reject)
2672
+ // Verify that the critical rendering path => CSS files for the new tree is in place
2673
+ if (currentWorker.countLoadingThemeFiles !== 0) {
2674
+ currentWorker.on('themeFilesLoaded', function() {
2675
+ me.updateVdom(vdom, vnode, resolve, reject)
2676
+ }, me, {once: true})
2677
+ } else {
2678
+ me.#executeVdomUpdate(vdom, vnode, resolve, reject)
2679
+ }
2671
2680
  }
2672
2681
  }
2673
2682
  }