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