mirror of
https://github.com/nodejs/node.git
synced 2025-08-15 13:48:44 +02:00

Boolean value to check if an ES Module is the entrypoint of the current process. Implements: #57226 Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com> PR-URL: https://github.com/nodejs/node/pull/57804 Fixes: https://github.com/nodejs/node/issues/57226 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Guy Bedford <guybedford@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
26 lines
781 B
JavaScript
26 lines
781 B
JavaScript
import '../common/index.mjs';
|
|
import assert from 'node:assert/strict';
|
|
import { Worker } from 'node:worker_threads';
|
|
|
|
function get_environment() {
|
|
if (process.env.HAS_STARTED_WORKER) return 'in worker thread started by ES Module';
|
|
return 'in ES Module';
|
|
}
|
|
|
|
assert.strictEqual(
|
|
import.meta.main,
|
|
true,
|
|
`\`import.meta.main\` at top-level module ${get_environment()} should evaluate \`true\``
|
|
);
|
|
|
|
const { isMain: importedModuleIsMain } = await import('../fixtures/es-modules/import-meta-main.mjs');
|
|
assert.strictEqual(
|
|
importedModuleIsMain,
|
|
false,
|
|
`\`import.meta.main\` at dynamically imported module ${get_environment()} should evaluate \`false\``
|
|
);
|
|
|
|
if (!process.env.HAS_STARTED_WORKER) {
|
|
process.env.HAS_STARTED_WORKER = 1;
|
|
new Worker(import.meta.filename);
|
|
}
|