nodality 1.0.145 → 1.0.147
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.
- package/layout/animator.js +1 -1
- package/layout/audio.js +1 -1
- package/layout/audionew.js +1 -1
- package/layout/base-2.js +1 -1
- package/layout/base.js +1 -1
- package/layout/beta-desktop-bar.js +1 -1
- package/layout/beta-mobile-bar.js +1 -1
- package/layout/box.js +1 -1
- package/layout/button.js +1 -1
- package/layout/cards.js +1 -1
- package/layout/center.js +1 -1
- package/layout/checkbox.js +1 -1
- package/layout/circle.js +1 -1
- package/layout/clean-row.js +1 -1
- package/layout/code.js +1 -1
- package/layout/container.js +1 -1
- package/layout/custom.js +1 -1
- package/layout/div-image.js +1 -1
- package/layout/dropdown-2025.js +1 -1
- package/layout/dropdown.js +1 -1
- package/layout/empty-element.js +1 -1
- package/layout/external-stylesheet.js +1 -1
- package/layout/flex-card.js +1 -1
- package/layout/flex-grid.js +1 -1
- package/layout/flex-row.js +1 -1
- package/layout/footer.js +1 -1
- package/layout/form-components/custom.js +1 -1
- package/layout/form-components/data-list.js +1 -1
- package/layout/form-components/floating-input.js +1 -1
- package/layout/form-components/form-all.js +1 -1
- package/layout/form-components/form.js +1 -1
- package/layout/form-components/image-picker.js +1 -1
- package/layout/form-components/picker.js +1 -1
- package/layout/form-components/radio.js +1 -1
- package/layout/form-components/radiogroup.js +1 -1
- package/layout/form-components/range.js +1 -1
- package/layout/free.js +1 -1
- package/layout/grid-new.js +1 -1
- package/layout/grid-switcher.js +1 -1
- package/layout/grid.js +1 -1
- package/layout/group.js +1 -1
- package/layout/header.js +1 -1
- package/layout/horizontal-scroller.js +1 -1
- package/layout/image-old.js +1 -1
- package/layout/image.js +1 -1
- package/layout/index.js +1 -1
- package/layout/label.js +1 -1
- package/layout/link.js +1 -1
- package/layout/list-OLD.js +1 -1
- package/layout/list.js +1 -1
- package/layout/meta-adder.js +1 -1
- package/layout/modal-2025.js +1 -1
- package/layout/modernwrap.js +1 -1
- package/layout/multiswitcher.js +1 -1
- package/layout/multiswitcherBeta.js +1 -1
- package/layout/nav-bar.js +1 -1
- package/layout/nav-factor/custom-div.js +1 -1
- package/layout/navBar-OLD.js +1 -1
- package/layout/new-flat-adder.js +1 -1
- package/layout/new-nav-bar.js +1 -1
- package/layout/offset-container.js +1 -1
- package/layout/polygon.js +1 -1
- package/layout/prerender.js +43 -8
- package/layout/progress.js +1 -1
- package/layout/row.js +1 -1
- package/layout/saved-new-nav-bar.js +1 -1
- package/layout/scroll-video.js +1 -1
- package/layout/side-bar.js +1 -1
- package/layout/side-nav-bar.js +1 -1
- package/layout/simple-bar.js +1 -1
- package/layout/slider-2025.js +1 -1
- package/layout/spacer.js +1 -1
- package/layout/stack.js +1 -1
- package/layout/styler.js +1 -1
- package/layout/svg.js +1 -1
- package/layout/switcher.js +1 -1
- package/layout/table.js +1 -1
- package/layout/text-field.js +1 -1
- package/layout/text.js +1 -1
- package/layout/ulist.js +1 -1
- package/layout/video.js +1 -1
- package/layout/without-new.js +1 -1
- package/layout/wrap.js +1 -1
- package/layout/zoom-card.js +1 -1
- package/lib/card-getter.js +1 -1
- package/lib/designer.js +1 -1
- package/lib/element-mapper.js +1 -1
- package/lib/keyframe-animation.js +1 -1
- package/lib/link-getter.js +1 -1
- package/lib/scroll-video.js +1 -1
- package/lib/stacker.js +1 -1
- package/lib/theme.js +1 -1
- package/lib/transform-anim.js +1 -1
- package/package.json +1 -1
package/layout/animator.js
CHANGED
package/layout/audio.js
CHANGED
package/layout/audionew.js
CHANGED
package/layout/base-2.js
CHANGED
package/layout/base.js
CHANGED
package/layout/box.js
CHANGED
package/layout/button.js
CHANGED
package/layout/cards.js
CHANGED
package/layout/center.js
CHANGED
package/layout/checkbox.js
CHANGED
package/layout/circle.js
CHANGED
package/layout/clean-row.js
CHANGED
package/layout/code.js
CHANGED
package/layout/container.js
CHANGED
package/layout/custom.js
CHANGED
package/layout/div-image.js
CHANGED
package/layout/dropdown-2025.js
CHANGED
package/layout/dropdown.js
CHANGED
package/layout/empty-element.js
CHANGED
package/layout/flex-card.js
CHANGED
package/layout/flex-grid.js
CHANGED
package/layout/flex-row.js
CHANGED
package/layout/footer.js
CHANGED
package/layout/free.js
CHANGED
package/layout/grid-new.js
CHANGED
package/layout/grid-switcher.js
CHANGED
package/layout/grid.js
CHANGED
package/layout/group.js
CHANGED
package/layout/header.js
CHANGED
package/layout/image-old.js
CHANGED
package/layout/image.js
CHANGED
package/layout/index.js
CHANGED
package/layout/label.js
CHANGED
package/layout/link.js
CHANGED
package/layout/list-OLD.js
CHANGED
package/layout/list.js
CHANGED
package/layout/meta-adder.js
CHANGED
package/layout/modal-2025.js
CHANGED
package/layout/modernwrap.js
CHANGED
package/layout/multiswitcher.js
CHANGED
package/layout/nav-bar.js
CHANGED
package/layout/navBar-OLD.js
CHANGED
package/layout/new-flat-adder.js
CHANGED
package/layout/new-nav-bar.js
CHANGED
package/layout/polygon.js
CHANGED
package/layout/prerender.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* nodality v1.0.
|
|
2
|
+
* nodality v1.0.147
|
|
3
3
|
* (c) 2026 Filip Vabrousek
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
@@ -231,10 +231,33 @@ export async function prerender({
|
|
|
231
231
|
"requestAnimationFrame", "cancelAnimationFrame", "getComputedStyle",
|
|
232
232
|
"fetch", "dataLayer", "gtag",
|
|
233
233
|
];
|
|
234
|
+
// Some Node versions (22+) make certain globals — most notably
|
|
235
|
+
// `navigator` — getter-only on `globalThis`, which means a plain
|
|
236
|
+
// assignment (`globalThis.navigator = window.navigator`) throws
|
|
237
|
+
// "Cannot set property navigator of #<Object> which has only a
|
|
238
|
+
// getter". Inspect the property descriptor and skip read-only
|
|
239
|
+
// ones — the live browser's native object is fine to leave alone
|
|
240
|
+
// since jsdom provides its own copy on `window` that the builder
|
|
241
|
+
// can reach via `window.navigator`. Same defensive check for any
|
|
242
|
+
// other future getter-only globals Node may add.
|
|
243
|
+
// Rather than try to detect every read-only global ahead of time
|
|
244
|
+
// (descriptors differ subtly between data and accessor properties,
|
|
245
|
+
// and Node's set keeps evolving), just attempt each assignment in
|
|
246
|
+
// a try/catch and remember which ones actually took. The finally
|
|
247
|
+
// block only restores the successful ones, preventing the same
|
|
248
|
+
// throw on cleanup.
|
|
234
249
|
const originalGlobals = {};
|
|
250
|
+
const assigned = new Set();
|
|
235
251
|
for (const key of PROXIED) {
|
|
236
|
-
if (key in
|
|
237
|
-
|
|
252
|
+
if (!(key in window)) continue;
|
|
253
|
+
try {
|
|
254
|
+
if (key in globalThis) originalGlobals[key] = globalThis[key];
|
|
255
|
+
globalThis[key] = window[key];
|
|
256
|
+
assigned.add(key);
|
|
257
|
+
} catch {
|
|
258
|
+
// Read-only built-in (e.g. Node 22+ `navigator`). The builder
|
|
259
|
+
// can still reach the jsdom copy via `window.<key>`.
|
|
260
|
+
}
|
|
238
261
|
}
|
|
239
262
|
|
|
240
263
|
try {
|
|
@@ -281,11 +304,23 @@ export async function prerender({
|
|
|
281
304
|
// caller runs prerender() in a loop — without this, the second
|
|
282
305
|
// invocation would inherit the FIRST jsdom's window, which has
|
|
283
306
|
// already been closed.
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
307
|
+
//
|
|
308
|
+
// We only restore keys we successfully wrote in the first place
|
|
309
|
+
// (`assigned`). Anything Node refused to let us assign is still
|
|
310
|
+
// its original built-in, so there's nothing to roll back. Each
|
|
311
|
+
// restore is also try/catch-guarded for the same reason — if
|
|
312
|
+
// Node tightened the descriptor between begin and end of build
|
|
313
|
+
// (unlikely but cheap to defend against), we want cleanup to
|
|
314
|
+
// continue rather than throw out of the finally block.
|
|
315
|
+
for (const key of assigned) {
|
|
316
|
+
try {
|
|
317
|
+
if (key in originalGlobals) {
|
|
318
|
+
globalThis[key] = originalGlobals[key];
|
|
319
|
+
} else {
|
|
320
|
+
delete globalThis[key];
|
|
321
|
+
}
|
|
322
|
+
} catch {
|
|
323
|
+
// Skip — restoration is best-effort.
|
|
289
324
|
}
|
|
290
325
|
}
|
|
291
326
|
// Release jsdom's internal resources (timers, parser state).
|
package/layout/progress.js
CHANGED
package/layout/row.js
CHANGED
package/layout/scroll-video.js
CHANGED
package/layout/side-bar.js
CHANGED
package/layout/side-nav-bar.js
CHANGED
package/layout/simple-bar.js
CHANGED
package/layout/slider-2025.js
CHANGED
package/layout/spacer.js
CHANGED
package/layout/stack.js
CHANGED
package/layout/styler.js
CHANGED
package/layout/svg.js
CHANGED
package/layout/switcher.js
CHANGED
package/layout/table.js
CHANGED
package/layout/text-field.js
CHANGED
package/layout/text.js
CHANGED
package/layout/ulist.js
CHANGED
package/layout/video.js
CHANGED
package/layout/without-new.js
CHANGED
package/layout/wrap.js
CHANGED
package/layout/zoom-card.js
CHANGED
package/lib/card-getter.js
CHANGED
package/lib/designer.js
CHANGED
package/lib/element-mapper.js
CHANGED
package/lib/link-getter.js
CHANGED
package/lib/scroll-video.js
CHANGED
package/lib/stacker.js
CHANGED
package/lib/theme.js
CHANGED
package/lib/transform-anim.js
CHANGED