@happy-dom/jest-environment 17.6.2 → 18.0.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.
package/lib/index.d.ts CHANGED
@@ -9,8 +9,8 @@ import { Global, Config } from '@jest/types';
9
9
  * Happy DOM Jest Environment.
10
10
  */
11
11
  export default class HappyDOMEnvironment implements JestEnvironment {
12
- fakeTimers: LegacyFakeTimers<number>;
13
- fakeTimersModern: ModernFakeTimers;
12
+ fakeTimers: LegacyFakeTimers<number> | null;
13
+ fakeTimersModern: ModernFakeTimers | null;
14
14
  window: Window;
15
15
  global: Global.Global;
16
16
  moduleMocker: ModuleMocker;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,MAAM,EAAqD,MAAM,WAAW,CAAC;AACtF,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE7C;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,mBAAoB,YAAW,eAAe;IAC3D,UAAU,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAQ;IAC5C,gBAAgB,EAAE,gBAAgB,CAAQ;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;IACtB,YAAY,EAAE,YAAY,CAAC;IAElC;;;;;OAKG;IACI,sBAAsB,WAA2B;IAExD,OAAO,CAAC,2BAA2B,CAAW;IAE9C;;;;;;;OAOG;gBAEF,MAAM,EACH;QAAE,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC,aAAa,CAAA;KAAE,GAC1E,MAAM,CAAC,aAAa,EACvB,OAAO,CAAC,EAAE,kBAAkB;IAgF7B;;;OAGG;IACI,gBAAgB,IAAI,MAAM,EAAE;IAInC;;;;OAIG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAEnC;;;;OAIG;IACU,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAatC;;;;;OAKG;IACI,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAItC;;;;OAIG;IACI,YAAY,IAAI,EAAE,CAAC,OAAO;CAGjC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,MAAM,EAAqD,MAAM,WAAW,CAAC;AACtF,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE7C;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,mBAAoB,YAAW,eAAe;IAC3D,UAAU,EAAE,gBAAgB,CAAC,MAAM,CAAC,GAAG,IAAI,CAAQ;IACnD,gBAAgB,EAAE,gBAAgB,GAAG,IAAI,CAAQ;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;IACtB,YAAY,EAAE,YAAY,CAAC;IAElC;;;;;OAKG;IACI,sBAAsB,WAA2B;IAExD,OAAO,CAAC,2BAA2B,CAAW;IAE9C;;;;;;;OAOG;gBAEF,MAAM,EACH;QAAE,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC,aAAa,CAAA;KAAE,GAC1E,MAAM,CAAC,aAAa,EACvB,OAAO,CAAC,EAAE,kBAAkB;IAoF7B;;;OAGG;IACI,gBAAgB,IAAI,MAAM,EAAE;IAInC;;;;OAIG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAEnC;;;;OAIG;IACU,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAatC;;;;;OAKG;IACI,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAItC;;;;OAIG;IACI,YAAY,IAAI,EAAE,CAAC,OAAO;CAGjC"}
package/lib/index.js CHANGED
@@ -79,6 +79,7 @@ class HappyDOMEnvironment {
79
79
  else {
80
80
  throw new Error('Unsupported jest version.');
81
81
  }
82
+ this._configuredExportConditions = [];
82
83
  if ('customExportConditions' in projectConfig.testEnvironmentOptions) {
83
84
  const { customExportConditions } = projectConfig.testEnvironmentOptions;
84
85
  if (Array.isArray(customExportConditions) &&
@@ -93,7 +94,7 @@ class HappyDOMEnvironment {
93
94
  this.window = new happy_dom_1.Window({
94
95
  url: 'http://localhost/',
95
96
  ...projectConfig.testEnvironmentOptions,
96
- console: options.console || console,
97
+ console: options?.console || console,
97
98
  settings: {
98
99
  ...projectConfig.testEnvironmentOptions?.settings,
99
100
  errorCapture: happy_dom_1.BrowserErrorCaptureEnum.disabled
@@ -128,8 +129,10 @@ class HappyDOMEnvironment {
128
129
  const happyDOMSetTimeout = this.global.setTimeout;
129
130
  this.global.setTimeout = (...args) => {
130
131
  if (new Error('stack').stack.includes('/jest-jasmine')) {
132
+ // @ts-ignore
131
133
  return global.setTimeout.call(global, ...args);
132
134
  }
135
+ // @ts-ignore
133
136
  return happyDOMSetTimeout.call(this.global, ...args);
134
137
  };
135
138
  }
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@happy-dom/jest-environment",
3
- "version": "17.6.2",
3
+ "version": "18.0.0",
4
4
  "license": "MIT",
5
5
  "homepage": "https://github.com/capricorn86/happy-dom/tree/master/packages/jest-environment",
6
6
  "repository": "https://github.com/capricorn86/happy-dom",
@@ -50,7 +50,9 @@
50
50
  "@jest/environment": "^29.4.0",
51
51
  "@jest/fake-timers": "^29.4.0",
52
52
  "@jest/types": "^29.4.0",
53
- "happy-dom": "^17.6.2",
53
+ "@types/node": "^20.0.0",
54
+ "@types/jest": "29.4.0",
55
+ "happy-dom": "^18.0.0",
54
56
  "jest-mock": "^29.4.0",
55
57
  "jest-util": "^29.4.0"
56
58
  },
@@ -65,12 +67,8 @@
65
67
  "@testing-library/react": "^14.0.0",
66
68
  "@testing-library/user-event": "^14.5.1",
67
69
  "@vue/test-utils": "^2.4.6",
68
- "@types/jest": "29.5.2",
69
- "@types/node": "^20.0.0",
70
70
  "@types/react": "^18.2.0",
71
71
  "@types/react-dom": "^18.2.0",
72
- "@typescript-eslint/eslint-plugin": "^5.16.0",
73
- "@typescript-eslint/parser": "^5.16.0",
74
72
  "express": "^4.20.0",
75
73
  "glob": "^7.2.0",
76
74
  "jest": "^29.4.0",
package/src/index.ts CHANGED
@@ -13,8 +13,8 @@ import { Global, Config } from '@jest/types';
13
13
  * Happy DOM Jest Environment.
14
14
  */
15
15
  export default class HappyDOMEnvironment implements JestEnvironment {
16
- public fakeTimers: LegacyFakeTimers<number> = null;
17
- public fakeTimersModern: ModernFakeTimers = null;
16
+ public fakeTimers: LegacyFakeTimers<number> | null = null;
17
+ public fakeTimersModern: ModernFakeTimers | null = null;
18
18
  public window: Window;
19
19
  public global: Global.Global;
20
20
  public moduleMocker: ModuleMocker;
@@ -57,6 +57,8 @@ export default class HappyDOMEnvironment implements JestEnvironment {
57
57
  throw new Error('Unsupported jest version.');
58
58
  }
59
59
 
60
+ this._configuredExportConditions = [];
61
+
60
62
  if ('customExportConditions' in projectConfig.testEnvironmentOptions) {
61
63
  const { customExportConditions } = projectConfig.testEnvironmentOptions;
62
64
  if (
@@ -73,7 +75,7 @@ export default class HappyDOMEnvironment implements JestEnvironment {
73
75
  this.window = new Window({
74
76
  url: 'http://localhost/',
75
77
  ...projectConfig.testEnvironmentOptions,
76
- console: options.console || console,
78
+ console: options?.console || console,
77
79
  settings: {
78
80
  ...(<IOptionalBrowserSettings>projectConfig.testEnvironmentOptions?.settings),
79
81
  errorCapture: BrowserErrorCaptureEnum.disabled
@@ -115,9 +117,11 @@ export default class HappyDOMEnvironment implements JestEnvironment {
115
117
  // Hopefully Jest can fix this in the future as this fix is not very pretty.
116
118
  const happyDOMSetTimeout = this.global.setTimeout;
117
119
  (<(...args: unknown[]) => number>this.global.setTimeout) = (...args: unknown[]): number => {
118
- if (new Error('stack').stack.includes('/jest-jasmine')) {
120
+ if (new Error('stack').stack!.includes('/jest-jasmine')) {
121
+ // @ts-ignore
119
122
  return global.setTimeout.call(global, ...args);
120
123
  }
124
+ // @ts-ignore
121
125
  return happyDOMSetTimeout.call(this.global, ...args);
122
126
  };
123
127
  }
@@ -142,14 +146,14 @@ export default class HappyDOMEnvironment implements JestEnvironment {
142
146
  * @returns Promise.
143
147
  */
144
148
  public async teardown(): Promise<void> {
145
- this.fakeTimers.dispose();
146
- this.fakeTimersModern.dispose();
149
+ this.fakeTimers!.dispose();
150
+ this.fakeTimersModern!.dispose();
147
151
 
148
152
  await (<Window>(<unknown>this.global)).happyDOM.abort();
149
153
  (<Window>(<unknown>this.global)).close();
150
154
 
151
- this.global = null;
152
- this.moduleMocker = null;
155
+ this.global = null!;
156
+ this.moduleMocker = null!;
153
157
  this.fakeTimers = null;
154
158
  this.fakeTimersModern = null;
155
159
  }
package/tsconfig.json CHANGED
@@ -14,13 +14,16 @@
14
14
  "resolveJsonModule": true,
15
15
  "noUnusedLocals": true,
16
16
  "noUnusedParameters": true,
17
- "removeComments": false,
17
+ "noImplicitReturns": false,
18
+ "noImplicitAny" : true,
19
+ "removeComments": false,
18
20
  "preserveConstEnums": true,
21
+ "strict": true,
19
22
  "sourceMap": true,
20
23
  "skipLibCheck": true,
21
24
  "baseUrl": ".",
22
- "composite": true,
23
- "incremental": true,
25
+ "composite": false,
26
+ "incremental": false,
24
27
  "types": [
25
28
  "node"
26
29
  ],