@achs/env 5.0.0-alpha.3 โ†’ 5.0.0-alpha.4

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/utils/ui.js ADDED
@@ -0,0 +1,49 @@
1
+ import { LOG_LEVELS as e, logger as t } from "./logger.js";
2
+ import n from "picocolors";
3
+ //#region src/utils/ui.ts
4
+ var r = {
5
+ "app-settings": "๐Ÿ—‚๏ธ",
6
+ "azure-key-vault": "๐Ÿ”",
7
+ local: "๐Ÿ“‚",
8
+ "package-json": "๐Ÿ“ฆ"
9
+ };
10
+ function i() {
11
+ return (t.settings.minLevel ?? e.info) <= e.info;
12
+ }
13
+ function a(e = "") {
14
+ i() && process.stdout.write(`${e}\n`);
15
+ }
16
+ function o(e) {
17
+ return e < 1e3 ? `${Math.round(e)}ms` : `${(e / 1e3).toFixed(1)}s`;
18
+ }
19
+ var s = {
20
+ header(e, t, r) {
21
+ let i = [n.bold("โšก env") + n.dim(` v${e}`)];
22
+ t && i.push(`๐ŸŒŽ ${n.bold(n.green(t))}`), r && r.length > 0 && i.push(`๐Ÿงฉ ${n.magenta(r.join("+"))}`), a(), a(i.join(n.dim(" ยท "))), a();
23
+ },
24
+ provider(e, t) {
25
+ let i = r[e] ?? "๐Ÿงฉ", o = e === "azure-key-vault" ? "secrets" : "vars";
26
+ a(` ${i} ${n.cyan(e.padEnd(16))} ${n.bold(String(t))} ${n.dim(o)}`);
27
+ },
28
+ summary(e, t) {
29
+ let r = n.dim(`in ${o(t)}`);
30
+ a(), a(` ${n.green("โœ“")} ${n.bold(String(e))} variables loaded ${r}`);
31
+ },
32
+ running(e) {
33
+ a(), a(` ${n.yellow("โ–ถ")} ${n.bold(e)}`), a();
34
+ },
35
+ finished(e) {
36
+ let t = n.dim(`finished in ${o(e)}`);
37
+ a(` ${n.green("โœ“")} ${t}`);
38
+ },
39
+ failed(e) {
40
+ a(` ${n.red(`โœ— exited with code ${e}`)}`);
41
+ },
42
+ action(e, t) {
43
+ a(` ${e} ${t}`);
44
+ }
45
+ };
46
+ //#endregion
47
+ export { o as formatDuration, s as ui };
48
+
49
+ //# sourceMappingURL=ui.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui.js","names":[],"sources":["../../src/utils/ui.ts"],"sourcesContent":["import pc from 'picocolors';\nimport { LOG_LEVELS, logger } from './logger.js';\n\n// emoji per known integrated provider key\nconst PROVIDER_ICONS: Record<string, string> = {\n\t'app-settings': '๐Ÿ—‚๏ธ',\n\t'azure-key-vault': '๐Ÿ”',\n\tlocal: '๐Ÿ“‚',\n\t'package-json': '๐Ÿ“ฆ',\n};\n\n/** Whether the decorative UI should print (info level or more verbose). */\nfunction enabled(): boolean {\n\treturn (logger.settings.minLevel ?? LOG_LEVELS.info) <= LOG_LEVELS.info;\n}\n\nfunction line(text = ''): void {\n\tif (enabled()) process.stdout.write(`${text}\\n`);\n}\n\n/** Formats a duration in ms as \"142ms\" or \"1.4s\". */\nexport function formatDuration(ms: number): string {\n\treturn ms < 1000 ? `${Math.round(ms)}ms` : `${(ms / 1000).toFixed(1)}s`;\n}\n\nexport const ui = {\n\theader(version: string, env?: string, modes?: string[]): void {\n\t\tconst parts = [pc.bold('โšก env') + pc.dim(` v${version}`)];\n\n\t\tif (env) parts.push(`๐ŸŒŽ ${pc.bold(pc.green(env))}`);\n\t\tif (modes && modes.length > 0)\n\t\t\tparts.push(`๐Ÿงฉ ${pc.magenta(modes.join('+'))}`);\n\n\t\tline();\n\t\tline(parts.join(pc.dim(' ยท ')));\n\t\tline();\n\t},\n\n\tprovider(key: string, count: number): void {\n\t\tconst icon = PROVIDER_ICONS[key] ?? '๐Ÿงฉ';\n\t\tconst noun = key === 'azure-key-vault' ? 'secrets' : 'vars';\n\n\t\tline(\n\t\t\t` ${icon} ${pc.cyan(key.padEnd(16))} ${pc.bold(String(count))} ${pc.dim(noun)}`,\n\t\t);\n\t},\n\n\tsummary(total: number, ms: number): void {\n\t\tconst duration = pc.dim(`in ${formatDuration(ms)}`);\n\t\tline();\n\t\tline(\n\t\t\t` ${pc.green('โœ“')} ${pc.bold(String(total))} variables loaded ${duration}`,\n\t\t);\n\t},\n\n\trunning(command: string): void {\n\t\tline();\n\t\tline(` ${pc.yellow('โ–ถ')} ${pc.bold(command)}`);\n\t\tline();\n\t},\n\n\tfinished(ms: number): void {\n\t\tconst duration = pc.dim(`finished in ${formatDuration(ms)}`);\n\t\tline(` ${pc.green('โœ“')} ${duration}`);\n\t},\n\n\tfailed(code: number): void {\n\t\tconst msg = pc.red(`โœ— exited with code ${code}`);\n\t\tline(` ${msg}`);\n\t},\n\n\taction(emoji: string, message: string): void {\n\t\tline(` ${emoji} ${message}`);\n\t},\n};\n"],"mappings":";;;AAIA,IAAM,IAAyC;CAC9C,gBAAgB;CAChB,mBAAmB;CACnB,OAAO;CACP,gBAAgB;AACjB;AAGA,SAAS,IAAmB;CAC3B,QAAQ,EAAO,SAAS,YAAY,EAAW,SAAS,EAAW;AACpE;AAEA,SAAS,EAAK,IAAO,IAAU;CAC9B,AAAI,EAAQ,KAAG,QAAQ,OAAO,MAAM,GAAG,EAAK,GAAG;AAChD;AAGA,SAAgB,EAAe,GAAoB;CAClD,OAAO,IAAK,MAAO,GAAG,KAAK,MAAM,CAAE,EAAE,MAAM,IAAI,IAAK,KAAM,QAAQ,CAAC,EAAE;AACtE;AAEA,IAAa,IAAK;CACjB,OAAO,GAAiB,GAAc,GAAwB;EAC7D,IAAM,IAAQ,CAAC,EAAG,KAAK,OAAO,IAAI,EAAG,IAAI,KAAK,GAAS,CAAC;EAQxD,AANI,KAAK,EAAM,KAAK,MAAM,EAAG,KAAK,EAAG,MAAM,CAAG,CAAC,GAAG,GAC9C,KAAS,EAAM,SAAS,KAC3B,EAAM,KAAK,MAAM,EAAG,QAAQ,EAAM,KAAK,GAAG,CAAC,GAAG,GAE/C,EAAK,GACL,EAAK,EAAM,KAAK,EAAG,IAAI,OAAO,CAAC,CAAC,GAChC,EAAK;CACN;CAEA,SAAS,GAAa,GAAqB;EAC1C,IAAM,IAAO,EAAe,MAAQ,MAC9B,IAAO,MAAQ,oBAAoB,YAAY;EAErD,EACC,KAAK,EAAK,IAAI,EAAG,KAAK,EAAI,OAAO,EAAE,CAAC,EAAE,GAAG,EAAG,KAAK,OAAO,CAAK,CAAC,EAAE,GAAG,EAAG,IAAI,CAAI,GAC/E;CACD;CAEA,QAAQ,GAAe,GAAkB;EACxC,IAAM,IAAW,EAAG,IAAI,MAAM,EAAe,CAAE,GAAG;EAElD,AADA,EAAK,GACL,EACC,KAAK,EAAG,MAAM,GAAG,EAAE,GAAG,EAAG,KAAK,OAAO,CAAK,CAAC,EAAE,oBAAoB,GAClE;CACD;CAEA,QAAQ,GAAuB;EAG9B,AAFA,EAAK,GACL,EAAK,KAAK,EAAG,OAAO,GAAG,EAAE,GAAG,EAAG,KAAK,CAAO,GAAG,GAC9C,EAAK;CACN;CAEA,SAAS,GAAkB;EAC1B,IAAM,IAAW,EAAG,IAAI,eAAe,EAAe,CAAE,GAAG;EAC3D,EAAK,KAAK,EAAG,MAAM,GAAG,EAAE,GAAG,GAAU;CACtC;CAEA,OAAO,GAAoB;EAE1B,EAAK,KADO,EAAG,IAAI,sBAAsB,GAC/B,GAAK;CAChB;CAEA,OAAO,GAAe,GAAuB;EAC5C,EAAK,KAAK,EAAM,GAAG,GAAS;CAC7B;AACD"}