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', } }}
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',
}
}
}