UNPKG

create-ts-index

Version:
79 lines 7.43 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const debug_1 = tslib_1.__importDefault(require("debug")); const fs = tslib_1.__importStar(require("fs")); const json5 = tslib_1.__importStar(require("json5")); const merge = require("merge"); const path = tslib_1.__importStar(require("path")); const CTIUtility_1 = require("../tools/CTIUtility"); const CreateTsIndexOption_1 = require("./CreateTsIndexOption"); const log = debug_1.default('cti:ctircLoader'); const CTIRC_FILENAME = '.ctirc'; function withoutUndefined(value) { const newValue = Object.assign({}, value, { globOptions: Object.assign({}, value.globOptions) }); Object.keys(newValue).forEach((key) => { if (CTIUtility_1.isEmpty(newValue[key])) { delete newValue[key]; } }); Object.keys(newValue.globOptions).forEach((key) => { if (CTIUtility_1.isEmpty(newValue.globOptions[key])) { delete newValue.globOptions[key]; } }); return newValue; } function ctircLoader({ inputDir, cwd, fromCliOption, }) { log(`inputDir: (${inputDir}) /cwd: (${cwd})`); const cleanCliOption = withoutUndefined(fromCliOption); const targetDirs = (() => { const target = new Set(); if (CTIUtility_1.isNotEmpty(inputDir) && fs.existsSync(inputDir) && fs.existsSync(path.join(inputDir, CTIRC_FILENAME))) { target.add(inputDir); } if (fs.existsSync(cwd) && fs.existsSync(path.join(cwd, CTIRC_FILENAME))) { target.add(cwd); } return Array.from(target); })(); log('targetDirs: ', targetDirs); try { if (targetDirs.length <= 0) { return { option: new CreateTsIndexOption_1.CreateTsIndexOption(CreateTsIndexOption_1.CreateTsIndexOption.getOption(cleanCliOption)), readedFrom: 'from cli option', }; } const fromConfigfiles = targetDirs.map((targetDir) => { const ctircPath = path.join(targetDir, CTIRC_FILENAME); const rawConf = fs.readFileSync(ctircPath).toString(); const fromConfigfile = Object.assign({}, json5.parse(rawConf), { globOptions: { cwd: inputDir } }); return fromConfigfile; }); const mergedCTIRC = fromConfigfiles.reduce((src, dst) => merge.recursive(true, src, dst)); mergedCTIRC.__for_debug_from = 'from-config-file'; if (Object.keys(cleanCliOption).length > 0) { cleanCliOption.__for_debug_from = 'from-cli-option'; } const option = [ Object.assign({ __for_debug_from: 'from-default-config' }, CreateTsIndexOption_1.getDefailtICreateTsIndexOption()), mergedCTIRC, cleanCliOption, ].reduce((src, dst) => merge.recursive(true, src, dst)); log('final option-1: ', mergedCTIRC); log('final option-2: ', cleanCliOption); log('final option-3: ', option); return { option: CreateTsIndexOption_1.CreateTsIndexOption.factory({ option }), readedFrom: 'from config file' }; } catch (err) { log(err.message); log(err.stack); const option = new CreateTsIndexOption_1.CreateTsIndexOption(); return { option, readedFrom: '' }; } } exports.ctircLoader = ctircLoader; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3RpcmNMb2FkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvb3B0aW9ucy9jdGlyY0xvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwwREFBMEI7QUFDMUIsK0NBQXlCO0FBQ3pCLHFEQUErQjtBQUMvQiwrQkFBZ0M7QUFDaEMsbURBQTZCO0FBQzdCLG9EQUEwRDtBQUMxRCwrREFBNEY7QUFHNUYsTUFBTSxHQUFHLEdBQUcsZUFBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFDckMsTUFBTSxjQUFjLEdBQUcsUUFBUSxDQUFDO0FBRWhDLFNBQVMsZ0JBQWdCLENBQ3ZCLEtBQW9DO0lBRXBDLE1BQU0sUUFBUSxxQkFBUSxLQUFLLEVBQUssRUFBRSxXQUFXLG9CQUFPLEtBQUssQ0FBQyxXQUFXLENBQUUsRUFBRSxDQUFFLENBQUM7SUFFNUUsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtRQUNwQyxJQUFJLG9CQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7WUFDMUIsT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDdEI7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUVILE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1FBQ2hELElBQUksb0JBQU8sQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7WUFDdEMsT0FBTyxRQUFRLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ2xDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLFFBQVEsQ0FBQztBQUNsQixDQUFDO0FBRUQsU0FBZ0IsV0FBVyxDQUFDLEVBQzFCLFFBQVEsRUFDUixHQUFHLEVBQ0gsYUFBYSxHQUtkO0lBQ0Ms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