@happy-dom/server-renderer 20.0.11 → 20.1.1

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
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserWindowPolyfill.js","sourceRoot":"","sources":["../../src/utilities/BrowserWindowPolyfill.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BrowserWindowPolyfill.js","sourceRoot":"","sources":["../../src/utilities/BrowserWindowPolyfill.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"HelpPrinterRows.d.ts","sourceRoot":"","sources":["../../src/utilities/HelpPrinterRows.ts"],"names":[],"mappings":";AAAA,wBA0QE"}
1
+ {"version":3,"file":"HelpPrinterRows.d.ts","sourceRoot":"","sources":["../../src/utilities/HelpPrinterRows.ts"],"names":[],"mappings":";AAAA,wBA+RE"}
@@ -126,15 +126,15 @@ export default [
126
126
  '1'
127
127
  ],
128
128
  [
129
- '--browser.disableJavaScriptEvaluation',
130
- '',
129
+ '--browser.enableJavaScriptEvaluation',
130
+ '--javaScript, --javascript, -j',
131
131
  'boolean',
132
- 'Disables JavaScript evaluation.',
132
+ 'Enables JavaScript evaluation.',
133
133
  'false'
134
134
  ],
135
135
  [
136
136
  '--browser.suppressInsecureJavaScriptEnvironmentWarning',
137
- '',
137
+ '--suppressJavaScriptWarning, -sj',
138
138
  'boolean',
139
139
  'Suppresses the warning that is printed when code generation from strings is enabled at process level',
140
140
  'false'
@@ -198,6 +198,27 @@ export default [
198
198
  'Setup a virtual server. E.g. -vs="^https://e.com/[a-z]{2}/|./build"',
199
199
  ''
200
200
  ],
201
+ [
202
+ '--browser.module.resolveNodeModules.directory=<path>',
203
+ '',
204
+ 'string',
205
+ 'Directory to resolve node modules from.',
206
+ ''
207
+ ],
208
+ [
209
+ '--browser.module.resolveNodeModules.url=<url>',
210
+ '',
211
+ 'string',
212
+ 'URL to resolve node modules to.',
213
+ ''
214
+ ],
215
+ [
216
+ '--browser.module.resolveNodeModules.mainFields=<fields>',
217
+ '',
218
+ 'string[]',
219
+ 'Comma-separated list of main fields to use when resolving node modules.',
220
+ ''
221
+ ],
201
222
  [
202
223
  '--browser.navigation.disableMainFrameNavigation',
203
224
  '',
@@ -1 +1 @@
1
- {"version":3,"file":"HelpPrinterRows.js","sourceRoot":"","sources":["../../src/utilities/HelpPrinterRows.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HelpPrinterRows.js","sourceRoot":"","sources":["../../src/utilities/HelpPrinterRows.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ProcessArgumentsParser.d.ts","sourceRoot":"","sources":["../../src/utilities/ProcessArgumentsParser.ts"],"names":[],"mappings":"AACA,OAAO,4BAA4B,MAAM,0CAA0C,CAAC;AAMpF;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,sBAAsB;IAC1C;;;;OAIG;WACiB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,4BAA4B,CAAC;IAgR3F;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IAa5B;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,WAAW;CAM1B"}
1
+ {"version":3,"file":"ProcessArgumentsParser.d.ts","sourceRoot":"","sources":["../../src/utilities/ProcessArgumentsParser.ts"],"names":[],"mappings":"AAAA,OAAO,4BAA4B,MAAM,0CAA0C,CAAC;AAOpF;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,sBAAsB;IAC1C;;;;OAIG;WACiB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,4BAA4B,CAAC;IAqV3F;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IAa5B;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,WAAW;CAM1B"}
@@ -1,7 +1,7 @@
1
- import DefaultServerRendererConfiguration from '../config/DefaultServerRendererConfiguration.js';
2
1
  import Path from 'path';
3
2
  import { BrowserNavigationCrossOriginPolicyEnum } from 'happy-dom';
4
3
  import ServerRendererLogLevelEnum from '../enums/ServerRendererLogLevelEnum.js';
4
+ import ServerRendererConfigurationFactory from './ServerRendererConfigurationFactory.js';
5
5
  /**
6
6
  * CLI process arguments parser.
7
7
  */
@@ -12,32 +12,66 @@ export default class ProcessArgumentsParser {
12
12
  * @param args Arguments.
13
13
  */
14
14
  static async getConfiguration(args) {
15
- let config = JSON.parse(JSON.stringify(DefaultServerRendererConfiguration));
15
+ let config = ServerRendererConfigurationFactory.createConfiguration();
16
16
  for (const arg of args) {
17
17
  if (arg[0] === '-') {
18
18
  if (arg.startsWith('--config=') || arg.startsWith('-c=')) {
19
- config = (await import(Path.resolve(this.stripQuotes(arg.split('=')[1])))).default;
20
- if (config.urls) {
21
- const newUrls = [];
22
- for (const urlItem of config.urls) {
23
- const isString = typeof urlItem === 'string';
24
- const url = new URL(isString ? urlItem : urlItem.url);
25
- newUrls.push({
26
- url: url.href,
27
- outputFile: this.getOutputFile(url),
28
- headers: isString ? null : urlItem.headers || null
29
- });
19
+ config = ServerRendererConfigurationFactory.createConfiguration((await import(Path.resolve(this.stripQuotes(arg.split('=')[1])))).default);
20
+ if (config.renderItems) {
21
+ const newRenderItems = [];
22
+ for (const renderItem of config.renderItems) {
23
+ if (typeof renderItem === 'string') {
24
+ const url = new URL(renderItem);
25
+ newRenderItems.push({
26
+ url: url.href,
27
+ outputFile: this.getOutputFile(url)
28
+ });
29
+ }
30
+ else {
31
+ if (renderItem.url) {
32
+ const url = new URL(renderItem.url);
33
+ const newRenderItem = {
34
+ url: url.href,
35
+ outputFile: renderItem.outputFile || this.getOutputFile(url)
36
+ };
37
+ if (renderItem.html) {
38
+ newRenderItem.html = renderItem.html;
39
+ }
40
+ if (renderItem.headers) {
41
+ newRenderItem.headers = renderItem.headers;
42
+ }
43
+ newRenderItems.push(newRenderItem);
44
+ }
45
+ else {
46
+ if (!renderItem.outputFile) {
47
+ throw new Error(`Missing output file in render item: ${JSON.stringify(renderItem)}`);
48
+ }
49
+ const newRenderItem = {
50
+ html: renderItem.html,
51
+ outputFile: renderItem.outputFile
52
+ };
53
+ if (renderItem.headers) {
54
+ newRenderItem.headers = renderItem.headers;
55
+ }
56
+ newRenderItems.push(newRenderItem);
57
+ }
58
+ }
30
59
  }
31
- config.urls = newUrls;
60
+ config.renderItems = newRenderItems;
32
61
  }
33
62
  }
34
63
  else if (arg === '--help' || arg === '-h') {
35
64
  config.help = true;
36
65
  }
37
- else if (arg === '--browser.disableJavaScriptEvaluation') {
38
- config.browser.enableJavaScriptEvaluation = false;
66
+ else if (arg === '--browser.enableJavaScriptEvaluation' ||
67
+ arg === '--javaScript' ||
68
+ arg === '--javascript' ||
69
+ arg === '-j') {
70
+ config.browser.enableJavaScriptEvaluation = true;
39
71
  }
40
- else if (arg === '--browser.suppressInsecureJavaScriptEnvironmentWarning') {
72
+ else if (arg === '--browser.suppressInsecureJavaScriptEnvironmentWarning' ||
73
+ arg === '--suppressJavaScriptWarning' ||
74
+ arg === '-sj') {
41
75
  config.browser.suppressInsecureJavaScriptEnvironmentWarning = true;
42
76
  }
43
77
  else if (arg === '--browser.disableJavaScriptFileLoading') {
@@ -125,6 +159,33 @@ export default class ProcessArgumentsParser {
125
159
  directory: parts[1].trim()
126
160
  });
127
161
  }
162
+ else if (arg.startsWith('--browser.module.resolveNodeModules.url=')) {
163
+ if (!config.browser.module.resolveNodeModules) {
164
+ config.browser.module.resolveNodeModules = {
165
+ url: '',
166
+ directory: ''
167
+ };
168
+ }
169
+ config.browser.module.resolveNodeModules.url = this.stripQuotes(arg.split('=')[1]);
170
+ }
171
+ else if (arg.startsWith('--browser.module.resolveNodeModules.directory=')) {
172
+ if (!config.browser.module.resolveNodeModules) {
173
+ config.browser.module.resolveNodeModules = {
174
+ url: '',
175
+ directory: ''
176
+ };
177
+ }
178
+ config.browser.module.resolveNodeModules.directory = this.stripQuotes(arg.split('=')[1]);
179
+ }
180
+ else if (arg.startsWith('--browser.module.resolveNodeModules.mainFields=')) {
181
+ if (!config.browser.module.resolveNodeModules) {
182
+ config.browser.module.resolveNodeModules = {
183
+ url: '',
184
+ directory: ''
185
+ };
186
+ }
187
+ config.browser.module.resolveNodeModules.mainFields = this.stripQuotes(arg.split('=')[1]).split(',');
188
+ }
128
189
  else if (arg === '--browser.navigation.disableMainFrameNavigation') {
129
190
  config.browser.navigation.disableMainFrameNavigation = true;
130
191
  }
@@ -201,7 +262,7 @@ export default class ProcessArgumentsParser {
201
262
  config.cache.disable = true;
202
263
  }
203
264
  else if (arg.startsWith('--cache.directory=') || arg.startsWith('-cd=')) {
204
- config.cache.directory = this.stripQuotes(arg.split('=')[1]);
265
+ config.cache.directory = Path.resolve(this.stripQuotes(arg.split('=')[1]));
205
266
  }
206
267
  else if (arg === '--cache.warmup') {
207
268
  config.cache.warmup = true;
@@ -260,7 +321,7 @@ export default class ProcessArgumentsParser {
260
321
  config.inspect = true;
261
322
  }
262
323
  else if (arg.startsWith('--outputDirectory=') || arg.startsWith('-o=')) {
263
- config.outputDirectory = this.stripQuotes(arg.split('=')[1]);
324
+ config.outputDirectory = Path.resolve(this.stripQuotes(arg.split('=')[1]));
264
325
  }
265
326
  else if (arg.startsWith('--server.serverURL=') || arg.startsWith('-su=')) {
266
327
  config.server.serverURL = this.stripQuotes(arg.split('=')[1]);
@@ -287,6 +348,9 @@ export default class ProcessArgumentsParser {
287
348
  else if (arg.startsWith('--urls=')) {
288
349
  throw new Error('URLs shouldn\'t be set by "--urls=". Instead set them with quotes without an argument name. E.g. "https://example.com/page" "https://example.com/another/page"');
289
350
  }
351
+ else if (arg.startsWith('--renderItems=')) {
352
+ throw new Error('Render items shouldn\'t be set by "--renderItems=". Instead set each URL with quotes without an argument name. E.g. "https://example.com/page" "https://example.com/another/page"');
353
+ }
290
354
  }
291
355
  else if (arg) {
292
356
  const urlString = arg[0] === '"' && arg[arg.length - 1] === '"' ? arg.substring(1, arg.length - 1) : arg;
@@ -303,10 +367,10 @@ export default class ProcessArgumentsParser {
303
367
  url: url.href,
304
368
  outputFile: this.getOutputFile(url)
305
369
  };
306
- if (!config.urls) {
307
- config.urls = [];
370
+ if (!config.renderItems) {
371
+ config.renderItems = [];
308
372
  }
309
- config.urls.push(item);
373
+ config.renderItems.push(item);
310
374
  }
311
375
  }
312
376
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ProcessArgumentsParser.js","sourceRoot":"","sources":["../../src/utilities/ProcessArgumentsParser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProcessArgumentsParser.js","sourceRoot":"","sources":["../../src/utilities/ProcessArgumentsParser.ts"],"names":[],"mappings":"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"}
@@ -34,7 +34,7 @@ export default class ServerRendererConfigurationFactory {
34
34
  ...DefaultServerRendererConfiguration.render,
35
35
  ...configuration?.render
36
36
  },
37
- urls: configuration?.urls || null,
37
+ renderItems: configuration?.renderItems || null,
38
38
  server: {
39
39
  ...DefaultServerRendererConfiguration.server,
40
40
  ...configuration?.server
@@ -1 +1 @@
1
- {"version":3,"file":"ServerRendererConfigurationFactory.js","sourceRoot":"","sources":["../../src/utilities/ServerRendererConfigurationFactory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ServerRendererConfigurationFactory.js","sourceRoot":"","sources":["../../src/utilities/ServerRendererConfigurationFactory.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@happy-dom/server-renderer",
3
- "version": "20.0.11",
3
+ "version": "20.1.1",
4
4
  "license": "MIT",
5
5
  "homepage": "https://github.com/capricorn86/happy-dom/tree/master/packages/@happy-dom/server-renderer",
6
6
  "repository": "https://github.com/capricorn86/happy-dom",
@@ -42,7 +42,8 @@
42
42
  "test:debug": "vitest run --inspect-brk --no-file-parallelism"
43
43
  },
44
44
  "dependencies": {
45
- "happy-dom": "^20.0.11",
45
+ "happy-dom": "^20.1.1",
46
+ "@happy-dom/global-registrator": "^20.1.1",
46
47
  "chalk": "^5.4.1"
47
48
  },
48
49
  "devDependencies": {
@@ -10,6 +10,7 @@ import Inspector from 'node:inspector';
10
10
  import ServerRendererBrowser from './ServerRendererBrowser.js';
11
11
  // eslint-disable-next-line import/no-named-as-default
12
12
  import Chalk from 'chalk';
13
+ import ServerRendererModeEnum from './enums/ServerRendererModeEnum.js';
13
14
 
14
15
  interface IWorkerWaitingItem {
15
16
  items: IServerRendererItem[];
@@ -44,19 +45,19 @@ export default class ServerRenderer {
44
45
  }
45
46
 
46
47
  /**
47
- * Renders URLs.
48
+ * Server renders URLs or HTML strings.
48
49
  *
49
- * @param [urls] URLs to render.
50
+ * @param [renderItems] List render items. Each item can be a URL string or an object specifying the URL or HTML string along with additional options.
50
51
  * @param [options] Options.
51
52
  * @param [options.keepAlive] Keep the workers and browser alive. This is useful when using the renderer in a server. The workers can be closed with the `close()` method.
52
53
  */
53
54
  public async render(
54
- urls?: Array<string | IServerRendererItem> | null,
55
+ renderItems?: Array<string | IServerRendererItem> | null,
55
56
  options?: { keepAlive?: boolean }
56
57
  ): Promise<IServerRendererResult[]> {
57
58
  const startTime = performance.now();
58
59
  const configuration = this.#configuration;
59
- const items = urls || configuration.urls;
60
+ const items = renderItems || configuration.renderItems;
60
61
  const parsedItems: IServerRendererItem[] = [];
61
62
 
62
63
  if (!items || !items.length) {
@@ -73,6 +74,7 @@ export default class ServerRenderer {
73
74
  } else {
74
75
  parsedItems.push({
75
76
  url: item.url,
77
+ html: item.html,
76
78
  outputFile: item.outputFile
77
79
  ? Path.join(configuration.outputDirectory, item.outputFile)
78
80
  : null,
@@ -82,24 +84,32 @@ export default class ServerRenderer {
82
84
  }
83
85
 
84
86
  if (configuration.logLevel >= ServerRendererLogLevelEnum.info) {
87
+ if (configuration.inspect) {
88
+ // eslint-disable-next-line no-console
89
+ console.log(Chalk.blue(Chalk.bold(`\n🔍 Inspector enabled`)));
90
+ }
91
+
85
92
  if (configuration.debug) {
86
93
  // eslint-disable-next-line no-console
87
- console.log(Chalk.blue(Chalk.bold(`🔨 Debug mode enabled\n`)));
94
+ console.log(Chalk.blue(Chalk.bold(`\n🔨 Debug mode enabled`)));
88
95
  }
89
96
 
90
97
  // eslint-disable-next-line no-console
91
98
  console.log(
92
- Chalk.bold(`Rendering ${parsedItems.length} page${parsedItems.length > 1 ? 's' : ''}...\n`)
99
+ Chalk.bold(
100
+ `\nRendering ${parsedItems.length} page${parsedItems.length > 1 ? 's' : ''}...\n`
101
+ )
93
102
  );
94
103
  }
95
104
 
96
105
  let results: IServerRendererResult[] = [];
106
+
97
107
  if (!configuration.cache.disable && configuration.cache.warmup) {
98
108
  const item = parsedItems.shift();
99
109
  if (item) {
100
110
  if (configuration.logLevel >= ServerRendererLogLevelEnum.info) {
101
111
  // eslint-disable-next-line no-console
102
- console.log('Warming up cache...\n');
112
+ console.log('\nWarming up cache...\n');
103
113
  }
104
114
 
105
115
  results = results.concat(await this.#runInWorker([item]));
@@ -115,7 +125,11 @@ export default class ServerRenderer {
115
125
  const promises = [];
116
126
 
117
127
  while (parsedItems.length) {
118
- const chunk = parsedItems.splice(0, configuration.render.maxConcurrency);
128
+ const maxConcurrency =
129
+ configuration.render.mode === ServerRendererModeEnum.page
130
+ ? 1
131
+ : configuration.render.maxConcurrency;
132
+ const chunk = parsedItems.splice(0, maxConcurrency);
119
133
  promises.push(
120
134
  this.#runInWorker(chunk).then((chunkResults) => {
121
135
  results = results.concat(chunkResults);
@@ -127,9 +141,9 @@ export default class ServerRenderer {
127
141
  }
128
142
 
129
143
  if (configuration.logLevel >= ServerRendererLogLevelEnum.info) {
130
- const time = Math.round((performance.now() - startTime) / 1000);
144
+ const time = (performance.now() - startTime) / 1000;
131
145
  const minutes = Math.floor(time / 60);
132
- const seconds = time % 60;
146
+ const seconds = Math.round((time % 60) * 100) / 100;
133
147
  // eslint-disable-next-line no-console
134
148
  console.log(
135
149
  Chalk.bold(
@@ -178,6 +192,12 @@ export default class ServerRenderer {
178
192
  const configuration = this.#configuration;
179
193
 
180
194
  if (configuration.worker.disable) {
195
+ if (configuration.render.mode === ServerRendererModeEnum.page) {
196
+ throw new Error(
197
+ 'Page rendering mode cannot be used when worker threads are disabled. Please enable worker threads or use browser rendering mode.'
198
+ );
199
+ }
200
+
181
201
  if (!this.#browser) {
182
202
  this.#browser = new ServerRendererBrowser(configuration);
183
203
  }
@@ -196,8 +216,11 @@ export default class ServerRenderer {
196
216
  this.#workerPool.waiting.push({ items, resolve, reject });
197
217
  return;
198
218
  }
199
- const worker = new Worker(new URL('ServerRendererWorker.js', import.meta.url), {
200
- execArgv: ['--disallow-code-generation-from-strings', '--frozen-intrinsics'],
219
+ const script =
220
+ configuration.render.mode === ServerRendererModeEnum.page
221
+ ? 'ServerRendererPageWorker.js'
222
+ : 'ServerRendererBrowserWorker.js';
223
+ const worker = new Worker(new URL(script, import.meta.url), {
201
224
  workerData: {
202
225
  configuration: configuration
203
226
  }
@@ -248,7 +271,7 @@ export default class ServerRenderer {
248
271
  done();
249
272
  resolve(
250
273
  items.map((item) => ({
251
- url: item.url,
274
+ url: item.url || null,
252
275
  content: null,
253
276
  status: 200,
254
277
  statusText: 'OK',