@happy-dom/jest-environment 15.10.1 → 15.10.3
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 +13 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +25 -0
- package/lib/index.js.map +1 -1
- package/package.json +4 -4
- package/src/index.ts +29 -0
package/lib/index.d.ts
CHANGED
@@ -14,6 +14,14 @@ export default class HappyDOMEnvironment implements JestEnvironment {
|
|
14
14
|
window: Window;
|
15
15
|
global: Global.Global;
|
16
16
|
moduleMocker: ModuleMocker;
|
17
|
+
/**
|
18
|
+
* jest-environment-jsdom" has the default set to ['browser']
|
19
|
+
* As changing this value would be a breaking change, we will keep it at ['node', 'node-addons'] until we do a major release
|
20
|
+
*
|
21
|
+
* @see https://stackoverflow.com/questions/72428323/jest-referenceerror-vue-is-not-defined
|
22
|
+
*/
|
23
|
+
customExportConditions: string[];
|
24
|
+
private _configuredExportConditions;
|
17
25
|
/**
|
18
26
|
* Constructor.
|
19
27
|
*
|
@@ -26,6 +34,11 @@ export default class HappyDOMEnvironment implements JestEnvironment {
|
|
26
34
|
globalConfig: Config.GlobalConfig;
|
27
35
|
projectConfig: Config.ProjectConfig;
|
28
36
|
} | Config.ProjectConfig, options?: EnvironmentContext);
|
37
|
+
/**
|
38
|
+
* Respect any export conditions specified as options
|
39
|
+
* https://jestjs.io/docs/configuration#testenvironmentoptions-object
|
40
|
+
*/
|
41
|
+
exportConditions(): string[];
|
29
42
|
/**
|
30
43
|
* Setup.
|
31
44
|
*
|
package/lib/index.d.ts.map
CHANGED
@@ -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;;;;;;;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;
|
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"}
|
package/lib/index.js
CHANGED
@@ -37,6 +37,14 @@ class HappyDOMEnvironment {
|
|
37
37
|
window;
|
38
38
|
global;
|
39
39
|
moduleMocker;
|
40
|
+
/**
|
41
|
+
* jest-environment-jsdom" has the default set to ['browser']
|
42
|
+
* As changing this value would be a breaking change, we will keep it at ['node', 'node-addons'] until we do a major release
|
43
|
+
*
|
44
|
+
* @see https://stackoverflow.com/questions/72428323/jest-referenceerror-vue-is-not-defined
|
45
|
+
*/
|
46
|
+
customExportConditions = ['node', 'node-addons'];
|
47
|
+
_configuredExportConditions;
|
40
48
|
/**
|
41
49
|
* Constructor.
|
42
50
|
*
|
@@ -61,6 +69,16 @@ class HappyDOMEnvironment {
|
|
61
69
|
else {
|
62
70
|
throw new Error('Unsupported jest version.');
|
63
71
|
}
|
72
|
+
if ('customExportConditions' in projectConfig.testEnvironmentOptions) {
|
73
|
+
const { customExportConditions } = projectConfig.testEnvironmentOptions;
|
74
|
+
if (Array.isArray(customExportConditions) &&
|
75
|
+
customExportConditions.every((condition) => typeof condition === 'string')) {
|
76
|
+
this._configuredExportConditions = customExportConditions;
|
77
|
+
}
|
78
|
+
else {
|
79
|
+
throw new Error('Custom export conditions specified but they are not an array of strings');
|
80
|
+
}
|
81
|
+
}
|
64
82
|
// Initialize Window and Global
|
65
83
|
this.window = new happy_dom_1.Window({
|
66
84
|
url: 'http://localhost/',
|
@@ -105,6 +123,13 @@ class HappyDOMEnvironment {
|
|
105
123
|
return happyDOMSetTimeout.call(this.global, ...args);
|
106
124
|
};
|
107
125
|
}
|
126
|
+
/**
|
127
|
+
* Respect any export conditions specified as options
|
128
|
+
* https://jestjs.io/docs/configuration#testenvironmentoptions-object
|
129
|
+
*/
|
130
|
+
exportConditions() {
|
131
|
+
return this._configuredExportConditions ?? this.customExportConditions;
|
132
|
+
}
|
108
133
|
/**
|
109
134
|
* Setup.
|
110
135
|
*
|
package/lib/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,6CAA6C;;;;;;;;;;;;;;;;;;;;;;;;;AAG7C,oDAAsC;AACtC,yCAAyC;AACzC,mDAAuE;AAEvE,yCAAsF;AAItF;;GAEG;AACH,MAAqB,mBAAmB;IAChC,UAAU,GAA6B,IAAI,CAAC;IAC5C,gBAAgB,GAAqB,IAAI,CAAC;IAC1C,MAAM,CAAS;IACf,MAAM,CAAgB;IACtB,YAAY,CAAe;IAElC;;;;;;;OAOG;IACH,YACC,MAEuB,EACvB,OAA4B;QAE5B,IAAI,aAAmC,CAAC;QACxC,IAAI,OAA6B,CAAC;QAClC,IAAI,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC;YACnC,UAAU;YACV,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;YACzB,aAAa,GAAG,MAAM,CAAC;QACxB,CAAC;aAAM,IAAI,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1C,YAAY;YACZ,OAAO,GAAG,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC;YACvC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QACtC,CAAC;aAAM,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC9C,CAAC;QAED,+BAA+B;QAC/B,IAAI,CAAC,MAAM,GAAG,IAAI,kBAAM,CAAC;YACxB,GAAG,EAAE,mBAAmB;YACxB,GAAG,aAAa,CAAC,sBAAsB;YACvC,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,OAAO;YACnC,QAAQ,EAAE;gBACT,GAA8B,aAAa,CAAC,sBAAsB,EAAE,QAAS;gBAC7E,YAAY,EAAE,mCAAuB,CAAC,QAAQ;aAC9C;SACD,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAA4B,IAAI,CAAC,MAAO,CAAC;QACpD,IAAI,CAAC,YAAY,GAAG,IAAI,wBAAY,CAA8B,IAAI,CAAC,MAAO,CAAC,CAAC;QAEhF,oHAAoH;QACpH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,GAAG,GAAG,CAAC;QAExC,0EAA0E;QAC1E,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;QAE5B,6BAA6B;QAC7B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAEpC,QAAQ,CAAC,oBAAoB,CAA8B,IAAI,CAAC,MAAO,EAAE,OAAO,CAAC,CAAC;QAElF,mFAAmF;QACnF,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QAE/C,IAAI,CAAC,UAAU,GAAG,IAAI,8BAAgB,CAAC;YACtC,MAAM,EAAE,aAAa;YACrB,MAAM,EAA+B,IAAI,CAAC,MAAO;YACjD,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,WAAW,EAAE;gBACZ,OAAO,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,EAAE;gBAC3B,OAAO,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG;aAC7B;SACD,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,GAAG,IAAI,8BAAgB,CAAC;YAC5C,MAAM,EAAE,aAAa;YACrB,MAAM,EAA+B,IAAI,CAAC,MAAO;SACjD,CAAC,CAAC;QAEH,kNAAkN;QAClN,4EAA4E;QAC5E,MAAM,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;QACjB,IAAI,CAAC,MAAM,CAAC,UAAW,GAAG,CAAC,GAAG,IAAe,EAAU,EAAE;YACzF,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;gBACxD,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;YAChD,CAAC;YACD,OAAO,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;QACtD,CAAC,CAAC;IACH,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,KAAK,KAAmB,CAAC;IAEtC;;;;OAIG;IACI,KAAK,CAAC,QAAQ;QACpB,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QAC1B,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;QAEhC,MAAyB,IAAI,CAAC,MAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACrC,IAAI,CAAC,MAAQ,CAAC,KAAK,EAAE,CAAC;QAEzC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAC9B,CAAC;IAED;;;;;OAKG;IACI,SAAS,CAAC,MAAc;QAC9B,OAAO,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAED;;;;OAIG;IACI,YAAY;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;CACD;
|
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": "15.10.
|
3
|
+
"version": "15.10.3",
|
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,7 @@
|
|
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": "^15.10.
|
53
|
+
"happy-dom": "^15.10.3",
|
54
54
|
"jest-mock": "^29.4.0",
|
55
55
|
"jest-util": "^29.4.0"
|
56
56
|
},
|
@@ -64,7 +64,7 @@
|
|
64
64
|
"@radix-ui/react-select": "^1.2.2",
|
65
65
|
"@testing-library/react": "^14.0.0",
|
66
66
|
"@testing-library/user-event": "^14.5.1",
|
67
|
-
"@vue/test-utils": "^2.4.
|
67
|
+
"@vue/test-utils": "^2.4.6",
|
68
68
|
"@types/jest": "29.5.2",
|
69
69
|
"@types/node": "^16.11.7",
|
70
70
|
"@types/react": "^18.2.0",
|
@@ -85,7 +85,7 @@
|
|
85
85
|
"rxjs": "^6.5.3",
|
86
86
|
"ts-jest": "^29.1.1",
|
87
87
|
"typescript": "^5.0.4",
|
88
|
-
"vue": "^3.
|
88
|
+
"vue": "^3.5.12",
|
89
89
|
"zone.js": "^0.10.3"
|
90
90
|
},
|
91
91
|
"engines": {
|
package/src/index.ts
CHANGED
@@ -19,6 +19,16 @@ export default class HappyDOMEnvironment implements JestEnvironment {
|
|
19
19
|
public global: Global.Global;
|
20
20
|
public moduleMocker: ModuleMocker;
|
21
21
|
|
22
|
+
/**
|
23
|
+
* jest-environment-jsdom" has the default set to ['browser']
|
24
|
+
* As changing this value would be a breaking change, we will keep it at ['node', 'node-addons'] until we do a major release
|
25
|
+
*
|
26
|
+
* @see https://stackoverflow.com/questions/72428323/jest-referenceerror-vue-is-not-defined
|
27
|
+
*/
|
28
|
+
public customExportConditions = ['node', 'node-addons'];
|
29
|
+
|
30
|
+
private _configuredExportConditions: string[];
|
31
|
+
|
22
32
|
/**
|
23
33
|
* Constructor.
|
24
34
|
*
|
@@ -47,6 +57,18 @@ export default class HappyDOMEnvironment implements JestEnvironment {
|
|
47
57
|
throw new Error('Unsupported jest version.');
|
48
58
|
}
|
49
59
|
|
60
|
+
if ('customExportConditions' in projectConfig.testEnvironmentOptions) {
|
61
|
+
const { customExportConditions } = projectConfig.testEnvironmentOptions;
|
62
|
+
if (
|
63
|
+
Array.isArray(customExportConditions) &&
|
64
|
+
customExportConditions.every((condition) => typeof condition === 'string')
|
65
|
+
) {
|
66
|
+
this._configuredExportConditions = customExportConditions;
|
67
|
+
} else {
|
68
|
+
throw new Error('Custom export conditions specified but they are not an array of strings');
|
69
|
+
}
|
70
|
+
}
|
71
|
+
|
50
72
|
// Initialize Window and Global
|
51
73
|
this.window = new Window({
|
52
74
|
url: 'http://localhost/',
|
@@ -99,6 +121,13 @@ export default class HappyDOMEnvironment implements JestEnvironment {
|
|
99
121
|
return happyDOMSetTimeout.call(this.global, ...args);
|
100
122
|
};
|
101
123
|
}
|
124
|
+
/**
|
125
|
+
* Respect any export conditions specified as options
|
126
|
+
* https://jestjs.io/docs/configuration#testenvironmentoptions-object
|
127
|
+
*/
|
128
|
+
public exportConditions(): string[] {
|
129
|
+
return this._configuredExportConditions ?? this.customExportConditions;
|
130
|
+
}
|
102
131
|
|
103
132
|
/**
|
104
133
|
* Setup.
|