From 62567e326c631e0cbf0995ab3741f22b7b6df77c Mon Sep 17 00:00:00 2001 From: giancarlo Date: Mon, 15 Apr 2024 17:10:35 +0800 Subject: [PATCH] Refactor environment files and update .gitignore Environment variable definitions were moved from .env.development, .env.test and .env.production to a new shared .env file. This provides a centralized location for common environment variables values, easier manageability, and overrides capability in specific environments. The .gitignore file was also updated to no longer ignore the .env file as this file now contains public / non-sensitive configuration values. --- .gitignore | 1 - apps/web/.env | 35 +++++++++++++++++++++++++++++++ apps/web/.env.development | 39 +---------------------------------- apps/web/.env.production | 39 ++--------------------------------- apps/web/.env.test | 43 +-------------------------------------- 5 files changed, 39 insertions(+), 118 deletions(-) create mode 100644 apps/web/.env diff --git a/.gitignore b/.gitignore index 88fda4f86..b770fc33a 100644 --- a/.gitignore +++ b/.gitignore @@ -27,7 +27,6 @@ yarn-error.log* .pnpm-debug.log* # local env files -.env .env*.local # vercel diff --git a/apps/web/.env b/apps/web/.env new file mode 100644 index 000000000..0d294dc20 --- /dev/null +++ b/apps/web/.env @@ -0,0 +1,35 @@ +# SHARED ENVIROMENT VARIABLES +# HERE YOU CAN ADD ALL THE **PUBLIC** ENVIRONMENT VARIABLES THAT ARE SHARED ACROSS ALL THE ENVIROMENTS +# PLEASE DO NOT ADD ANY CONFIDENTIAL KEYS OR SENSITIVE INFORMATION HERE +# ONLY CONFIGURATION, PATH, FEATURE FLAGS, ETC. +# TO OVERRIDE THESE VARIABLES IN A SPECIFIC ENVIRONMENT, PLEASE ADD THEM TO THE SPECIFIC ENVIRONMENT FILE (e.g. .env.development, .env.production) + +# SITE +NEXT_PUBLIC_SITE_URL=http://localhost:3000 +NEXT_PUBLIC_PRODUCT_NAME=Makerkit +NEXT_PUBLIC_SITE_TITLE="Makerkit - The easiest way to build and manage your SaaS" +NEXT_PUBLIC_SITE_DESCRIPTION="Makerkit is the easiest way to build and manage your SaaS. It provides you with the tools you need to build your SaaS, without the hassle of building it from scratch." +NEXT_PUBLIC_DEFAULT_THEME_MODE=light +NEXT_PUBLIC_THEME_COLOR="#ffffff" +NEXT_PUBLIC_THEME_COLOR_DARK="#0a0a0a" + +# CMS +CMS_CLIENT=keystatic + +# KEYSTATIC +NEXT_PUBLIC_KEYSTATIC_CONTENT_PATH=./content + +# LOCALES PATH +NEXT_PUBLIC_LOCALES_PATH=apps/web/public/locales + +# PATHS (to be used in "packages") +SIGN_IN_PATH=/auth/sign-in +SIGN_UP_PATH=/auth/sign-up +TEAM_ACCOUNTS_HOME_PATH=/home +INVITATION_PAGE_PATH=/join + +# FEATURE FLAGS +NEXT_PUBLIC_ENABLE_ACCOUNT_DELETION=true +NEXT_PUBLIC_ENABLE_PERSONAL_ACCOUNT_BILLING=true +NEXT_PUBLIC_ENABLE_ORGANIZATION_DELETION=true +NEXT_PUBLIC_ENABLE_ORGANIZATION_BILLING=true \ No newline at end of file diff --git a/apps/web/.env.development b/apps/web/.env.development index 3cf5aea8f..df6d86794 100644 --- a/apps/web/.env.development +++ b/apps/web/.env.development @@ -1,37 +1,6 @@ # This file is used to define environment variables for the development environment. # These values are only used when running the app in development mode. -# SITE -NEXT_PUBLIC_SITE_URL=http://localhost:3000 -NEXT_PUBLIC_PRODUCT_NAME=Makerkit -NEXT_PUBLIC_SITE_TITLE="Makerkit - The easiest way to build and manage your SaaS" -NEXT_PUBLIC_SITE_DESCRIPTION="Makerkit is the easiest way to build and manage your SaaS. It provides you with the tools you need to build your SaaS, without the hassle of building it from scratch." -NEXT_PUBLIC_DEFAULT_THEME_MODE=light -NEXT_PUBLIC_THEME_COLOR="#ffffff" -NEXT_PUBLIC_THEME_COLOR_DARK="#0a0a0a" - -# LOCALES PATH -NEXT_PUBLIC_LOCALES_PATH=apps/web/public/locales - -# PATHS (to be used in "packages") -SIGN_IN_PATH=/auth/sign-in -SIGN_UP_PATH=/auth/sign-up -TEAM_ACCOUNTS_HOME_PATH=/home -INVITATION_PAGE_PATH=/join - -# CMS -CMS_CLIENT=keystatic - -# KEYSTATIC -NEXT_PUBLIC_KEYSTATIC_CONTENT_PATH=./content - -# AUTH -NEXT_PUBLIC_AUTH_PASSWORD=true -NEXT_PUBLIC_AUTH_MAGIC_LINK=false - -# BILLING -NEXT_PUBLIC_BILLING_PROVIDER=stripe - # SUPABASE NEXT_PUBLIC_SUPABASE_URL=http://127.0.0.1:54321 NEXT_PUBLIC_SUPABASE_ANON_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZS1kZW1vIiwicm9sZSI6ImFub24iLCJleHAiOjE5ODM4MTI5OTZ9.CRXP1A7WOeoJeXxjNni43kdQwgnWNReilDMblYTn_I0 @@ -47,10 +16,4 @@ EMAIL_USER=user EMAIL_PASSWORD=password # STRIPE -NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY= - -# FEATURE FLAGS -NEXT_PUBLIC_ENABLE_ACCOUNT_DELETION=true -NEXT_PUBLIC_ENABLE_PERSONAL_ACCOUNT_BILLING=true -NEXT_PUBLIC_ENABLE_ORGANIZATION_DELETION=true -NEXT_PUBLIC_ENABLE_ORGANIZATION_BILLING=true \ No newline at end of file +NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY= \ No newline at end of file diff --git a/apps/web/.env.production b/apps/web/.env.production index 41b5ebb3d..fb76f0bbc 100644 --- a/apps/web/.env.production +++ b/apps/web/.env.production @@ -1,51 +1,16 @@ +# PRODUCTION ENVIRONMENT VARIABLES + ## DO NOT ADD VARS HERE UNLESS THEY ARE PUBLIC OR NOT SENSITIVE ## THIS ENV IS USED FOR PRODUCTION AND IS COMMITED TO THE REPO ## AVOID PLACING SENSITIVE DATA IN THIS FILE. ## PUBLIC KEYS OR CONFIGURATION ARE OKAY TO BE PLACED HERE. -# SITE -NEXT_PUBLIC_SITE_URL=http://localhost:3000 -NEXT_PUBLIC_PRODUCT_NAME=Makerkit -NEXT_PUBLIC_SITE_TITLE="Makerkit - The easiest way to build and manage your SaaS" -NEXT_PUBLIC_SITE_DESCRIPTION="Makerkit is the easiest way to build and manage your SaaS. It provides you with the tools you need to build your SaaS, without the hassle of building it from scratch." -NEXT_PUBLIC_DEFAULT_THEME_MODE=light -NEXT_PUBLIC_THEME_COLOR="#ffffff" -NEXT_PUBLIC_THEME_COLOR_DARK="#0a0a0a" - -# LOCALES PATH -NEXT_PUBLIC_LOCALES_PATH=apps/web/public/locales - -# PATHS (to be used in "packaages") -SIGN_IN_PATH=/auth/sign-in -SIGN_UP_PATH=/auth/sign-up -TEAM_ACCOUNTS_HOME_PATH=/home -INVITATION_PAGE_PATH=/join - -# CMS -CMS_CLIENT=keystatic - -# KEYSTATIC -NEXT_PUBLIC_KEYSTATIC_CONTENT_PATH=./content - -# AUTH -NEXT_PUBLIC_AUTH_PASSWORD=true -NEXT_PUBLIC_AUTH_MAGIC_LINK=false - -# BILLING -NEXT_PUBLIC_BILLING_PROVIDER=stripe - # SUPABASE NEXT_PUBLIC_SUPABASE_URL= # STRIPE NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY= -# FEATURE FLAGS -NEXT_PUBLIC_ENABLE_ACCOUNT_DELETION=true -NEXT_PUBLIC_ENABLE_PERSONAL_ACCOUNT_BILLING=true -NEXT_PUBLIC_ENABLE_ORGANIZATION_DELETION=true -NEXT_PUBLIC_ENABLE_ORGANIZATION_BILLING=true - # MONITORING MONITORING_PROVIDER= MONITORING_INSTRUMENTATION_ENABLED=false diff --git a/apps/web/.env.test b/apps/web/.env.test index f826a99dc..3439bf83b 100644 --- a/apps/web/.env.test +++ b/apps/web/.env.test @@ -1,37 +1,6 @@ # TEST ENVIRONMENT VARIABLES NEXT_PUBLIC_CI=true -# SITE -NEXT_PUBLIC_SITE_URL=http://localhost:3000 -NEXT_PUBLIC_PRODUCT_NAME=Makerkit -NEXT_PUBLIC_SITE_TITLE="Makerkit - The easiest way to build and manage your SaaS" -NEXT_PUBLIC_SITE_DESCRIPTION="Makerkit is the easiest way to build and manage your SaaS. It provides you with the tools you need to build your SaaS, without the hassle of building it from scratch." -NEXT_PUBLIC_DEFAULT_THEME_MODE=light -NEXT_PUBLIC_THEME_COLOR="#ffffff" -NEXT_PUBLIC_THEME_COLOR_DARK="#0a0a0a" - -# LOCALES PATH -NEXT_PUBLIC_LOCALES_PATH=apps/web/public/locales - -# PATHS (to be used in "packages") -SIGN_IN_PATH=/auth/sign-in -SIGN_UP_PATH=/auth/sign-up -TEAM_ACCOUNTS_HOME_PATH=/home -INVITATION_PAGE_PATH=/join - -# CMS -CMS_CLIENT=keystatic - -# KEYSTATIC -NEXT_PUBLIC_KEYSTATIC_CONTENT_PATH=./content - -# AUTH -NEXT_PUBLIC_AUTH_PASSWORD=true -NEXT_PUBLIC_AUTH_MAGIC_LINK=false - -# BILLING -NEXT_PUBLIC_BILLING_PROVIDER=stripe - # SUPABASE NEXT_PUBLIC_SUPABASE_URL=http://127.0.0.1:54321 NEXT_PUBLIC_SUPABASE_ANON_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZS1kZW1vIiwicm9sZSI6ImFub24iLCJleHAiOjE5ODM4MTI5OTZ9.CRXP1A7WOeoJeXxjNni43kdQwgnWNReilDMblYTn_I0 @@ -47,14 +16,4 @@ EMAIL_USER=user EMAIL_PASSWORD=password # STRIPE -NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=pk_test_51K9cWKI1i3VnbZTq2HGstY2S8wt3peF1MOqPXFO4LR8ln2QgS7GxL8XyKaKLvn7iFHeqAnvdDw0o48qN7rrwwcHU00jOtKhjsf - -# FEATURE FLAGS -NEXT_PUBLIC_ENABLE_ACCOUNT_DELETION=true -NEXT_PUBLIC_ENABLE_PERSONAL_ACCOUNT_BILLING=true -NEXT_PUBLIC_ENABLE_ORGANIZATION_DELETION=true -NEXT_PUBLIC_ENABLE_ORGANIZATION_BILLING=true - -# MONITORING -MONITORING_PROVIDER= -MONITORING_INSTRUMENTATION_ENABLED=false \ No newline at end of file +NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=pk_test_51K9cWKI1i3VnbZTq2HGstY2S8wt3peF1MOqPXFO4LR8ln2QgS7GxL8XyKaKLvn7iFHeqAnvdDw0o48qN7rrwwcHU00jOtKhjsf \ No newline at end of file