@calvear/env 2.10.6 → 3.0.0
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.
- package/CHANGELOG.md +26 -0
- package/README.md +97 -113
- package/arguments.d.ts +15 -15
- package/arguments.d.ts.map +1 -1
- package/arguments.js +142 -131
- package/arguments.js.map +1 -1
- package/commands/env.command.d.ts +8 -2
- package/commands/env.command.d.ts.map +1 -1
- package/commands/env.command.js +65 -81
- package/commands/env.command.js.map +1 -1
- package/commands/export.command.d.ts +9 -2
- package/commands/export.command.d.ts.map +1 -1
- package/commands/export.command.js +54 -56
- package/commands/export.command.js.map +1 -1
- package/commands/index.d.ts +5 -5
- package/commands/index.d.ts.map +1 -1
- package/commands/index.js +5 -14
- package/commands/pull.command.d.ts +6 -1
- package/commands/pull.command.d.ts.map +1 -1
- package/commands/pull.command.js +21 -37
- package/commands/pull.command.js.map +1 -1
- package/commands/push.command.d.ts +6 -1
- package/commands/push.command.d.ts.map +1 -1
- package/commands/push.command.js +21 -36
- package/commands/push.command.js.map +1 -1
- package/commands/schema.command.d.ts +6 -1
- package/commands/schema.command.d.ts.map +1 -1
- package/commands/schema.command.js +17 -17
- package/commands/schema.command.js.map +1 -1
- package/exec.d.ts +7 -1
- package/exec.d.ts.map +1 -1
- package/exec.js +88 -147
- package/exec.js.map +1 -1
- package/index.d.ts +3 -3
- package/index.d.ts.map +1 -1
- package/index.js +3 -20
- package/interfaces/index.d.ts +1 -1
- package/interfaces/index.d.ts.map +1 -1
- package/interfaces/loader.interface.d.ts +29 -3
- package/interfaces/loader.interface.d.ts.map +1 -1
- package/main.d.ts +0 -1
- package/main.js +7 -26
- package/main.js.map +1 -1
- package/package.json +53 -33
- package/providers/app-settings.provider.d.ts +5 -3
- package/providers/app-settings.provider.d.ts.map +1 -1
- package/providers/app-settings.provider.js +36 -51
- package/providers/app-settings.provider.js.map +1 -1
- package/providers/index.d.ts +2 -2
- package/providers/index.d.ts.map +1 -1
- package/providers/index.js +18 -28
- package/providers/index.js.map +1 -1
- package/providers/local.provider.d.ts +5 -2
- package/providers/local.provider.d.ts.map +1 -1
- package/providers/local.provider.js +27 -40
- package/providers/local.provider.js.map +1 -1
- package/providers/package-json.provider.d.ts +5 -2
- package/providers/package-json.provider.d.ts.map +1 -1
- package/providers/package-json.provider.js +26 -28
- package/providers/package-json.provider.js.map +1 -1
- package/providers/secrets.provider.d.ts +5 -2
- package/providers/secrets.provider.d.ts.map +1 -1
- package/providers/secrets.provider.js +24 -33
- package/providers/secrets.provider.js.map +1 -1
- package/utils/argv.util.d.ts +10 -0
- package/utils/argv.util.d.ts.map +1 -0
- package/utils/argv.util.js +24 -0
- package/utils/argv.util.js.map +1 -0
- package/utils/command.util.d.ts +71 -4
- package/utils/command.util.d.ts.map +1 -1
- package/utils/command.util.js +60 -135
- package/utils/command.util.js.map +1 -1
- package/utils/index.d.ts +8 -6
- package/utils/index.d.ts.map +1 -1
- package/utils/index.js +9 -23
- package/utils/interpolate.util.d.ts +29 -1
- package/utils/interpolate.util.d.ts.map +1 -1
- package/utils/interpolate.util.js +12 -29
- package/utils/interpolate.util.js.map +1 -1
- package/utils/json.util.d.ts +41 -3
- package/utils/json.util.d.ts.map +1 -1
- package/utils/json.util.js +29 -41
- package/utils/json.util.js.map +1 -1
- package/utils/logger.d.ts +21 -2
- package/utils/logger.d.ts.map +1 -1
- package/utils/logger.js +31 -17
- package/utils/logger.js.map +1 -1
- package/utils/normalize.util.d.ts +24 -2
- package/utils/normalize.util.d.ts.map +1 -1
- package/utils/normalize.util.js +35 -57
- package/utils/normalize.util.js.map +1 -1
- package/utils/schema.util.d.ts +62 -3
- package/utils/schema.util.d.ts.map +1 -1
- package/utils/schema.util.js +64 -92
- package/utils/schema.util.js.map +1 -1
- package/utils/ui.d.ts +14 -0
- package/utils/ui.d.ts.map +1 -0
- package/utils/ui.js +75 -0
- package/utils/ui.js.map +1 -0
- package/commands/index.js.map +0 -1
- package/index.js.map +0 -1
- package/interfaces/index.js +0 -18
- package/interfaces/index.js.map +0 -1
- package/interfaces/loader.interface.js +0 -3
- package/interfaces/loader.interface.js.map +0 -1
- package/tsconfig.build.tsbuildinfo +0 -1
- package/utils/index.js.map +0 -1
|
@@ -1,53 +1,38 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
});
|
|
35
|
-
},
|
|
36
|
-
load: async ({ env, modes = [], envFile, sectionPrefix, ci }) => {
|
|
37
|
-
const [appsettings = APP_SETTINGS_DEFAULT, wasFound] = await (0, utils_1.readJson)(envFile);
|
|
38
|
-
if (!wasFound) {
|
|
39
|
-
utils_1.logger.warn(`${chalk_1.default.blue(envFile)} not found`);
|
|
40
|
-
utils_1.logger.debug(`creating default ${chalk_1.default.blue(envFile)} file`);
|
|
41
|
-
await (0, utils_1.writeJson)(envFile, APP_SETTINGS_DEFAULT);
|
|
42
|
-
}
|
|
43
|
-
if (ci)
|
|
44
|
-
appsettings['|LOCAL|'] = null;
|
|
45
|
-
return [
|
|
46
|
-
appsettings['|DEFAULT|'],
|
|
47
|
-
appsettings['|ENV|']?.[`${sectionPrefix}${env}`],
|
|
48
|
-
...modes.map((mode) => appsettings['|MODE|']?.[`${sectionPrefix}${mode}`]),
|
|
49
|
-
appsettings['|LOCAL|']?.[`${sectionPrefix}${env}`]
|
|
50
|
-
];
|
|
51
|
-
}
|
|
1
|
+
import { readJson as e } from "../utils/json.util.js";
|
|
2
|
+
import { logger as t } from "../utils/logger.js";
|
|
3
|
+
import "../utils/index.js";
|
|
4
|
+
import n from "picocolors";
|
|
5
|
+
//#region src/providers/app-settings.provider.ts
|
|
6
|
+
var r = "app-settings", i = t.getSubLogger({ prefix: [n.bold(n.blue(`[${r}]`))] }), a = {
|
|
7
|
+
key: r,
|
|
8
|
+
builder: (e) => {
|
|
9
|
+
e.options({ envFile: {
|
|
10
|
+
alias: "ef",
|
|
11
|
+
default: "[[root]]/appsettings.json",
|
|
12
|
+
describe: "Environment variables file path (non secrets)",
|
|
13
|
+
group: r,
|
|
14
|
+
type: "string"
|
|
15
|
+
} });
|
|
16
|
+
},
|
|
17
|
+
load: async ({ ci: t, env: r, envFile: a, modes: o = [], root: s }) => {
|
|
18
|
+
let [c = {}, l] = await e(a);
|
|
19
|
+
l || i.warn(`${n.blue(a)} not found`);
|
|
20
|
+
let u = c["|DEFAULT|"] || c["|ENV|"] || c["|MODE|"] || c["|LOCAL|"], d = await Promise.all([
|
|
21
|
+
e(`${s}/appsettings.${r}.json`).then(([e]) => e),
|
|
22
|
+
e(`${s}/appsettings.${r}.local.json`).then(([e]) => t ? {} : e),
|
|
23
|
+
...o.map((t) => e(`${s}/appsettings.${t}.json`).then(([e]) => e))
|
|
24
|
+
]);
|
|
25
|
+
return t && (c["|LOCAL|"] = null), [
|
|
26
|
+
u ? {} : c,
|
|
27
|
+
c["|DEFAULT|"],
|
|
28
|
+
c["|ENV|"]?.[r],
|
|
29
|
+
...o.map((e) => c["|MODE|"]?.[e]),
|
|
30
|
+
c["|LOCAL|"]?.[r],
|
|
31
|
+
...d
|
|
32
|
+
];
|
|
33
|
+
}
|
|
52
34
|
};
|
|
35
|
+
//#endregion
|
|
36
|
+
export { a as AppSettingsProvider };
|
|
37
|
+
|
|
53
38
|
//# sourceMappingURL=app-settings.provider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-settings.provider.js","
|
|
1
|
+
{"version":3,"file":"app-settings.provider.js","names":[],"sources":["../../src/providers/app-settings.provider.ts"],"sourcesContent":["import pc from 'picocolors';\r\nimport type { CommandArguments } from '../arguments.js';\r\nimport type { EnvProvider } from '../interfaces/index.js';\r\nimport { logger as globalLogger, readJson } from '../utils/index.js';\r\n\r\nconst KEY = 'app-settings';\r\n\r\nconst logger = globalLogger.getSubLogger({\r\n\tprefix: [pc.bold(pc.blue(`[${KEY}]`))],\r\n});\r\n\r\ninterface AppSettingsCommandArguments extends CommandArguments {\r\n\tenvFile: string;\r\n}\r\n\r\n/**\r\n * Loads config from appsettings.json.\r\n */\r\nexport const AppSettingsProvider: EnvProvider<AppSettingsCommandArguments> = {\r\n\tkey: KEY,\r\n\r\n\tbuilder: (builder) => {\r\n\t\tbuilder.options({\r\n\t\t\tenvFile: {\r\n\t\t\t\talias: 'ef',\r\n\t\t\t\tdefault: '[[root]]/appsettings.json',\r\n\t\t\t\tdescribe: 'Environment variables file path (non secrets)',\r\n\t\t\t\tgroup: KEY,\r\n\t\t\t\ttype: 'string',\r\n\t\t\t},\r\n\t\t});\r\n\t},\r\n\r\n\tload: async ({ ci, env, envFile, modes = [], root }) => {\r\n\t\tconst [appsettings = {}, wasFound] = await readJson(envFile);\r\n\r\n\t\tif (!wasFound) logger.warn(`${pc.blue(envFile)} not found`);\r\n\r\n\t\tconst composite =\r\n\t\t\tappsettings['|DEFAULT|'] ||\r\n\t\t\tappsettings['|ENV|'] ||\r\n\t\t\tappsettings['|MODE|'] ||\r\n\t\t\tappsettings['|LOCAL|'];\r\n\r\n\t\tconst unitary = await Promise.all([\r\n\t\t\treadJson(`${root}/appsettings.${env}.json`).then(\r\n\t\t\t\t([settings]) => settings,\r\n\t\t\t),\r\n\t\t\treadJson(`${root}/appsettings.${env}.local.json`).then(\r\n\t\t\t\t([settings]) => (ci ? {} : settings),\r\n\t\t\t),\r\n\t\t\t...modes.map((mode) =>\r\n\t\t\t\treadJson(`${root}/appsettings.${mode}.json`).then(\r\n\t\t\t\t\t([settings]) => settings,\r\n\t\t\t\t),\r\n\t\t\t),\r\n\t\t]);\r\n\r\n\t\t// only load local in env load cmd\r\n\t\tif (ci) appsettings['|LOCAL|'] = null;\r\n\r\n\t\treturn [\r\n\t\t\tcomposite ? {} : appsettings,\r\n\r\n\t\t\tappsettings['|DEFAULT|'],\r\n\r\n\t\t\tappsettings['|ENV|']?.[env],\r\n\r\n\t\t\t...modes.map((mode) => appsettings['|MODE|']?.[mode]),\r\n\r\n\t\t\tappsettings['|LOCAL|']?.[env],\r\n\r\n\t\t\t...unitary,\r\n\t\t];\r\n\t},\r\n};\r\n"],"mappings":";;;;;AAKA,IAAM,IAAM,gBAEN,IAAS,EAAa,aAAa,EACxC,QAAQ,CAAC,EAAG,KAAK,EAAG,KAAK,IAAI,EAAI,EAAE,CAAC,CAAC,EACtC,CAAC,GASY,IAAgE;CAC5E,KAAK;CAEL,UAAU,MAAY;EACrB,EAAQ,QAAQ,EACf,SAAS;GACR,OAAO;GACP,SAAS;GACT,UAAU;GACV,OAAO;GACP,MAAM;EACP,EACD,CAAC;CACF;CAEA,MAAM,OAAO,EAAE,OAAI,QAAK,YAAS,WAAQ,CAAC,GAAG,cAAW;EACvD,IAAM,CAAC,IAAc,CAAC,GAAG,KAAY,MAAM,EAAS,CAAO;EAE3D,AAAK,KAAU,EAAO,KAAK,GAAG,EAAG,KAAK,CAAO,EAAE,WAAW;EAE1D,IAAM,IACL,EAAY,gBACZ,EAAY,YACZ,EAAY,aACZ,EAAY,YAEP,IAAU,MAAM,QAAQ,IAAI;GACjC,EAAS,GAAG,EAAK,eAAe,EAAI,MAAM,EAAE,MAC1C,CAAC,OAAc,CACjB;GACA,EAAS,GAAG,EAAK,eAAe,EAAI,YAAY,EAAE,MAChD,CAAC,OAAe,IAAK,CAAC,IAAI,CAC5B;GACA,GAAG,EAAM,KAAK,MACb,EAAS,GAAG,EAAK,eAAe,EAAK,MAAM,EAAE,MAC3C,CAAC,OAAc,CACjB,CACD;EACD,CAAC;EAKD,OAFI,MAAI,EAAY,aAAa,OAE1B;GACN,IAAY,CAAC,IAAI;GAEjB,EAAY;GAEZ,EAAY,WAAW;GAEvB,GAAG,EAAM,KAAK,MAAS,EAAY,YAAY,EAAK;GAEpD,EAAY,aAAa;GAEzB,GAAG;EACJ;CACD;AACD"}
|
package/providers/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { EnvProvider } from '../interfaces';
|
|
1
|
+
import { EnvProvider } from '../interfaces/index.js';
|
|
2
2
|
declare const IntegratedProviders: Record<string, EnvProvider<any, any>>;
|
|
3
3
|
declare const IntegratedProviderConfig: {
|
|
4
4
|
path: string;
|
|
5
5
|
}[];
|
|
6
|
-
export {
|
|
6
|
+
export { IntegratedProviderConfig, IntegratedProviders };
|
|
7
7
|
//# sourceMappingURL=index.d.ts.map
|
package/providers/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAM1D,QAAA,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAK9D,CAAC;AAKF,QAAA,MAAM,wBAAwB;;GAa7B,CAAC;AAEF,OAAO,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,CAAC"}
|
package/providers/index.js
CHANGED
|
@@ -1,30 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
{
|
|
17
|
-
path: package_json_provider_1.PackageJsonProvider.key
|
|
18
|
-
},
|
|
19
|
-
{
|
|
20
|
-
path: app_settings_provider_1.AppSettingsProvider.key
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
path: secrets_provider_1.SecretsProvider.key
|
|
24
|
-
},
|
|
25
|
-
{
|
|
26
|
-
path: local_provider_1.LocalProvider.key
|
|
27
|
-
}
|
|
1
|
+
import { AppSettingsProvider as e } from "./app-settings.provider.js";
|
|
2
|
+
import { LocalProvider as t } from "./local.provider.js";
|
|
3
|
+
import { PackageJsonProvider as n } from "./package-json.provider.js";
|
|
4
|
+
import { SecretsProvider as r } from "./secrets.provider.js";
|
|
5
|
+
//#region src/providers/index.ts
|
|
6
|
+
var i = {
|
|
7
|
+
[e.key]: e,
|
|
8
|
+
[t.key]: t,
|
|
9
|
+
[n.key]: n,
|
|
10
|
+
[r.key]: r
|
|
11
|
+
}, a = [
|
|
12
|
+
{ path: n.key },
|
|
13
|
+
{ path: e.key },
|
|
14
|
+
{ path: r.key },
|
|
15
|
+
{ path: t.key }
|
|
28
16
|
];
|
|
29
|
-
|
|
17
|
+
//#endregion
|
|
18
|
+
export { a as IntegratedProviderConfig, i as IntegratedProviders };
|
|
19
|
+
|
|
30
20
|
//# sourceMappingURL=index.js.map
|
package/providers/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../src/providers/index.ts"],"sourcesContent":["import type { EnvProvider } from '../interfaces/index.js';\nimport { AppSettingsProvider } from './app-settings.provider.js';\nimport { LocalProvider } from './local.provider.js';\nimport { PackageJsonProvider } from './package-json.provider.js';\nimport { SecretsProvider } from './secrets.provider.js';\n\nconst IntegratedProviders: Record<string, EnvProvider<any, any>> = {\n\t[AppSettingsProvider.key]: AppSettingsProvider,\n\t[LocalProvider.key]: LocalProvider,\n\t[PackageJsonProvider.key]: PackageJsonProvider,\n\t[SecretsProvider.key]: SecretsProvider,\n};\n\n// order defines provider load + merge precedence (later entries win):\n// package-json (base info) < app-settings < secrets < local (highest).\n// Do NOT alphabetize this array — the sequence is semantic.\nconst IntegratedProviderConfig = [\n\t{\n\t\tpath: PackageJsonProvider.key,\n\t},\n\t{\n\t\tpath: AppSettingsProvider.key,\n\t},\n\t{\n\t\tpath: SecretsProvider.key,\n\t},\n\t{\n\t\tpath: LocalProvider.key,\n\t},\n];\n\nexport { IntegratedProviderConfig, IntegratedProviders };\n"],"mappings":";;;;;AAMA,IAAM,IAA6D;EACjE,EAAoB,MAAM;EAC1B,EAAc,MAAM;EACpB,EAAoB,MAAM;EAC1B,EAAgB,MAAM;AACxB,GAKM,IAA2B;CAChC,EACC,MAAM,EAAoB,IAC3B;CACA,EACC,MAAM,EAAoB,IAC3B;CACA,EACC,MAAM,EAAgB,IACvB;CACA,EACC,MAAM,EAAc,IACrB;AACD"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
import { CommandArguments } from '../arguments';
|
|
2
|
-
import { EnvProvider } from '../interfaces';
|
|
1
|
+
import { CommandArguments } from '../arguments.js';
|
|
2
|
+
import { EnvProvider } from '../interfaces/index.js';
|
|
3
3
|
interface LocalCommandArguments extends CommandArguments {
|
|
4
4
|
localFile: string;
|
|
5
5
|
}
|
|
6
|
+
/**
|
|
7
|
+
* Loads local variables from env files in env folder.
|
|
8
|
+
*/
|
|
6
9
|
export declare const LocalProvider: EnvProvider<LocalCommandArguments>;
|
|
7
10
|
export {};
|
|
8
11
|
//# sourceMappingURL=local.provider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local.provider.d.ts","sourceRoot":"","sources":["../../src/providers/local.provider.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"local.provider.d.ts","sourceRoot":"","sources":["../../src/providers/local.provider.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAS1D,UAAU,qBAAsB,SAAQ,gBAAgB;IACvD,SAAS,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,WAAW,CAAC,qBAAqB,CAmC5D,CAAC"}
|
|
@@ -1,42 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
});
|
|
26
|
-
},
|
|
27
|
-
load: async ({ env, localFile, ci }) => {
|
|
28
|
-
if (ci)
|
|
29
|
-
return [];
|
|
30
|
-
if (!env) {
|
|
31
|
-
logger.silly('no env, provider skipped');
|
|
32
|
-
return [];
|
|
33
|
-
}
|
|
34
|
-
if (!(0, fs_1.existsSync)(localFile)) {
|
|
35
|
-
await (0, utils_1.writeJson)(localFile, {});
|
|
36
|
-
return [];
|
|
37
|
-
}
|
|
38
|
-
const [vars] = await (0, utils_1.readJson)(localFile);
|
|
39
|
-
return [vars];
|
|
40
|
-
}
|
|
1
|
+
import { readJson as e, writeJson as t } from "../utils/json.util.js";
|
|
2
|
+
import { logger as n } from "../utils/logger.js";
|
|
3
|
+
import "../utils/index.js";
|
|
4
|
+
import r from "picocolors";
|
|
5
|
+
import { existsSync as i } from "node:fs";
|
|
6
|
+
//#region src/providers/local.provider.ts
|
|
7
|
+
var a = "local", o = n.getSubLogger({ prefix: [r.bold(r.blue(`[${a}]`))] }), s = {
|
|
8
|
+
key: a,
|
|
9
|
+
builder: (e) => {
|
|
10
|
+
e.options({ localFile: {
|
|
11
|
+
alias: "lf",
|
|
12
|
+
default: "[[root]]/[[env]].local.env.json",
|
|
13
|
+
describe: "Local secret variables file path",
|
|
14
|
+
group: a,
|
|
15
|
+
type: "string"
|
|
16
|
+
} });
|
|
17
|
+
},
|
|
18
|
+
load: async ({ ci: n, env: r, localFile: a }) => {
|
|
19
|
+
if (n) return [];
|
|
20
|
+
if (!r) return o.silly("no env, so skipping provider"), [];
|
|
21
|
+
if (!i(a)) return await t(a, {}), [];
|
|
22
|
+
let [s] = await e(a);
|
|
23
|
+
return [s];
|
|
24
|
+
}
|
|
41
25
|
};
|
|
26
|
+
//#endregion
|
|
27
|
+
export { s as LocalProvider };
|
|
28
|
+
|
|
42
29
|
//# sourceMappingURL=local.provider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local.provider.js","
|
|
1
|
+
{"version":3,"file":"local.provider.js","names":[],"sources":["../../src/providers/local.provider.ts"],"sourcesContent":["import { existsSync } from 'node:fs';\r\nimport pc from 'picocolors';\r\nimport type { CommandArguments } from '../arguments.js';\r\nimport type { EnvProvider } from '../interfaces/index.js';\r\nimport { logger as globalLogger, readJson, writeJson } from '../utils/index.js';\r\n\r\nconst KEY = 'local';\r\n\r\nconst logger = globalLogger.getSubLogger({\r\n\tprefix: [pc.bold(pc.blue(`[${KEY}]`))],\r\n});\r\n\r\ninterface LocalCommandArguments extends CommandArguments {\r\n\tlocalFile: string;\r\n}\r\n\r\n/**\r\n * Loads local variables from env files in env folder.\r\n */\r\nexport const LocalProvider: EnvProvider<LocalCommandArguments> = {\r\n\tkey: KEY,\r\n\r\n\tbuilder: (builder) => {\r\n\t\tbuilder.options({\r\n\t\t\tlocalFile: {\r\n\t\t\t\talias: 'lf',\r\n\t\t\t\tdefault: '[[root]]/[[env]].local.env.json',\r\n\t\t\t\tdescribe: 'Local secret variables file path',\r\n\t\t\t\tgroup: KEY,\r\n\t\t\t\ttype: 'string',\r\n\t\t\t},\r\n\t\t});\r\n\t},\r\n\r\n\tload: async ({ ci, env, localFile }) => {\r\n\t\t// ci mode doesn't load local vars\r\n\t\tif (ci) return [];\r\n\r\n\t\tif (!env) {\r\n\t\t\tlogger.silly('no env, so skipping provider');\r\n\r\n\t\t\treturn [];\r\n\t\t}\r\n\r\n\t\tif (!existsSync(localFile)) {\r\n\t\t\tawait writeJson(localFile, {});\r\n\r\n\t\t\treturn [];\r\n\t\t}\r\n\r\n\t\tconst [vars] = await readJson(localFile);\r\n\r\n\t\treturn [vars];\r\n\t},\r\n};\r\n"],"mappings":";;;;;;AAMA,IAAM,IAAM,SAEN,IAAS,EAAa,aAAa,EACxC,QAAQ,CAAC,EAAG,KAAK,EAAG,KAAK,IAAI,EAAI,EAAE,CAAC,CAAC,EACtC,CAAC,GASY,IAAoD;CAChE,KAAK;CAEL,UAAU,MAAY;EACrB,EAAQ,QAAQ,EACf,WAAW;GACV,OAAO;GACP,SAAS;GACT,UAAU;GACV,OAAO;GACP,MAAM;EACP,EACD,CAAC;CACF;CAEA,MAAM,OAAO,EAAE,OAAI,QAAK,mBAAgB;EAEvC,IAAI,GAAI,OAAO,CAAC;EAEhB,IAAI,CAAC,GAGJ,OAFA,EAAO,MAAM,8BAA8B,GAEpC,CAAC;EAGT,IAAI,CAAC,EAAW,CAAS,GAGxB,OAFA,MAAM,EAAU,GAAW,CAAC,CAAC,GAEtB,CAAC;EAGT,IAAM,CAAC,KAAQ,MAAM,EAAS,CAAS;EAEvC,OAAO,CAAC,CAAI;CACb;AACD"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
import { CommandArguments } from '../arguments';
|
|
2
|
-
import { EnvProvider } from '../interfaces';
|
|
1
|
+
import { CommandArguments } from '../arguments.js';
|
|
2
|
+
import { EnvProvider } from '../interfaces/index.js';
|
|
3
3
|
interface PackageJsonCommandArguments extends CommandArguments {
|
|
4
4
|
packageInfoPrefix: string;
|
|
5
5
|
}
|
|
6
|
+
/**
|
|
7
|
+
* Loads project info from package.json.
|
|
8
|
+
*/
|
|
6
9
|
export declare const PackageJsonProvider: EnvProvider<PackageJsonCommandArguments>;
|
|
7
10
|
export {};
|
|
8
11
|
//# sourceMappingURL=package-json.provider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-json.provider.d.ts","sourceRoot":"","sources":["../../src/providers/package-json.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"package-json.provider.d.ts","sourceRoot":"","sources":["../../src/providers/package-json.provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAI1D,UAAU,2BAA4B,SAAQ,gBAAgB;IAC7D,iBAAiB,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,WAAW,CAAC,2BAA2B,CA6BxE,CAAC"}
|
|
@@ -1,30 +1,28 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
[`${packageInfoPrefix}NAME`]: name,
|
|
25
|
-
[`${packageInfoPrefix}TITLE`]: title,
|
|
26
|
-
[`${packageInfoPrefix}DESCRIPTION`]: description
|
|
27
|
-
};
|
|
28
|
-
}
|
|
1
|
+
//#region src/providers/package-json.provider.ts
|
|
2
|
+
var e = "package-json", t = {
|
|
3
|
+
key: e,
|
|
4
|
+
builder: (t) => {
|
|
5
|
+
t.options({ packageInfoPrefix: {
|
|
6
|
+
alias: "vp",
|
|
7
|
+
default: "",
|
|
8
|
+
group: e,
|
|
9
|
+
type: "string",
|
|
10
|
+
describe: "Prefix for loaded variables using package-json provider"
|
|
11
|
+
} });
|
|
12
|
+
},
|
|
13
|
+
load: ({ env: e = "development", packageInfoPrefix: t, projectInfo: n }) => {
|
|
14
|
+
let { description: r, name: i, project: a, title: o, version: s } = n;
|
|
15
|
+
return {
|
|
16
|
+
[`${t}ENV`]: e ?? null,
|
|
17
|
+
[`${t}DESCRIPTION`]: r ?? null,
|
|
18
|
+
[`${t}NAME`]: i ?? null,
|
|
19
|
+
[`${t}PROJECT`]: a ?? null,
|
|
20
|
+
[`${t}TITLE`]: o ?? null,
|
|
21
|
+
[`${t}VERSION`]: s ?? null
|
|
22
|
+
};
|
|
23
|
+
}
|
|
29
24
|
};
|
|
25
|
+
//#endregion
|
|
26
|
+
export { t as PackageJsonProvider };
|
|
27
|
+
|
|
30
28
|
//# sourceMappingURL=package-json.provider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-json.provider.js","
|
|
1
|
+
{"version":3,"file":"package-json.provider.js","names":[],"sources":["../../src/providers/package-json.provider.ts"],"sourcesContent":["import type { CommandArguments } from '../arguments.js';\r\nimport type { EnvProvider } from '../interfaces/index.js';\r\n\r\nconst KEY = 'package-json';\r\n\r\ninterface PackageJsonCommandArguments extends CommandArguments {\r\n\tpackageInfoPrefix: string;\r\n}\r\n\r\n/**\r\n * Loads project info from package.json.\r\n */\r\nexport const PackageJsonProvider: EnvProvider<PackageJsonCommandArguments> = {\r\n\tkey: KEY,\r\n\r\n\tbuilder: (builder) => {\r\n\t\tbuilder.options({\r\n\t\t\tpackageInfoPrefix: {\r\n\t\t\t\talias: 'vp',\r\n\t\t\t\tdefault: '',\r\n\t\t\t\tgroup: KEY,\r\n\t\t\t\ttype: 'string',\r\n\t\t\t\tdescribe:\r\n\t\t\t\t\t'Prefix for loaded variables using package-json provider',\r\n\t\t\t},\r\n\t\t});\r\n\t},\r\n\r\n\tload: ({ env = 'development', packageInfoPrefix, projectInfo }) => {\r\n\t\tconst { description, name, project, title, version } = projectInfo;\r\n\r\n\t\treturn {\r\n\t\t\t[`${packageInfoPrefix}ENV`]: env ?? null,\r\n\r\n\t\t\t[`${packageInfoPrefix}DESCRIPTION`]: description ?? null,\r\n\t\t\t[`${packageInfoPrefix}NAME`]: name ?? null,\r\n\t\t\t[`${packageInfoPrefix}PROJECT`]: project ?? null,\r\n\t\t\t[`${packageInfoPrefix}TITLE`]: title ?? null,\r\n\t\t\t[`${packageInfoPrefix}VERSION`]: version ?? null,\r\n\t\t};\r\n\t},\r\n};\r\n"],"mappings":";AAGA,IAAM,IAAM,gBASC,IAAgE;CAC5E,KAAK;CAEL,UAAU,MAAY;EACrB,EAAQ,QAAQ,EACf,mBAAmB;GAClB,OAAO;GACP,SAAS;GACT,OAAO;GACP,MAAM;GACN,UACC;EACF,EACD,CAAC;CACF;CAEA,OAAO,EAAE,SAAM,eAAe,sBAAmB,qBAAkB;EAClE,IAAM,EAAE,gBAAa,SAAM,YAAS,UAAO,eAAY;EAEvD,OAAO;IACL,GAAG,EAAkB,OAAO,KAAO;IAEnC,GAAG,EAAkB,eAAe,KAAe;IACnD,GAAG,EAAkB,QAAQ,KAAQ;IACrC,GAAG,EAAkB,WAAW,KAAW;IAC3C,GAAG,EAAkB,SAAS,KAAS;IACvC,GAAG,EAAkB,WAAW,KAAW;EAC7C;CACD;AACD"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
import { CommandArguments } from '../arguments';
|
|
2
|
-
import { EnvProvider } from '../interfaces';
|
|
1
|
+
import { CommandArguments } from '../arguments.js';
|
|
2
|
+
import { EnvProvider } from '../interfaces/index.js';
|
|
3
3
|
interface SecretsCommandArguments extends CommandArguments {
|
|
4
4
|
secretsFile: string;
|
|
5
5
|
}
|
|
6
|
+
/**
|
|
7
|
+
* Loads secrets from env files in env folder.
|
|
8
|
+
*/
|
|
6
9
|
export declare const SecretsProvider: EnvProvider<SecretsCommandArguments>;
|
|
7
10
|
export {};
|
|
8
11
|
//# sourceMappingURL=secrets.provider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secrets.provider.d.ts","sourceRoot":"","sources":["../../src/providers/secrets.provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"secrets.provider.d.ts","sourceRoot":"","sources":["../../src/providers/secrets.provider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAS1D,UAAU,uBAAwB,SAAQ,gBAAgB;IACzD,WAAW,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,uBAAuB,CA0BhE,CAAC"}
|
|
@@ -1,35 +1,26 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
describe: 'Secret variables file path'
|
|
23
|
-
}
|
|
24
|
-
});
|
|
25
|
-
},
|
|
26
|
-
load: async ({ env, secretsFile }) => {
|
|
27
|
-
if (!env) {
|
|
28
|
-
logger.silly('no env, provider skipped');
|
|
29
|
-
return [];
|
|
30
|
-
}
|
|
31
|
-
const [secrets] = await (0, utils_1.readJson)(secretsFile);
|
|
32
|
-
return [secrets];
|
|
33
|
-
}
|
|
1
|
+
import { readJson as e } from "../utils/json.util.js";
|
|
2
|
+
import { logger as t } from "../utils/logger.js";
|
|
3
|
+
import "../utils/index.js";
|
|
4
|
+
import n from "picocolors";
|
|
5
|
+
//#region src/providers/secrets.provider.ts
|
|
6
|
+
var r = "secrets", i = t.getSubLogger({ prefix: [n.bold(n.blue(`[${r}]`))] }), a = {
|
|
7
|
+
key: r,
|
|
8
|
+
builder: (e) => {
|
|
9
|
+
e.options({ secretsFile: {
|
|
10
|
+
alias: "sf",
|
|
11
|
+
default: "[[root]]/[[env]].env.json",
|
|
12
|
+
describe: "Secret variables file path",
|
|
13
|
+
group: r,
|
|
14
|
+
type: "string"
|
|
15
|
+
} });
|
|
16
|
+
},
|
|
17
|
+
load: async ({ env: t, secretsFile: n }) => {
|
|
18
|
+
if (!t) return i.silly("no env, provider skipped"), [];
|
|
19
|
+
let [r] = await e(n);
|
|
20
|
+
return [r];
|
|
21
|
+
}
|
|
34
22
|
};
|
|
23
|
+
//#endregion
|
|
24
|
+
export { a as SecretsProvider };
|
|
25
|
+
|
|
35
26
|
//# sourceMappingURL=secrets.provider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secrets.provider.js","
|
|
1
|
+
{"version":3,"file":"secrets.provider.js","names":[],"sources":["../../src/providers/secrets.provider.ts"],"sourcesContent":["import pc from 'picocolors';\nimport type { CommandArguments } from '../arguments.js';\nimport type { EnvProvider } from '../interfaces/index.js';\nimport { logger as globalLogger, readJson } from '../utils/index.js';\n\nconst KEY = 'secrets';\n\nconst logger = globalLogger.getSubLogger({\n\tprefix: [pc.bold(pc.blue(`[${KEY}]`))],\n});\n\ninterface SecretsCommandArguments extends CommandArguments {\n\tsecretsFile: string;\n}\n\n/**\n * Loads secrets from env files in env folder.\n */\nexport const SecretsProvider: EnvProvider<SecretsCommandArguments> = {\n\tkey: KEY,\n\n\tbuilder: (builder) => {\n\t\tbuilder.options({\n\t\t\tsecretsFile: {\n\t\t\t\talias: 'sf',\n\t\t\t\tdefault: '[[root]]/[[env]].env.json',\n\t\t\t\tdescribe: 'Secret variables file path',\n\t\t\t\tgroup: KEY,\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t});\n\t},\n\n\tload: async ({ env, secretsFile }) => {\n\t\tif (!env) {\n\t\t\tlogger.silly('no env, provider skipped');\n\n\t\t\treturn [];\n\t\t}\n\n\t\tconst [secrets] = await readJson(secretsFile);\n\n\t\treturn [secrets];\n\t},\n};\n"],"mappings":";;;;;AAKA,IAAM,IAAM,WAEN,IAAS,EAAa,aAAa,EACxC,QAAQ,CAAC,EAAG,KAAK,EAAG,KAAK,IAAI,EAAI,EAAE,CAAC,CAAC,EACtC,CAAC,GASY,IAAwD;CACpE,KAAK;CAEL,UAAU,MAAY;EACrB,EAAQ,QAAQ,EACf,aAAa;GACZ,OAAO;GACP,SAAS;GACT,UAAU;GACV,OAAO;GACP,MAAM;EACP,EACD,CAAC;CACF;CAEA,MAAM,OAAO,EAAE,QAAK,qBAAkB;EACrC,IAAI,CAAC,GAGJ,OAFA,EAAO,MAAM,0BAA0B,GAEhC,CAAC;EAGT,IAAM,CAAC,KAAW,MAAM,EAAS,CAAW;EAE5C,OAAO,CAAC,CAAO;CAChB;AACD"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Recombines argv tokens so single-quoted, space-containing argument values
|
|
3
|
+
* survive shell splitting. Mirrors the original main.ts pre-processing as a
|
|
4
|
+
* pure, testable function.
|
|
5
|
+
*
|
|
6
|
+
* @param argv raw process.argv
|
|
7
|
+
* @returns normalized argv (already sliced past node + script path)
|
|
8
|
+
*/
|
|
9
|
+
export declare function normalizeRawArgv(argv: string[]): string[];
|
|
10
|
+
//# sourceMappingURL=argv.util.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"argv.util.d.ts","sourceRoot":"","sources":["../../src/utils/argv.util.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CA2BzD"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
//#region src/utils/argv.util.ts
|
|
2
|
+
function e(e) {
|
|
3
|
+
let t = [], n = "";
|
|
4
|
+
for (let r of e) {
|
|
5
|
+
if (r.includes(" ") && (r = `"${r}"`), r.at(-1) === "'") {
|
|
6
|
+
t.push(`${n} ${r}`.replaceAll("'", "\"")), n = "";
|
|
7
|
+
continue;
|
|
8
|
+
}
|
|
9
|
+
if (r[0] === "'") {
|
|
10
|
+
n += r;
|
|
11
|
+
continue;
|
|
12
|
+
}
|
|
13
|
+
if (n) {
|
|
14
|
+
n += ` ${r}`;
|
|
15
|
+
continue;
|
|
16
|
+
}
|
|
17
|
+
t.push(r);
|
|
18
|
+
}
|
|
19
|
+
return t.slice(2);
|
|
20
|
+
}
|
|
21
|
+
//#endregion
|
|
22
|
+
export { e as normalizeRawArgv };
|
|
23
|
+
|
|
24
|
+
//# sourceMappingURL=argv.util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"argv.util.js","names":[],"sources":["../../src/utils/argv.util.ts"],"sourcesContent":["/**\n * Recombines argv tokens so single-quoted, space-containing argument values\n * survive shell splitting. Mirrors the original main.ts pre-processing as a\n * pure, testable function.\n *\n * @param argv raw process.argv\n * @returns normalized argv (already sliced past node + script path)\n */\nexport function normalizeRawArgv(argv: string[]): string[] {\n\tconst cmdArgs: string[] = [];\n\tlet composite = '';\n\n\tfor (let arg of argv) {\n\t\tif (arg.includes(' ')) arg = `\"${arg}\"`;\n\n\t\tif (arg.at(-1) === \"'\") {\n\t\t\tcmdArgs.push(`${composite} ${arg}`.replaceAll(\"'\", '\"'));\n\t\t\tcomposite = '';\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (arg[0] === \"'\") {\n\t\t\tcomposite += arg;\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (composite) {\n\t\t\tcomposite += ` ${arg}`;\n\t\t\tcontinue;\n\t\t}\n\n\t\tcmdArgs.push(arg);\n\t}\n\n\treturn cmdArgs.slice(2);\n}\n"],"mappings":";AAQA,SAAgB,EAAiB,GAA0B;CAC1D,IAAM,IAAoB,CAAC,GACvB,IAAY;CAEhB,KAAK,IAAI,KAAO,GAAM;EAGrB,IAFI,EAAI,SAAS,GAAG,MAAG,IAAM,IAAI,EAAI,KAEjC,EAAI,GAAG,EAAE,MAAM,KAAK;GAEvB,AADA,EAAQ,KAAK,GAAG,EAAU,GAAG,IAAM,WAAW,KAAK,IAAG,CAAC,GACvD,IAAY;GACZ;EACD;EAEA,IAAI,EAAI,OAAO,KAAK;GACnB,KAAa;GACb;EACD;EAEA,IAAI,GAAW;GACd,KAAa,IAAI;GACjB;EACD;EAEA,EAAQ,KAAK,CAAG;CACjB;CAEA,OAAO,EAAQ,MAAM,CAAC;AACvB"}
|
package/utils/command.util.d.ts
CHANGED
|
@@ -1,13 +1,80 @@
|
|
|
1
1
|
import { Arguments } from 'yargs';
|
|
2
|
-
import { CommandArguments } from 'arguments';
|
|
3
|
-
import { EnvCommandArguments } from 'commands/env.command';
|
|
4
|
-
import { EnvProviderConfig, EnvProviderResult } from '../interfaces';
|
|
2
|
+
import { CommandArguments } from '../arguments.js';
|
|
3
|
+
import { EnvCommandArguments } from '../commands/env.command.js';
|
|
4
|
+
import { EnvProviderConfig, EnvProviderResult } from '../interfaces/index.js';
|
|
5
|
+
/**
|
|
6
|
+
* Injects config to command arguments from file.
|
|
7
|
+
*
|
|
8
|
+
* @param {Record<string, unknown>} argv
|
|
9
|
+
* @param {[string, string]} delimiters
|
|
10
|
+
*/
|
|
5
11
|
export declare function loadConfigFile(argv: Record<string, unknown>, delimiters: [string, string]): Promise<void>;
|
|
12
|
+
/**
|
|
13
|
+
* Extracts subcommand from command line parameters.
|
|
14
|
+
*
|
|
15
|
+
* @export
|
|
16
|
+
* @param {string[]} rawArgv process.argv.slice(2)
|
|
17
|
+
* @param {[string, string]} delimiters
|
|
18
|
+
*
|
|
19
|
+
* @returns {string[]} subcommand for wrap if exists
|
|
20
|
+
*/
|
|
6
21
|
export declare function getSubcommand(rawArgv: string[], delimiters: [string, string]): string[];
|
|
22
|
+
/**
|
|
23
|
+
* Loads providers JSON schema from file.
|
|
24
|
+
*
|
|
25
|
+
* @param {Record<string, unknown>} argv
|
|
26
|
+
* @param {[string, string]} delimiters
|
|
27
|
+
*
|
|
28
|
+
* @returns {Promise<Record<string, unknown>>}
|
|
29
|
+
*/
|
|
7
30
|
export declare function loadSchemaFile(argv: Record<string, unknown>, delimiters: [string, string]): Promise<Record<string, unknown> | undefined>;
|
|
31
|
+
/**
|
|
32
|
+
* Reads project package.json.
|
|
33
|
+
*
|
|
34
|
+
* @export
|
|
35
|
+
* @returns {Promise<Record<string, unknown>> | never}
|
|
36
|
+
*/
|
|
8
37
|
export declare function loadProjectInfo(relativePath?: string): Promise<Record<string, unknown>>;
|
|
38
|
+
/**
|
|
39
|
+
* Executes load functions from provider handlers.
|
|
40
|
+
*
|
|
41
|
+
* @param {EnvProviderConfig[]} providers
|
|
42
|
+
* @param {Partial<Arguments<EnvCommandArguments>>} argv
|
|
43
|
+
*
|
|
44
|
+
* @returns {EnvProviderResult[]}
|
|
45
|
+
*/
|
|
9
46
|
export declare function loadVariablesFromProviders(providers: EnvProviderConfig[], argv: Partial<Arguments<EnvCommandArguments>>): Promise<EnvProviderResult[]>;
|
|
47
|
+
/**
|
|
48
|
+
* Flattern environment provider results.
|
|
49
|
+
*
|
|
50
|
+
* @param {EnvProviderResult[]} results
|
|
51
|
+
* @param {Partial<Arguments<EnvCommandArguments>>} argv
|
|
52
|
+
*
|
|
53
|
+
* @throws {Error} on schema validation failed
|
|
54
|
+
*
|
|
55
|
+
* @returns {EnvProviderResult[]} flatten results
|
|
56
|
+
*/
|
|
10
57
|
export declare function flatResults(results: EnvProviderResult[], nestingDelimiter?: string): EnvProviderResult[] | never;
|
|
11
|
-
|
|
58
|
+
/**
|
|
59
|
+
* Flattern and validates environment provider results.
|
|
60
|
+
*
|
|
61
|
+
* @param {EnvProviderResult[]} results
|
|
62
|
+
* @param {Partial<Arguments<EnvCommandArguments>>} argv
|
|
63
|
+
*
|
|
64
|
+
* @throws {Error} on schema validation failed
|
|
65
|
+
*
|
|
66
|
+
* @returns {EnvProviderResult[]}
|
|
67
|
+
*/
|
|
68
|
+
export declare function flatAndValidateResults(results: EnvProviderResult[], argv: Partial<Arguments<EnvCommandArguments>>): Promise<EnvProviderResult[]>;
|
|
69
|
+
/**
|
|
70
|
+
* Creates or updates JSON schema from
|
|
71
|
+
* environment variables grouped by provider key.
|
|
72
|
+
*
|
|
73
|
+
* @export
|
|
74
|
+
* @param {EnvProviderResult[]} env
|
|
75
|
+
* @param {Arguments<EnvCommandArguments>} argv
|
|
76
|
+
*
|
|
77
|
+
* @returns {Promise<object>} JSON schema grouped by provider key.
|
|
78
|
+
*/
|
|
12
79
|
export declare function generateSchemaFrom(env: EnvProviderResult[], argv: Arguments<CommandArguments>): Promise<object>;
|
|
13
80
|
//# sourceMappingURL=command.util.d.ts.map
|