forked from daren.hsu/line_push
157 lines
3.9 KiB
JavaScript
157 lines
3.9 KiB
JavaScript
'use strict';
|
|
|
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
|
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
|
|
|
|
var destr = _interopDefault(require('destr'));
|
|
var rc = require('rc9');
|
|
var meta = require('./meta-73536716.js');
|
|
var path = require('path');
|
|
var path__default = _interopDefault(path);
|
|
var fs = require('fs');
|
|
var os = _interopDefault(require('os'));
|
|
var consola = _interopDefault(require('consola'));
|
|
var c = _interopDefault(require('chalk'));
|
|
var stdEnv = _interopDefault(require('std-env'));
|
|
var arg = _interopDefault(require('arg'));
|
|
var jiti = _interopDefault(require('jiti'));
|
|
var dotenv = _interopDefault(require('dotenv'));
|
|
|
|
const usage = 'nuxt telemetry `status`|`enable`|`disable` [`-g`,`--global`] [`dir`]';
|
|
const RC_FILENAME = '.nuxtrc';
|
|
|
|
function _run() {
|
|
const args = arg({
|
|
'--global': Boolean,
|
|
'-g': '--global'
|
|
});
|
|
const [command, _dir = '.'] = args._;
|
|
const dir = path.resolve(process.cwd(), _dir);
|
|
const global = args['--global'];
|
|
|
|
if (!global && !fs.existsSync(path.resolve(dir, 'nuxt.config.js')) && !fs.existsSync(path.resolve(dir, 'nuxt.config.ts'))) {
|
|
consola.error('It seems you are not in a nuxt project!');
|
|
consola.info('You can try with providing dir or using `-g`');
|
|
showUsage();
|
|
}
|
|
|
|
switch (command) {
|
|
case 'enable':
|
|
setRC('telemetry.enabled', true);
|
|
setRC('telemetry.consent', meta.consentVersion);
|
|
showStatus();
|
|
consola.info('You can disable telemetry with `npx nuxt telemetry disable ' + (global ? '-g' : _dir));
|
|
return;
|
|
|
|
case 'disable':
|
|
setRC('telemetry.enabled', false);
|
|
setRC('telemetry.consent', 0);
|
|
showStatus();
|
|
consola.info('You can enable telemetry with `npx nuxt telemetry enable ' + (global ? '-g' : _dir) + '`');
|
|
return;
|
|
|
|
case 'status':
|
|
showStatus();
|
|
return;
|
|
|
|
default:
|
|
showUsage();
|
|
}
|
|
|
|
function _checkDisabled() {
|
|
// test
|
|
if (stdEnv.test) {
|
|
return 'Because running in test environment';
|
|
} // env
|
|
|
|
|
|
if (destr(process.env.NUXT_TELEMETRY_DISABLED)) {
|
|
return 'by `NUXT_TELEMETRY_DISABLED` environment variable';
|
|
} // dotenv
|
|
|
|
|
|
const dotenvFile = path.resolve(dir, '.env');
|
|
|
|
if (fs.existsSync(dotenvFile)) {
|
|
const _env = dotenv.parse(fs.readFileSync(dotenvFile));
|
|
|
|
if (destr(_env.NUXT_TELEMETRY_DISABLED)) {
|
|
return 'by `NUXT_TELEMETRY_DISABLED` from ' + dotenvFile;
|
|
}
|
|
}
|
|
|
|
const disabledByConf = conf => conf.telemetry === false || conf.telemetry && conf.telemetry.enabled === false; // nuxt.config
|
|
|
|
|
|
try {
|
|
const _require = jiti(dir);
|
|
|
|
if (disabledByConf(_require('./nuxt.config'))) {
|
|
return 'by ' + _require.resolve('./nuxt.config');
|
|
}
|
|
} catch (_) {} // Projct .nuxtrc
|
|
|
|
|
|
if (disabledByConf(rc.read({
|
|
name: RC_FILENAME,
|
|
dir
|
|
}))) {
|
|
return 'by ' + path.resolve(dir, RC_FILENAME);
|
|
} // Global .nuxtrc
|
|
|
|
|
|
if (disabledByConf(rc.readUser({
|
|
name: RC_FILENAME
|
|
}))) {
|
|
return 'by ' + path.resolve(os.homedir(), RC_FILENAME);
|
|
}
|
|
}
|
|
|
|
function showStatus() {
|
|
const disabled = _checkDisabled();
|
|
|
|
if (disabled) {
|
|
consola.info(`Nuxt telemetry is ${c.yellow('disabled')} ${disabled}`);
|
|
} else {
|
|
consola.info(`Nuxt telemetry is ${c.green('enabled')}`, global ? 'on machine' : 'on current project');
|
|
}
|
|
}
|
|
|
|
function showUsage() {
|
|
consola.info(`Usage: ${usage}`);
|
|
process.exit(0);
|
|
}
|
|
|
|
function setRC(key, val) {
|
|
const update = {
|
|
[key]: val
|
|
};
|
|
|
|
if (global) {
|
|
rc.updateUser(update, RC_FILENAME);
|
|
} else {
|
|
rc.update(update, {
|
|
name: RC_FILENAME,
|
|
dir
|
|
});
|
|
}
|
|
}
|
|
}
|
|
|
|
function run() {
|
|
try {
|
|
_run();
|
|
} catch (err) {
|
|
consola.fatal(err);
|
|
process.exit(1);
|
|
}
|
|
}
|
|
|
|
if (!module.parent) {
|
|
run();
|
|
}
|
|
|
|
exports.run = run;
|
|
exports.usage = usage;
|