defineConfig
A utility function that provides type-safe configuration for Next.js applications with predefined defaults.
Usage
The defineConfig function provides a type-safe way to configure your Next.js application with smart defaults. It uses deep merging, so you only need to specify the values you want to override.
Basic Usage
import { defineConfig } from '@frend-digital/config/next'
export default defineConfig({ // Your custom config here})Overriding Defaults
import { defineConfig } from '@frend-digital/config/next'
export default defineConfig({ // Override default transpilePackages transpilePackages: [ "@my-org/package", "@another-package" ],
// Add custom configuration reactStrictMode: true, experimental: { serverActions: true }})With Environment Variables
import { defineConfig } from '@frend-digital/config/next'
export default defineConfig({ env: { API_URL: process.env.API_URL, FEATURE_FLAG: process.env.FEATURE_FLAG }})API
Function Signature
function defineConfig(config: Partial<NextConfig>): NextConfigParameters
config(Partial<NextConfig>): A partial Next.js configuration object that will be merged with the default configuration.
Returns
Returns a complete NextConfig object that merges your configuration with the default settings.
Default Configuration
{ // External packages that won't be bundled on the server serverExternalPackages: ["@hyperdx/node"],
// Packages that will be transpiled transpilePackages: [ "@frend-digital/centra", "@frend-digital/next", "@frend-digital/next-dev-tools", ],
// Image configuration images: { loader: "custom", loaderFile: "./src/image-loader.js", },
// Webpack configuration to ignore OpenTelemetry warnings webpack: (config, { isServer }) => { if (isServer) { config.ignoreWarnings = [{ module: /opentelemetry/ }]; } return config; },}