@happy-dom/server-renderer 20.9.0 → 20.10.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.
@@ -45,7 +45,7 @@ export default class ServerRendererPage {
45
45
  if (!this.#initialized.has(page.mainFrame.window)) {
46
46
  this.#initialized.set(page.mainFrame.window, true);
47
47
  if (!configuration.render.disablePolyfills) {
48
- BrowserWindowPolyfill.applyPolyfills(page.mainFrame.window);
48
+ BrowserWindowPolyfill.applyPolyfills(page.mainFrame.window, configuration.browser);
49
49
  }
50
50
  if (configuration.render.setupScript) {
51
51
  page.mainFrame.evaluateModule({ code: configuration.render.setupScript });
@@ -68,7 +68,7 @@ export default class ServerRendererPage {
68
68
  beforeContentCallback(window) {
69
69
  window.addEventListener('error', errorListener);
70
70
  if (!configuration.render.disablePolyfills) {
71
- BrowserWindowPolyfill.applyPolyfills(window);
71
+ BrowserWindowPolyfill.applyPolyfills(window, configuration.browser);
72
72
  }
73
73
  if (configuration.render.setupScript) {
74
74
  page.evaluateModule({ code: configuration.render.setupScript });
@@ -102,7 +102,7 @@ export default class ServerRendererPage {
102
102
  if (!this.#initialized.has(page.mainFrame.window)) {
103
103
  this.#initialized.set(page.mainFrame.window, true);
104
104
  if (!configuration.render.disablePolyfills) {
105
- BrowserWindowPolyfill.applyPolyfills(page.mainFrame.window);
105
+ BrowserWindowPolyfill.applyPolyfills(page.mainFrame.window, configuration.browser);
106
106
  }
107
107
  if (configuration.render.setupScript) {
108
108
  page.mainFrame.evaluateModule({ code: configuration.render.setupScript });
@@ -1 +1 @@
1
- {"version":3,"file":"ServerRendererPage.js","sourceRoot":"","sources":["../src/ServerRendererPage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ServerRendererPage.js","sourceRoot":"","sources":["../src/ServerRendererPage.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { BrowserWindow } from 'happy-dom';
1
+ import type { BrowserWindow, IBrowserSettings } from 'happy-dom';
2
2
  /**
3
3
  * Browser window polyfill utility.
4
4
  */
@@ -7,7 +7,8 @@ export default class BrowserWindowPolyfill {
7
7
  * Applies polyfills to the window object.
8
8
  *
9
9
  * @param window Window.
10
+ * @param settings Browser settings.
10
11
  */
11
- static applyPolyfills(window: BrowserWindow): void;
12
+ static applyPolyfills(window: BrowserWindow, settings: IBrowserSettings): void;
12
13
  }
13
14
  //# sourceMappingURL=BrowserWindowPolyfill.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserWindowPolyfill.d.ts","sourceRoot":"","sources":["../../src/utilities/BrowserWindowPolyfill.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,qBAAqB;IACzC;;;;OAIG;WACW,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;CAkFzD"}
1
+ {"version":3,"file":"BrowserWindowPolyfill.d.ts","sourceRoot":"","sources":["../../src/utilities/BrowserWindowPolyfill.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAEjE;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,qBAAqB;IACzC;;;;;OAKG;WACW,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,gBAAgB,GAAG,IAAI;CA6HrF"}
@@ -6,84 +6,127 @@ export default class BrowserWindowPolyfill {
6
6
  * Applies polyfills to the window object.
7
7
  *
8
8
  * @param window Window.
9
+ * @param settings Browser settings.
9
10
  */
10
- static applyPolyfills(window) {
11
- /* eslint-disable jsdoc/require-jsdoc */
12
- window.HTMLCanvasElement.prototype.getContext = () => ({
13
- resetTransform: () => { },
14
- fill: () => { },
15
- getContextAttributes: () => ({}),
16
- pixelStorei: () => { },
17
- getParameter: () => ({}),
18
- getExtension: () => null,
19
- createTexture: () => ({}),
20
- activeTexture: () => { },
21
- bindTexture: () => { },
22
- texImage2D: () => { },
23
- texParameteri: () => { },
24
- createFramebuffer: () => ({}),
25
- bindFramebuffer: () => { },
26
- createRenderbuffer: () => ({}),
27
- bindRenderbuffer: () => { },
28
- renderbufferStorage: () => { },
29
- framebufferRenderbuffer: () => { },
30
- framebufferTexture2D: () => { },
31
- createBuffer: () => ({}),
32
- bindBuffer: () => { },
33
- bufferData: () => { },
34
- deleteFramebuffer: () => { },
35
- deleteRenderbuffer: () => { },
36
- deleteTexture: () => { },
37
- viewport: () => { },
38
- depthMask: () => { },
39
- enable: () => { },
40
- depthFunc: () => { },
41
- disable: () => { },
42
- stencilMask: () => { },
43
- stencilFunc: () => { },
44
- stencilOp: () => { },
45
- colorMask: () => { },
46
- clearColor: () => { },
47
- clearDepth: () => { },
48
- clear: () => { },
49
- clearStencil: () => { },
50
- createShader: () => ({}),
51
- shaderSource: () => ({}),
52
- compileShader: () => ({}),
53
- createProgram: () => ({}),
54
- attachShader: () => ({}),
55
- linkProgram: () => ({}),
56
- getProgramParameter: () => ({}),
57
- deleteShader: () => ({}),
58
- getUniformLocation: () => ({}),
59
- useProgram: () => { },
60
- uniform1i: () => { },
61
- cullFace: () => { },
62
- frontFace: () => { },
63
- drawElements: () => { },
64
- copyTexImage2D: () => { },
65
- generateMipmap: () => { },
66
- uniform1f: () => { },
67
- uniform2f: () => { },
68
- uniform3f: () => { },
69
- uniform4f: () => { },
70
- uniformMatrix4fv: () => { },
71
- bufferSubData: () => { },
72
- drawElementsInstanced: () => { }
73
- });
11
+ static applyPolyfills(window, settings) {
12
+ if (!settings.canvasAdapter) {
13
+ window.HTMLCanvasElement.prototype.getContext = (type) => {
14
+ if (type !== '2d') {
15
+ return null;
16
+ }
17
+ return {
18
+ imageSmoothingEnabled: true,
19
+ globalCompositeOperation: 'source-over',
20
+ globalAlpha: 1,
21
+ shadowColor: 'rgba(0, 0, 0, 0)',
22
+ miterLimit: 10,
23
+ lineWidth: 1,
24
+ lineCap: 'butt',
25
+ lineJoin: 'miter',
26
+ lineDashOffset: 0,
27
+ shadowOffsetX: 0,
28
+ shadowOffsetY: 0,
29
+ shadowBlur: 0,
30
+ fillStyle: '#000000',
31
+ strokeStyle: '#000000',
32
+ font: '10px sans-serif',
33
+ textBaseline: 'alphabetic',
34
+ textAlign: 'start',
35
+ canvas: window.HTMLCanvasElement.prototype,
36
+ direction: 'ltr',
37
+ lang: '',
38
+ drawImage: () => { },
39
+ putImageData: () => { },
40
+ getImageData: () => new window.ImageData(1, 1),
41
+ createImageData: () => new window.ImageData(1, 1),
42
+ save: () => { },
43
+ restore: () => { },
44
+ rotate: () => { },
45
+ translate: () => { },
46
+ transform: () => { },
47
+ getTransform: () => new window.DOMMatrix(),
48
+ resetTransform: () => { },
49
+ setTransform: () => { },
50
+ isPointInPath: () => false,
51
+ scale: () => { },
52
+ clip: () => { },
53
+ fill: () => { },
54
+ stroke: () => { },
55
+ fillText: () => { },
56
+ strokeText: () => { },
57
+ fillRect: () => { },
58
+ strokeRect: () => { },
59
+ clearRect: () => { },
60
+ rect: () => { },
61
+ roundRect: () => { },
62
+ measureText: (text) => ({
63
+ width: text.length * 10
64
+ }),
65
+ moveTo: () => { },
66
+ lineTo: () => { },
67
+ bezierCurveTo: () => { },
68
+ quadraticCurveTo: () => { },
69
+ beginPath: () => { },
70
+ closePath: () => { },
71
+ arc: () => { },
72
+ arcTo: () => { },
73
+ ellipse: () => { },
74
+ setLineDash: () => { },
75
+ getLineDash: () => [],
76
+ createPattern: () => ({}),
77
+ createLinearGradient: () => ({}),
78
+ createRadialGradient: () => ({}),
79
+ beginTag: () => { },
80
+ endTag: () => { }
81
+ };
82
+ };
83
+ }
74
84
  window.Worker = class Worker {
85
+ /**
86
+ *
87
+ */
75
88
  postMessage() { }
89
+ /**
90
+ *
91
+ */
76
92
  terminate() { }
77
93
  };
78
94
  window.Path2D = class Path2D {
95
+ /**
96
+ *
97
+ */
79
98
  addPath() { }
99
+ /**
100
+ *
101
+ */
80
102
  addPath2D() { }
103
+ /**
104
+ *
105
+ */
81
106
  closePath() { }
107
+ /**
108
+ *
109
+ */
82
110
  moveTo() { }
111
+ /**
112
+ *
113
+ */
83
114
  lineTo() { }
115
+ /**
116
+ *
117
+ */
84
118
  arc() { }
119
+ /**
120
+ *
121
+ */
85
122
  rect() { }
123
+ /**
124
+ *
125
+ */
86
126
  fill() { }
127
+ /**
128
+ *
129
+ */
87
130
  stroke() { }
88
131
  };
89
132
  /* eslint-enable jsdoc/require-jsdoc */
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@happy-dom/server-renderer",
3
- "version": "20.9.0",
3
+ "version": "20.10.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,8 +42,8 @@
42
42
  "test:debug": "vitest run --inspect-brk --no-file-parallelism"
43
43
  },
44
44
  "dependencies": {
45
- "happy-dom": "^20.9.0",
46
- "@happy-dom/global-registrator": "^20.9.0",
45
+ "happy-dom": "^20.10.1",
46
+ "@happy-dom/global-registrator": "^20.10.1",
47
47
  "chalk": "^5.4.1"
48
48
  },
49
49
  "devDependencies": {
@@ -60,7 +60,7 @@ export default class ServerRendererPage {
60
60
  this.#initialized.set(page.mainFrame.window, true);
61
61
 
62
62
  if (!configuration.render.disablePolyfills) {
63
- BrowserWindowPolyfill.applyPolyfills(page.mainFrame.window);
63
+ BrowserWindowPolyfill.applyPolyfills(page.mainFrame.window, configuration.browser);
64
64
  }
65
65
 
66
66
  if (configuration.render.setupScript) {
@@ -85,7 +85,7 @@ export default class ServerRendererPage {
85
85
  window.addEventListener('error', errorListener);
86
86
 
87
87
  if (!configuration.render.disablePolyfills) {
88
- BrowserWindowPolyfill.applyPolyfills(window);
88
+ BrowserWindowPolyfill.applyPolyfills(window, configuration.browser);
89
89
  }
90
90
 
91
91
  if (configuration.render.setupScript) {
@@ -127,7 +127,7 @@ export default class ServerRendererPage {
127
127
  if (!this.#initialized.has(page.mainFrame.window)) {
128
128
  this.#initialized.set(page.mainFrame.window, true);
129
129
  if (!configuration.render.disablePolyfills) {
130
- BrowserWindowPolyfill.applyPolyfills(page.mainFrame.window);
130
+ BrowserWindowPolyfill.applyPolyfills(page.mainFrame.window, configuration.browser);
131
131
  }
132
132
 
133
133
  if (configuration.render.setupScript) {
@@ -1,4 +1,4 @@
1
- import type { BrowserWindow } from 'happy-dom';
1
+ import type { BrowserWindow, IBrowserSettings } from 'happy-dom';
2
2
 
3
3
  /**
4
4
  * Browser window polyfill utility.
@@ -8,85 +8,129 @@ export default class BrowserWindowPolyfill {
8
8
  * Applies polyfills to the window object.
9
9
  *
10
10
  * @param window Window.
11
+ * @param settings Browser settings.
11
12
  */
12
- public static applyPolyfills(window: BrowserWindow): void {
13
- /* eslint-disable jsdoc/require-jsdoc */
14
- window.HTMLCanvasElement.prototype.getContext = () => ({
15
- resetTransform: () => {},
16
- fill: () => {},
17
- getContextAttributes: () => ({}),
18
- pixelStorei: () => {},
19
- getParameter: () => ({}),
20
- getExtension: () => null,
21
- createTexture: () => ({}),
22
- activeTexture: () => {},
23
- bindTexture: () => {},
24
- texImage2D: () => {},
25
- texParameteri: () => {},
26
- createFramebuffer: () => ({}),
27
- bindFramebuffer: () => {},
28
- createRenderbuffer: () => ({}),
29
- bindRenderbuffer: () => {},
30
- renderbufferStorage: () => {},
31
- framebufferRenderbuffer: () => {},
32
- framebufferTexture2D: () => {},
33
- createBuffer: () => ({}),
34
- bindBuffer: () => {},
35
- bufferData: () => {},
36
- deleteFramebuffer: () => {},
37
- deleteRenderbuffer: () => {},
38
- deleteTexture: () => {},
39
- viewport: () => {},
40
- depthMask: () => {},
41
- enable: () => {},
42
- depthFunc: () => {},
43
- disable: () => {},
44
- stencilMask: () => {},
45
- stencilFunc: () => {},
46
- stencilOp: () => {},
47
- colorMask: () => {},
48
- clearColor: () => {},
49
- clearDepth: () => {},
50
- clear: () => {},
51
- clearStencil: () => {},
52
- createShader: () => ({}),
53
- shaderSource: () => ({}),
54
- compileShader: () => ({}),
55
- createProgram: () => ({}),
56
- attachShader: () => ({}),
57
- linkProgram: () => ({}),
58
- getProgramParameter: () => ({}),
59
- deleteShader: () => ({}),
60
- getUniformLocation: () => ({}),
61
- useProgram: () => {},
62
- uniform1i: () => {},
63
- cullFace: () => {},
64
- frontFace: () => {},
65
- drawElements: () => {},
66
- copyTexImage2D: () => {},
67
- generateMipmap: () => {},
68
- uniform1f: () => {},
69
- uniform2f: () => {},
70
- uniform3f: () => {},
71
- uniform4f: () => {},
72
- uniformMatrix4fv: () => {},
73
- bufferSubData: () => {},
74
- drawElementsInstanced: () => {}
75
- });
13
+ public static applyPolyfills(window: BrowserWindow, settings: IBrowserSettings): void {
14
+ if (!settings.canvasAdapter) {
15
+ window.HTMLCanvasElement.prototype.getContext = (type) => {
16
+ if (type !== '2d') {
17
+ return null;
18
+ }
19
+ return {
20
+ imageSmoothingEnabled: true,
21
+ globalCompositeOperation: 'source-over',
22
+ globalAlpha: 1,
23
+ shadowColor: 'rgba(0, 0, 0, 0)',
24
+ miterLimit: 10,
25
+ lineWidth: 1,
26
+ lineCap: 'butt',
27
+ lineJoin: 'miter',
28
+ lineDashOffset: 0,
29
+ shadowOffsetX: 0,
30
+ shadowOffsetY: 0,
31
+ shadowBlur: 0,
32
+ fillStyle: '#000000',
33
+ strokeStyle: '#000000',
34
+ font: '10px sans-serif',
35
+ textBaseline: 'alphabetic',
36
+ textAlign: 'start',
37
+ canvas: window.HTMLCanvasElement.prototype,
38
+ direction: 'ltr',
39
+ lang: '',
40
+ drawImage: () => {},
41
+ putImageData: () => {},
42
+ getImageData: () => new window.ImageData(1, 1),
43
+ createImageData: () => new window.ImageData(1, 1),
44
+ save: () => {},
45
+ restore: () => {},
46
+ rotate: () => {},
47
+ translate: () => {},
48
+ transform: () => {},
49
+ getTransform: () => new window.DOMMatrix(),
50
+ resetTransform: () => {},
51
+ setTransform: () => {},
52
+ isPointInPath: () => false,
53
+ scale: () => {},
54
+ clip: () => {},
55
+ fill: () => {},
56
+ stroke: () => {},
57
+ fillText: () => {},
58
+ strokeText: () => {},
59
+ fillRect: () => {},
60
+ strokeRect: () => {},
61
+ clearRect: () => {},
62
+ rect: () => {},
63
+ roundRect: () => {},
64
+ measureText: (text) =>
65
+ <any>{
66
+ width: text.length * 10
67
+ },
68
+ moveTo: () => {},
69
+ lineTo: () => {},
70
+ bezierCurveTo: () => {},
71
+ quadraticCurveTo: () => {},
72
+ beginPath: () => {},
73
+ closePath: () => {},
74
+ arc: () => {},
75
+ arcTo: () => {},
76
+ ellipse: () => {},
77
+ setLineDash: () => {},
78
+ getLineDash: () => [],
79
+ createPattern: () => <any>{},
80
+ createLinearGradient: () => <any>{},
81
+ createRadialGradient: () => <any>{},
82
+ beginTag: () => {},
83
+ endTag: () => {}
84
+ };
85
+ };
86
+ }
76
87
  (<any>window).Worker = class Worker {
88
+ /**
89
+ *
90
+ */
77
91
  public postMessage(): any {}
92
+ /**
93
+ *
94
+ */
78
95
  public terminate(): any {}
79
96
  };
80
97
 
81
98
  (<any>window).Path2D = class Path2D {
99
+ /**
100
+ *
101
+ */
82
102
  public addPath(): any {}
103
+ /**
104
+ *
105
+ */
83
106
  public addPath2D(): any {}
107
+ /**
108
+ *
109
+ */
84
110
  public closePath(): any {}
111
+ /**
112
+ *
113
+ */
85
114
  public moveTo(): any {}
115
+ /**
116
+ *
117
+ */
86
118
  public lineTo(): any {}
119
+ /**
120
+ *
121
+ */
87
122
  public arc(): any {}
123
+ /**
124
+ *
125
+ */
88
126
  public rect(): any {}
127
+ /**
128
+ *
129
+ */
89
130
  public fill(): any {}
131
+ /**
132
+ *
133
+ */
90
134
  public stroke(): any {}
91
135
  };
92
136
  /* eslint-enable jsdoc/require-jsdoc */