Files
wehub-resource-sync d48cda4081
CI / Test (ubuntu-latest, Node 18.x, bun) (push) Failing after 15m1s
CI / Test (ubuntu-latest, Node 18.x, npm) (push) Failing after 15m1s
CI / Test (ubuntu-latest, Node 18.x, pnpm) (push) Failing after 15m1s
CI / Test (ubuntu-latest, Node 18.x, yarn) (push) Failing after 15m1s
CI / Test (ubuntu-latest, Node 20.x, bun) (push) Failing after 17m13s
CI / Test (ubuntu-latest, Node 20.x, npm) (push) Failing after 18m42s
CI / Test (ubuntu-latest, Node 20.x, pnpm) (push) Failing after 15m0s
CI / Test (ubuntu-latest, Node 20.x, yarn) (push) Failing after 49m44s
CI / Test (ubuntu-latest, Node 22.x, bun) (push) Failing after 51m55s
CI / Test (ubuntu-latest, Node 22.x, pnpm) (push) Failing after 21m57s
CI / Test (ubuntu-latest, Node 22.x, npm) (push) Failing after 37m39s
CI / Test (ubuntu-latest, Node 22.x, yarn) (push) Failing after 34m7s
CI / Validate Components (push) Failing after 37m15s
CI / Python Tests (push) Failing after 10m1s
CI / Security Scan (push) Failing after 10m1s
CI / Lint (push) Failing after 17m12s
CI / Coverage (push) Failing after 20m19s
CI / Test (macos-latest, Node 18.x, bun) (push) Has been cancelled
CI / Test (macos-latest, Node 18.x, npm) (push) Has been cancelled
CI / Test (macos-latest, Node 18.x, pnpm) (push) Has been cancelled
CI / Test (macos-latest, Node 18.x, yarn) (push) Has been cancelled
CI / Test (windows-latest, Node 18.x, npm) (push) Has been cancelled
CI / Test (windows-latest, Node 18.x, pnpm) (push) Has been cancelled
CI / Test (windows-latest, Node 18.x, yarn) (push) Has been cancelled
CI / Test (macos-latest, Node 20.x, bun) (push) Has been cancelled
CI / Test (macos-latest, Node 20.x, npm) (push) Has been cancelled
CI / Test (macos-latest, Node 20.x, pnpm) (push) Has been cancelled
CI / Test (macos-latest, Node 20.x, yarn) (push) Has been cancelled
CI / Test (windows-latest, Node 20.x, npm) (push) Has been cancelled
CI / Test (windows-latest, Node 20.x, pnpm) (push) Has been cancelled
CI / Test (windows-latest, Node 20.x, yarn) (push) Has been cancelled
CI / Test (macos-latest, Node 22.x, bun) (push) Has been cancelled
CI / Test (macos-latest, Node 22.x, npm) (push) Has been cancelled
CI / Test (macos-latest, Node 22.x, pnpm) (push) Has been cancelled
CI / Test (macos-latest, Node 22.x, yarn) (push) Has been cancelled
CI / Test (windows-latest, Node 22.x, npm) (push) Has been cancelled
CI / Test (windows-latest, Node 22.x, pnpm) (push) Has been cancelled
CI / Test (windows-latest, Node 22.x, yarn) (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 11:55:55 +08:00

2.1 KiB

paths
paths
**/nuxt.config.*
**/app.config.*
**/app.vue
**/pages/**
**/layouts/**
**/middleware/**

Nuxt Coding Style

This file extends common/coding-style.md with Nuxt specific content.

Directory layout

  • Default srcDir is app/. Framework files live at app/pages/, app/layouts/, app/middleware/, app/plugins/, app/app.config.ts. nuxt.config.ts and server/ stay at project root.
  • Some projects override srcDir to src/ for a Feature-Sliced Design layout, remapping dir.pages (for example to src/app/routes), dir.layouts, and the @/~ aliases. Always check nuxt.config.ts before assuming a path.

Auto-imports discipline

  • Composables in app/composables/ and server/utils/ auto-import. Do NOT manually import Nuxt composables (useFetch, useState, navigateTo) or defineStore / storeToRefs.
  • Do NOT add a standalone vue-router dep (Nuxt bundles v5) or hand-mount createApp / createPinia / createRouter. The framework wires these.

Compiler macros

  • definePageMeta is a compile-time macro. Static values only, no reactive data and no side-effect calls inside it.
  • Augment typed PageMeta via declare module '#app' rather than casting.

Config file separation

Three distinct files, do not conflate.

  • nuxt.config.ts = build-time only (routeRules, modules, nitro, ssr flag). Not reactive.
  • runtimeConfig (inside nuxt.config) = per-env runtime values, env-overridable via NUXT_*. Root keys are server-only, public keys are client-visible.
  • app/app.config.ts = public build-fixed reactive settings (theme tokens, feature flags). No env override. NEVER secrets.

Head and meta

  • app.head in nuxt.config.ts takes static values only.
  • Reactive meta goes through useHead / useSeoMeta in component setup, never via app.head.

Reference