@happy-dom/server-renderer 20.0.10 → 20.1.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.
Files changed (72) hide show
  1. package/lib/ServerRenderer.d.ts +3 -3
  2. package/lib/ServerRenderer.d.ts.map +1 -1
  3. package/lib/ServerRenderer.js +27 -13
  4. package/lib/ServerRenderer.js.map +1 -1
  5. package/lib/ServerRendererBrowser.d.ts.map +1 -1
  6. package/lib/ServerRendererBrowser.js +7 -133
  7. package/lib/ServerRendererBrowser.js.map +1 -1
  8. package/lib/{ServerRendererWorker.d.ts → ServerRendererBrowserWorker.d.ts} +2 -2
  9. package/lib/ServerRendererBrowserWorker.d.ts.map +1 -0
  10. package/lib/{ServerRendererWorker.js → ServerRendererBrowserWorker.js} +3 -3
  11. package/lib/ServerRendererBrowserWorker.js.map +1 -0
  12. package/lib/ServerRendererPage.d.ts +24 -0
  13. package/lib/ServerRendererPage.d.ts.map +1 -0
  14. package/lib/ServerRendererPage.js +234 -0
  15. package/lib/ServerRendererPage.js.map +1 -0
  16. package/lib/ServerRendererPageWorker.d.ts +15 -0
  17. package/lib/ServerRendererPageWorker.d.ts.map +1 -0
  18. package/lib/ServerRendererPageWorker.js +38 -0
  19. package/lib/ServerRendererPageWorker.js.map +1 -0
  20. package/lib/ServerRendererServer.d.ts.map +1 -1
  21. package/lib/ServerRendererServer.js +0 -4
  22. package/lib/ServerRendererServer.js.map +1 -1
  23. package/lib/config/DefaultServerRendererConfiguration.d.ts.map +1 -1
  24. package/lib/config/DefaultServerRendererConfiguration.js +6 -6
  25. package/lib/config/DefaultServerRendererConfiguration.js.map +1 -1
  26. package/lib/enums/ServerRendererModeEnum.d.ts +6 -0
  27. package/lib/enums/ServerRendererModeEnum.d.ts.map +1 -0
  28. package/lib/enums/ServerRendererModeEnum.js +9 -0
  29. package/lib/enums/ServerRendererModeEnum.js.map +1 -0
  30. package/lib/index.d.ts +2 -1
  31. package/lib/index.d.ts.map +1 -1
  32. package/lib/index.js +2 -1
  33. package/lib/index.js.map +1 -1
  34. package/lib/types/IOptionalServerRendererConfiguration.d.ts +11 -2
  35. package/lib/types/IOptionalServerRendererConfiguration.d.ts.map +1 -1
  36. package/lib/types/IServerRendererConfiguration.d.ts +11 -2
  37. package/lib/types/IServerRendererConfiguration.d.ts.map +1 -1
  38. package/lib/types/IServerRendererItem.d.ts +2 -1
  39. package/lib/types/IServerRendererItem.d.ts.map +1 -1
  40. package/lib/types/IServerRendererResult.d.ts +4 -4
  41. package/lib/types/IServerRendererResult.d.ts.map +1 -1
  42. package/lib/utilities/BrowserWindowPolyfill.d.ts.map +1 -1
  43. package/lib/utilities/BrowserWindowPolyfill.js +2 -2
  44. package/lib/utilities/BrowserWindowPolyfill.js.map +1 -1
  45. package/lib/utilities/HelpPrinterRows.d.ts.map +1 -1
  46. package/lib/utilities/HelpPrinterRows.js +25 -4
  47. package/lib/utilities/HelpPrinterRows.js.map +1 -1
  48. package/lib/utilities/ProcessArgumentsParser.d.ts.map +1 -1
  49. package/lib/utilities/ProcessArgumentsParser.js +86 -22
  50. package/lib/utilities/ProcessArgumentsParser.js.map +1 -1
  51. package/lib/utilities/ServerRendererConfigurationFactory.js +1 -1
  52. package/lib/utilities/ServerRendererConfigurationFactory.js.map +1 -1
  53. package/package.json +3 -2
  54. package/src/ServerRenderer.ts +36 -13
  55. package/src/ServerRendererBrowser.ts +7 -151
  56. package/src/{ServerRendererWorker.ts → ServerRendererBrowserWorker.ts} +2 -2
  57. package/src/ServerRendererPage.ts +279 -0
  58. package/src/ServerRendererPageWorker.ts +55 -0
  59. package/src/ServerRendererServer.ts +3 -8
  60. package/src/config/DefaultServerRendererConfiguration.ts +6 -6
  61. package/src/enums/ServerRendererModeEnum.ts +8 -0
  62. package/src/index.ts +3 -1
  63. package/src/types/IOptionalServerRendererConfiguration.ts +21 -2
  64. package/src/types/IServerRendererConfiguration.ts +20 -2
  65. package/src/types/IServerRendererItem.ts +2 -1
  66. package/src/types/IServerRendererResult.ts +4 -4
  67. package/src/utilities/BrowserWindowPolyfill.ts +3 -2
  68. package/src/utilities/HelpPrinterRows.ts +25 -4
  69. package/src/utilities/ProcessArgumentsParser.ts +93 -24
  70. package/src/utilities/ServerRendererConfigurationFactory.ts +1 -1
  71. package/lib/ServerRendererWorker.d.ts.map +0 -1
  72. package/lib/ServerRendererWorker.js.map +0 -1
