mirror of
https://github.com/oven-sh/setup-bun.git
synced 2025-07-19 04:58:25 +02:00
Next release of setup-bun
This commit is contained in:
parent
ed9eb0969c
commit
9c14b74b45
1082 changed files with 242557 additions and 173810 deletions
106
node_modules/ts-node/dist-raw/node-internal-modules-esm-get_format.js
generated
vendored
Normal file
106
node_modules/ts-node/dist-raw/node-internal-modules-esm-get_format.js
generated
vendored
Normal file
|
@ -0,0 +1,106 @@
|
|||
// Copied from https://raw.githubusercontent.com/nodejs/node/v15.3.0/lib/internal/modules/esm/get_format.js
|
||||
|
||||
'use strict';
|
||||
const {
|
||||
RegExpPrototypeExec,
|
||||
StringPrototypeStartsWith,
|
||||
} = require('./node-primordials');
|
||||
const { extname } = require('path');
|
||||
const { getOptionValue } = require('./node-options');
|
||||
|
||||
const [nodeMajor, nodeMinor] = process.versions.node.split('.').map(s => parseInt(s, 10));
|
||||
const experimentalJsonModules =
|
||||
nodeMajor > 17
|
||||
|| (nodeMajor === 17 && nodeMinor >= 5)
|
||||
|| (nodeMajor === 16 && nodeMinor >= 15)
|
||||
|| getOptionValue('--experimental-json-modules');
|
||||
const experimentalWasmModules = getOptionValue('--experimental-wasm-modules');
|
||||
const { URL, fileURLToPath } = require('url');
|
||||
const { ERR_UNKNOWN_FILE_EXTENSION } = require('./node-internal-errors').codes;
|
||||
|
||||
const extensionFormatMap = {
|
||||
'__proto__': null,
|
||||
'.cjs': 'commonjs',
|
||||
'.js': 'module',
|
||||
'.mjs': 'module'
|
||||
};
|
||||
|
||||
const legacyExtensionFormatMap = {
|
||||
'__proto__': null,
|
||||
'.cjs': 'commonjs',
|
||||
'.js': 'commonjs',
|
||||
'.json': 'commonjs',
|
||||
'.mjs': 'module',
|
||||
'.node': 'commonjs'
|
||||
};
|
||||
|
||||
if (experimentalWasmModules)
|
||||
extensionFormatMap['.wasm'] = legacyExtensionFormatMap['.wasm'] = 'wasm';
|
||||
|
||||
if (experimentalJsonModules)
|
||||
extensionFormatMap['.json'] = legacyExtensionFormatMap['.json'] = 'json';
|
||||
|
||||
/**
|
||||
*
|
||||
* @param {'node' | 'explicit'} [tsNodeExperimentalSpecifierResolution]
|
||||
* @param {ReturnType<
|
||||
* typeof import('../dist-raw/node-internal-modules-esm-resolve').createResolve
|
||||
* >} nodeEsmResolver
|
||||
*/
|
||||
function createGetFormat(tsNodeExperimentalSpecifierResolution, nodeEsmResolver) {
|
||||
// const experimentalSpeciferResolution = tsNodeExperimentalSpecifierResolution ?? getOptionValue('--experimental-specifier-resolution');
|
||||
let experimentalSpeciferResolution = tsNodeExperimentalSpecifierResolution != null ? tsNodeExperimentalSpecifierResolution : getOptionValue('--experimental-specifier-resolution');
|
||||
const { getPackageType } = nodeEsmResolver;
|
||||
|
||||
/**
|
||||
* @param {string} url
|
||||
* @param {{}} context
|
||||
* @param {any} defaultGetFormatUnused
|
||||
* @returns {ReturnType<import('../src/esm').NodeLoaderHooksAPI1.GetFormatHook>}
|
||||
*/
|
||||
function defaultGetFormat(url, context, defaultGetFormatUnused) {
|
||||
if (StringPrototypeStartsWith(url, 'node:')) {
|
||||
return { format: 'builtin' };
|
||||
}
|
||||
const parsed = new URL(url);
|
||||
if (parsed.protocol === 'data:') {
|
||||
const [ , mime ] = RegExpPrototypeExec(
|
||||
/^([^/]+\/[^;,]+)(?:[^,]*?)(;base64)?,/,
|
||||
parsed.pathname,
|
||||
) || [ null, null, null ];
|
||||
const format = ({
|
||||
'__proto__': null,
|
||||
'text/javascript': 'module',
|
||||
'application/json': experimentalJsonModules ? 'json' : null,
|
||||
'application/wasm': experimentalWasmModules ? 'wasm' : null
|
||||
})[mime] || null;
|
||||
return { format };
|
||||
} else if (parsed.protocol === 'file:') {
|
||||
const ext = extname(parsed.pathname);
|
||||
let format;
|
||||
if (ext === '.js') {
|
||||
format = getPackageType(parsed.href) === 'module' ? 'module' : 'commonjs';
|
||||
} else {
|
||||
format = extensionFormatMap[ext];
|
||||
}
|
||||
if (!format) {
|
||||
if (experimentalSpeciferResolution === 'node') {
|
||||
process.emitWarning(
|
||||
'The Node.js specifier resolution in ESM is experimental.',
|
||||
'ExperimentalWarning');
|
||||
format = legacyExtensionFormatMap[ext];
|
||||
} else {
|
||||
throw new ERR_UNKNOWN_FILE_EXTENSION(ext, fileURLToPath(url));
|
||||
}
|
||||
}
|
||||
return { format: format || null };
|
||||
}
|
||||
return { format: null };
|
||||
}
|
||||
|
||||
return {defaultGetFormat};
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
createGetFormat
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue