Skip to main content
The Config module re-exports all functionality from @adonisjs/config, providing a centralized configuration management system for your AdonisJS application.

Import

import { Config } from '@adonisjs/core/config'
import type { ConfigProvider } from '@adonisjs/core/config'

Overview

The Config module provides classes and utilities for managing application configuration files and environment-specific settings. It allows you to organize configuration data, access nested values, and manage different configurations for different environments.

Classes

Config

The main configuration class for managing application settings.

Constructor

config
object
default:"{}"
Initial configuration object with key-value pairs

Methods

set
Sets a configuration value using dot notation.
key
string
required
The configuration key in dot notation (e.g., ‘database.connection’)
value
any
required
The value to set for the configuration key
return
void
No return value
const config = new Config()
config.set('database.connection', 'mysql')
config.set('app.name', 'My Application')
get
Retrieves a configuration value using dot notation.
key
string
required
The configuration key in dot notation
defaultValue
any
Optional default value to return if the key doesn’t exist
return
any
The configuration value or default value if not found
const config = new Config()
const dbConnection = config.get('database.connection')
const appName = config.get('app.name', 'Default App')
has
Checks if a configuration key exists.
key
string
required
The configuration key to check
return
boolean
Returns true if the key exists, false otherwise
const config = new Config()
if (config.has('database.connection')) {
  console.log('Database connection is configured')
}

Types

ConfigProvider

A provider type for lazy-loading configuration values.
type ConfigProvider<T> = {
  resolver: (app: Application) => Promise<T>
}

Example Usage

import { Config } from '@adonisjs/core/config'

// Create a new config instance
const config = new Config()

// Set configuration values
config.set('database.connection', 'mysql')
config.set('database.host', 'localhost')
config.set('database.port', 3306)

// Get configuration values
const connection = config.get('database.connection')
const host = config.get('database.host')

// Get with default value
const timeout = config.get('database.timeout', 5000)

// Check if key exists
if (config.has('database.ssl')) {
  const ssl = config.get('database.ssl')
}

Notes

  • Configuration keys use dot notation for accessing nested values
  • The Config class is typically instantiated by the AdonisJS framework and available via dependency injection
  • Configuration files are usually stored in the config/ directory of your application