UNPKG

1.37 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3const tslib_1 = require("tslib");
4const semver = tslib_1.__importStar(require("semver"));
5const version = semver.parse(require('../package.json').version);
6const g = global;
7const globals = g['cli-ux'] || (g['cli-ux'] = {});
8const actionType = (!!process.stderr.isTTY &&
9 !process.env.CI &&
10 !['dumb', 'emacs-color'].includes(process.env.TERM) &&
11 'spinner') || 'simple';
12const Action = actionType === 'spinner' ? require('./action/spinner').default : require('./action/simple').default;
13const PrideAction = actionType === 'spinner' ? require('./action/pride-spinner').default : require('./action/simple').default;
14class Config {
15 constructor() {
16 this.outputLevel = 'info';
17 this.action = new Action();
18 this.prideAction = new PrideAction();
19 this.errorsHandled = false;
20 this.showStackTrace = true;
21 }
22 get debug() { return globals.debug || process.env.DEBUG === '*'; }
23 set debug(v) { globals.debug = v; }
24 get context() { return globals.context || {}; }
25 set context(v) { globals.context = v; }
26}
27exports.Config = Config;
28function fetch() {
29 if (globals[version.major])
30 return globals[version.major];
31 return globals[version.major] = new Config();
32}
33exports.config = fetch();
34exports.default = exports.config;