onepoint-new-app
Version:
Easily generate a new fully-equiped React project, optionally with Express & MongoDB.
34 lines (30 loc) • 1.06 kB
JavaScript
// Filters out values that are null or undefined.
function objToDotEnvVars(comments, obj) {
return Object.keys(obj).reduce((acc, key) => {
const value = obj[key];
return value == null ? acc : `${acc}${key}=${value}\n`;
}, comments);
}
function dotEnv(options) {
const { appName, port, appId } = options;
const warning = [
"##########################################################",
"# THIS FILE WILL BE GIT IGNORED. #",
"# DO NOT COMMIT THIS FILE INTO VERSION CONTROL! #",
"# PLEASE KEEP ANY SENSITIVE DATA OUT OF VERSION CONTROL. #",
"##########################################################",
"\n",
"### Production Notes ###",
"",
"# When deploying your app to production, you should copy this file",
"# over to your remote machine. Make sure all values are correct & up to date.",
"\n\n\n"
].join("\n");
const contents = {
APP_ID: appId,
APP_NAME: appName,
PORT: port
};
return objToDotEnvVars(warning, contents);
}
module.exports = dotEnv;