mirror of
https://github.com/nodejs/node.git
synced 2025-05-15 19:48:12 +00:00

doc: update ESM hook examples esm: fix unsafe primordial doc: fix ESM example linting esm: allow source of type ArrayBuffer doc: update ESM hook changelog to include resolve format esm: allow all ArrayBuffers and TypedArrays for load hook source doc: tidy code & API docs doc: convert ESM source table header from Title Case to Sentence case doc: add detailed explanation for getPackageType esm: add caveat that ESMLoader::import() must NOT be renamed esm: tidy code declaration of getFormat protocolHandlers doc: correct ESM doc link (bad conflict resolution) doc: update ESM hook limitation for CJS esm: tweak preload description doc: update ESM getPackageType() example explanation PR-URL: https://github.com/nodejs/node/pull/37468 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Guy Bedford <guybedford@gmail.com> Reviewed-By: Bradley Farias <bradley.meck@gmail.com> Reviewed-By: Geoffrey Booth <webmaster@geoffreybooth.com>
33 lines
643 B
JavaScript
33 lines
643 B
JavaScript
'use strict';
|
|
|
|
const { defaultGetFormat } = require('internal/modules/esm/get_format');
|
|
const { defaultGetSource } = require('internal/modules/esm/get_source');
|
|
const { translators } = require('internal/modules/esm/translators');
|
|
|
|
async function defaultLoad(url, context) {
|
|
let {
|
|
format,
|
|
source,
|
|
} = context;
|
|
|
|
if (!translators.has(format)) format = defaultGetFormat(url);
|
|
|
|
if (
|
|
format === 'builtin' ||
|
|
format === 'commonjs'
|
|
) {
|
|
source = null;
|
|
} else if (source == null) {
|
|
source = await defaultGetSource(url, { format });
|
|
}
|
|
|
|
return {
|
|
format,
|
|
source,
|
|
};
|
|
}
|
|
|
|
module.exports = {
|
|
defaultLoad,
|
|
};
|