feat: init
This commit is contained in:
76
node_modules/@nuxt/telemetry/dist/shared/telemetry.BikY0E3b.cjs
generated
vendored
Normal file
76
node_modules/@nuxt/telemetry/dist/shared/telemetry.BikY0E3b.cjs
generated
vendored
Normal file
@@ -0,0 +1,76 @@
|
||||
'use strict';
|
||||
|
||||
const utils = require('consola/utils');
|
||||
const consola = require('consola');
|
||||
const stdEnv = require('std-env');
|
||||
const rc = require('rc9');
|
||||
const fs = require('node:fs');
|
||||
|
||||
const version = "2.7.0";
|
||||
|
||||
const consentVersion = 1;
|
||||
|
||||
function updateUserNuxtRc(key, val) {
|
||||
rc.updateUser({ [key]: val }, ".nuxtrc");
|
||||
}
|
||||
|
||||
let isDockerCached;
|
||||
function hasDockerEnv() {
|
||||
try {
|
||||
fs.statSync("/.dockerenv");
|
||||
return true;
|
||||
} catch {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
function hasDockerCGroup() {
|
||||
try {
|
||||
return fs.readFileSync("/proc/self/cgroup", "utf8").includes("docker");
|
||||
} catch {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
function hasDockerMountInfo() {
|
||||
try {
|
||||
return fs.readFileSync("/proc/self/mountinfo", "utf8").includes("/docker/containers/");
|
||||
} catch {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
function isDocker() {
|
||||
isDockerCached ??= hasDockerEnv() || hasDockerCGroup() || hasDockerMountInfo();
|
||||
return isDockerCached;
|
||||
}
|
||||
|
||||
async function ensureUserconsent(options) {
|
||||
if (options.consent && options.consent >= consentVersion) {
|
||||
return true;
|
||||
}
|
||||
if (stdEnv.isMinimal || process.env.CODESANDBOX_SSE || process.env.NEXT_TELEMETRY_DISABLED || isDocker()) {
|
||||
return false;
|
||||
}
|
||||
consola.consola.restoreAll();
|
||||
process.stdout.write("\n");
|
||||
consola.consola.info(`${utils.colors.green("Nuxt")} collects completely anonymous data about usage.
|
||||
This will help us improve Nuxt developer experience over time.
|
||||
Read more on ${utils.colors.underline(utils.colors.cyan("https://github.com/nuxt/telemetry"))}
|
||||
`);
|
||||
const accepted = await consola.consola.prompt("Are you interested in participating?", {
|
||||
type: "confirm"
|
||||
});
|
||||
process.stdout.write("\n");
|
||||
consola.consola.wrapAll();
|
||||
if (accepted) {
|
||||
updateUserNuxtRc("telemetry.consent", consentVersion);
|
||||
updateUserNuxtRc("telemetry.enabled", true);
|
||||
return true;
|
||||
}
|
||||
updateUserNuxtRc("telemetry.enabled", false);
|
||||
return false;
|
||||
}
|
||||
|
||||
exports.consentVersion = consentVersion;
|
||||
exports.ensureUserconsent = ensureUserconsent;
|
||||
exports.isDocker = isDocker;
|
||||
exports.updateUserNuxtRc = updateUserNuxtRc;
|
||||
exports.version = version;
|
||||
Reference in New Issue
Block a user