Skip to content

Commit d5cc5d7

Browse files
aduh95targos
authored andcommitted
test: deflake test-esm-loader-resolve-type
PR-URL: #50273 Backport-PR-URL: #50669Fixes: #50040 Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Michael Dawson <[email protected]> Reviewed-By: Marco Ippolito <[email protected]> Reviewed-By: Richard Lau <[email protected]>
1 parent 92734d4 commit d5cc5d7

File tree

2 files changed

+23
-28
lines changed

2 files changed

+23
-28
lines changed

‎test/fixtures/es-module-loaders/hook-resolve-type-loader.mjs‎

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,24 @@
1-
/** @type{MessagePort} */
2-
letport;
3-
exportfunctioninitialize(data){
4-
port=data.port;
1+
/** @type{Uint8Array} */
2+
letdata;
3+
/** @type{number} */
4+
letESM_MODULE_INDEX;
5+
/** @type{number} */
6+
letCJS_MODULE_INDEX;
7+
8+
exportfunctioninitialize({ sab,ESM_MODULE_INDEX:e,CJS_MODULE_INDEX:c}){
9+
data=newUint8Array(sab);
10+
ESM_MODULE_INDEX=e;
11+
CJS_MODULE_INDEX=c;
512
}
613

714
exportasyncfunctionresolve(specifier,context,next){
815
constnextResult=awaitnext(specifier,context);
916
const{ format }=nextResult;
1017

1118
if(format==='module'||specifier.endsWith('.mjs')){
12-
port.postMessage({type: 'module'});
19+
Atomics.add(data,ESM_MODULE_INDEX,1);
1320
}elseif(format==null||format==='commonjs'){
14-
port.postMessage({type: 'commonjs'});
21+
Atomics.add(data,CJS_MODULE_INDEX,1);
1522
}
1623

1724
returnnextResult;
Lines changed: 10 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,18 @@
11
import*asfixturesfrom'../../common/fixtures.mjs';
22
import{register}from'node:module';
3-
import{MessageChannel}from'node:worker_threads';
43

5-
letimportedESM=0;
6-
letimportedCJS=0;
4+
constsab=newSharedArrayBuffer(2);
5+
constdata=newUint8Array(sab);
6+
7+
constESM_MODULE_INDEX=0
8+
constCJS_MODULE_INDEX=1
9+
710
exportfunctiongetModuleTypeStats(){
11+
constimportedESM=Atomics.load(data,ESM_MODULE_INDEX);
12+
constimportedCJS=Atomics.load(data,CJS_MODULE_INDEX);
813
return{ importedESM, importedCJS };
9-
};
10-
11-
const{ port1, port2 }=newMessageChannel();
14+
}
1215

1316
register(fixtures.fileURL('es-module-loaders/hook-resolve-type-loader.mjs'),{
14-
data: {port: port2},
15-
transferList: [port2],
17+
data: { sab,ESM_MODULE_INDEX,CJS_MODULE_INDEX},
1618
});
17-
18-
port1.on('message',({ type })=>{
19-
switch(type){
20-
case'module':
21-
importedESM++;
22-
break;
23-
case'commonjs':
24-
importedCJS++;
25-
break;
26-
}
27-
});
28-
29-
port1.unref();
30-
port2.unref();

0 commit comments

Comments
(0)