UNPKG

@dual-bundle/import-meta-resolve

Version:

A fork of `import-meta-resolve` with commonjs + ESM support at the same time, AKA dual package.

48 lines (39 loc) 1.19 kB
// Manually “tree shaken” from: // <https://github.com/nodejs/node/blob/81a9a97/lib/internal/modules/esm/utils.js> // Last checked on: Apr 29, 2024. import {codes} from './errors.js' const {ERR_INVALID_ARG_VALUE} = codes // In Node itself these values are populated from CLI arguments, before any // user code runs. // Here we just define the defaults. const DEFAULT_CONDITIONS = Object.freeze(['node', 'import']) const DEFAULT_CONDITIONS_SET = new Set(DEFAULT_CONDITIONS) /** * Returns the default conditions for ES module loading. */ function getDefaultConditions() { return DEFAULT_CONDITIONS } /** * Returns the default conditions for ES module loading, as a Set. */ function getDefaultConditionsSet() { return DEFAULT_CONDITIONS_SET } /** * @param {Array<string>} [conditions] * @returns {Set<string>} */ export function getConditionsSet(conditions) { if (conditions !== undefined && conditions !== getDefaultConditions()) { if (!Array.isArray(conditions)) { throw new ERR_INVALID_ARG_VALUE( 'conditions', conditions, 'expected an array' ) } return new Set(conditions) } return getDefaultConditionsSet() }