UNPKG

nuxi

Version:
100 lines (99 loc) 2.56 kB
import { t as defineCommand } from "./dist-B03QHgrC.mjs"; import { a as k } from "./dist-BkNIIgFa.mjs"; import { a as legacyRootDirArgs, i as extendsArgs, n as dotEnvArgs, o as logLevelArgs, t as cwdArgs } from "./_shared-D6pJgr6t.mjs"; import { c as resolve } from "./pathe.M-eThtNZ-BfnU2wdd.mjs"; import { a as resolveModulePath, t as loadKit } from "./kit-Bx45zdA5.mjs"; import { i as readTSConfig } from "./dist-BPzTdxaO.mjs"; import { t as V } from "./main-BD07ngkv.mjs"; import process from "node:process"; //#region src/commands/typecheck.ts var typecheck_default = defineCommand({ meta: { name: "typecheck", description: "Runs `vue-tsc` to check types throughout your app." }, args: { ...cwdArgs, ...logLevelArgs, ...dotEnvArgs, ...extendsArgs, ...legacyRootDirArgs }, async run(ctx) { process.env.NODE_ENV = process.env.NODE_ENV || "production"; const cwd = resolve(ctx.args.cwd || ctx.args.rootDir); const [supportsProjects, resolvedTypeScript, resolvedVueTsc] = await Promise.all([ readTSConfig(cwd).then((r) => !!r.references?.length), resolveModulePath("typescript", { try: true }), resolveModulePath("vue-tsc/bin/vue-tsc.js", { try: true }), writeTypes(cwd, ctx.args.dotenv, ctx.args.logLevel, { ...ctx.data?.overrides, ...ctx.args.extends && { extends: ctx.args.extends } }) ]); const typeCheckArgs = supportsProjects ? ["-b", "--noEmit"] : ["--noEmit"]; if (resolvedTypeScript && resolvedVueTsc) return await V(resolvedVueTsc, typeCheckArgs, { throwOnError: true, nodeOptions: { stdio: "inherit", cwd } }); if (k) { await V("bun", [ "install", "typescript", "vue-tsc", "--global", "--silent" ], { throwOnError: true, nodeOptions: { stdio: "inherit", cwd } }); return await V("bunx", ["vue-tsc", ...typeCheckArgs], { throwOnError: true, nodeOptions: { stdio: "inherit", cwd } }); } await V("npx", [ "-p", "vue-tsc", "-p", "typescript", "vue-tsc", ...typeCheckArgs ], { throwOnError: true, nodeOptions: { stdio: "inherit", cwd } }); } }); async function writeTypes(cwd, dotenv, logLevel, overrides) { const { loadNuxt, buildNuxt, writeTypes } = await loadKit(cwd); const nuxt = await loadNuxt({ cwd, dotenv: { cwd, fileName: dotenv }, overrides: { _prepare: true, logLevel, ...overrides } }); await writeTypes(nuxt); await buildNuxt(nuxt); await nuxt.close(); } //#endregion export { typecheck_default as default };