remove beautylog dependency
This commit is contained in:
parent
7de17bbefa
commit
ead69f3bb9
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,4 +1,4 @@
|
|||||||
node_modules/
|
node_modules/
|
||||||
coverage/
|
coverage/
|
||||||
pages/
|
pages/
|
||||||
pubic/
|
public/
|
||||||
|
16
dist/index.js
vendored
16
dist/index.js
vendored
@ -10,14 +10,14 @@ class Qenv {
|
|||||||
getRequiredEnvVars(basePathArg, this.requiredEnvVars);
|
getRequiredEnvVars(basePathArg, this.requiredEnvVars);
|
||||||
getAvailableEnvVars(this.requiredEnvVars, envYmlPathArg, this.availableEnvVars, this.keyValueObjectArray);
|
getAvailableEnvVars(this.requiredEnvVars, envYmlPathArg, this.availableEnvVars, this.keyValueObjectArray);
|
||||||
this.missingEnvVars = getMissingEnvVars(this.requiredEnvVars, this.availableEnvVars);
|
this.missingEnvVars = getMissingEnvVars(this.requiredEnvVars, this.availableEnvVars);
|
||||||
//handle missing variables
|
// handle missing variables
|
||||||
if (this.missingEnvVars.length > 0) {
|
if (this.missingEnvVars.length > 0) {
|
||||||
plugins.beautylog.info("Required Env Vars are:");
|
console.info('Required Env Vars are:');
|
||||||
console.log(this.requiredEnvVars);
|
console.log(this.requiredEnvVars);
|
||||||
plugins.beautylog.error("However some Env variables could not be resolved:");
|
console.error('However some Env variables could not be resolved:');
|
||||||
console.log(this.missingEnvVars);
|
console.log(this.missingEnvVars);
|
||||||
if (failOnMissing) {
|
if (failOnMissing) {
|
||||||
plugins.beautylog.error("Exiting!");
|
console.error('Exiting!');
|
||||||
process.exit(1);
|
process.exit(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -27,7 +27,7 @@ class Qenv {
|
|||||||
exports.Qenv = Qenv;
|
exports.Qenv = Qenv;
|
||||||
;
|
;
|
||||||
let getRequiredEnvVars = (pathArg, requiredEnvVarsArray) => {
|
let getRequiredEnvVars = (pathArg, requiredEnvVarsArray) => {
|
||||||
let qenvFilePath = plugins.path.join(pathArg, "qenv.yml");
|
let qenvFilePath = plugins.path.join(pathArg, 'qenv.yml');
|
||||||
let qenvFile = plugins.smartfile.fs.toObjectSync(qenvFilePath);
|
let qenvFile = plugins.smartfile.fs.toObjectSync(qenvFilePath);
|
||||||
for (let keyArg in qenvFile.vars) {
|
for (let keyArg in qenvFile.vars) {
|
||||||
requiredEnvVarsArray.push(qenvFile.vars[keyArg]);
|
requiredEnvVarsArray.push(qenvFile.vars[keyArg]);
|
||||||
@ -35,13 +35,13 @@ let getRequiredEnvVars = (pathArg, requiredEnvVarsArray) => {
|
|||||||
;
|
;
|
||||||
};
|
};
|
||||||
let getAvailableEnvVars = (requiredEnvVarsArg, envYmlPathArg, availableEnvVarsArray, keyValueObjectArrayArg) => {
|
let getAvailableEnvVars = (requiredEnvVarsArg, envYmlPathArg, availableEnvVarsArray, keyValueObjectArrayArg) => {
|
||||||
envYmlPathArg = plugins.path.join(envYmlPathArg, "env.yml");
|
envYmlPathArg = plugins.path.join(envYmlPathArg, 'env.yml');
|
||||||
let envYml;
|
let envYml;
|
||||||
try {
|
try {
|
||||||
envYml = plugins.smartfile.fs.toObjectSync(envYmlPathArg);
|
envYml = plugins.smartfile.fs.toObjectSync(envYmlPathArg);
|
||||||
}
|
}
|
||||||
catch (err) {
|
catch (err) {
|
||||||
plugins.beautylog.log("env file couldn't be found at " + envYmlPathArg);
|
console.log("env file couldn't be found at " + envYmlPathArg);
|
||||||
envYml = {};
|
envYml = {};
|
||||||
}
|
}
|
||||||
for (let requiredEnvVar of requiredEnvVarsArg) {
|
for (let requiredEnvVar of requiredEnvVarsArg) {
|
||||||
@ -66,4 +66,4 @@ let getAvailableEnvVars = (requiredEnvVarsArg, envYmlPathArg, availableEnvVarsAr
|
|||||||
let getMissingEnvVars = (requiredEnvVarsArray, availableEnvVarsArray) => {
|
let getMissingEnvVars = (requiredEnvVarsArray, availableEnvVarsArray) => {
|
||||||
return plugins.lodash.difference(requiredEnvVarsArray, availableEnvVarsArray);
|
return plugins.lodash.difference(requiredEnvVarsArray, availableEnvVarsArray);
|
||||||
};
|
};
|
||||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsMENBQTBDO0FBS3pDLENBQUM7QUFFRjtJQUtJLFlBQVksV0FBVyxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBQyxhQUFhLEVBQUMsYUFBYSxHQUFHLElBQUk7UUFKMUUsb0JBQWUsR0FBWSxFQUFFLENBQUM7UUFDOUIscUJBQWdCLEdBQVksRUFBRSxDQUFDO1FBQy9CLG1CQUFjLEdBQVksRUFBRSxDQUFDO1FBQzdCLHdCQUFtQixHQUFxQixFQUFFLENBQUM7UUFFdkMsa0JBQWtCLENBQUMsV0FBVyxFQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNyRCxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFDLGFBQWEsRUFBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDdkcsSUFBSSxDQUFDLGNBQWMsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRXBGLDBCQUEwQjtRQUMxQixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQSxDQUFDO1lBQ2hDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLENBQUE7WUFDaEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDbEMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsbURBQW1ELENBQUMsQ0FBQztZQUM3RSxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUNqQyxFQUFFLENBQUEsQ0FBQyxhQUFhLENBQUMsQ0FBQSxDQUFDO2dCQUNkLE9BQU8sQ0FBQyxTQUFTLENB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
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsMENBQXlDO0FBS3hDLENBQUM7QUFFRjtJQUtJLFlBQVksV0FBVyxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBQyxhQUFhLEVBQUMsYUFBYSxHQUFHLElBQUk7UUFKMUUsb0JBQWUsR0FBYSxFQUFFLENBQUE7UUFDOUIscUJBQWdCLEdBQVksRUFBRSxDQUFBO1FBQzlCLG1CQUFjLEdBQVksRUFBRSxDQUFBO1FBQzVCLHdCQUFtQixHQUFxQixFQUFFLENBQUE7UUFFdEMsa0JBQWtCLENBQUMsV0FBVyxFQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQTtRQUNwRCxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFDLGFBQWEsRUFBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUE7UUFDdEcsSUFBSSxDQUFDLGNBQWMsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO1FBRW5GLDJCQUEyQjtRQUMzQixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQSxDQUFDO1lBQ2hDLE9BQU8sQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsQ0FBQTtZQUN0QyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQTtZQUNqQyxPQUFPLENBQUMsS0FBSyxDQUFDLG1EQUFtRCxDQUFDLENBQUE7WUFDbEUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUE7WUFDaEMsRUFBRSxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztnQkFDaEIsT0FBTyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQTtn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
|
7
dist/qenv.plugins.d.ts
vendored
7
dist/qenv.plugins.d.ts
vendored
@ -1,5 +1,4 @@
|
|||||||
import "typings-global";
|
import 'typings-global';
|
||||||
export import beautylog = require("beautylog");
|
|
||||||
export declare let lodash: any;
|
export declare let lodash: any;
|
||||||
export import path = require("path");
|
export import path = require('path');
|
||||||
export import smartfile = require("smartfile");
|
export import smartfile = require('smartfile');
|
||||||
|
5
dist/qenv.plugins.js
vendored
5
dist/qenv.plugins.js
vendored
@ -1,7 +1,6 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
require("typings-global");
|
require("typings-global");
|
||||||
exports.beautylog = require("beautylog");
|
exports.lodash = require('lodash');
|
||||||
exports.lodash = require("lodash");
|
|
||||||
exports.path = require("path");
|
exports.path = require("path");
|
||||||
exports.smartfile = require("smartfile");
|
exports.smartfile = require("smartfile");
|
||||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicWVudi5wbHVnaW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvcWVudi5wbHVnaW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSwwQkFBd0I7QUFDeEIseUNBQStDO0FBQ3BDLFFBQUEsTUFBTSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUN0QywrQkFBcUM7QUFDckMseUNBQStDIn0=
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicWVudi5wbHVnaW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvcWVudi5wbHVnaW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSwwQkFBd0I7QUFDYixRQUFBLE1BQU0sR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDdEMsK0JBQXFDO0FBQ3JDLHlDQUE4QyJ9
|
@ -23,15 +23,14 @@
|
|||||||
},
|
},
|
||||||
"homepage": "https://gitlab.com/pushrocks/qenv#README",
|
"homepage": "https://gitlab.com/pushrocks/qenv#README",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"npmts-g": "^5.2.10",
|
"npmts-g": "^6.0.0",
|
||||||
"should": "^11.1.2",
|
"smartchai": "^1.0.1",
|
||||||
"typings-test": "^1.0.3"
|
"typings-test": "^1.0.3"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"beautylog": "^6.0.0",
|
"lodash": "^4.17.4",
|
||||||
"lodash": "^4.17.3",
|
|
||||||
"q": "^1.4.1",
|
"q": "^1.4.1",
|
||||||
"smartfile": "^4.1.0",
|
"smartfile": "^4.1.3",
|
||||||
"typings-global": "^1.0.14"
|
"typings-global": "^1.0.14"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
3
test/test.d.ts
vendored
3
test/test.d.ts
vendored
@ -1,2 +1 @@
|
|||||||
import "typings-test";
|
import 'typings-test';
|
||||||
import "should";
|
|
||||||
|
26
test/test.js
26
test/test.js
@ -1,26 +1,26 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
require("typings-test");
|
require("typings-test");
|
||||||
const path = require("path");
|
const path = require("path");
|
||||||
require("should");
|
const smartchai_1 = require("smartchai");
|
||||||
const index_1 = require("../dist/index");
|
const index_1 = require("../dist/index");
|
||||||
process.cwd = () => {
|
process.cwd = () => {
|
||||||
return path.join(__dirname, "./assets/");
|
return path.join(__dirname, './assets/');
|
||||||
};
|
};
|
||||||
process.env["key1"] = "original";
|
process.env['key1'] = 'original';
|
||||||
let qenvTestObject;
|
let qenvTestObject;
|
||||||
describe("Qenv class", function () {
|
describe('Qenv class', function () {
|
||||||
it("should create a new class", function () {
|
it('should create a new class', function () {
|
||||||
qenvTestObject = new index_1.Qenv(process.cwd(), process.cwd(), false);
|
qenvTestObject = new index_1.Qenv(process.cwd(), process.cwd(), false);
|
||||||
});
|
});
|
||||||
it("key1 should be not be overwritten since it is already present", function () {
|
it('key1 should be not be overwritten since it is already present', function () {
|
||||||
process.env.key1.should.equal("original");
|
smartchai_1.expect(process.env.key1).to.equal('original');
|
||||||
});
|
});
|
||||||
it("key2 should be read from Yml", function () {
|
it('key2 should be read from Yml', function () {
|
||||||
process.env.key2.should.equal("fromYml");
|
smartchai_1.expect(process.env.key2).to.equal('fromYml');
|
||||||
});
|
});
|
||||||
it("keyValueObjectArray should hold all retrieved values", function () {
|
it('keyValueObjectArray should hold all retrieved values', function () {
|
||||||
qenvTestObject.keyValueObjectArray[0].value.should.equal("original");
|
smartchai_1.expect(qenvTestObject.keyValueObjectArray[0].value).to.equal('original');
|
||||||
qenvTestObject.keyValueObjectArray[1].value.should.equal("fromYml");
|
smartchai_1.expect(qenvTestObject.keyValueObjectArray[1].value).to.equal('fromYml');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHdCQUFzQjtBQUN0Qiw2QkFBNkI7QUFDN0Isa0JBQWdCO0FBQ2hCLHlDQUFtQztBQUVuQyxPQUFPLENBQUMsR0FBRyxHQUFHO0lBQ1YsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQzVDLENBQUMsQ0FBQTtBQUVELE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsVUFBVSxDQUFBO0FBRWhDLElBQUksY0FBbUIsQ0FBQztBQUN4QixRQUFRLENBQUMsWUFBWSxFQUFDO0lBQ2xCLEVBQUUsQ0FBQywyQkFBMkIsRUFBQztRQUMzQixjQUFjLEdBQUcsSUFBSSxZQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBQyxLQUFLLENBQUMsQ0FBQztJQUNqRSxDQUFDLENBQUMsQ0FBQztJQUNILEVBQUUsQ0FBQywrREFBK0QsRUFBQztRQUMvRCxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzlDLENBQUMsQ0FBQyxDQUFDO0lBQ0gsRUFBRSxDQUFDLDhCQUE4QixFQUFDO1FBQzlCLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDN0MsQ0FBQyxDQUFDLENBQUM7SUFDSCxFQUFFLENBQUMsc0RBQXNELEVBQUM7UUFDdEQsY0FBYyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3JFLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN4RSxDQUFDLENBQUMsQ0FBQTtBQUVOLENBQUMsQ0FBQyxDQUFDIn0=
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHdCQUFxQjtBQUNyQiw2QkFBNEI7QUFDNUIseUNBQWtDO0FBQ2xDLHlDQUFrQztBQUVsQyxPQUFPLENBQUMsR0FBRyxHQUFHO0lBQ1YsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFDLFdBQVcsQ0FBQyxDQUFBO0FBQzNDLENBQUMsQ0FBQTtBQUVELE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsVUFBVSxDQUFBO0FBRWhDLElBQUksY0FBbUIsQ0FBQTtBQUN2QixRQUFRLENBQUMsWUFBWSxFQUFDO0lBQ2xCLEVBQUUsQ0FBQywyQkFBMkIsRUFBQztRQUMzQixjQUFjLEdBQUcsSUFBSSxZQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBQyxLQUFLLENBQUMsQ0FBQTtJQUNoRSxDQUFDLENBQUMsQ0FBQTtJQUNGLEVBQUUsQ0FBQywrREFBK0QsRUFBQztRQUMvRCxrQkFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUNqRCxDQUFDLENBQUMsQ0FBQTtJQUNGLEVBQUUsQ0FBQyw4QkFBOEIsRUFBQztRQUM5QixrQkFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUNoRCxDQUFDLENBQUMsQ0FBQTtJQUNGLEVBQUUsQ0FBQyxzREFBc0QsRUFBQztRQUN0RCxrQkFBTSxDQUFDLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQ3hFLGtCQUFNLENBQUMsY0FBYyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUE7SUFDM0UsQ0FBQyxDQUFDLENBQUE7QUFFTixDQUFDLENBQUMsQ0FBQSJ9
|
42
test/test.ts
42
test/test.ts
@ -1,28 +1,28 @@
|
|||||||
import "typings-test";
|
import 'typings-test'
|
||||||
import * as path from "path";
|
import * as path from 'path'
|
||||||
import "should";
|
import { expect } from 'smartchai'
|
||||||
import {Qenv} from "../dist/index";
|
import {Qenv} from '../dist/index'
|
||||||
|
|
||||||
process.cwd = () => {
|
process.cwd = () => {
|
||||||
return path.join(__dirname,"./assets/");
|
return path.join(__dirname,'./assets/')
|
||||||
}
|
}
|
||||||
|
|
||||||
process.env["key1"] = "original"
|
process.env['key1'] = 'original'
|
||||||
|
|
||||||
let qenvTestObject:Qenv;
|
let qenvTestObject:Qenv
|
||||||
describe("Qenv class",function(){
|
describe('Qenv class',function(){
|
||||||
it("should create a new class",function(){
|
it('should create a new class',function(){
|
||||||
qenvTestObject = new Qenv(process.cwd(),process.cwd(),false);
|
qenvTestObject = new Qenv(process.cwd(),process.cwd(),false)
|
||||||
});
|
})
|
||||||
it("key1 should be not be overwritten since it is already present",function(){
|
it('key1 should be not be overwritten since it is already present',function(){
|
||||||
process.env.key1.should.equal("original");
|
expect(process.env.key1).to.equal('original')
|
||||||
});
|
})
|
||||||
it("key2 should be read from Yml",function(){
|
it('key2 should be read from Yml',function(){
|
||||||
process.env.key2.should.equal("fromYml");
|
expect(process.env.key2).to.equal('fromYml')
|
||||||
});
|
})
|
||||||
it("keyValueObjectArray should hold all retrieved values",function(){
|
it('keyValueObjectArray should hold all retrieved values',function(){
|
||||||
qenvTestObject.keyValueObjectArray[0].value.should.equal("original");
|
expect(qenvTestObject.keyValueObjectArray[0].value).to.equal('original')
|
||||||
qenvTestObject.keyValueObjectArray[1].value.should.equal("fromYml");
|
expect(qenvTestObject.keyValueObjectArray[1].value).to.equal('fromYml')
|
||||||
})
|
})
|
||||||
|
|
||||||
});
|
})
|
81
ts/index.ts
81
ts/index.ts
@ -1,4 +1,4 @@
|
|||||||
import * as plugins from "./qenv.plugins";
|
import * as plugins from "./qenv.plugins"
|
||||||
|
|
||||||
export interface IKeyValueObject {
|
export interface IKeyValueObject {
|
||||||
key: string,
|
key: string,
|
||||||
@ -6,67 +6,66 @@ export interface IKeyValueObject {
|
|||||||
};
|
};
|
||||||
|
|
||||||
export class Qenv {
|
export class Qenv {
|
||||||
requiredEnvVars:string[] = [];
|
requiredEnvVars: string[] = []
|
||||||
availableEnvVars:string[] = [];
|
availableEnvVars:string[] = []
|
||||||
missingEnvVars:string[] = [];
|
missingEnvVars:string[] = []
|
||||||
keyValueObjectArray:IKeyValueObject[] = [];
|
keyValueObjectArray:IKeyValueObject[] = []
|
||||||
constructor(basePathArg = process.cwd(),envYmlPathArg,failOnMissing = true){
|
constructor(basePathArg = process.cwd(),envYmlPathArg,failOnMissing = true){
|
||||||
getRequiredEnvVars(basePathArg,this.requiredEnvVars);
|
getRequiredEnvVars(basePathArg,this.requiredEnvVars)
|
||||||
getAvailableEnvVars(this.requiredEnvVars,envYmlPathArg,this.availableEnvVars,this.keyValueObjectArray);
|
getAvailableEnvVars(this.requiredEnvVars,envYmlPathArg,this.availableEnvVars,this.keyValueObjectArray)
|
||||||
this.missingEnvVars = getMissingEnvVars(this.requiredEnvVars,this.availableEnvVars);
|
this.missingEnvVars = getMissingEnvVars(this.requiredEnvVars,this.availableEnvVars)
|
||||||
|
|
||||||
//handle missing variables
|
// handle missing variables
|
||||||
if (this.missingEnvVars.length > 0){
|
if (this.missingEnvVars.length > 0){
|
||||||
plugins.beautylog.info("Required Env Vars are:")
|
console.info('Required Env Vars are:')
|
||||||
console.log(this.requiredEnvVars);
|
console.log(this.requiredEnvVars)
|
||||||
plugins.beautylog.error("However some Env variables could not be resolved:");
|
console.error('However some Env variables could not be resolved:')
|
||||||
console.log(this.missingEnvVars);
|
console.log(this.missingEnvVars)
|
||||||
if(failOnMissing){
|
if (failOnMissing) {
|
||||||
plugins.beautylog.error("Exiting!")
|
console.error('Exiting!')
|
||||||
process.exit(1);
|
process.exit(1)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
let getRequiredEnvVars = (pathArg:string, requiredEnvVarsArray:string[]) => {
|
let getRequiredEnvVars = (pathArg: string, requiredEnvVarsArray: string[]) => {
|
||||||
let qenvFilePath = plugins.path.join(pathArg,"qenv.yml");
|
let qenvFilePath = plugins.path.join(pathArg,'qenv.yml')
|
||||||
let qenvFile = plugins.smartfile.fs.toObjectSync(qenvFilePath);
|
let qenvFile = plugins.smartfile.fs.toObjectSync(qenvFilePath)
|
||||||
for(let keyArg in qenvFile.vars){
|
for (let keyArg in qenvFile.vars) {
|
||||||
requiredEnvVarsArray.push(qenvFile.vars[keyArg]);
|
requiredEnvVarsArray.push(qenvFile.vars[keyArg])
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
let getAvailableEnvVars = (requiredEnvVarsArg:string[],envYmlPathArg:string,availableEnvVarsArray:string[],keyValueObjectArrayArg:IKeyValueObject[]) => {
|
let getAvailableEnvVars = (requiredEnvVarsArg: string[],envYmlPathArg: string,availableEnvVarsArray: string[],keyValueObjectArrayArg: IKeyValueObject[]) => {
|
||||||
envYmlPathArg = plugins.path.join(envYmlPathArg,"env.yml")
|
envYmlPathArg = plugins.path.join(envYmlPathArg,'env.yml')
|
||||||
let envYml;
|
let envYml
|
||||||
try {
|
try {
|
||||||
envYml = plugins.smartfile.fs.toObjectSync(envYmlPathArg);
|
envYml = plugins.smartfile.fs.toObjectSync(envYmlPathArg)
|
||||||
|
} catch (err) {
|
||||||
|
console.log("env file couldn't be found at " + envYmlPathArg)
|
||||||
|
envYml = {}
|
||||||
}
|
}
|
||||||
catch(err){
|
for (let requiredEnvVar of requiredEnvVarsArg){
|
||||||
plugins.beautylog.log("env file couldn't be found at " + envYmlPathArg)
|
if (process.env[requiredEnvVar]){
|
||||||
envYml = {};
|
availableEnvVarsArray.push(requiredEnvVar)
|
||||||
}
|
|
||||||
for(let requiredEnvVar of requiredEnvVarsArg){
|
|
||||||
if(process.env[requiredEnvVar]){
|
|
||||||
availableEnvVarsArray.push(requiredEnvVar);
|
|
||||||
keyValueObjectArrayArg.push({
|
keyValueObjectArrayArg.push({
|
||||||
key: requiredEnvVar,
|
key: requiredEnvVar,
|
||||||
value: process.env[requiredEnvVar]
|
value: process.env[requiredEnvVar]
|
||||||
});
|
})
|
||||||
} else if(envYml.hasOwnProperty(requiredEnvVar)){
|
} else if (envYml.hasOwnProperty(requiredEnvVar)){
|
||||||
process.env[requiredEnvVar] = envYml[requiredEnvVar];
|
process.env[requiredEnvVar] = envYml[requiredEnvVar]
|
||||||
availableEnvVarsArray.push(requiredEnvVar);
|
availableEnvVarsArray.push(requiredEnvVar)
|
||||||
keyValueObjectArrayArg.push({
|
keyValueObjectArrayArg.push({
|
||||||
key: requiredEnvVar,
|
key: requiredEnvVar,
|
||||||
value: process.env[requiredEnvVar]
|
value: process.env[requiredEnvVar]
|
||||||
});
|
})
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
};
|
}
|
||||||
|
|
||||||
let getMissingEnvVars = (requiredEnvVarsArray:string[],availableEnvVarsArray:string[]) => {
|
let getMissingEnvVars = (requiredEnvVarsArray: string[],availableEnvVarsArray: string[]) => {
|
||||||
return plugins.lodash.difference(requiredEnvVarsArray,availableEnvVarsArray);
|
return plugins.lodash.difference(requiredEnvVarsArray,availableEnvVarsArray)
|
||||||
};
|
}
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
import "typings-global";
|
import 'typings-global';
|
||||||
export import beautylog = require("beautylog");
|
export let lodash = require('lodash');
|
||||||
export let lodash = require("lodash");
|
export import path = require('path');
|
||||||
export import path = require("path");
|
export import smartfile = require('smartfile')
|
||||||
export import smartfile = require("smartfile");
|
|
||||||
|
Loading…
Reference in New Issue
Block a user