@@ -0,0 +1,234 @@
1
+ import HTMLSerializer from 'happy-dom/lib/html-serializer/HTMLSerializer.js';
2
+ import FS from 'fs';
3
+ import Path from 'path';
4
+ import BrowserWindowPolyfill from './utilities/BrowserWindowPolyfill.js';
5
+ import ServerRendererModeEnum from './enums/ServerRendererModeEnum.js';
6
+ const SET_TIMEOUT = setTimeout;
7
+ const CLEAR_TIMEOUT = clearTimeout;
8
+ /**
9
+ * Server renderer page.
10
+ */
11
+ export default class ServerRendererPage {
12
+ #configuration;
13
+ #createdDirectories = new Set();
14
+ #initialized = false;
15
+ /**
16
+ * Constructor.
17
+ *
18
+ * @param configuration Configuration.
19
+ */
20
+ constructor(configuration) {
21
+ this.#configuration = configuration;
22
+ }
23
+ /**
24
+ * Renders a page.
25
+ *
26
+ * @param page Browser page.
27
+ * @param item Item.
28
+ */
29
+ async render(page, item) {
30
+ const configuration = this.#configuration;
31
+ const pageErrors = [];
32
+ const errorListener = (event) => {
33
+ if (event.error) {
34
+ pageErrors.push(event.error.stack);
35
+ }
36
+ };
37
+ let response = null;
38
+ let headers = null;
39
+ if (item.html) {
40
+ if (item.url) {
41
+ page.mainFrame.url = item.url;
42
+ }
43
+ page.mainFrame.window.addEventListener('error', errorListener);
44
+ if (!this.#initialized) {
45
+ this.#initialized = true;
46
+ if (!configuration.render.disablePolyfills) {
47
+ BrowserWindowPolyfill.applyPolyfills(page.mainFrame.window);
48
+ }
49
+ if (configuration.render.setupScript) {
50
+ page.mainFrame.evaluateModule({ code: configuration.render.setupScript });
51
+ }
52
+ }
53
+ page.mainFrame.document.open();
54
+ page.mainFrame.document.write(item.html);
55
+ }
56
+ else if (item.url) {
57
+ headers = {};
58
+ if (configuration.render.mode === ServerRendererModeEnum.page) {
59
+ response = await page.mainFrame.window.fetch(item.url, {
60
+ headers: item.headers || {}
61
+ });
62
+ }
63
+ else {
64
+ response = (await page.goto(item.url, {
65
+ timeout: configuration.render.timeout,
66
+ headers: item.headers,
67
+ beforeContentCallback(window) {
68
+ window.addEventListener('error', errorListener);
69
+ if (!configuration.render.disablePolyfills) {
70
+ BrowserWindowPolyfill.applyPolyfills(window);
71
+ }
72
+ if (configuration.render.setupScript) {
73
+ page.evaluateModule({ code: configuration.render.setupScript });
74
+ }
75
+ }
76
+ }));
77
+ }
78
+ for (const [key, value] of response.headers) {
79
+ if (key !== 'content-encoding') {
80
+ headers[key] = value;
81
+ }
82
+ }
83
+ if (!response.ok) {
84
+ const pageConsole = page.virtualConsolePrinter.readAsString();
85
+ if (configuration.render.mode !== ServerRendererModeEnum.page) {
86
+ await page.close();
87
+ }
88
+ return {
89
+ url: item.url,
90
+ content: null,
91
+ status: response.status,
92
+ statusText: response.statusText,
93
+ headers,
94
+ outputFile: item.outputFile ?? null,
95
+ error: `Failed to render page ${item.url} (${response.status} ${response.statusText})`,
96
+ pageConsole,
97
+ pageErrors
98
+ };
99
+ }
100
+ if (configuration.render.mode === ServerRendererModeEnum.page) {
101
+ const text = await response.text();
102
+ page.mainFrame.window.addEventListener('error', errorListener);
103
+ if (!this.#initialized) {
104
+ this.#initialized = true;
105
+ if (!configuration.render.disablePolyfills) {
106
+ BrowserWindowPolyfill.applyPolyfills(page.mainFrame.window);
107
+ }
108
+ if (configuration.render.setupScript) {
109
+ page.mainFrame.evaluateModule({ code: configuration.render.setupScript });
110
+ }
111
+ }
112
+ page.mainFrame.document.open();
113
+ page.mainFrame.document.write(text);
114
+ }
115
+ }
116
+ else {
117
+ const pageConsole = page.virtualConsolePrinter.readAsString();
118
+ if (configuration.render.mode !== ServerRendererModeEnum.page) {
119
+ await page.close();
120
+ }
121
+ return {
122
+ url: null,
123
+ content: null,
124
+ status: null,
125
+ statusText: null,
126
+ headers: null,
127
+ outputFile: item.outputFile ?? null,
128
+ error: `No "url" or "html" provided to render.`,
129
+ pageConsole,
130
+ pageErrors
131
+ };
132
+ }
133
+ let timeoutError = null;
134
+ const timeout = configuration.browser.debug.traceWaitUntilComplete === -1
135
+ ? SET_TIMEOUT(() => {
136
+ timeoutError = `The page was not rendered within the defined time of ${configuration.render.timeout}ms and the operation was aborted. You can increase this value with the "render.timeout" setting.\n\nThe page may contain scripts with timer loops that prevent it from completing. You can debug open handles by setting "debug" to true, or prevent timer loops by setting "browser.timer.preventTimerLoops" to true. Read more about this in the documentation.`;
137
+ page.abort();
138
+ }, configuration.render.timeout)
139
+ : null;
140
+ try {
141
+ await page.waitUntilComplete();
142
+ }
143
+ catch (error) {
144
+ const pageConsole = page.virtualConsolePrinter.readAsString();
145
+ const url = item.url || page.url;
146
+ if (configuration.render.mode !== ServerRendererModeEnum.page) {
147
+ await page.close();
148
+ }
149
+ return {
150
+ url,
151
+ content: null,
152
+ status: response?.status || null,
153
+ statusText: response?.statusText || null,
154
+ headers,
155
+ outputFile: item.outputFile ?? null,
156
+ error: error.stack,
157
+ pageConsole,
158
+ pageErrors
159
+ };
160
+ }
161
+ // Wait for errors to be printed
162
+ await new Promise((resolve) => SET_TIMEOUT(resolve, 10));
163
+ page.mainFrame.window.removeEventListener('error', errorListener);
164
+ if (timeout) {
165
+ CLEAR_TIMEOUT(timeout);
166
+ }
167
+ const pageConsole = page.virtualConsolePrinter.readAsString();
168
+ if (timeoutError) {
169
+ const url = item.url || page.url;
170
+ if (configuration.render.mode !== ServerRendererModeEnum.page) {
171
+ await page.close();
172
+ }
173
+ return {
174
+ url,
175
+ content: null,
176
+ status: response?.status || null,
177
+ statusText: response?.statusText || null,
178
+ headers,
179
+ outputFile: null,
180
+ error: timeoutError,
181
+ pageConsole,
182
+ pageErrors
183
+ };
184
+ }
185
+ const serializer = new HTMLSerializer({
186
+ allShadowRoots: configuration.render.allShadowRoots,
187
+ serializableShadowRoots: configuration.render.serializableShadowRoots,
188
+ excludeShadowRootTags: configuration.render.excludeShadowRootTags
189
+ });
190
+ const result = serializer.serializeToString(page.mainFrame.document);
191
+ const url = item.url || page.url;
192
+ if (configuration.render.mode !== ServerRendererModeEnum.page) {
193
+ await page.close();
194
+ }
195
+ if (!item.outputFile) {
196
+ return {
197
+ url,
198
+ content: result,
199
+ status: response?.status || null,
200
+ statusText: response?.statusText || null,
201
+ headers,
202
+ outputFile: null,
203
+ error: null,
204
+ pageConsole,
205
+ pageErrors
206
+ };
207
+ }
208
+ const directory = Path.dirname(item.outputFile);
209
+ if (!this.#createdDirectories.has(directory)) {
210
+ this.#createdDirectories.add(directory);
211
+ try {
212
+ await FS.promises.mkdir(directory, {
213
+ recursive: true
214
+ });
215
+ }
216
+ catch {
217
+ // Ignore
218
+ }
219
+ }
220
+ await FS.promises.writeFile(item.outputFile, result);
221
+ return {
222
+ url,
223
+ content: null,
224
+ status: response?.status || null,
225
+ statusText: response?.statusText || null,
226
+ headers,
227
+ outputFile: item.outputFile,
228
+ error: null,
229
+ pageConsole,
230
+ pageErrors
231
+ };
232
+ }
233
+ }
234
+ //# sourceMappingURL=ServerRendererPage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServerRendererPage.js","sourceRoot":"","sources":["../src/ServerRendererPage.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,iDAAiD,CAAC;AAC7E,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAIxB,OAAO,qBAAqB,MAAM,sCAAsC,CAAC;AAEzE,OAAO,sBAAsB,MAAM,mCAAmC,CAAC;AAEvE,MAAM,WAAW,GAAG,UAAU,CAAC;AAC/B,MAAM,aAAa,GAAG,YAAY,CAAC;AAEnC;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,kBAAkB;IACtC,cAAc,CAA+B;IAC7C,mBAAmB,GAAgB,IAAI,GAAG,EAAE,CAAC;IAC7C,YAAY,GAAY,KAAK,CAAC;IAE9B;;;;OAIG;IACH,YAAY,aAA2C;QACtD,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;IACrC,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,MAAM,CAClB,IAAkB,EAClB,IAAyB;QAEzB,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC;QAC1C,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,MAAM,aAAa,GAAG,CAAC,KAAU,EAAQ,EAAE;YAC1C,IAAiB,KAAM,CAAC,KAAK,EAAE,CAAC;gBAC/B,UAAU,CAAC,IAAI,CAAc,KAAM,CAAC,KAAM,CAAC,KAAM,CAAC,CAAC;YACpD,CAAC;QACF,CAAC,CAAC;QACF,IAAI,QAAQ,GAAoB,IAAI,CAAC;QACrC,IAAI,OAAO,GAAqC,IAAI,CAAC;QAErD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;gBACd,IAAI,CAAC,SAAS,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;YAC/B,CAAC;YAED,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;YAE/D,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBACxB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBAEzB,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;oBAC5C,qBAAqB,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBAC7D,CAAC;gBAED,IAAI,aAAa,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;oBACtC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;gBAC3E,CAAC;YACF,CAAC;YAED,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC/B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC;aAAM,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACrB,OAAO,GAAG,EAAE,CAAC;YAEb,IAAI,aAAa,CAAC,MAAM,CAAC,IAAI,KAAK,sBAAsB,CAAC,IAAI,EAAE,CAAC;gBAC/D,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE;oBACtD,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;iBAC3B,CAAC,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACP,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;oBACrC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,OAAO;oBACrC,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,qBAAqB,CAAC,MAAM;wBAC3B,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;wBAEhD,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;4BAC5C,qBAAqB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;wBAC9C,CAAC;wBAED,IAAI,aAAa,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;4BACtC,IAAI,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;wBACjE,CAAC;oBACF,CAAC;iBACD,CAAC,CAAE,CAAC;YACN,CAAC;YAED,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBAC7C,IAAI,GAAG,KAAK,kBAAkB,EAAE,CAAC;oBAChC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACtB,CAAC;YACF,CAAC;YAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBAClB,MAAM,WAAW,GAAG,IAAI,CAAC,qBAAqB,CAAC,YAAY,EAAE,CAAC;gBAE9D,IAAI,aAAa,CAAC,MAAM,CAAC,IAAI,KAAK,sBAAsB,CAAC,IAAI,EAAE,CAAC;oBAC/D,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;gBACpB,CAAC;gBAED,OAAO;oBACN,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,OAAO,EAAE,IAAI;oBACb,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;oBAC/B,OAAO;oBACP,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI;oBACnC,KAAK,EAAE,yBAAyB,IAAI,CAAC,GAAG,KAAK,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,GAAG;oBACtF,WAAW;oBACX,UAAU;iBACV,CAAC;YACH,CAAC;YAED,IAAI,aAAa,CAAC,MAAM,CAAC,IAAI,KAAK,sBAAsB,CAAC,IAAI,EAAE,CAAC;gBAC/D,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAEnC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;gBAE/D,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;oBACxB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;oBACzB,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;wBAC5C,qBAAqB,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;oBAC7D,CAAC;oBAED,IAAI,aAAa,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;wBACtC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;oBAC3E,CAAC;gBACF,CAAC;gBAED,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAC/B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACrC,CAAC;QACF,CAAC;aAAM,CAAC;YACP,MAAM,WAAW,GAAG,IAAI,CAAC,qBAAqB,CAAC,YAAY,EAAE,CAAC;YAE9D,IAAI,aAAa,CAAC,MAAM,CAAC,IAAI,KAAK,sBAAsB,CAAC,IAAI,EAAE,CAAC;gBAC/D,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YACpB,CAAC;YAED,OAAO;gBACN,GAAG,EAAE,IAAI;gBACT,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,IAAI;gBACZ,UAAU,EAAE,IAAI;gBAChB,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI;gBACnC,KAAK,EAAE,wCAAwC;gBAC/C,WAAW;gBACX,UAAU;aACV,CAAC;QACH,CAAC;QAED,IAAI,YAAY,GAAkB,IAAI,CAAC;QACvC,MAAM,OAAO,GACZ,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,sBAAsB,KAAK,CAAC,CAAC;YACxD,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE;gBACjB,YAAY,GAAG,wDAAwD,aAAa,CAAC,MAAM,CAAC,OAAO,mWAAmW,CAAC;gBACvc,IAAI,CAAC,KAAK,EAAE,CAAC;YACd,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC;YACjC,CAAC,CAAC,IAAI,CAAC;QAET,IAAI,CAAC;YACJ,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAChC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,WAAW,GAAG,IAAI,CAAC,qBAAqB,CAAC,YAAY,EAAE,CAAC;YAC9D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;YAEjC,IAAI,aAAa,CAAC,MAAM,CAAC,IAAI,KAAK,sBAAsB,CAAC,IAAI,EAAE,CAAC;gBAC/D,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YACpB,CAAC;YAED,OAAO;gBACN,GAAG;gBACH,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,IAAI;gBAChC,UAAU,EAAE,QAAQ,EAAE,UAAU,IAAI,IAAI;gBACxC,OAAO;gBACP,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI;gBACnC,KAAK,EAAU,KAAM,CAAC,KAAM;gBAC5B,WAAW;gBACX,UAAU;aACV,CAAC;QACH,CAAC;QAED,gCAAgC;QAChC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;QAEzD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAElE,IAAI,OAAO,EAAE,CAAC;YACb,aAAa,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,qBAAqB,CAAC,YAAY,EAAE,CAAC;QAE9D,IAAI,YAAY,EAAE,CAAC;YAClB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;YAEjC,IAAI,aAAa,CAAC,MAAM,CAAC,IAAI,KAAK,sBAAsB,CAAC,IAAI,EAAE,CAAC;gBAC/D,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YACpB,CAAC;YAED,OAAO;gBACN,GAAG;gBACH,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,IAAI;gBAChC,UAAU,EAAE,QAAQ,EAAE,UAAU,IAAI,IAAI;gBACxC,OAAO;gBACP,UAAU,EAAE,IAAI;gBAChB,KAAK,EAAE,YAAY;gBACnB,WAAW;gBACX,UAAU;aACV,CAAC;QACH,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,cAAc,CAAC;YACrC,cAAc,EAAE,aAAa,CAAC,MAAM,CAAC,cAAc;YACnD,uBAAuB,EAAE,aAAa,CAAC,MAAM,CAAC,uBAAuB;YACrE,qBAAqB,EAAE,aAAa,CAAC,MAAM,CAAC,qBAAqB;SACjE,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACrE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;QAEjC,IAAI,aAAa,CAAC,MAAM,CAAC,IAAI,KAAK,sBAAsB,CAAC,IAAI,EAAE,CAAC;YAC/D,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACpB,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACtB,OAAO;gBACN,GAAG;gBACH,OAAO,EAAE,MAAM;gBACf,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,IAAI;gBAChC,UAAU,EAAE,QAAQ,EAAE,UAAU,IAAI,IAAI;gBACxC,OAAO;gBACP,UAAU,EAAE,IAAI;gBAChB,KAAK,EAAE,IAAI;gBACX,WAAW;gBACX,UAAU;aACV,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEhD,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9C,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACxC,IAAI,CAAC;gBACJ,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE;oBAClC,SAAS,EAAE,IAAI;iBACf,CAAC,CAAC;YACJ,CAAC;YAAC,MAAM,CAAC;gBACR,SAAS;YACV,CAAC;QACF,CAAC;QAED,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAErD,OAAO;YACN,GAAG;YACH,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,IAAI;YAChC,UAAU,EAAE,QAAQ,EAAE,UAAU,IAAI,IAAI;YACxC,OAAO;YACP,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,KAAK,EAAE,IAAI;YACX,WAAW;YACX,UAAU;SACV,CAAC;IACH,CAAC;CACD"}
@@ -0,0 +1,15 @@
1
+ import { Document, Window } from 'happy-dom';
2
+ declare global {
3
+ const document: Document;
4
+ const window: Window;
5
+ }
6
+ /**
7
+ * Server renderer worker.
8
+ */
9
+ export default class ServerRendererPageWorker {
10
+ /**
11
+ * Connects to the worker.
12
+ */
13
+ static connect(): Promise<void>;
14
+ }
15
+ //# sourceMappingURL=ServerRendererPageWorker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServerRendererPageWorker.d.ts","sourceRoot":"","sources":["../src/ServerRendererPageWorker.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAI7C,OAAO,CAAC,MAAM,CAAC;IACd,MAAM,QAAQ,EAAE,QAAQ,CAAC;IACzB,MAAM,MAAM,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,wBAAwB;IAC5C;;OAEG;WACiB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAiC5C"}
@@ -0,0 +1,38 @@
1
+ import { parentPort, workerData } from 'worker_threads';
2
+ import Inspector from 'node:inspector';
3
+ import { GlobalRegistrator } from '@happy-dom/global-registrator';
4
+ import WindowBrowserContext from 'happy-dom/lib/window/WindowBrowserContext.js';
5
+ import ServerRendererPage from './ServerRendererPage.js';
6
+ /**
7
+ * Server renderer worker.
8
+ */
9
+ export default class ServerRendererPageWorker {
10
+ /**
11
+ * Connects to the worker.
12
+ */
13
+ static async connect() {
14
+ const { configuration } = workerData;
15
+ if (configuration.inspect) {
16
+ Inspector.open();
17
+ Inspector.waitForDebugger();
18
+ }
19
+ GlobalRegistrator.register({
20
+ url: 'https://localhost:8080/',
21
+ settings: configuration.browser
22
+ });
23
+ const renderer = new ServerRendererPage(configuration);
24
+ parentPort?.on('message', async ({ items }) => {
25
+ if (items.length !== 1) {
26
+ throw new Error('Failed to render page worker. Page workers can only render one item at a time.');
27
+ }
28
+ const page = new WindowBrowserContext(window).getBrowserPage();
29
+ if (!page) {
30
+ throw new Error('Failed to render page. No browser page available.');
31
+ }
32
+ const result = await renderer.render(page, items[0]);
33
+ parentPort?.postMessage({ status: 'done', results: [result] });
34
+ });
35
+ }
36
+ }
37
+ ServerRendererPageWorker.connect();
38
+ //# sourceMappingURL=ServerRendererPageWorker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServerRendererPageWorker.js","sourceRoot":"","sources":["../src/ServerRendererPageWorker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE,OAAO,oBAAoB,MAAM,8CAA8C,CAAC;AAChF,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AAOzD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,wBAAwB;IAC5C;;OAEG;IACI,MAAM,CAAC,KAAK,CAAC,OAAO;QAC1B,MAAM,EAAE,aAAa,EAAE,GAAG,UAAU,CAAC;QAErC,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;YAC3B,SAAS,CAAC,IAAI,EAAE,CAAC;YACjB,SAAS,CAAC,eAAe,EAAE,CAAC;QAC7B,CAAC;QAED,iBAAiB,CAAC,QAAQ,CAAC;YAC1B,GAAG,EAAE,yBAAyB;YAC9B,QAAQ,EAAE,aAAa,CAAC,OAAO;SAC/B,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,IAAI,kBAAkB,CAAC,aAAa,CAAC,CAAC;QAEvD,UAAU,EAAE,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;YAC7C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CACd,gFAAgF,CAChF,CAAC;YACH,CAAC;YAED,MAAM,IAAI,GAAG,IAAI,oBAAoB,CAAC,MAAM,CAAC,CAAC,cAAc,EAAE,CAAC;YAE/D,IAAI,CAAC,IAAI,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;YACtE,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAErD,UAAU,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;IACJ,CAAC;CACD;AAED,wBAAwB,CAAC,OAAO,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ServerRendererServer.d.ts","sourceRoot":"","sources":["../src/ServerRendererServer.ts"],"names":[],"mappings":"AACA,OAAO,oCAAoC,MAAM,iDAAiD,CAAC;AAcnG;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,oBAAoB;;IAgBxC;;;;OAIG;gBACS,aAAa,CAAC,EAAE,oCAAoC;IAKhE;;OAEG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA+DnC;;OAEG;IACU,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CA+NlC"}
1
+ {"version":3,"file":"ServerRendererServer.d.ts","sourceRoot":"","sources":["../src/ServerRendererServer.ts"],"names":[],"mappings":"AACA,OAAO,oCAAoC,MAAM,iDAAiD,CAAC;AAcnG;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,oBAAoB;;IAgBxC;;;;OAIG;gBACS,aAAa,CAAC,EAAE,oCAAoC;IAKhE;;OAEG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA+DnC;;OAEG;IACU,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CA0NlC"}
@@ -140,10 +140,6 @@ export default class ServerRendererServer {
140
140
  }
