UNPKG

makit

Version:

Make in JavaScript done right!

36 lines (35 loc) 1.37 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.parse = void 0; const logger_1 = require("./utils/logger"); const path_1 = require("path"); const fs_1 = require("fs"); const dot_reporter_1 = require("./reporters/dot-reporter"); const text_reporter_1 = require("./reporters/text-reporter"); const reporters = { dot: () => new dot_reporter_1.DotReporter(), text: () => new text_reporter_1.TextReporter() }; function parse(args, pkg) { const defaults = { database: './.makit.db', makefile: ['makefile.js', 'makefile.ts'], graph: false }; const raw = Object.assign(defaults, pkg.makit, args); const loglevel = raw.debug ? logger_1.LogLevel.debug : (raw.verbose ? logger_1.LogLevel.verbose : (raw.loglevel || logger_1.LogLevel.default)); const database = raw.database; const graph = raw.graph; const require = raw.require; const makefile = lookupMakefile(Array.isArray(raw.makefile) ? raw.makefile : [raw.makefile]); const reporter = reporters[raw.reporter](); return { loglevel, database, graph, require, makefile, reporter }; } exports.parse = parse; function lookupMakefile(makefiles) { for (const makefile of makefiles) { if (fs_1.existsSync(makefile)) return path_1.resolve(makefile); } throw new Error('makefile not found'); }