Ajout de promotion et de commande

This commit is contained in:
Aubert Marvin
2026-04-25 15:28:39 +02:00
parent eddb103755
commit faa3d7718c
8428 changed files with 1126442 additions and 6 deletions
+126
View File
@@ -0,0 +1,126 @@
'use strict';
var $RangeError = require('es-errors/range');
var $TypeError = require('es-errors/type');
var isCategory = require('./isCategory');
// pre-computed condition sets
/** @type {['import', 'node', 'require', 'default']} */
var base = [
'import',
'node',
'require',
'default'
];
/** @type {['import', 'node', 'default']} */
var baseImport = [
'import',
'node',
'default'
];
/** @type {['node', 'require', 'default']} */
var baseRequire = [
'node',
'require',
'default'
];
/** @type {['import', 'node-addons', 'node', 'require', 'default']} */
var withAddons = [
'import',
'node-addons',
'node',
'require',
'default'
];
/** @type {['import', 'node-addons', 'node', 'default']} */
var withAddonsImport = [
'import',
'node-addons',
'node',
'default'
];
/** @type {['node-addons', 'node', 'require', 'default']} */
var withAddonsRequire = [
'node-addons',
'node',
'require',
'default'
];
/** @type {['import', 'node-addons', 'node', 'require', 'module-sync', 'default']} */
var withAddonsModuleSync = [
'import',
'node-addons',
'node',
'require',
'module-sync',
'default'
];
/** @type {['import', 'node-addons', 'node', 'module-sync', 'default']} */
var withAddonsModuleSyncImport = [
'import',
'node-addons',
'node',
'module-sync',
'default'
];
/** @type {['node-addons', 'node', 'require', 'module-sync', 'default']} */
var withAddonsModuleSyncRequire = [
'node-addons',
'node',
'require',
'module-sync',
'default'
];
// categories that support node-addons condition (added in v14.19/v16.10)
/** @type {{ [k: string]: boolean | null | undefined }} */
var nodeAddonsCategories = {
__proto__: null,
'pattern-trailers': true,
'pattern-trailers+json-imports': true,
'pattern-trailers-no-dir-slash': true,
'pattern-trailers-no-dir-slash+json-imports': true,
'require-esm': true,
'strips-types': true,
'subpath-imports-slash': true
};
// categories that support module-sync condition (added in v22.12)
/** @type {{ [k: string]: boolean | null | undefined }} */
var moduleSyncCategories = {
__proto__: null,
'require-esm': true,
'strips-types': true,
'subpath-imports-slash': true
};
/** @type {import('./getConditionsForCategory')} */
module.exports = function getConditionsForCategory(category) {
if (!isCategory(category)) {
throw new $RangeError('invalid category ' + category);
}
var moduleSystem = arguments.length > 1 ? arguments[1] : null;
if (arguments.length > 1 && moduleSystem !== 'import' && moduleSystem !== 'require') {
throw new $TypeError('invalid moduleSystem: must be `\'require\'` or `\'import\'` if provided, got' + moduleSystem);
}
if (category === 'experimental') {
return ['default'];
}
if (category === 'broken' || category === 'pre-exports') {
return null;
}
var hasAddons = !!nodeAddonsCategories[category];
var hasModuleSync = !!moduleSyncCategories[category];
if (hasAddons && hasModuleSync) {
return moduleSystem === 'import' ? withAddonsModuleSyncImport : moduleSystem === 'require' ? withAddonsModuleSyncRequire : withAddonsModuleSync;
}
if (hasAddons) {
return moduleSystem === 'import' ? withAddonsImport : moduleSystem === 'require' ? withAddonsRequire : withAddons;
}
return moduleSystem === 'import' ? baseImport : moduleSystem === 'require' ? baseRequire : base;
};