@lexical/headless 0.36.2-nightly.20250929.0 → 0.36.2-nightly.20251001.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.
@@ -6,4 +6,4 @@
6
6
  *
7
7
  */
8
8
 
9
- "use strict";var e=require("lexical");exports.createHeadlessEditor=function(t){const r=e.createEditor(t);return r._headless=!0,["registerDecoratorListener","registerRootListener","registerMutationListener","getRootElement","setRootElement","getElementByKey","focus","blur"].forEach((e=>{r[e]=()=>{throw new Error(`${e} is not supported in headless mode`)}})),r};
9
+ "use strict";var e=require("lexical");exports.createHeadlessEditor=function(t){const r=e.createEditor(t);return r._headless=!0,["registerDecoratorListener","registerRootListener","registerMutationListener","getRootElement","setRootElement","getElementByKey","focus","blur"].forEach(e=>{r[e]=()=>{throw new Error(`${e} is not supported in headless mode`)}}),r};
@@ -6,4 +6,4 @@
6
6
  *
7
7
  */
8
8
 
9
- import{createEditor as e}from"lexical";function t(t){const r=e(t);r._headless=!0;return["registerDecoratorListener","registerRootListener","registerMutationListener","getRootElement","setRootElement","getElementByKey","focus","blur"].forEach((e=>{r[e]=()=>{throw new Error(`${e} is not supported in headless mode`)}})),r}export{t as createHeadlessEditor};
9
+ import{createEditor as e}from"lexical";function t(t){const r=e(t);r._headless=!0;return["registerDecoratorListener","registerRootListener","registerMutationListener","getRootElement","setRootElement","getElementByKey","focus","blur"].forEach(e=>{r[e]=()=>{throw new Error(`${e} is not supported in headless mode`)}}),r}export{t as createHeadlessEditor};
@@ -8,20 +8,7 @@
8
8
 
9
9
  'use strict';
10
10
 
11
- var HappyDOM = require('happy-dom');
12
-
13
- function _interopNamespaceDefault(e) {
14
- var n = Object.create(null);
15
- if (e) {
16
- for (var k in e) {
17
- n[k] = e[k];
18
- }
19
- }
20
- n.default = e;
21
- return n;
22
- }
23
-
24
- var HappyDOM__namespace = /*#__PURE__*/_interopNamespaceDefault(HappyDOM);
11
+ var happyDom = require('happy-dom');
25
12
 
26
13
  /**
27
14
  * Copyright (c) Meta Platforms, Inc. and affiliates.
@@ -32,14 +19,8 @@ var HappyDOM__namespace = /*#__PURE__*/_interopNamespaceDefault(HappyDOM);
32
19
  */
33
20
 
34
21
  function createWindow() {
35
- if ('Window' in HappyDOM__namespace) {
36
- // @ts-expect-error -- DOMWindow is not exactly Window
37
- return new HappyDOM__namespace.Window();
38
- } else {
39
- const jsdom = HappyDOM__namespace;
40
- // @ts-expect-error -- this is jsdom in www
41
- return new jsdom.JSDOM().window;
42
- }
22
+ // @ts-expect-error -- DOMWindow is not exactly Window
23
+ return new happyDom.Window();
43
24
  }
44
25
 
45
26
  /**
@@ -60,15 +41,21 @@ function withDOM(f) {
60
41
  if (prevWindow) {
61
42
  return f(globalThis.window);
62
43
  }
44
+ const prevComputedStyle = globalThis.getComputedStyle;
45
+ const prevDOMParser = globalThis.DOMParser;
63
46
  const prevMutationObserver = globalThis.MutationObserver;
64
47
  const prevDocument = globalThis.document;
65
48
  const newWindow = createWindow();
66
49
  globalThis.window = newWindow;
67
50
  globalThis.document = newWindow.document;
68
51
  globalThis.MutationObserver = newWindow.MutationObserver;
52
+ globalThis.DOMParser = newWindow.DOMParser;
53
+ globalThis.getComputedStyle = newWindow.getComputedStyle;
69
54
  try {
70
55
  return f(newWindow);
71
56
  } finally {
57
+ globalThis.getComputedStyle = prevComputedStyle;
58
+ globalThis.DOMParser = prevDOMParser;
72
59
  globalThis.MutationObserver = prevMutationObserver;
73
60
  globalThis.document = prevDocument;
74
61
  globalThis.window = prevWindow;
@@ -6,7 +6,7 @@
6
6
  *
7
7
  */
8
8
 
9
- import * as HappyDOM from 'happy-dom';
9
+ import { Window } from 'happy-dom';
10
10
 
11
11
  /**
12
12
  * Copyright (c) Meta Platforms, Inc. and affiliates.
@@ -17,14 +17,8 @@ import * as HappyDOM from 'happy-dom';
17
17
  */
18
18
 
19
19
  function createWindow() {
20
- if ('Window' in HappyDOM) {
21
- // @ts-expect-error -- DOMWindow is not exactly Window
22
- return new HappyDOM.Window();
23
- } else {
24
- const jsdom = HappyDOM;
25
- // @ts-expect-error -- this is jsdom in www
26
- return new jsdom.JSDOM().window;
27
- }
20
+ // @ts-expect-error -- DOMWindow is not exactly Window
21
+ return new Window();
28
22
  }
29
23
 
