nanoweb-config

1.1.0 • Public • Published

NanowebConfig - Define Config

Overview

The defineConfig function processes a configuration object or an asynchronous function returning a configuration object for NanowebConfig. It ensures that the configuration meets the required structure and throws errors when invalid data is provided.

Installation

Ensure you have the necessary dependencies installed:

npm install nano-format

Usage

Using with an object

import { NANODatabase } from 'nano-format/database'
import { defineConfig, ThemeConfig } from 'nanoweb-config'
const config = {
	DIST_DIR: "./dist",
	PUBLIC_DIR: "./public",
	db: new NANODatabase(),
	theme: new ThemeConfig()
}
const validatedConfig = await defineConfig(config)
console.log(validatedConfig) // prints out the config object

Using with an async function

import { NANODatabase } from 'nano-format/database'
import { defineConfig, ThemeConfig } from 'nanoweb-config'
async function getConfig() {
	return {
		DIST_DIR: "./dist",
		PUBLIC_DIR: "./public",
		db: new NANODatabase(),
		theme: new ThemeConfig()
	}
}

const validatedConfig = await defineConfig(getConfig)
console.log(validatedConfig) // prints out the config object

Error Handling

If an invalid configuration is provided, an error is thrown:

try {
	await defineConfig("invalid config");
} catch (err) {
	console.error(err.message); // Configuration must be an object or function
}

License

This project is licensed under the ISC License.

Package Sidebar

Install

npm i nanoweb-config

Weekly Downloads

1

Version

1.1.0

License

ISC

Unpacked Size

8.66 kB

Total Files

13

Last publish

Collaborators

  • yaro.page