MCPcopy Index your code
hub / github.com/nodejs/node / prepare

Function prepare

benchmark/esm/require-esm.js:17–47  ·  view source on GitHub ↗
(count, useDefault)

Source from the content-addressed store, hash-verified

15});
16
17function prepare(count, useDefault) {
18 tmpdir.refresh();
19 const dir = tmpdir.resolve('modules');
20 fs.mkdirSync(dir, { recursive: true });
21 let mainSource = '';
22 let useSource = 'exports.access = function() { return 0';
23 for (let i = 0; i < count; ++i) {
24 let modSource = `const value${i} = 1;\n`;
25 if (useDefault) {
26 modSource += `export default { value${i} }\n`;
27 } else {
28 modSource += `export { value${i} };\n`;
29 }
30 const filename = `mod${i}.mjs`;
31 fs.writeFileSync(
32 path.resolve(dir, filename),
33 modSource,
34 'utf8',
35 );
36 mainSource += `const mod${i} = require('./modules/${filename}');\n`;
37 if (useDefault) {
38 useSource += ` + mod${i}.default.value${i}`;
39 } else {
40 useSource += ` + mod${i}.value${i}`;
41 }
42 }
43 useSource += '; };\n';
44 const script = tmpdir.resolve('main.js');
45 fs.writeFileSync(script, mainSource + useSource, 'utf8');
46 return script;
47}
48
49function main({ n, exports, type }) {
50 const script = prepare(n, exports === 'default');

Callers 1

mainFunction · 0.70

Calls 4

refreshMethod · 0.45
resolveMethod · 0.45
mkdirSyncMethod · 0.45
writeFileSyncMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…