60 lines
2.1 KiB
JavaScript
60 lines
2.1 KiB
JavaScript
"use strict";
|
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
};
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.makeCfg = void 0;
|
|
var fs_1 = __importDefault(require("fs"));
|
|
var path_1 = __importDefault(require("path"));
|
|
function read(dir) {
|
|
var f = path_1.default.resolve(dir, '.node-dev.json');
|
|
return fs_1.default.existsSync(f) ? JSON.parse(fs_1.default.readFileSync(f, 'utf-8')) : null;
|
|
}
|
|
function resolvePath(unresolvedPath) {
|
|
return path_1.default.resolve(process.cwd(), unresolvedPath);
|
|
}
|
|
exports.makeCfg = function (main, opts) {
|
|
var dir = main ? path_1.default.dirname(main) : '.';
|
|
var userDir = process.env.HOME || process.env.USERPROFILE;
|
|
var c = read(dir) || read(process.cwd()) || (userDir && read(userDir)) || {};
|
|
c.deps = parseInt(opts['deps-level'] || '') || 0;
|
|
if (typeof c.depsLevel === 'number')
|
|
c.deps = c.depsLevel;
|
|
if (opts) {
|
|
// Overwrite with CLI opts ...
|
|
if (opts['deps'] || opts['all-deps'])
|
|
c.deps = -1;
|
|
if (opts.dedupe)
|
|
c.dedupe = true;
|
|
if (opts.respawn)
|
|
c.respawn = true;
|
|
if (opts.notify === false)
|
|
c.notify = false;
|
|
if (opts.clear || opts.cls)
|
|
c.clear = true;
|
|
c.fork = opts.fork;
|
|
}
|
|
var ignoreWatchItems = opts['ignore-watch']
|
|
? []
|
|
.concat(opts['ignore-watch'])
|
|
.map(function (_) { return _.trim(); })
|
|
: [];
|
|
var ignoreWatch = ignoreWatchItems.concat(c.ignore || []);
|
|
opts.debug && console.log('Ignore watch:', ignoreWatch);
|
|
var ignore = ignoreWatch.concat(ignoreWatch.map(resolvePath));
|
|
return {
|
|
vm: c.vm !== false,
|
|
fork: c.fork !== false,
|
|
notify: c.notify !== false,
|
|
deps: c.deps,
|
|
timestamp: c.timestamp || (c.timestamp !== false && 'HH:MM:ss'),
|
|
clear: !!c.clear,
|
|
dedupe: !!c.dedupe,
|
|
ignore: ignore,
|
|
respawn: c.respawn || false,
|
|
debug: !!opts.debug,
|
|
quiet: !!opts.quiet,
|
|
extensions: c.extensions,
|
|
};
|
|
};
|