@@ -6,6 +6,23 @@ import babel from 'rollup-plugin-babel'
66import { terser } from 'rollup-plugin-terser'
77import config from 'sapper/config/rollup.js'
88import pkg from './package.json'
9+ import dotenv from 'dotenv'
10+ import fs from 'fs'
11+ import path from 'path'
12+
13+ dotenv . config ( )
14+
15+ // get the env variables from the .env file relative to the current NODE_ENV
16+ const ENV_VARS = dotenv . parse (
17+ fs . readFileSync ( path . resolve ( __dirname , `.env.${ process . env . NODE_ENV } ` ) )
18+ )
19+
20+ const valuesEnvToReplace = ( ) => {
21+ return Object . entries ( ENV_VARS ) . reduce ( ( acc , [ key , val ] ) => {
22+ acc [ `process.env.${ key } ` ] = JSON . stringify ( val )
23+ return acc
24+ } , { } )
25+ }
926
1027const mode = process . env . NODE_ENV
1128const dev = mode === 'development'
@@ -26,6 +43,7 @@ export default {
2643 replace ( {
2744 'process.browser' : true ,
2845 'process.env.NODE_ENV' : JSON . stringify ( mode ) ,
46+ ...valuesEnvToReplace ( ) ,
2947 } ) ,
3048 svelte ( {
3149 dev,
@@ -78,6 +96,7 @@ export default {
7896 replace ( {
7997 'process.browser' : false ,
8098 'process.env.NODE_ENV' : JSON . stringify ( mode ) ,
99+ ...valuesEnvToReplace ( ) ,
81100 } ) ,
82101 svelte ( {
83102 generate : 'ssr' ,
0 commit comments