@push.rocks/qenv 6.1.2 → 6.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@push.rocks/qenv',
|
|
6
|
-
version: '6.1.
|
|
6
|
+
version: '6.1.3',
|
|
7
7
|
description: 'A module for easily handling environment variables in Node.js projects with support for .yml and .json configuration.'
|
|
8
8
|
};
|
|
9
9
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSxrQkFBa0I7SUFDeEIsT0FBTyxFQUFFLE9BQU87SUFDaEIsV0FBVyxFQUFFLHVIQUF1SDtDQUNySSxDQUFBIn0=
|
|
@@ -52,7 +52,7 @@ export class Qenv {
|
|
|
52
52
|
loadAvailableEnvVars() {
|
|
53
53
|
for (const envVar of this.requiredEnvVars) {
|
|
54
54
|
const value = this.getEnvVarOnDemand(envVar);
|
|
55
|
-
if (value) {
|
|
55
|
+
if (value !== undefined) {
|
|
56
56
|
this.availableEnvVars.push(envVar);
|
|
57
57
|
this.keyValueObject[envVar] = value;
|
|
58
58
|
}
|
|
@@ -76,7 +76,7 @@ export class Qenv {
|
|
|
76
76
|
if (Array.isArray(envVarNameOrNames)) {
|
|
77
77
|
for (const envVarName of envVarNameOrNames) {
|
|
78
78
|
const value = await this.tryGetEnvVar(envVarName);
|
|
79
|
-
if (value) {
|
|
79
|
+
if (value !== undefined) {
|
|
80
80
|
return value;
|
|
81
81
|
}
|
|
82
82
|
}
|
|
@@ -93,7 +93,7 @@ export class Qenv {
|
|
|
93
93
|
*/
|
|
94
94
|
async getEnvVarOnDemandStrict(envVarNameOrNames) {
|
|
95
95
|
const value = await this.getEnvVarOnDemand(envVarNameOrNames);
|
|
96
|
-
if (
|
|
96
|
+
if (value === undefined) {
|
|
97
97
|
throw new Error(`Env var ${envVarNameOrNames} is not set!`);
|
|
98
98
|
}
|
|
99
99
|
return value;
|
|
@@ -103,7 +103,7 @@ export class Qenv {
|
|
|
103
103
|
if (Array.isArray(envVarNameOrNames)) {
|
|
104
104
|
for (const envVarName of envVarNameOrNames) {
|
|
105
105
|
const value = this.tryGetEnvVarSync(envVarName);
|
|
106
|
-
if (value) {
|
|
106
|
+
if (value !== undefined) {
|
|
107
107
|
return value;
|
|
108
108
|
}
|
|
109
109
|
}
|
|
@@ -125,16 +125,32 @@ export class Qenv {
|
|
|
125
125
|
if (typeof envVarRefArg === 'function') {
|
|
126
126
|
return await envVarRefArg();
|
|
127
127
|
}
|
|
128
|
-
|
|
129
|
-
this.
|
|
130
|
-
this.
|
|
131
|
-
this.
|
|
128
|
+
const sources = [
|
|
129
|
+
this.getFromEnvironmentVariable(envVarRefArg),
|
|
130
|
+
this.getFromEnvYamlOrJsonFile(envVarRefArg),
|
|
131
|
+
this.getFromDockerSecret(envVarRefArg),
|
|
132
|
+
this.getFromDockerSecretJson(envVarRefArg)
|
|
133
|
+
];
|
|
134
|
+
for (const value of sources) {
|
|
135
|
+
if (value !== undefined) {
|
|
136
|
+
return value;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
return undefined;
|
|
132
140
|
}
|
|
133
141
|
tryGetEnvVarSync(envVarName) {
|
|
134
|
-
|
|
135
|
-
this.
|
|
136
|
-
this.
|
|
137
|
-
this.
|
|
142
|
+
const sources = [
|
|
143
|
+
this.getFromEnvironmentVariable(envVarName),
|
|
144
|
+
this.getFromEnvYamlOrJsonFile(envVarName),
|
|
145
|
+
this.getFromDockerSecret(envVarName),
|
|
146
|
+
this.getFromDockerSecretJson(envVarName)
|
|
147
|
+
];
|
|
148
|
+
for (const value of sources) {
|
|
149
|
+
if (value !== undefined) {
|
|
150
|
+
return value;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
return undefined;
|
|
138
154
|
}
|
|
139
155
|
getFromEnvironmentVariable(envVarName) {
|
|
140
156
|
return process.env[envVarName];
|
|
@@ -146,10 +162,13 @@ export class Qenv {
|
|
|
146
162
|
try {
|
|
147
163
|
const envJson = plugins.smartfile.fs.toObjectSync(this.envFilePathAbsolute);
|
|
148
164
|
const value = envJson[envVarName];
|
|
165
|
+
if (value === undefined) {
|
|
166
|
+
return undefined;
|
|
167
|
+
}
|
|
149
168
|
if (typeof value === 'object') {
|
|
150
169
|
return 'base64Object:' + this.encodeBase64(value);
|
|
151
170
|
}
|
|
152
|
-
return value;
|
|
171
|
+
return String(value);
|
|
153
172
|
}
|
|
154
173
|
catch (error) {
|
|
155
174
|
return undefined;
|
|
@@ -169,10 +188,13 @@ export class Qenv {
|
|
|
169
188
|
if (secret.includes('secret.json')) {
|
|
170
189
|
const secretObject = plugins.smartfile.fs.toObjectSync(`/run/secrets/${secret}`);
|
|
171
190
|
const value = secretObject[envVarName];
|
|
191
|
+
if (value === undefined) {
|
|
192
|
+
continue;
|
|
193
|
+
}
|
|
172
194
|
if (typeof value === 'object') {
|
|
173
195
|
return 'base64Object:' + this.encodeBase64(value);
|
|
174
196
|
}
|
|
175
|
-
return value;
|
|
197
|
+
return String(value);
|
|
176
198
|
}
|
|
177
199
|
}
|
|
178
200
|
}
|
|
@@ -187,4 +209,4 @@ export class Qenv {
|
|
|
187
209
|
return JSON.parse(decodedString);
|
|
188
210
|
}
|
|
189
211
|
}
|
|
190
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
212
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicWVudi5jbGFzc2VzLnFlbnYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9xZW52LmNsYXNzZXMucWVudi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdEUsT0FBTyxLQUFLLE9BQU8sTUFBTSxtQkFBbUIsQ0FBQztBQUk3QyxNQUFNLE9BQU8sSUFBSTtJQVlmLFlBQ0Usc0JBQThCLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFDM0Msa0JBQTJCLEVBQzNCLGdCQUF5QixJQUFJO1FBZHhCLG9CQUFlLEdBQWEsRUFBRSxDQUFDO1FBQy9CLHFCQUFnQixHQUFhLEVBQUUsQ0FBQztRQUNoQyxtQkFBYyxHQUFhLEVBQUUsQ0FBQztRQUM5QixtQkFBYyxHQUEyQixFQUFFLENBQUM7UUFDNUMsV0FBTSxHQUFHLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQVloRCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksY0FBYyxFQUFFLENBQUM7UUFDM0MsSUFBSSxDQUFDLG1CQUFtQixDQUFDLG1CQUFtQixFQUFFLGtCQUFrQixDQUFDLENBQUM7UUFDbEUsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxtQkFBMkIsRUFBRSxrQkFBMEI7UUFDakYsSUFBSSxDQUFDLG9CQUFvQixHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUMzQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxFQUN6QyxVQUFVLENBQ1gsQ0FBQztRQUVGLElBQUksa0JBQWtCLEVBQUUsQ0FBQztZQUN2QixNQUFNLGVBQWUsR0FBRyxPQUFPLENBQUMsSUFB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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@push.rocks/qenv",
|
|
3
|
-
"version": "6.1.
|
|
3
|
+
"version": "6.1.3",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "A module for easily handling environment variables in Node.js projects with support for .yml and .json configuration.",
|
|
6
6
|
"main": "dist_ts/index.js",
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
"last 1 chrome versions"
|
|
55
55
|
],
|
|
56
56
|
"scripts": {
|
|
57
|
-
"test": "(tstest test/)",
|
|
57
|
+
"test": "(tstest test/ --verbose --testlog --timeout 20)",
|
|
58
58
|
"build": "(tsbuild --web --allowimplicitany)",
|
|
59
59
|
"buildDocs": "tsdoc"
|
|
60
60
|
}
|
package/ts/00_commitinfo_data.ts
CHANGED
package/ts/qenv.classes.qenv.ts
CHANGED
|
@@ -71,7 +71,7 @@ export class Qenv {
|
|
|
71
71
|
private loadAvailableEnvVars() {
|
|
72
72
|
for (const envVar of this.requiredEnvVars) {
|
|
73
73
|
const value = this.getEnvVarOnDemand(envVar);
|
|
74
|
-
if (value) {
|
|
74
|
+
if (value !== undefined) {
|
|
75
75
|
this.availableEnvVars.push(envVar);
|
|
76
76
|
this.keyValueObject[envVar] = value;
|
|
77
77
|
}
|
|
@@ -101,7 +101,7 @@ export class Qenv {
|
|
|
101
101
|
if (Array.isArray(envVarNameOrNames)) {
|
|
102
102
|
for (const envVarName of envVarNameOrNames) {
|
|
103
103
|
const value = await this.tryGetEnvVar(envVarName);
|
|
104
|
-
if (value) {
|
|
104
|
+
if (value !== undefined) {
|
|
105
105
|
return value;
|
|
106
106
|
}
|
|
107
107
|
}
|
|
@@ -120,7 +120,7 @@ export class Qenv {
|
|
|
120
120
|
envVarNameOrNames: TEnvVarRef | TEnvVarRef[]
|
|
121
121
|
): Promise<string> {
|
|
122
122
|
const value = await this.getEnvVarOnDemand(envVarNameOrNames);
|
|
123
|
-
if (
|
|
123
|
+
if (value === undefined) {
|
|
124
124
|
throw new Error(`Env var ${envVarNameOrNames} is not set!`);
|
|
125
125
|
}
|
|
126
126
|
return value;
|
|
@@ -132,7 +132,7 @@ export class Qenv {
|
|
|
132
132
|
if (Array.isArray(envVarNameOrNames)) {
|
|
133
133
|
for (const envVarName of envVarNameOrNames) {
|
|
134
134
|
const value = this.tryGetEnvVarSync(envVarName);
|
|
135
|
-
if (value) {
|
|
135
|
+
if (value !== undefined) {
|
|
136
136
|
return value;
|
|
137
137
|
}
|
|
138
138
|
}
|
|
@@ -156,21 +156,37 @@ export class Qenv {
|
|
|
156
156
|
return await envVarRefArg();
|
|
157
157
|
}
|
|
158
158
|
|
|
159
|
-
|
|
160
|
-
this.getFromEnvironmentVariable(envVarRefArg)
|
|
161
|
-
this.getFromEnvYamlOrJsonFile(envVarRefArg)
|
|
162
|
-
this.getFromDockerSecret(envVarRefArg)
|
|
159
|
+
const sources = [
|
|
160
|
+
this.getFromEnvironmentVariable(envVarRefArg),
|
|
161
|
+
this.getFromEnvYamlOrJsonFile(envVarRefArg),
|
|
162
|
+
this.getFromDockerSecret(envVarRefArg),
|
|
163
163
|
this.getFromDockerSecretJson(envVarRefArg)
|
|
164
|
-
|
|
164
|
+
];
|
|
165
|
+
|
|
166
|
+
for (const value of sources) {
|
|
167
|
+
if (value !== undefined) {
|
|
168
|
+
return value;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
return undefined;
|
|
165
173
|
}
|
|
166
174
|
|
|
167
175
|
private tryGetEnvVarSync(envVarName: string): string | undefined {
|
|
168
|
-
|
|
169
|
-
this.getFromEnvironmentVariable(envVarName)
|
|
170
|
-
this.getFromEnvYamlOrJsonFile(envVarName)
|
|
171
|
-
this.getFromDockerSecret(envVarName)
|
|
176
|
+
const sources = [
|
|
177
|
+
this.getFromEnvironmentVariable(envVarName),
|
|
178
|
+
this.getFromEnvYamlOrJsonFile(envVarName),
|
|
179
|
+
this.getFromDockerSecret(envVarName),
|
|
172
180
|
this.getFromDockerSecretJson(envVarName)
|
|
173
|
-
|
|
181
|
+
];
|
|
182
|
+
|
|
183
|
+
for (const value of sources) {
|
|
184
|
+
if (value !== undefined) {
|
|
185
|
+
return value;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
return undefined;
|
|
174
190
|
}
|
|
175
191
|
|
|
176
192
|
private getFromEnvironmentVariable(envVarName: string): string | undefined {
|
|
@@ -184,10 +200,13 @@ export class Qenv {
|
|
|
184
200
|
try {
|
|
185
201
|
const envJson = plugins.smartfile.fs.toObjectSync(this.envFilePathAbsolute);
|
|
186
202
|
const value = envJson[envVarName];
|
|
203
|
+
if (value === undefined) {
|
|
204
|
+
return undefined;
|
|
205
|
+
}
|
|
187
206
|
if (typeof value === 'object') {
|
|
188
207
|
return 'base64Object:' + this.encodeBase64(value);
|
|
189
208
|
}
|
|
190
|
-
return value;
|
|
209
|
+
return String(value);
|
|
191
210
|
} catch (error) {
|
|
192
211
|
return undefined;
|
|
193
212
|
}
|
|
@@ -208,10 +227,13 @@ export class Qenv {
|
|
|
208
227
|
if (secret.includes('secret.json')) {
|
|
209
228
|
const secretObject = plugins.smartfile.fs.toObjectSync(`/run/secrets/${secret}`);
|
|
210
229
|
const value = secretObject[envVarName];
|
|
230
|
+
if (value === undefined) {
|
|
231
|
+
continue;
|
|
232
|
+
}
|
|
211
233
|
if (typeof value === 'object') {
|
|
212
234
|
return 'base64Object:' + this.encodeBase64(value);
|
|
213
235
|
}
|
|
214
|
-
return value;
|
|
236
|
+
return String(value);
|
|
215
237
|
}
|
|
216
238
|
}
|
|
217
239
|
}
|