cfg.js 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. "use strict";
  2. var __importDefault = (this && this.__importDefault) || function (mod) {
  3. return (mod && mod.__esModule) ? mod : { "default": mod };
  4. };
  5. Object.defineProperty(exports, "__esModule", { value: true });
  6. exports.makeCfg = void 0;
  7. var fs_1 = __importDefault(require("fs"));
  8. var path_1 = __importDefault(require("path"));
  9. function read(dir) {
  10. var f = path_1.default.resolve(dir, '.node-dev.json');
  11. return fs_1.default.existsSync(f) ? JSON.parse(fs_1.default.readFileSync(f, 'utf-8')) : null;
  12. }
  13. function resolvePath(unresolvedPath) {
  14. return path_1.default.resolve(process.cwd(), unresolvedPath);
  15. }
  16. exports.makeCfg = function (main, opts) {
  17. var dir = main ? path_1.default.dirname(main) : '.';
  18. var userDir = process.env.HOME || process.env.USERPROFILE;
  19. var c = read(dir) || read(process.cwd()) || (userDir && read(userDir)) || {};
  20. c.deps = parseInt(opts['deps-level'] || '') || 0;
  21. if (typeof c.depsLevel === 'number')
  22. c.deps = c.depsLevel;
  23. if (opts) {
  24. // Overwrite with CLI opts ...
  25. if (opts['deps'] || opts['all-deps'])
  26. c.deps = -1;
  27. if (opts.dedupe)
  28. c.dedupe = true;
  29. if (opts.respawn)
  30. c.respawn = true;
  31. if (opts.notify === false)
  32. c.notify = false;
  33. if (opts.clear || opts.cls)
  34. c.clear = true;
  35. c.fork = opts.fork;
  36. }
  37. var ignoreWatchItems = opts['ignore-watch']
  38. ? []
  39. .concat(opts['ignore-watch'])
  40. .map(function (_) { return _.trim(); })
  41. : [];
  42. var ignoreWatch = ignoreWatchItems.concat(c.ignore || []);
  43. opts.debug && console.log('Ignore watch:', ignoreWatch);
  44. var ignore = ignoreWatch.concat(ignoreWatch.map(resolvePath));
  45. return {
  46. vm: c.vm !== false,
  47. fork: c.fork !== false,
  48. notify: c.notify !== false,
  49. deps: c.deps,
  50. timestamp: c.timestamp || (c.timestamp !== false && 'HH:MM:ss'),
  51. clear: !!c.clear,
  52. dedupe: !!c.dedupe,
  53. ignore: ignore,
  54. respawn: c.respawn || false,
  55. debug: !!opts.debug,
  56. quiet: !!opts.quiet,
  57. extensions: c.extensions,
  58. };
  59. };