diff --git a/build/common/src/env.js b/build/common/src/env.js index 4c91dc3..3792a4d 100644 --- a/build/common/src/env.js +++ b/build/common/src/env.js @@ -4,9 +4,16 @@ exports.Env = void 0; const rxjs_1 = require("rxjs"); const fs_1 = require("fs"); const cp = require('child_process'), exec = cp.exec; +var dotenv = require('dotenv'); const pEnv = process.env; class Env { constructor(env, configPath) { + if ((0, fs_1.existsSync)(`${configPath}/.env-local`)) { + const localEnv = dotenv.parse((0, fs_1.readFileSync)(`${configPath}/.env-local`)); + for (var i in localEnv) { + pEnv[i] = localEnv[i]; + } + } this.env = env; this.configPath = configPath; this.hznEnv = `${configPath}/.env-hzn.json`; @@ -17,8 +24,10 @@ class Env { // console.log(process.cwd(), this.env, this.hznJson) this.envVars = this.hznJson[this.env]['envVars']; for (const [key, value] of Object.entries(this.envVars)) { - // @ts-ignore - pEnv[key] = value.replace(/\r?\n|\r/g, ''); + if (!pEnv[key]) { + // @ts-ignore + pEnv[key] = value.replace(/\r?\n|\r/g, ''); + } // console.log(`${key}: ${pEnv[key]}`); } if (!this.envVars.ARCH || this.envVars.ARCH === undefined) { diff --git a/build/common/src/env.js.map b/build/common/src/env.js.map index 7698b07..0e39c1e 100644 --- a/build/common/src/env.js.map +++ b/build/common/src/env.js.map @@ -1 +1 @@ -{"version":3,"file":"env.js","sourceRoot":"","sources":["../../../src/common/src/env.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"env.js","sourceRoot":"","sources":["../../../src/common/src/env.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index b52dd67..9732888 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,16 +1,17 @@ { "name": "hzn-cli", - "version": "0.0.5", + "version": "0.1.2", "lockfileVersion": 2, "requires": true, "packages": { "": { - "version": "0.0.5", + "version": "0.1.2", "license": "ISC", "dependencies": { "chalk": "^4.1.2", "clear": "^0.1.0", "commander": "^8.2.0", + "dotenv": "^10.0.0", "figlet": "^1.5.2", "prompt": "^1.2.0", "rxjs": "^7.3.0", @@ -1065,6 +1066,14 @@ "node": ">=8" } }, + "node_modules/dotenv": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", + "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", + "engines": { + "node": ">=10" + } + }, "node_modules/duplexer3": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", @@ -4117,6 +4126,11 @@ "is-obj": "^2.0.0" } }, + "dotenv": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", + "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==" + }, "duplexer3": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", diff --git a/package.json b/package.json index 478f7a3..2fdd547 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "hzn-cli", - "version": "0.1.2", + "version": "0.1.3", "description": "Open Horizon CLI toolkit helps streamline the process of preparing node agents and perform tasks between orgs environments", "main": "./build/index.js", "bin": { @@ -37,6 +37,7 @@ "chalk": "^4.1.2", "clear": "^0.1.0", "commander": "^8.2.0", + "dotenv": "^10.0.0", "figlet": "^1.5.2", "prompt": "^1.2.0", "rxjs": "^7.3.0", diff --git a/src/common/src/env.ts b/src/common/src/env.ts index 96ab7c4..f8a9627 100644 --- a/src/common/src/env.ts +++ b/src/common/src/env.ts @@ -1,7 +1,8 @@ import { Observable } from 'rxjs'; -import { readFileSync } from 'fs'; +import { readFileSync, existsSync } from 'fs'; const cp = require('child_process'), exec = cp.exec; +var dotenv = require('dotenv'); const pEnv = process.env; @@ -12,6 +13,12 @@ export class Env { hznEnv: any; configPath: string; constructor(env: string, configPath: string) { + if(existsSync(`${configPath}/.env-local`)) { + const localEnv = dotenv.parse(readFileSync(`${configPath}/.env-local`)); + for(var i in localEnv) { + pEnv[i] = localEnv[i]; + } + } this.env = env; this.configPath = configPath; this.hznEnv = `${configPath}/.env-hzn.json`; @@ -22,8 +29,10 @@ export class Env { // console.log(process.cwd(), this.env, this.hznJson) this.envVars = this.hznJson[this.env]['envVars']; for(const [key, value] of Object.entries(this.envVars)) { - // @ts-ignore - pEnv[key] = value.replace(/\r?\n|\r/g, ''); + if(!pEnv[key]) { + // @ts-ignore + pEnv[key] = value.replace(/\r?\n|\r/g, ''); + } // console.log(`${key}: ${pEnv[key]}`); } if(!this.envVars.ARCH || this.envVars.ARCH === undefined) {