@cuww/runtime-env
TypeScript icon, indicating that this package has built-in type declarations

1.0.7 • Public • Published

Runtime Environments for NextJs

Runtime Environment Variables for frontend applications build with NextJs. It simplifies the process of storing and managing environment variables. Forget about the hassle of storing and configuring CI/CD pipelines specifically for frontend apps, simply use kubernetes, etc.

Features

  • Cloud-native: Make you frontend application Cloud-native: store and manage environment variables in a centralized solution like Kubernetes.
  • Simplified configuration: Easily configure runtime environment variables for your Next.js frontend applications.
  • Seamless integration: Integrate into your existing Next.js projects with only 2 line of code.
  • Enhanced security: Ensure secure handling of sensitive information by storing it in a centralized and protected environment. Keep using NEXT_PUBLIC_* as you get used to.
  • Effortless CI/CD: Eliminate the need for separate CI/CD configuration for frontend apps and simplify your deployment process.

Installation

You can install the @cuww/runtime-env package using npm:

npm install @cuww/runtime-env

or yarn:

yarn add @cuww/runtime-env

Usage

Follow these steps:

Configure next.config.js

const { withRuntimeEnv } = require('@cuww/runtime-env/dist/next');

const config = {
  ...
}

module.exports = withRuntimeEnv(config)

Configure _document.tsx

Add <PublicRuntimeEnvProvider/> as in the example

import { PublicRuntimeEnvProvider } from '@cuww/runtime-env'
import { Html, Head, Main, NextScript } from 'next/document'

export default function Document() {
  return (
    <Html lang="en">
      <Head />
      <PublicRuntimeEnvProvider />
      <body>
        <Main />
        <NextScript />
      </body>
    </Html>
  )
}

Work with environment variables

Use env function to get variables value. Use NEXT_PUBLIC_ prefix if you want to use this variable in runtime and get access from the client (not server variable).

import { env } from '@cuww/runtime-env'

// Public variable available at a runtime and for everyone (not secure)
env('NEXT_PUBLIC_VARIABLE_NAME', 'DefaultValue')

// Public variable available at a runtime only for server
env('VARIABLE_NAME', 'DefaultValue')

License

This project is licensed under the MIT License.

Readme

Keywords

none

Package Sidebar

Install

npm i @cuww/runtime-env

Weekly Downloads

15

Version

1.0.7

License

MIT

Unpacked Size

9.64 kB

Total Files

8

Last publish

Collaborators

  • lastonoga