UNPKG

1.54 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 = (Boolean(process.stderr.isTTY) &&
9 !process.env.CI &&
10 !['dumb', 'emacs-color'].includes(process.env.TERM) &&
11 'spinner') || 'simple';
12/* eslint-disable node/no-missing-require */
13const Action = actionType === 'spinner' ? require('./action/spinner').default : require('./action/simple').default;
14const PrideAction = actionType === 'spinner' ? require('./action/pride-spinner').default : require('./action/simple').default;
15/* eslint-enable node/no-missing-require */
16class Config {
17 constructor() {
18 this.outputLevel = 'info';
19 this.action = new Action();
20 this.prideAction = new PrideAction();
21 this.errorsHandled = false;
22 this.showStackTrace = true;
23 }
24 get debug() {
25 return globals.debug || process.env.DEBUG === '*';
26 }
27 set debug(v) {
28 globals.debug = v;
29 }
30 get context() {
31 return globals.context || {};
32 }
33 set context(v) {
34 globals.context = v;
35 }
36}
37exports.Config = Config;
38function fetch() {
39 if (globals[version.major])
40 return globals[version.major];
41 globals[version.major] = new Config();
42 return globals[version.major];
43}
44exports.config = fetch();
45exports.default = exports.config;