feat(env): Make env vars available to client app

This commit is contained in:
Bouncey
2018-09-06 14:58:51 +01:00
committed by Stuart Taylor
parent 44fcf50cb1
commit 435e856cdb
4 changed files with 68 additions and 21 deletions

2
client/.gitignore vendored
View File

@ -3,6 +3,8 @@
node_modules
yarn-error.log
config/env.json
# Build directory
/public
.DS_Store

View File

@ -1,25 +1,30 @@
var fs = require('fs');
require('dotenv').config();
fs.access(
'./server/rev-manifest.json',
function(err) {
if (err) {
console.log('\n\ncreating manifest\n\n');
return fs.writeFileSync('server/rev-manifest.json', '{}');
}
console.log('\n\nrev-manifest present\n\n');
return null;
}
);
const fs = require('fs-extra');
fs.access(
'./server/resources/pathMigration.json',
err => {
if (err) {
console.log('\n\ncreating pathMigration\n\n');
return fs.writeFileSync('server/resources/pathMigration.json', '{}');
}
console.log('\n\npathMigration present\n\n');
return null;
const env = require('./env');
fs.access('./api-server/server/rev-manifest.json', function(err) {
if (err) {
console.log('\n\ncreating manifest\n\n');
return fs.writeFileSync('./api-server/server/rev-manifest.json', '{}');
}
console.log('\n\nrev-manifest present\n\n');
return null;
});
fs.access('./api-server/server/resources/pathMigration.json', err => {
if (err) {
console.log('\n\ncreating pathMigration\n\n');
return fs.writeFileSync(
'./api-server/server/resources/pathMigration.json',
'{}'
);
}
console.log('\n\npathMigration present\n\n');
return null;
});
fs.ensureDir('./client/config/').then(() =>
fs.writeFileSync('./client/config/env.json', JSON.stringify(env))
);

33
package-lock.json generated
View File

@ -4,11 +4,44 @@
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"dotenv": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-6.0.0.tgz",
"integrity": "sha512-FlWbnhgjtwD+uNLUGHbMykMOYQaTivdHEmYwAKFjn6GKe/CqY0fNae93ZHTd20snh9ZLr8mTzIL9m0APQ1pjQg=="
},
"fs-extra": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.0.tgz",
"integrity": "sha512-EglNDLRpmaTWiD/qraZn6HREAEAHJcJOmxNEYwq6xeMKnVMAy3GUcFB+wXt2C6k4CNvB/mP1y/U3dzvKKj5OtQ==",
"requires": {
"graceful-fs": "4.1.11",
"jsonfile": "4.0.0",
"universalify": "0.1.2"
}
},
"graceful-fs": {
"version": "4.1.11",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
"integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg="
},
"jsonfile": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
"integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
"requires": {
"graceful-fs": "4.1.11"
}
},
"tree-kill": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.0.tgz",
"integrity": "sha512-DlX6dR0lOIRDFxI0mjL9IYg6OTncLm/Zt+JiBhE5OlFcAR8yc9S7FFXU9so0oda47frdM/JFsk7UjNt9vscKcg==",
"dev": true
},
"universalify": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
"integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="
}
}
}

View File

@ -1,7 +1,14 @@
{
"name": "@freecodecamp/freecodecamp",
"version": "0.0.1",
"scripts": {
"develop": "node ./config/ensure-env.js && node develop-client-server.js"
},
"devDependencies": {
"tree-kill": "^1.2.0"
},
"dependencies": {
"dotenv": "^6.0.0",
"fs-extra": "^7.0.0"
}
}