PHP 8.2.30
Preview: apply-extends.js Size: 2.43 KB
//proc/thread-self/root/home/byroehnu/.trash/node_modules11/yargs/build/lib/apply-extends.js

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.applyExtends = void 0;
const fs = require("fs");
const path = require("path");
const yerror_1 = require("./yerror");
let previouslyVisitedConfigs = [];
function checkForCircularExtends(cfgPath) {
    if (previouslyVisitedConfigs.indexOf(cfgPath) > -1) {
        throw new yerror_1.YError(`Circular extended configurations: '${cfgPath}'.`);
    }
}
function getPathToDefaultConfig(cwd, pathToExtend) {
    return path.resolve(cwd, pathToExtend);
}
function mergeDeep(config1, config2) {
    const target = {};
    function isObject(obj) {
        return obj && typeof obj === 'object' && !Array.isArray(obj);
    }
    Object.assign(target, config1);
    for (const key of Object.keys(config2)) {
        if (isObject(config2[key]) && isObject(target[key])) {
            target[key] = mergeDeep(config1[key], config2[key]);
        }
        else {
            target[key] = config2[key];
        }
    }
    return target;
}
function applyExtends(config, cwd, mergeExtends = false) {
    let defaultConfig = {};
    if (Object.prototype.hasOwnProperty.call(config, 'extends')) {
        if (typeof config.extends !== 'string')
            return defaultConfig;
        const isPath = /\.json|\..*rc$/.test(config.extends);
        let pathToDefault = null;
        if (!isPath) {
            try {
                pathToDefault = require.resolve(config.extends);
            }
            catch (err) {
                // most likely this simply isn't a module.
            }
        }
        else {
            pathToDefault = getPathToDefaultConfig(cwd, config.extends);
        }
        // maybe the module uses key for some other reason,
        // err on side of caution.
        if (!pathToDefault && !isPath)
            return config;
        if (!pathToDefault)
            throw new yerror_1.YError(`Unable to find extended config '${config.extends}' in '${cwd}'.`);
        checkForCircularExtends(pathToDefault);
        previouslyVisitedConfigs.push(pathToDefault);
        defaultConfig = isPath ? JSON.parse(fs.readFileSync(pathToDefault, 'utf8')) : require(config.extends);
        delete config.extends;
        defaultConfig = applyExtends(defaultConfig, path.dirname(pathToDefault), mergeExtends);
    }
    previouslyVisitedConfigs = [];
    return mergeExtends ? mergeDeep(defaultConfig, config) : Object.assign({}, defaultConfig, config);
}
exports.applyExtends = applyExtends;

Directory Contents

Dirs: 0 × Files: 32

Name Size Perms Modified Actions
152 B lrw-r--r-- 2026-02-27 09:45:04
Edit Download
2.43 KB lrw-r--r-- 2026-02-27 09:44:56
Edit Download
178 B lrw-r--r-- 2026-02-27 09:45:04
Edit Download
2.69 KB lrw-r--r-- 2026-02-27 09:44:56
Edit Download
3.07 KB lrw-r--r-- 2026-02-27 09:45:04
Edit Download
17.61 KB lrw-r--r-- 2026-02-27 09:44:58
Edit Download
1.18 KB lrw-r--r-- 2026-02-27 09:45:04
Edit Download
774 B lrw-r--r-- 2026-02-27 09:44:58
Edit Download
1.43 KB lrw-r--r-- 2026-02-27 09:45:04
Edit Download
1.49 KB lrw-r--r-- 2026-02-27 09:44:58
Edit Download
994 B lrw-r--r-- 2026-02-27 09:45:04
Edit Download
6.04 KB lrw-r--r-- 2026-02-27 09:44:58
Edit Download
96 B lrw-r--r-- 2026-02-27 09:45:04
Edit Download
284 B lrw-r--r-- 2026-02-27 09:44:58
Edit Download
67 B lrw-r--r-- 2026-02-27 09:45:04
Edit Download
2.30 KB lrw-r--r-- 2026-02-27 09:44:58
Edit Download
764 B lrw-r--r-- 2026-02-27 09:45:04
Edit Download
2.46 KB lrw-r--r-- 2026-02-27 09:44:58
Edit Download
119 B lrw-r--r-- 2026-02-27 09:45:04
Edit Download
438 B lrw-r--r-- 2026-02-27 09:45:00
Edit Download
309 B lrw-r--r-- 2026-02-27 09:45:04
Edit Download
1.17 KB lrw-r--r-- 2026-02-27 09:45:00
Edit Download
115 B lrw-r--r-- 2026-02-27 09:45:04
Edit Download
1.35 KB lrw-r--r-- 2026-02-27 09:45:00
Edit Download
2.05 KB lrw-r--r-- 2026-02-27 09:45:04
Edit Download
19.94 KB lrw-r--r-- 2026-02-27 09:45:00
Edit Download
1.71 KB lrw-r--r-- 2026-02-27 09:45:04
Edit Download
13.13 KB lrw-r--r-- 2026-02-27 09:45:00
Edit Download
12.14 KB lrw-r--r-- 2026-02-27 09:45:04
Edit Download
47.52 KB lrw-r--r-- 2026-02-27 09:45:00
Edit Download
102 B lrw-r--r-- 2026-02-27 09:45:04
Edit Download
301 B lrw-r--r-- 2026-02-27 09:45:00
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).