DEV Community

Discussion on: How to share envs in a monorepo with vite and nextjs apps

Collapse
 
designly profile image
Jay @ Designly

here's the sh way:

#!/bin/sh

# Path to the .env.api and .env.common files
env_api="./env/.env.api"
env_common="./env/.env.common"

# Iterate over each directory in packages/*
for dir in packages/*; do
    # Extract just the directory name without path
    package_name=$(basename "$dir")

    # Check if $dir is a directory
    if [ -d "$dir" ]; then
        echo "Processing directory: $dir"

        # Switch case based on the directory name
        case "$package_name" in
            admin)
                echo "Creating env for admin package"
                cat "$env_common" > "${dir}/.env.local"
            ;;
            api)
                echo "Creating env for api package"
                cat "$env_common" "$env_api" > "${dir}/.env.local"
            ;;
            player)
                echo "Creating env for player package"
                cat "$env_common" > "${dir}/.env.local"
            ;;
            ui-common)
                echo "Creating env for ui-common package"
                cat "$env_common" > "${dir}/.env.local"
            ;;
        esac
    else
        echo "Skipping ${dir}, not a directory."
    fi
done

echo "All directories processed."
Enter fullscreen mode Exit fullscreen mode
Collapse
 
tgmarinhodev profile image
Thiago Marinho

Great! thank you for sharing!