feat: init

This commit is contained in:
2026-02-13 22:02:30 +01:00
commit 8f9ff830fb
16711 changed files with 3307340 additions and 0 deletions

View File

@@ -0,0 +1,70 @@
import { colors } from 'consola/utils';
import { consola } from 'consola';
import { isMinimal } from 'std-env';
import { updateUser } from 'rc9';
import { statSync, readFileSync } from 'node:fs';
const version = "2.7.0";
const consentVersion = 1;
function updateUserNuxtRc(key, val) {
updateUser({ [key]: val }, ".nuxtrc");
}
let isDockerCached;
function hasDockerEnv() {
try {
statSync("/.dockerenv");
return true;
} catch {
return false;
}
}
function hasDockerCGroup() {
try {
return readFileSync("/proc/self/cgroup", "utf8").includes("docker");
} catch {
return false;
}
}
function hasDockerMountInfo() {
try {
return 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 (isMinimal || process.env.CODESANDBOX_SSE || process.env.NEXT_TELEMETRY_DISABLED || isDocker()) {
return false;
}
consola.restoreAll();
process.stdout.write("\n");
consola.info(`${colors.green("Nuxt")} collects completely anonymous data about usage.
This will help us improve Nuxt developer experience over time.
Read more on ${colors.underline(colors.cyan("https://github.com/nuxt/telemetry"))}
`);
const accepted = await consola.prompt("Are you interested in participating?", {
type: "confirm"
});
process.stdout.write("\n");
consola.wrapAll();
if (accepted) {
updateUserNuxtRc("telemetry.consent", consentVersion);
updateUserNuxtRc("telemetry.enabled", true);
return true;
}
updateUserNuxtRc("telemetry.enabled", false);
return false;
}
export { consentVersion as c, ensureUserconsent as e, isDocker as i, updateUserNuxtRc as u, version as v };