feat(env): Make env vars available to client app
This commit is contained in:
2
client/.gitignore
vendored
2
client/.gitignore
vendored
@ -3,6 +3,8 @@
|
||||
node_modules
|
||||
yarn-error.log
|
||||
|
||||
config/env.json
|
||||
|
||||
# Build directory
|
||||
/public
|
||||
.DS_Store
|
||||
|
@ -1,25 +1,30 @@
|
||||
var fs = require('fs');
|
||||
require('dotenv').config();
|
||||
|
||||
fs.access(
|
||||
'./server/rev-manifest.json',
|
||||
function(err) {
|
||||
const fs = require('fs-extra');
|
||||
|
||||
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('server/rev-manifest.json', '{}');
|
||||
return fs.writeFileSync('./api-server/server/rev-manifest.json', '{}');
|
||||
}
|
||||
console.log('\n\nrev-manifest present\n\n');
|
||||
return null;
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
fs.access(
|
||||
'./server/resources/pathMigration.json',
|
||||
err => {
|
||||
fs.access('./api-server/server/resources/pathMigration.json', err => {
|
||||
if (err) {
|
||||
console.log('\n\ncreating pathMigration\n\n');
|
||||
return fs.writeFileSync('server/resources/pathMigration.json', '{}');
|
||||
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
33
package-lock.json
generated
@ -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=="
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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"
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user