Create nested App Config using a folder structure.
This module will be helpful for large projects with a lot of configurations. If you have small to medium project, 99% you will not benefit from the "config section per file" approach :)
- 🗂 Generate App Config using a folder structure
- 🍹 No need for redundant index files and re-exports
- 📃 Supports
js
,ts
andjson
files - 🥞 Supports Nuxt layers
Install the module to your Nuxt application with one command:
npx nuxi module add nuxt-app-config-plus
That's it! You can now use Nuxt App Config Plus in your Nuxt app ✨
The nuxt-app-config-plus
module allows you to generate App Config based on a specified folder structure. It supports js
, ts
, and json
files and is compatible with Nuxt layers.
In some cases, you may want certain configurations to be available only for the server hanlders (Nitro) and not included in the client-side bundle. This can be useful for configurations that are only relevant to the server environment.
To mark a config as server-side only, simply put it under server
folder. The module will then only include this configuration to the Nitro App Config:
/app-config
/server
bar.ts
In this example, the bar.ts
file inside the server
folder will only be included in the server-side Nitro config.
The dir option allows you to specify the directory that the module should scan for configuration files. By default, the module scans the /app-config
directory in the root of your project.
By default, module uses the folder names as keys in the App Config object exactly as they are. This means that the keys are case-sensitive. For example, a folder named MyFolder
would result in a key MyFolder
in the configuration object.
You can change this default behavior by setting case
to camelCase
or kebabCase
, so the module will convert all folder names to camel case or kebab case respectively.
Local development
# Install dependencies
pnpm install
# Generate type stubs
pnpm dev:prepare
# Develop with the playground
pnpm dev
# Build the playground
pnpm dev:build
# Run ESLint
pnpm lint
# Run Vitest
pnpm test
pnpm test:watch
# Release new version
pnpm release
Made with 💚
Published under the MIT License.