35 lines · 1.0 KB · TypeScript
RawDownload
import { readFile } from 'node:fs/promises'import { resolve } from 'node:path'import { withHttps } from 'ufo' export function inferSiteURL() {  // https://github.com/unjs/std-env/issues/59  const url = (    process.env.NUXT_PUBLIC_SITE_URL // Nuxt public runtime config    || process.env.NUXT_SITE_URL // Nuxt site config    || process.env.VERCEL_PROJECT_PRODUCTION_URL // Vercel production URL    || process.env.VERCEL_BRANCH_URL // Vercel branch URL    || process.env.VERCEL_URL // Vercel deployment URL    || process.env.URL // Netlify    || process.env.CI_PAGES_URL // Gitlab Pages    || process.env.CF_PAGES_URL // Cloudflare Pages  )   return url ? withHttps(url) : undefined} export async function getPackageJsonMetadata(dir: string) {  try {    const packageJson = await readFile(resolve(dir, 'package.json'), 'utf-8')    const parsed = JSON.parse(packageJson)    return {      name: parsed.name,      description: parsed.description,    }  }  catch {    return {      name: 'docs',    }  }}