141
141
  if (!result) {
142
142
  result = (await this.#serverRenderer.render([{ url: url.href, headers }], { keepAlive: true }))[0];
143
- if (this.#configuration.logLevel >= ServerRendererLogLevelEnum.info) {
144
- // eslint-disable-next-line no-console
145
- console.log(Chalk.bold(`• Rendered ${url.href}`));
146
- }
147
143
  }
148
144
  if (isCacheQueueEnabled) {
149
145
  const cacheQueue = this.#cacheQueue.get(cacheKey);
@@ -1 +1 @@
1
- {"version":3,"file":"ServerRendererServer.js","sourceRoot":"","sources":["../src/ServerRendererServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ServerRendererServer.js","sourceRoot":"","sources":["../src/ServerRendererServer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultServerRendererConfiguration.d.ts","sourceRoot":"","sources":["../../src/config/DefaultServerRendererConfiguration.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,4BAA4B,MAAM,0CAA0C,CAAC;wBAIzE,4BAA4B;AAA5C,wBAwCE"}
1
+ {"version":3,"file":"DefaultServerRendererConfiguration.d.ts","sourceRoot":"","sources":["../../src/config/DefaultServerRendererConfiguration.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,4BAA4B,MAAM,0CAA0C,CAAC;wBAKzE,4BAA4B;AAA5C,wBAuCE"}
@@ -2,13 +2,11 @@ import DefaultBrowserSettings from 'happy-dom/lib/browser/DefaultBrowserSettings
2
2
  import ServerRendererLogLevelEnum from '../enums/ServerRendererLogLevelEnum.js';
3
3
  import OS from 'os';
4
4
  import { BrowserErrorCaptureEnum } from 'happy-dom';
5
+ import ServerRendererModeEnum from '../enums/ServerRendererModeEnum.js';
5
6
  export default {
6
7
  browser: {
7
8
  ...DefaultBrowserSettings,
8
- errorCapture: BrowserErrorCaptureEnum.processLevel,
9
- // This is enabled by default as the entire point of this package is to server-render client side JavaScript.
10
- // "--disallow-code-generation-from-strings" is enabled on workers to prevent escape of the VM context.
11
- enableJavaScriptEvaluation: true
9
+ errorCapture: BrowserErrorCaptureEnum.processLevel
12
10
  },
13
11
  outputDirectory: './happy-dom/render',
14
12
  logLevel: ServerRendererLogLevelEnum.info,
@@ -31,9 +29,11 @@ export default {
31
29
  serializableShadowRoots: false,
32
30
  allShadowRoots: false,
33
31
  excludeShadowRootTags: null,
34
- disablePolyfills: false
32
+ disablePolyfills: false,
33
+ setupScript: null,
34
+ mode: ServerRendererModeEnum.browser
35
35
  },
36
- urls: null,
36
+ renderItems: null,
37
37
  server: {
38
38
  start: false,
39
39
  serverURL: 'https://localhost:3000',
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultServerRendererConfiguration.js","sourceRoot":"","sources":["../../src/config/DefaultServerRendererConfiguration.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,MAAM,iDAAiD,CAAC;AACrF,OAAO,0BAA0B,MAAM,wCAAwC,CAAC;AAEhF,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AAEpD,eAA6C;IAC5C,OAAO,EAAE;QACR,GAAG,sBAAsB;QACzB,YAAY,EAAE,uBAAuB,CAAC,YAAY;QAClD,6GAA6G;QAC7G,uGAAuG;QACvG,0BAA0B,EAAE,IAAI;KAChC;IACD,eAAe,EAAE,oBAAoB;IACrC,QAAQ,EAAE,0BAA0B,CAAC,IAAI;IACzC,KAAK,EAAE,KAAK;IACZ,OAAO,EAAE,KAAK;IACd,IAAI,EAAE,KAAK;IACX,KAAK,EAAE;QACN,OAAO,EAAE,KAAK;QACd,SAAS,EAAE,mBAAmB;QAC9B,MAAM,EAAE,KAAK;KACb;IACD,MAAM,EAAE;QACP,OAAO,EAAE,KAAK;QACd,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;KAC7D;IACD,MAAM,EAAE;QACP,cAAc,EAAE,EAAE;QAClB,OAAO,EAAE,KAAK,EAAE,aAAa;QAC7B,gBAAgB,EAAE,KAAK;QACvB,uBAAuB,EAAE,KAAK;QAC9B,cAAc,EAAE,KAAK;QACrB,qBAAqB,EAAE,IAAI;QAC3B,gBAAgB,EAAE,KAAK;KACvB;IACD,IAAI,EAAE,IAAI;IACV,MAAM,EAAE;QACP,KAAK,EAAE,KAAK;QACZ,SAAS,EAAE,wBAAwB;QACnC,YAAY,EAAE,IAAI;QAClB,YAAY,EAAE,KAAK;QACnB,iBAAiB,EAAE,KAAK;QACxB,SAAS,EAAE,KAAK,CAAC,aAAa;KAC9B;CACD,CAAC"}
1
+ {"version":3,"file":"DefaultServerRendererConfiguration.js","sourceRoot":"","sources":["../../src/config/DefaultServerRendererConfiguration.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,MAAM,iDAAiD,CAAC;AACrF,OAAO,0BAA0B,MAAM,wCAAwC,CAAC;AAEhF,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,sBAAsB,MAAM,oCAAoC,CAAC;AAExE,eAA6C;IAC5C,OAAO,EAAE;QACR,GAAG,sBAAsB;QACzB,YAAY,EAAE,uBAAuB,CAAC,YAAY;KAClD;IACD,eAAe,EAAE,oBAAoB;IACrC,QAAQ,EAAE,0BAA0B,CAAC,IAAI;IACzC,KAAK,EAAE,KAAK;IACZ,OAAO,EAAE,KAAK;IACd,IAAI,EAAE,KAAK;IACX,KAAK,EAAE;QACN,OAAO,EAAE,KAAK;QACd,SAAS,EAAE,mBAAmB;QAC9B,MAAM,EAAE,KAAK;KACb;IACD,MAAM,EAAE;QACP,OAAO,EAAE,KAAK;QACd,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;KAC7D;IACD,MAAM,EAAE;QACP,cAAc,EAAE,EAAE;QAClB,OAAO,EAAE,KAAK,EAAE,aAAa;QAC7B,gBAAgB,EAAE,KAAK;QACvB,uBAAuB,EAAE,KAAK;QAC9B,cAAc,EAAE,KAAK;QACrB,qBAAqB,EAAE,IAAI;QAC3B,gBAAgB,EAAE,KAAK;QACvB,WAAW,EAAE,IAAI;QACjB,IAAI,EAAE,sBAAsB,CAAC,OAAO;KACpC;IACD,WAAW,EAAE,IAAI;IACjB,MAAM,EAAE;QACP,KAAK,EAAE,KAAK;QACZ,SAAS,EAAE,wBAAwB;QACnC,YAAY,EAAE,IAAI;QAClB,YAAY,EAAE,KAAK;QACnB,iBAAiB,EAAE,KAAK;QACxB,SAAS,EAAE,KAAK,CAAC,aAAa;KAC9B;CACD,CAAC"}
@@ -0,0 +1,6 @@
1
+ declare enum ServerRendererModeEnum {
2
+ browser = "browser",
3
+ page = "page"
4
+ }
5
+ export default ServerRendererModeEnum;
6
+ //# sourceMappingURL=ServerRendererModeEnum.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServerRendererModeEnum.d.ts","sourceRoot":"","sources":["../../src/enums/ServerRendererModeEnum.ts"],"names":[],"mappings":"AAAA,aAAK,sBAAsB;IAE1B,OAAO,YAAY;IAEnB,IAAI,SAAS;CACb;AAED,eAAe,sBAAsB,CAAC"}
@@ -0,0 +1,9 @@
1
+ var ServerRendererModeEnum;
2
+ (function (ServerRendererModeEnum) {
3
+ // Use a Browser instance in each worker to render pages.
4
+ ServerRendererModeEnum["browser"] = "browser";
5
+ // Render a single page in each worker without using VM isolation which may not be supported in some execution environments.
6
+ ServerRendererModeEnum["page"] = "page";
7
+ })(ServerRendererModeEnum || (ServerRendererModeEnum = {}));
8
+ export default ServerRendererModeEnum;
9
+ //# sourceMappingURL=ServerRendererModeEnum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServerRendererModeEnum.js","sourceRoot":"","sources":["../../src/enums/ServerRendererModeEnum.ts"],"names":[],"mappings":"AAAA,IAAK,sBAKJ;AALD,WAAK,sBAAsB;IAC1B,yDAAyD;IACzD,6CAAmB,CAAA;IACnB,4HAA4H;IAC5H,uCAAa,CAAA;AACd,CAAC,EALI,sBAAsB,KAAtB,sBAAsB,QAK1B;AAED,eAAe,sBAAsB,CAAC"}
package/lib/index.d.ts CHANGED
@@ -5,5 +5,6 @@ import IServerRendererResult from './types/IServerRendererResult.js';
5
5
  import IServerRendererConfiguration from './types/IServerRendererConfiguration.js';
6
6
  import IOptionalServerRendererConfiguration from './types/IOptionalServerRendererConfiguration.js';
7
7
  import ServerRendererLogLevelEnum from './enums/ServerRendererLogLevelEnum.js';
8
- export { ServerRenderer, ServerRendererServer, IServerRendererItem, IServerRendererResult, IServerRendererConfiguration, IOptionalServerRendererConfiguration, ServerRendererLogLevelEnum };
8
+ import ServerRendererModeEnum from './enums/ServerRendererModeEnum.js';
9
+ export { ServerRenderer, ServerRendererServer, IServerRendererItem, IServerRendererResult, IServerRendererConfiguration, IOptionalServerRendererConfiguration, ServerRendererLogLevelEnum, ServerRendererModeEnum };
9
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,qBAAqB,CAAC;AACjD,OAAO,oBAAoB,MAAM,qBAAqB,CAAC;AACvD,OAAO,mBAAmB,MAAM,gCAAgC,CAAC;AACjE,OAAO,qBAAqB,MAAM,kCAAkC,CAAC;AACrE,OAAO,4BAA4B,MAAM,yCAAyC,CAAC;AACnF,OAAO,oCAAoC,MAAM,iDAAiD,CAAC;AACnG,OAAO,0BAA0B,MAAM,uCAAuC,CAAC;AAE/E,OAAO,EACN,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,4BAA4B,EAC5B,oCAAoC,EACpC,0BAA0B,EAC1B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,qBAAqB,CAAC;AACjD,OAAO,oBAAoB,MAAM,qBAAqB,CAAC;AACvD,OAAO,mBAAmB,MAAM,gCAAgC,CAAC;AACjE,OAAO,qBAAqB,MAAM,kCAAkC,CAAC;AACrE,OAAO,4BAA4B,MAAM,yCAAyC,CAAC;AACnF,OAAO,oCAAoC,MAAM,iDAAiD,CAAC;AACnG,OAAO,0BAA0B,MAAM,uCAAuC,CAAC;AAC/E,OAAO,sBAAsB,MAAM,mCAAmC,CAAC;AAEvE,OAAO,EACN,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,4BAA4B,EAC5B,oCAAoC,EACpC,0BAA0B,EAC1B,sBAAsB,EACtB,CAAC"}
package/lib/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import ServerRenderer from './ServerRenderer.js';
2
2
  import ServerRendererServer from './ServerRenderer.js';
3
3
  import ServerRendererLogLevelEnum from './enums/ServerRendererLogLevelEnum.js';
4
- export { ServerRenderer, ServerRendererServer, ServerRendererLogLevelEnum };
4
+ import ServerRendererModeEnum from './enums/ServerRendererModeEnum.js';
5
+ export { ServerRenderer, ServerRendererServer, ServerRendererLogLevelEnum, ServerRendererModeEnum };
5
6
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,qBAAqB,CAAC;AACjD,OAAO,oBAAoB,MAAM,qBAAqB,CAAC;AAKvD,OAAO,0BAA0B,MAAM,uCAAuC,CAAC;AAE/E,OAAO,EACN,cAAc,EACd,oBAAoB,EAKpB,0BAA0B,EAC1B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,qBAAqB,CAAC;AACjD,OAAO,oBAAoB,MAAM,qBAAqB,CAAC;AAKvD,OAAO,0BAA0B,MAAM,uCAAuC,CAAC;AAC/E,OAAO,sBAAsB,MAAM,mCAAmC,CAAC;AAEvE,OAAO,EACN,cAAc,EACd,oBAAoB,EAKpB,0BAA0B,EAC1B,sBAAsB,EACtB,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import type IOptionalBrowserSettings from 'happy-dom/lib/browser/types/IOptionalBrowserSettings.js';
2
2
  import ServerRendererLogLevelEnum from '../enums/ServerRendererLogLevelEnum.js';
3
3
  import IServerRendererItem from './IServerRendererItem.js';
4
+ import ServerRendererModeEnum from '../enums/ServerRendererModeEnum.js';
4
5
  export default interface IOptionalServerRendererConfiguration {
5
6
  /**
6
7
  * Settings for the browser.
@@ -88,11 +89,19 @@ export default interface IOptionalServerRendererConfiguration {
88
89
  * Disable polyfills used for unimplemented functionality.
89
90
  */
90
91
  disablePolyfills?: boolean;
92
+ /**
93
+ * Setup script to be injected before rendering.
94
+ */
95
+ setupScript?: string | null;
96
+ /**
97
+ * Rendering mode.
98
+ */
99
+ mode?: ServerRendererModeEnum;
91
100
  };
92
101
  /**
93
- * List of URLs to render.
102
+ * List render items. Each item can be a URL string or an object specifying the URL or HTML string along with additional options.
94
103
  */
95
- urls?: Array<string | IServerRendererItem> | null;
104
+ renderItems?: Array<string | IServerRendererItem> | null;
96
105
  /**
97
106
  * Proxy server settings.
98
107
  */
@@ -1 +1 @@
1
- {"version":3,"file":"IOptionalServerRendererConfiguration.d.ts","sourceRoot":"","sources":["../../src/types/IOptionalServerRendererConfiguration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,wBAAwB,MAAM,yDAAyD,CAAC;AACpG,OAAO,0BAA0B,MAAM,wCAAwC,CAAC;AAChF,OAAO,mBAAmB,MAAM,0BAA0B,CAAC;AAE3D,MAAM,CAAC,OAAO,WAAW,oCAAoC;IAC5D;;OAEG;IACH,OAAO,CAAC,EAAE,wBAAwB,CAAC;IACnC;;OAEG;IACH,QAAQ,CAAC,EAAE,0BAA0B,CAAC;IACtC;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,KAAK,CAAC,EAAE;QACP;;WAEG;QACH,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB;;WAEG;QACH,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB;;WAEG;QACH,MAAM,CAAC,EAAE,OAAO,CAAC;KACjB,CAAC;IACF;;OAEG;IACH,MAAM,CAAC,EAAE;QACR;;WAEG;QACH,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB;;WAEG;QACH,cAAc,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IACF;;OAEG;IACH,MAAM,CAAC,EAAE;QACR;;WAEG;QACH,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB;;WAEG;QACH,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB;;WAEG;QACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B;;WAEG;QACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;QAClC;;WAEG;QACH,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB;;WAEG;QACH,qBAAqB,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACxC;;WAEG;QACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;KAC3B,CAAC;IACF;;OAEG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,mBAAmB,CAAC,GAAG,IAAI,CAAC;IAClD;;OAEG;IACH,MAAM,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC7B,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACF"}
1
+ {"version":3,"file":"IOptionalServerRendererConfiguration.d.ts","sourceRoot":"","sources":["../../src/types/IOptionalServerRendererConfiguration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,wBAAwB,MAAM,yDAAyD,CAAC;AACpG,OAAO,0BAA0B,MAAM,wCAAwC,CAAC;AAChF,OAAO,mBAAmB,MAAM,0BAA0B,CAAC;AAC3D,OAAO,sBAAsB,MAAM,oCAAoC,CAAC;AAExE,MAAM,CAAC,OAAO,WAAW,oCAAoC;IAC5D;;OAEG;IACH,OAAO,CAAC,EAAE,wBAAwB,CAAC;IAEnC;;OAEG;IACH,QAAQ,CAAC,EAAE,0BAA0B,CAAC;IAEtC;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,KAAK,CAAC,EAAE;QACP;;WAEG;QACH,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB;;WAEG;QACH,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB;;WAEG;QACH,MAAM,CAAC,EAAE,OAAO,CAAC;KACjB,CAAC;IAEF;;OAEG;IACH,MAAM,CAAC,EAAE;QACR;;WAEG;QACH,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB;;WAEG;QACH,cAAc,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IAEF;;OAEG;IACH,MAAM,CAAC,EAAE;QACR;;WAEG;QACH,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB;;WAEG;QACH,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB;;WAEG;QACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B;;WAEG;QACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;QAClC;;WAEG;QACH,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB;;WAEG;QACH,qBAAqB,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACxC;;WAEG;QACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B;;WAEG;QACH,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B;;WAEG;QACH,IAAI,CAAC,EAAE,sBAAsB,CAAC;KAC9B,CAAC;IAEF;;OAEG;IACH,WAAW,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,mBAAmB,CAAC,GAAG,IAAI,CAAC;IAEzD;;OAEG;IACH,MAAM,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC7B,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACF"}
@@ -1,6 +1,7 @@
1
1
  import type IBrowserSettings from 'happy-dom/lib/browser/types/IBrowserSettings.js';
2
2
  import ServerRendererLogLevelEnum from '../enums/ServerRendererLogLevelEnum.js';
3
3
  import IServerRendererItem from './IServerRendererItem.js';
4
+ import ServerRendererModeEnum from '../enums/ServerRendererModeEnum.js';
4
5
  export default interface IServerRendererConfiguration {
5
6
  /**
6
7
  * Settings for the browser.
@@ -88,11 +89,19 @@ export default interface IServerRendererConfiguration {
88
89
  * Disable polyfills used for unimplemented functionality.
89
90
  */
90
91
  disablePolyfills: boolean;
92
+ /**
93
+ * Setup script to be injected before rendering.
94
+ */
95
+ setupScript: string | null;
96
+ /**
97
+ * Rendering mode.
98
+ */
99
+ mode: ServerRendererModeEnum;
91
100
  };
92
101
  /**
93
- * List of URLs to render.
102
+ * List render items. Each item can be a URL string or an object specifying the URL or HTML string along with additional options.
94
103
  */
95
- urls: Array<string | IServerRendererItem> | null;
104
+ renderItems: Array<string | IServerRendererItem> | null;
96
105
  /**
97
106
  * Proxy server settings.
98
107
  */
@@ -1 +1 @@
1
- {"version":3,"file":"IServerRendererConfiguration.d.ts","sourceRoot":"","sources":["../../src/types/IServerRendererConfiguration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,gBAAgB,MAAM,iDAAiD,CAAC;AACpF,OAAO,0BAA0B,MAAM,wCAAwC,CAAC;AAChF,OAAO,mBAAmB,MAAM,0BAA0B,CAAC;AAE3D,MAAM,CAAC,OAAO,WAAW,4BAA4B;IACpD;;OAEG;IACH,OAAO,EAAE,gBAAgB,CAAC;IAC1B;;OAEG;IACH,QAAQ,EAAE,0BAA0B,CAAC;IACrC;;OAEG;IACH,KAAK,EAAE,OAAO,CAAC;IACf;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,IAAI,EAAE,OAAO,CAAC;IACd;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,KAAK,EAAE;QACN;;WAEG;QACH,OAAO,EAAE,OAAO,CAAC;QACjB;;WAEG;QACH,SAAS,EAAE,MAAM,CAAC;QAClB;;WAEG;QACH,MAAM,EAAE,OAAO,CAAC;KAChB,CAAC;IACF;;OAEG;IACH,MAAM,EAAE;QACP;;WAEG;QACH,OAAO,EAAE,OAAO,CAAC;QACjB;;WAEG;QACH,cAAc,EAAE,MAAM,CAAC;KACvB,CAAC;IACF;;OAEG;IACH,MAAM,EAAE;QACP;;WAEG;QACH,cAAc,EAAE,MAAM,CAAC;QACvB;;WAEG;QACH,OAAO,EAAE,MAAM,CAAC;QAChB;;WAEG;QACH,gBAAgB,EAAE,OAAO,CAAC;QAC1B;;WAEG;QACH,uBAAuB,EAAE,OAAO,CAAC;QACjC;;WAEG;QACH,cAAc,EAAE,OAAO,CAAC;QACxB;;WAEG;QACH,qBAAqB,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACvC;;WAEG;QACH,gBAAgB,EAAE,OAAO,CAAC;KAC1B,CAAC;IACF;;OAEG;IACH,IAAI,EAAE,KAAK,CAAC,MAAM,GAAG,mBAAmB,CAAC,GAAG,IAAI,CAAC;IACjD;;OAEG;IACH,MAAM,EAAE;QACP,KAAK,EAAE,OAAO,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,YAAY,EAAE,OAAO,CAAC;QACtB,iBAAiB,EAAE,OAAO,CAAC;QAC3B,SAAS,EAAE,MAAM,CAAC;KAClB,CAAC;CACF"}
1
+ {"version":3,"file":"IServerRendererConfiguration.d.ts","sourceRoot":"","sources":["../../src/types/IServerRendererConfiguration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,gBAAgB,MAAM,iDAAiD,CAAC;AACpF,OAAO,0BAA0B,MAAM,wCAAwC,CAAC;AAChF,OAAO,mBAAmB,MAAM,0BAA0B,CAAC;AAC3D,OAAO,sBAAsB,MAAM,oCAAoC,CAAC;AAExE,MAAM,CAAC,OAAO,WAAW,4BAA4B;IACpD;;OAEG;IACH,OAAO,EAAE,gBAAgB,CAAC;IAE1B;;OAEG;IACH,QAAQ,EAAE,0BAA0B,CAAC;IAErC;;OAEG;IACH,KAAK,EAAE,OAAO,CAAC;IAEf;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,IAAI,EAAE,OAAO,CAAC;IACd;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,KAAK,EAAE;QACN;;WAEG;QACH,OAAO,EAAE,OAAO,CAAC;QACjB;;WAEG;QACH,SAAS,EAAE,MAAM,CAAC;QAClB;;WAEG;QACH,MAAM,EAAE,OAAO,CAAC;KAChB,CAAC;IAEF;;OAEG;IACH,MAAM,EAAE;QACP;;WAEG;QACH,OAAO,EAAE,OAAO,CAAC;QACjB;;WAEG;QACH,cAAc,EAAE,MAAM,CAAC;KACvB,CAAC;IAEF;;OAEG;IACH,MAAM,EAAE;QACP;;WAEG;QACH,cAAc,EAAE,MAAM,CAAC;QACvB;;WAEG;QACH,OAAO,EAAE,MAAM,CAAC;QAChB;;WAEG;QACH,gBAAgB,EAAE,OAAO,CAAC;QAC1B;;WAEG;QACH,uBAAuB,EAAE,OAAO,CAAC;QACjC;;WAEG;QACH,cAAc,EAAE,OAAO,CAAC;QACxB;;WAEG;QACH,qBAAqB,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACvC;;WAEG;QACH,gBAAgB,EAAE,OAAO,CAAC;QAC1B;;WAEG;QACH,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B;;WAEG;QACH,IAAI,EAAE,sBAAsB,CAAC;KAC7B,CAAC;IAEF;;OAEG;IACH,WAAW,EAAE,KAAK,CAAC,MAAM,GAAG,mBAAmB,CAAC,GAAG,IAAI,CAAC;IAExD;;OAEG;IACH,MAAM,EAAE;QACP,KAAK,EAAE,OAAO,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,YAAY,EAAE,OAAO,CAAC;QACtB,iBAAiB,EAAE,OAAO,CAAC;QAC3B,SAAS,EAAE,MAAM,CAAC;KAClB,CAAC;CACF"}
@@ -1,5 +1,6 @@
1
1
  export default interface IServerRendererItem {
2
- url: string;
2
+ url?: string;
3
+ html?: string;
3
4
  outputFile?: string | null;
4
5
  headers?: string[][] | {
5
6
  [key: string]: string;
@@ -1 +1 @@
1
- {"version":3,"file":"IServerRendererItem.d.ts","sourceRoot":"","sources":["../../src/types/IServerRendererItem.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,WAAW,mBAAmB;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CACxD"}
1
+ {"version":3,"file":"IServerRendererItem.d.ts","sourceRoot":"","sources":["../../src/types/IServerRendererItem.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,WAAW,mBAAmB;IAC3C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CACxD"}
@@ -1,11 +1,11 @@
1
1
  export default interface IServerRendererResult {
2
- url: string;
2
+ url: string | null;
3
3
  content: string | null;
4
- status: number;
5
- statusText: string;
4
+ status: number | null;
5
+ statusText: string | null;
6
6
  headers: {
7
7
  [key: string]: string;
8
- };
8
+ } | null;
9
9
  outputFile: string | null;
10
10
  error: string | null;
11
11
  pageErrors: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"IServerRendererResult.d.ts","sourceRoot":"","sources":["../../src/types/IServerRendererResult.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,WAAW,qBAAqB;IAC7C,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACnC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACpB"}
1
+ {"version":3,"file":"IServerRendererResult.d.ts","sourceRoot":"","sources":["../../src/types/IServerRendererResult.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,WAAW,qBAAqB;IAC7C,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC1C,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACpB"}
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserWindowPolyfill.d.ts","sourceRoot":"","sources":["../../src/utilities/BrowserWindowPolyfill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,qBAAqB;IACzC;;;;OAIG;WACW,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;CAiFzD"}
1
+ {"version":3,"file":"BrowserWindowPolyfill.d.ts","sourceRoot":"","sources":["../../src/utilities/BrowserWindowPolyfill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,qBAAqB;IACzC;;;;OAIG;WACW,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;CAkFzD"}
@@ -71,11 +71,11 @@ export default class BrowserWindowPolyfill {
71
71
  bufferSubData: () => { },
72
72
  drawElementsInstanced: () => { }
73
73
  });
74
- window.Worker = class {
74
+ window.Worker = class Worker {
75
75
  postMessage() { }
76
76
  terminate() { }
77
77
  };
78
- window.Path2D = class {
78
+ window.Path2D = class Path2D {
79
79
  addPath() { }
80
80
  addPath2D() { }
81
81
  closePath() { }