Compare commits
10 Commits
Author | SHA1 | Date | |
---|---|---|---|
1a106e322c | |||
36ded40032 | |||
44f5f84195 | |||
72655a6a0e | |||
961df11121 | |||
ee6f5e63ee | |||
a40b6adeef | |||
6ee324a0ef | |||
215a48a409 | |||
aeaa6149e4 |
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@push.rocks/npmextra",
|
||||
"version": "5.0.5",
|
||||
"version": "5.0.10",
|
||||
"private": false,
|
||||
"description": "do more with npm",
|
||||
"main": "dist_ts/index.js",
|
||||
|
@ -3,6 +3,6 @@
|
||||
*/
|
||||
export const commitinfo = {
|
||||
name: '@push.rocks/npmextra',
|
||||
version: '5.0.5',
|
||||
version: '5.0.10',
|
||||
description: 'do more with npm'
|
||||
}
|
||||
|
@ -67,19 +67,28 @@ export class AppData<T = any> {
|
||||
});
|
||||
|
||||
if (this.options.envMapping) {
|
||||
const qenvInstance = new plugins.qenv.Qenv();
|
||||
const qenvInstance = new plugins.qenv.Qenv(process.cwd(), plugins.path.join(process.cwd(), '.nogit'));
|
||||
|
||||
// Recursive function to handle nested objects, now includes key parameter
|
||||
const processEnvMapping = async (key: string, mappingValue: any, parentKey: string = ''): Promise<any> => {
|
||||
if (typeof mappingValue === 'string') {
|
||||
let envValue = await qenvInstance.getEnvVarOnDemand(mappingValue);
|
||||
let envValue: string;
|
||||
if (mappingValue.startsWith('hard:')) {
|
||||
envValue = mappingValue.replace('hard:', '');
|
||||
} else {
|
||||
envValue = await qenvInstance.getEnvVarOnDemand(mappingValue);
|
||||
}
|
||||
if (envValue) {
|
||||
if (mappingValue.endsWith('_JSON')) {
|
||||
envValue = JSON.parse(envValue);
|
||||
}
|
||||
// Determine the correct key to use (top-level or nested)
|
||||
const effectiveKey = parentKey || key;
|
||||
await this.kvStore.writeKey(effectiveKey, envValue);
|
||||
if (!parentKey) {
|
||||
await this.kvStore.writeKey(key, envValue);
|
||||
} else {
|
||||
return envValue;
|
||||
}
|
||||
} else {
|
||||
return undefined;
|
||||
}
|
||||
} else if (typeof mappingValue === 'object' && mappingValue !== null) {
|
||||
const resultObject = {};
|
||||
@ -129,6 +138,7 @@ export class AppData<T = any> {
|
||||
} else {
|
||||
console.log('All mandatory keys are present in the appdata');
|
||||
}
|
||||
return missingMandatoryKeys;
|
||||
}
|
||||
|
||||
public async waitForAndGetKey(keyArg: string) {
|
||||
|
Reference in New Issue
Block a user