Skip to content

Commit e2b4626

Browse files
Merge pull request #72 from Demysdcl/feature/config-env
Feature/config env
2 parents b3012db + e078811 commit e2b4626

File tree

5 files changed

+29
-8
lines changed

5 files changed

+29
-8
lines changed

.env.development

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
BASE_URL=http://localhost:5001/api

package-lock.json

Lines changed: 7 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
"@babel/preset-env": "^7.0.0",
2626
"@babel/runtime": "^7.0.0",
2727
"babel-eslint": "^10.0.3",
28+
"dotenv": "^8.2.0",
2829
"eslint": "^6.5.1",
2930
"eslint-config-prettier": "^6.3.0",
3031
"eslint-plugin-prettier": "^3.1.1",

rollup.config.js

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,23 @@ import babel from 'rollup-plugin-babel'
66
import { terser } from 'rollup-plugin-terser'
77
import config from 'sapper/config/rollup.js'
88
import 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+
const fileEnv = process.env.NODE_ENV ? `.env.${process.env.NODE_ENV}` : '.env'
16+
17+
// get the env variables from the .env file relative to the current NODE_ENV
18+
const ENV_VARS = dotenv.parse(fs.readFileSync(path.resolve(__dirname, fileEnv)))
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

1027
const mode = process.env.NODE_ENV
1128
const 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',

src/config/api.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import axios from 'axios'
22

33
export default axios.create({
4-
baseURL: 'http://localhost:5001/api',
4+
baseURL: process.env.BASE_URL,
55
})

0 commit comments

Comments
 (0)