30
24
  /**
@@ -45,15 +39,21 @@ function withDOM(f) {
45
39
  if (prevWindow) {
46
40
  return f(globalThis.window);
47
41
  }
42
+ const prevComputedStyle = globalThis.getComputedStyle;
43
+ const prevDOMParser = globalThis.DOMParser;
48
44
  const prevMutationObserver = globalThis.MutationObserver;
49
45
  const prevDocument = globalThis.document;
50
46
  const newWindow = createWindow();
51
47
  globalThis.window = newWindow;
52
48
  globalThis.document = newWindow.document;
53
49
  globalThis.MutationObserver = newWindow.MutationObserver;
50
+ globalThis.DOMParser = newWindow.DOMParser;
51
+ globalThis.getComputedStyle = newWindow.getComputedStyle;
54
52
  try {
55
53
  return f(newWindow);
56
54
  } finally {
55
+ globalThis.getComputedStyle = prevComputedStyle;
56
+ globalThis.DOMParser = prevDOMParser;
57
57
  globalThis.MutationObserver = prevMutationObserver;
58
58
  globalThis.document = prevDocument;
59
59
  globalThis.window = prevWindow;
@@ -6,4 +6,4 @@
6
6
  *
7
7
  */
8
8
 
9
- "use strict";function o(o){var i=Object.create(null);if(o)for(var n in o)i[n]=o[n];return i.default=o,i}var i=o(require("happy-dom"));exports.withDOM=function(o){const n=globalThis.window;if(n)return o(globalThis.window);const t=globalThis.MutationObserver,e=globalThis.document,l="Window"in i?new i.Window:(new i.JSDOM).window;globalThis.window=l,globalThis.document=l.document,globalThis.MutationObserver=l.MutationObserver;try{return o(l)}finally{globalThis.MutationObserver=t,globalThis.document=e,globalThis.window=n,l.close()}};
9
+ "use strict";var l=require("happy-dom");exports.withDOM=function(o){const e=globalThis.window;if(e)return o(globalThis.window);const t=globalThis.getComputedStyle,i=globalThis.DOMParser,s=globalThis.MutationObserver,a=globalThis.document,r=new l.Window;globalThis.window=r,globalThis.document=r.document,globalThis.MutationObserver=r.MutationObserver,globalThis.DOMParser=r.DOMParser,globalThis.getComputedStyle=r.getComputedStyle;try{return o(r)}finally{globalThis.getComputedStyle=t,globalThis.DOMParser=i,globalThis.MutationObserver=s,globalThis.document=a,globalThis.window=e,r.close()}};
@@ -6,4 +6,4 @@
6
6
  *
7
7
  */
8
8
 
9
- import*as o from"happy-dom";function i(i){const n=globalThis.window;if(n)return i(globalThis.window);const l=globalThis.MutationObserver,t=globalThis.document,e="Window"in o?new o.Window:(new o.JSDOM).window;globalThis.window=e,globalThis.document=e.document,globalThis.MutationObserver=e.MutationObserver;try{return i(e)}finally{globalThis.MutationObserver=l,globalThis.document=t,globalThis.window=n,e.close()}}export{i as withDOM};
9
+ import{Window as o}from"happy-dom";function l(l){const e=globalThis.window;if(e)return l(globalThis.window);const t=globalThis.getComputedStyle,i=globalThis.DOMParser,s=globalThis.MutationObserver,a=globalThis.document,r=new o;globalThis.window=r,globalThis.document=r.document,globalThis.MutationObserver=r.MutationObserver,globalThis.DOMParser=r.DOMParser,globalThis.getComputedStyle=r.getComputedStyle;try{return l(r)}finally{globalThis.getComputedStyle=t,globalThis.DOMParser=i,globalThis.MutationObserver=s,globalThis.document=a,globalThis.window=e,r.close()}}export{l as withDOM};
package/dom.d.ts CHANGED
@@ -17,4 +17,4 @@
17
17
  * @param f A function that uses the window object
18
18
  * @returns The result of that function.
19
19
  */
20
- export declare function withDOM<T>(f: (window: Window) => T): T;
20
+ export declare function withDOM<T>(f: (window: typeof globalThis.window) => T): T;
package/dom.www.d.cts ADDED
@@ -0,0 +1 @@
1
+ export function withDOM(f: any): any;
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "headless"
9
9
  ],
10
10
  "license": "MIT",
11
- "version": "0.36.2-nightly.20250929.0",
11
+ "version": "0.36.2-nightly.20251001.0",
12
12
  "repository": {
13
13
  "type": "git",
14
14
  "url": "https://github.com/facebook/lexical",
@@ -19,8 +19,8 @@
19
19
  "./dom": {
20
20
  "browser": {
21
21
  "types": "./dom.d.ts",
22
- "development": "./LexicalHeadlessDom.dev.browser.mjs",
23
- "production": "./LexicalHeadlessDom.prod.browser.mjs",
22
+ "development": "./LexicalHeadlessDom.browser.dev.mjs",
23
+ "production": "./LexicalHeadlessDom.browser.prod.mjs",
24
24
  "default": "./LexicalHeadlessDom.browser.mjs"
25
25
  },
26
26
  "import": {
@@ -54,9 +54,7 @@
54
54
  }
55
55
  },
56
56
  "dependencies": {
57
- "lexical": "0.36.2-nightly.20250929.0"
58
- },
59
- "devDependencies": {
60
- "happy-dom": "^18.0.1"
57
+ "happy-dom": "^18.0.1",
58
+ "lexical": "0.36.2-nightly.20251001.0"
61
59
  }
62
60
  }