@achs/env 5.0.0-alpha.3 → 5.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.
Files changed (41) hide show
  1. package/arguments.d.ts.map +1 -1
  2. package/arguments.js +13 -6
  3. package/arguments.js.map +1 -1
  4. package/commands/env.command.d.ts.map +1 -1
  5. package/commands/env.command.js +36 -26
  6. package/commands/env.command.js.map +1 -1
  7. package/commands/export.command.d.ts.map +1 -1
  8. package/commands/export.command.js +12 -11
  9. package/commands/export.command.js.map +1 -1
  10. package/commands/pull.command.js +8 -7
  11. package/commands/pull.command.js.map +1 -1
  12. package/commands/push.command.js +8 -7
  13. package/commands/push.command.js.map +1 -1
  14. package/commands/schema.command.d.ts.map +1 -1
  15. package/commands/schema.command.js +8 -7
  16. package/commands/schema.command.js.map +1 -1
  17. package/exec.d.ts.map +1 -1
  18. package/exec.js +46 -42
  19. package/exec.js.map +1 -1
  20. package/package.json +1 -1
  21. package/providers/azure-key-vault.provider.d.ts.map +1 -1
  22. package/providers/azure-key-vault.provider.js +48 -47
  23. package/providers/azure-key-vault.provider.js.map +1 -1
  24. package/utils/command.util.d.ts +1 -1
  25. package/utils/command.util.d.ts.map +1 -1
  26. package/utils/command.util.js +3 -3
  27. package/utils/command.util.js.map +1 -1
  28. package/utils/index.d.ts +1 -0
  29. package/utils/index.d.ts.map +1 -1
  30. package/utils/index.js +2 -1
  31. package/utils/json.util.d.ts.map +1 -1
  32. package/utils/json.util.js +7 -2
  33. package/utils/json.util.js.map +1 -1
  34. package/utils/schema.util.d.ts +6 -6
  35. package/utils/schema.util.d.ts.map +1 -1
  36. package/utils/schema.util.js +20 -19
  37. package/utils/schema.util.js.map +1 -1
  38. package/utils/ui.d.ts +14 -0
  39. package/utils/ui.d.ts.map +1 -0
  40. package/utils/ui.js +75 -0
  41. package/utils/ui.js.map +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"arguments.d.ts","sourceRoot":"","sources":["../src/arguments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAE1C,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAS/D,MAAM,WAAW,gBAAiB,SAAQ,SAAS;IAClD,mBAAmB,EAAE,OAAO,CAAC;IAC7B,EAAE,EAAE,OAAO,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,OAAO,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAC/B,OAAO,EAAE,OAAO,GAAG,UAAU,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;IACnE,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;CAChD;AAGD,eAAO,MAAM,IAAI,EAAE,MAAM,CAAC,MAAM,gBAAgB,EAAE,OAAO,CAuHxD,CAAC"}
1
+ {"version":3,"file":"arguments.d.ts","sourceRoot":"","sources":["../src/arguments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAE1C,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAU/D,MAAM,WAAW,gBAAiB,SAAQ,SAAS;IAClD,mBAAmB,EAAE,OAAO,CAAC;IAC7B,EAAE,EAAE,OAAO,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,OAAO,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAC/B,OAAO,EAAE,OAAO,GAAG,UAAU,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;IACnE,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;CAChD;AAGD,eAAO,MAAM,IAAI,EAAE,MAAM,CAAC,MAAM,gBAAgB,EAAE,OAAO,CA6HxD,CAAC"}
package/arguments.js CHANGED
@@ -2,6 +2,7 @@ import { IntegratedProviderConfig as e } from "./providers/index.js";
2
2
  import t from "ci-info";
3
3
  //#region src/arguments.ts
4
4
  var n = {
5
+ CORE: "Core Options",
5
6
  GROUP_WORKSPACE: "Workspace Options",
6
7
  JSON_SCHEMA_WORKSPACE: "JSON Schema Options",
7
8
  LOG_WORKSPACE: "Logger Options"
@@ -10,12 +11,13 @@ var n = {
10
11
  alias: "arrDesc",
11
12
  default: !1,
12
13
  describe: "Whether serialize or break down arrays",
14
+ group: n.CORE,
13
15
  type: "boolean"
14
16
  },
15
17
  ci: {
16
- alias: "ci",
17
18
  default: t.isCI,
18
- describe: "Whether providers executes in continuous integration mode",
19
+ describe: "Run providers in continuous-integration mode (skips local files)",
20
+ group: n.CORE,
19
21
  type: "boolean"
20
22
  },
21
23
  configFile: {
@@ -34,13 +36,15 @@ var n = {
34
36
  },
35
37
  env: {
36
38
  alias: "e",
37
- describe: "Environment for load, i.e. dev, prod",
39
+ describe: "Environment to load, i.e. dev, prod",
40
+ group: n.CORE,
38
41
  type: "string"
39
42
  },
40
43
  expand: {
41
44
  alias: "x",
42
45
  default: !1,
43
- describe: "Interpolates environment variables using itself",
46
+ describe: "Interpolate environment variables using themselves",
47
+ group: n.CORE,
44
48
  type: "boolean"
45
49
  },
46
50
  exportIgnoreKeys: {
@@ -61,31 +65,34 @@ var n = {
61
65
  "error"
62
66
  ],
63
67
  default: "info",
68
+ describe: "Log verbosity level",
64
69
  group: n.LOG_WORKSPACE,
65
70
  type: "string"
66
71
  },
67
72
  logMaskAnyRegEx: {
68
73
  alias: "mrx",
69
74
  default: [],
75
+ describe: "Mask log values matching these regular expressions",
70
76
  group: n.LOG_WORKSPACE,
71
- hidden: !0,
72
77
  type: "array"
73
78
  },
74
79
  logMaskValuesOfKeys: {
75
80
  alias: "mvk",
76
81
  default: [],
82
+ describe: "Mask the values of these keys in logs",
77
83
  group: n.LOG_WORKSPACE,
78
- hidden: !0,
79
84
  type: "array"
80
85
  },
81
86
  modes: {
82
87
  alias: "m",
83
88
  describe: "Execution modes, i.e. debug, test",
89
+ group: n.CORE,
84
90
  type: "array"
85
91
  },
86
92
  nestingDelimiter: {
87
93
  alias: "nd",
88
94
  default: "__",
95
+ group: n.CORE,
89
96
  type: "string",
90
97
  describe: "Nesting level delimiter for flatten, i.e. { l1: { l2: \"value\" } } turns into { l1__l2: \"value\" }"
91
98
  },
package/arguments.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"arguments.js","names":[],"sources":["../src/arguments.ts"],"sourcesContent":["import type { JSONSchemaType } from 'ajv';\r\nimport ci from 'ci-info';\r\nimport type { Arguments, Options } from 'yargs';\r\nimport type { EnvProviderConfig } from './interfaces/index.js';\r\nimport { IntegratedProviderConfig } from './providers/index.js';\r\n\r\nconst GROUPS = {\r\n\tGROUP_WORKSPACE: 'Workspace Options',\r\n\tJSON_SCHEMA_WORKSPACE: 'JSON Schema Options',\r\n\tLOG_WORKSPACE: 'Logger Options',\r\n};\r\n\r\nexport interface CommandArguments extends Arguments {\r\n\tarrayDescomposition: boolean;\r\n\tci: boolean;\r\n\tconfigFile: string;\r\n\tdetectFormat: boolean;\r\n\tenv: string;\r\n\texpand: boolean;\r\n\tnestingDelimiter: string;\r\n\tnullable: boolean;\r\n\tpackageJson: string;\r\n\tprojectInfo: Record<string, string>;\r\n\tproviders: EnvProviderConfig[];\r\n\tresolve: 'merge' | 'override';\r\n\troot: string;\r\n\tschemaFile: string;\r\n\texportIgnoreKeys?: string[];\r\n\tlogLevel?: 'debug' | 'error' | 'info' | 'silly' | 'trace' | 'warn';\r\n\tlogMaskAnyRegEx?: string[];\r\n\tlogMaskValuesOfKeys?: string[];\r\n\tmodes?: string[];\r\n\tschema?: Record<string, JSONSchemaType<object>>;\r\n}\r\n\r\n// common CLI arguments\r\nexport const args: Record<keyof CommandArguments, Options> = {\r\n\tarrayDescomposition: {\r\n\t\talias: 'arrDesc',\r\n\t\tdefault: false,\r\n\t\tdescribe: 'Whether serialize or break down arrays',\r\n\t\ttype: 'boolean',\r\n\t},\r\n\tci: {\r\n\t\talias: 'ci',\r\n\t\tdefault: ci.isCI,\r\n\t\tdescribe: 'Whether providers executes in continuous integration mode',\r\n\t\ttype: 'boolean',\r\n\t},\r\n\tconfigFile: {\r\n\t\talias: 'c',\r\n\t\tdefault: '[[root]]/settings/settings.json',\r\n\t\tdescribe: 'Config JSON file path',\r\n\t\tgroup: GROUPS.GROUP_WORKSPACE,\r\n\t\ttype: 'string',\r\n\t},\r\n\tdetectFormat: {\r\n\t\talias: 'df',\r\n\t\tdefault: false,\r\n\t\tdescribe: 'Whether format of strings variables are included in schema',\r\n\t\tgroup: GROUPS.JSON_SCHEMA_WORKSPACE,\r\n\t\ttype: 'boolean',\r\n\t},\r\n\tenv: {\r\n\t\talias: 'e',\r\n\t\tdescribe: 'Environment for load, i.e. dev, prod',\r\n\t\ttype: 'string',\r\n\t},\r\n\texpand: {\r\n\t\talias: 'x',\r\n\t\tdefault: false,\r\n\t\tdescribe: 'Interpolates environment variables using itself',\r\n\t\ttype: 'boolean',\r\n\t},\r\n\texportIgnoreKeys: {\r\n\t\talias: 'iek',\r\n\t\tdefault: [],\r\n\t\tgroup: GROUPS.JSON_SCHEMA_WORKSPACE,\r\n\t\thidden: true,\r\n\t\ttype: 'array',\r\n\t},\r\n\tlogLevel: {\r\n\t\talias: 'log',\r\n\t\tchoices: ['silly', 'trace', 'debug', 'info', 'warn', 'error'],\r\n\t\tdefault: 'info',\r\n\t\tgroup: GROUPS.LOG_WORKSPACE,\r\n\t\ttype: 'string',\r\n\t},\r\n\tlogMaskAnyRegEx: {\r\n\t\talias: 'mrx',\r\n\t\tdefault: [],\r\n\t\tgroup: GROUPS.LOG_WORKSPACE,\r\n\t\thidden: true,\r\n\t\ttype: 'array',\r\n\t},\r\n\tlogMaskValuesOfKeys: {\r\n\t\talias: 'mvk',\r\n\t\tdefault: [],\r\n\t\tgroup: GROUPS.LOG_WORKSPACE,\r\n\t\thidden: true,\r\n\t\ttype: 'array',\r\n\t},\r\n\tmodes: {\r\n\t\talias: 'm',\r\n\t\tdescribe: 'Execution modes, i.e. debug, test',\r\n\t\ttype: 'array',\r\n\t},\r\n\tnestingDelimiter: {\r\n\t\talias: 'nd',\r\n\t\tdefault: '__',\r\n\t\ttype: 'string',\r\n\t\tdescribe:\r\n\t\t\t'Nesting level delimiter for flatten, i.e. { l1: { l2: \"value\" } } turns into { l1__l2: \"value\" }',\r\n\t},\r\n\tnullable: {\r\n\t\talias: 'null',\r\n\t\tdefault: true,\r\n\t\tdescribe: 'Whether variables are nullable',\r\n\t\tgroup: GROUPS.JSON_SCHEMA_WORKSPACE,\r\n\t\ttype: 'boolean',\r\n\t},\r\n\tpackageJson: {\r\n\t\talias: ['pkg'],\r\n\t\tdefault: '',\r\n\t\tdescribe: 'package.json path',\r\n\t\tgroup: GROUPS.GROUP_WORKSPACE,\r\n\t\ttype: 'string',\r\n\t},\r\n\tproviders: {\r\n\t\tdefault: IntegratedProviderConfig,\r\n\t\tdescribe: 'Providers handling variables loading',\r\n\t\thidden: true,\r\n\t\ttype: 'array',\r\n\t},\r\n\tresolve: {\r\n\t\talias: 'r',\r\n\t\tchoices: ['merge', 'override'],\r\n\t\tdefault: 'merge',\r\n\t\tdescribe: 'Whether merges new schema or override',\r\n\t\tgroup: GROUPS.JSON_SCHEMA_WORKSPACE,\r\n\t\ttype: 'string',\r\n\t},\r\n\troot: {\r\n\t\tdefault: 'env',\r\n\t\tdescribe: 'Default environment folder path',\r\n\t\tgroup: GROUPS.GROUP_WORKSPACE,\r\n\t\ttype: 'string',\r\n\t},\r\n\tschemaFile: {\r\n\t\talias: ['s', 'schema'],\r\n\t\tdefault: '[[root]]/settings/schema.json',\r\n\t\tdescribe: 'Environment Schema JSON file path',\r\n\t\tgroup: GROUPS.GROUP_WORKSPACE,\r\n\t\ttype: 'string',\r\n\t},\r\n};\r\n"],"mappings":";;;AAMA,IAAM,IAAS;CACd,iBAAiB;CACjB,uBAAuB;CACvB,eAAe;AAChB,GA0Ba,IAAgD;CAC5D,qBAAqB;EACpB,OAAO;EACP,SAAS;EACT,UAAU;EACV,MAAM;CACP;CACA,IAAI;EACH,OAAO;EACP,SAAS,EAAG;EACZ,UAAU;EACV,MAAM;CACP;CACA,YAAY;EACX,OAAO;EACP,SAAS;EACT,UAAU;EACV,OAAO,EAAO;EACd,MAAM;CACP;CACA,cAAc;EACb,OAAO;EACP,SAAS;EACT,UAAU;EACV,OAAO,EAAO;EACd,MAAM;CACP;CACA,KAAK;EACJ,OAAO;EACP,UAAU;EACV,MAAM;CACP;CACA,QAAQ;EACP,OAAO;EACP,SAAS;EACT,UAAU;EACV,MAAM;CACP;CACA,kBAAkB;EACjB,OAAO;EACP,SAAS,CAAC;EACV,OAAO,EAAO;EACd,QAAQ;EACR,MAAM;CACP;CACA,UAAU;EACT,OAAO;EACP,SAAS;GAAC;GAAS;GAAS;GAAS;GAAQ;GAAQ;EAAO;EAC5D,SAAS;EACT,OAAO,EAAO;EACd,MAAM;CACP;CACA,iBAAiB;EAChB,OAAO;EACP,SAAS,CAAC;EACV,OAAO,EAAO;EACd,QAAQ;EACR,MAAM;CACP;CACA,qBAAqB;EACpB,OAAO;EACP,SAAS,CAAC;EACV,OAAO,EAAO;EACd,QAAQ;EACR,MAAM;CACP;CACA,OAAO;EACN,OAAO;EACP,UAAU;EACV,MAAM;CACP;CACA,kBAAkB;EACjB,OAAO;EACP,SAAS;EACT,MAAM;EACN,UACC;CACF;CACA,UAAU;EACT,OAAO;EACP,SAAS;EACT,UAAU;EACV,OAAO,EAAO;EACd,MAAM;CACP;CACA,aAAa;EACZ,OAAO,CAAC,KAAK;EACb,SAAS;EACT,UAAU;EACV,OAAO,EAAO;EACd,MAAM;CACP;CACA,WAAW;EACV,SAAS;EACT,UAAU;EACV,QAAQ;EACR,MAAM;CACP;CACA,SAAS;EACR,OAAO;EACP,SAAS,CAAC,SAAS,UAAU;EAC7B,SAAS;EACT,UAAU;EACV,OAAO,EAAO;EACd,MAAM;CACP;CACA,MAAM;EACL,SAAS;EACT,UAAU;EACV,OAAO,EAAO;EACd,MAAM;CACP;CACA,YAAY;EACX,OAAO,CAAC,KAAK,QAAQ;EACrB,SAAS;EACT,UAAU;EACV,OAAO,EAAO;EACd,MAAM;CACP;AACD"}
1
+ {"version":3,"file":"arguments.js","names":[],"sources":["../src/arguments.ts"],"sourcesContent":["import type { JSONSchemaType } from 'ajv';\r\nimport ci from 'ci-info';\r\nimport type { Arguments, Options } from 'yargs';\r\nimport type { EnvProviderConfig } from './interfaces/index.js';\r\nimport { IntegratedProviderConfig } from './providers/index.js';\r\n\r\nconst GROUPS = {\r\n\tCORE: 'Core Options',\r\n\tGROUP_WORKSPACE: 'Workspace Options',\r\n\tJSON_SCHEMA_WORKSPACE: 'JSON Schema Options',\r\n\tLOG_WORKSPACE: 'Logger Options',\r\n};\r\n\r\nexport interface CommandArguments extends Arguments {\r\n\tarrayDescomposition: boolean;\r\n\tci: boolean;\r\n\tconfigFile: string;\r\n\tdetectFormat: boolean;\r\n\tenv: string;\r\n\texpand: boolean;\r\n\tnestingDelimiter: string;\r\n\tnullable: boolean;\r\n\tpackageJson: string;\r\n\tprojectInfo: Record<string, string>;\r\n\tproviders: EnvProviderConfig[];\r\n\tresolve: 'merge' | 'override';\r\n\troot: string;\r\n\tschemaFile: string;\r\n\texportIgnoreKeys?: string[];\r\n\tlogLevel?: 'debug' | 'error' | 'info' | 'silly' | 'trace' | 'warn';\r\n\tlogMaskAnyRegEx?: string[];\r\n\tlogMaskValuesOfKeys?: string[];\r\n\tmodes?: string[];\r\n\tschema?: Record<string, JSONSchemaType<object>>;\r\n}\r\n\r\n// common CLI arguments\r\nexport const args: Record<keyof CommandArguments, Options> = {\r\n\tarrayDescomposition: {\r\n\t\talias: 'arrDesc',\r\n\t\tdefault: false,\r\n\t\tdescribe: 'Whether serialize or break down arrays',\r\n\t\tgroup: GROUPS.CORE,\r\n\t\ttype: 'boolean',\r\n\t},\r\n\tci: {\r\n\t\tdefault: ci.isCI,\r\n\t\tdescribe: 'Run providers in continuous-integration mode (skips local files)',\r\n\t\tgroup: GROUPS.CORE,\r\n\t\ttype: 'boolean',\r\n\t},\r\n\tconfigFile: {\r\n\t\talias: 'c',\r\n\t\tdefault: '[[root]]/settings/settings.json',\r\n\t\tdescribe: 'Config JSON file path',\r\n\t\tgroup: GROUPS.GROUP_WORKSPACE,\r\n\t\ttype: 'string',\r\n\t},\r\n\tdetectFormat: {\r\n\t\talias: 'df',\r\n\t\tdefault: false,\r\n\t\tdescribe: 'Whether format of strings variables are included in schema',\r\n\t\tgroup: GROUPS.JSON_SCHEMA_WORKSPACE,\r\n\t\ttype: 'boolean',\r\n\t},\r\n\tenv: {\r\n\t\talias: 'e',\r\n\t\tdescribe: 'Environment to load, i.e. dev, prod',\r\n\t\tgroup: GROUPS.CORE,\r\n\t\ttype: 'string',\r\n\t},\r\n\texpand: {\r\n\t\talias: 'x',\r\n\t\tdefault: false,\r\n\t\tdescribe: 'Interpolate environment variables using themselves',\r\n\t\tgroup: GROUPS.CORE,\r\n\t\ttype: 'boolean',\r\n\t},\r\n\texportIgnoreKeys: {\r\n\t\talias: 'iek',\r\n\t\tdefault: [],\r\n\t\tgroup: GROUPS.JSON_SCHEMA_WORKSPACE,\r\n\t\thidden: true,\r\n\t\ttype: 'array',\r\n\t},\r\n\tlogLevel: {\r\n\t\talias: 'log',\r\n\t\tchoices: ['silly', 'trace', 'debug', 'info', 'warn', 'error'],\r\n\t\tdefault: 'info',\r\n\t\tdescribe: 'Log verbosity level',\r\n\t\tgroup: GROUPS.LOG_WORKSPACE,\r\n\t\ttype: 'string',\r\n\t},\r\n\tlogMaskAnyRegEx: {\r\n\t\talias: 'mrx',\r\n\t\tdefault: [],\r\n\t\tdescribe: 'Mask log values matching these regular expressions',\r\n\t\tgroup: GROUPS.LOG_WORKSPACE,\r\n\t\ttype: 'array',\r\n\t},\r\n\tlogMaskValuesOfKeys: {\r\n\t\talias: 'mvk',\r\n\t\tdefault: [],\r\n\t\tdescribe: 'Mask the values of these keys in logs',\r\n\t\tgroup: GROUPS.LOG_WORKSPACE,\r\n\t\ttype: 'array',\r\n\t},\r\n\tmodes: {\r\n\t\talias: 'm',\r\n\t\tdescribe: 'Execution modes, i.e. debug, test',\r\n\t\tgroup: GROUPS.CORE,\r\n\t\ttype: 'array',\r\n\t},\r\n\tnestingDelimiter: {\r\n\t\talias: 'nd',\r\n\t\tdefault: '__',\r\n\t\tgroup: GROUPS.CORE,\r\n\t\ttype: 'string',\r\n\t\tdescribe:\r\n\t\t\t'Nesting level delimiter for flatten, i.e. { l1: { l2: \"value\" } } turns into { l1__l2: \"value\" }',\r\n\t},\r\n\tnullable: {\r\n\t\talias: 'null',\r\n\t\tdefault: true,\r\n\t\tdescribe: 'Whether variables are nullable',\r\n\t\tgroup: GROUPS.JSON_SCHEMA_WORKSPACE,\r\n\t\ttype: 'boolean',\r\n\t},\r\n\tpackageJson: {\r\n\t\talias: ['pkg'],\r\n\t\tdefault: '',\r\n\t\tdescribe: 'package.json path',\r\n\t\tgroup: GROUPS.GROUP_WORKSPACE,\r\n\t\ttype: 'string',\r\n\t},\r\n\tproviders: {\r\n\t\tdefault: IntegratedProviderConfig,\r\n\t\tdescribe: 'Providers handling variables loading',\r\n\t\thidden: true,\r\n\t\ttype: 'array',\r\n\t},\r\n\tresolve: {\r\n\t\talias: 'r',\r\n\t\tchoices: ['merge', 'override'],\r\n\t\tdefault: 'merge',\r\n\t\tdescribe: 'Whether merges new schema or override',\r\n\t\tgroup: GROUPS.JSON_SCHEMA_WORKSPACE,\r\n\t\ttype: 'string',\r\n\t},\r\n\troot: {\r\n\t\tdefault: 'env',\r\n\t\tdescribe: 'Default environment folder path',\r\n\t\tgroup: GROUPS.GROUP_WORKSPACE,\r\n\t\ttype: 'string',\r\n\t},\r\n\tschemaFile: {\r\n\t\talias: ['s', 'schema'],\r\n\t\tdefault: '[[root]]/settings/schema.json',\r\n\t\tdescribe: 'Environment Schema JSON file path',\r\n\t\tgroup: GROUPS.GROUP_WORKSPACE,\r\n\t\ttype: 'string',\r\n\t},\r\n};\r\n"],"mappings":";;;AAMA,IAAM,IAAS;CACd,MAAM;CACN,iBAAiB;CACjB,uBAAuB;CACvB,eAAe;AAChB,GA0Ba,IAAgD;CAC5D,qBAAqB;EACpB,OAAO;EACP,SAAS;EACT,UAAU;EACV,OAAO,EAAO;EACd,MAAM;CACP;CACA,IAAI;EACH,SAAS,EAAG;EACZ,UAAU;EACV,OAAO,EAAO;EACd,MAAM;CACP;CACA,YAAY;EACX,OAAO;EACP,SAAS;EACT,UAAU;EACV,OAAO,EAAO;EACd,MAAM;CACP;CACA,cAAc;EACb,OAAO;EACP,SAAS;EACT,UAAU;EACV,OAAO,EAAO;EACd,MAAM;CACP;CACA,KAAK;EACJ,OAAO;EACP,UAAU;EACV,OAAO,EAAO;EACd,MAAM;CACP;CACA,QAAQ;EACP,OAAO;EACP,SAAS;EACT,UAAU;EACV,OAAO,EAAO;EACd,MAAM;CACP;CACA,kBAAkB;EACjB,OAAO;EACP,SAAS,CAAC;EACV,OAAO,EAAO;EACd,QAAQ;EACR,MAAM;CACP;CACA,UAAU;EACT,OAAO;EACP,SAAS;GAAC;GAAS;GAAS;GAAS;GAAQ;GAAQ;EAAO;EAC5D,SAAS;EACT,UAAU;EACV,OAAO,EAAO;EACd,MAAM;CACP;CACA,iBAAiB;EAChB,OAAO;EACP,SAAS,CAAC;EACV,UAAU;EACV,OAAO,EAAO;EACd,MAAM;CACP;CACA,qBAAqB;EACpB,OAAO;EACP,SAAS,CAAC;EACV,UAAU;EACV,OAAO,EAAO;EACd,MAAM;CACP;CACA,OAAO;EACN,OAAO;EACP,UAAU;EACV,OAAO,EAAO;EACd,MAAM;CACP;CACA,kBAAkB;EACjB,OAAO;EACP,SAAS;EACT,OAAO,EAAO;EACd,MAAM;EACN,UACC;CACF;CACA,UAAU;EACT,OAAO;EACP,SAAS;EACT,UAAU;EACV,OAAO,EAAO;EACd,MAAM;CACP;CACA,aAAa;EACZ,OAAO,CAAC,KAAK;EACb,SAAS;EACT,UAAU;EACV,OAAO,EAAO;EACd,MAAM;CACP;CACA,WAAW;EACV,SAAS;EACT,UAAU;EACV,QAAQ;EACR,MAAM;CACP;CACA,SAAS;EACR,OAAO;EACP,SAAS,CAAC,SAAS,UAAU;EAC7B,SAAS;EACT,UAAU;EACV,OAAO,EAAO;EACd,MAAM;CACP;CACA,MAAM;EACL,SAAS;EACT,UAAU;EACV,OAAO,EAAO;EACd,MAAM;CACP;CACA,YAAY;EACX,OAAO,CAAC,KAAK,QAAQ;EACrB,SAAS;EACT,UAAU;EACV,OAAO,EAAO;EACd,MAAM;CACP;AACD"}
@@ -1 +1 @@
1
- {"version":3,"file":"env.command.d.ts","sourceRoot":"","sources":["../../src/commands/env.command.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAWxD,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IAE5D,cAAc,EAAE,OAAO,CAAC;IAGxB,MAAM,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;;;;GAKG;AACH,eAAO,MAAM,UAAU,EAAE,aAAa,CAAC,GAAG,EAAE,mBAAmB,CAgH9D,CAAC"}
1
+ {"version":3,"file":"env.command.d.ts","sourceRoot":"","sources":["../../src/commands/env.command.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAaxD,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IAE5D,cAAc,EAAE,OAAO,CAAC;IAGxB,MAAM,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;;;;GAKG;AACH,eAAO,MAAM,UAAU,EAAE,aAAa,CAAC,GAAG,EAAE,mBAAmB,CAmH9D,CAAC"}
@@ -1,16 +1,16 @@
1
1
  import { flatResults as e, loadVariablesFromProviders as t } from "../utils/command.util.js";
2
2
  import { interpolate as n } from "../utils/interpolate.util.js";
3
3
  import { logger as r } from "../utils/logger.js";
4
- import { normalize as i } from "../utils/normalize.util.js";
5
- import { createValidator as a, flatSchema as o } from "../utils/schema.util.js";
4
+ import { flatten as i, normalize as a } from "../utils/normalize.util.js";
5
+ import { createValidator as o, flatSchema as s } from "../utils/schema.util.js";
6
+ import { ui as c } from "../utils/ui.js";
6
7
  import "../utils/index.js";
7
- import s from "picocolors";
8
- import c from "merge-deep";
9
- import { spawn as l } from "node:child_process";
8
+ import l from "merge-deep";
9
+ import { spawn as u } from "node:child_process";
10
10
  //#region src/commands/env.command.ts
11
- var u = {
11
+ var d = {
12
12
  command: "$0 [options..] [: <subcmd> :]",
13
- describe: "Inject environment variables into process",
13
+ describe: "Inject environment variables into a process and run a command",
14
14
  builder: (e) => (e.options({
15
15
  schemaValidate: {
16
16
  alias: "validate",
@@ -23,35 +23,45 @@ var u = {
23
23
  type: "array"
24
24
  }
25
25
  }).example("env -e dev -m test unit : npm test", "Loads \"dev\" environment variables, in \"test\" and \"unit\" modes, for \"npm start\" command").example("env -e dev -m debug : npm start : -c my-config.json", "Loads \"dev\" environment variables, in \"debug\" mode, for \"npm test\" command and custom config file").example("env -e dev -m debug -c [[root]]/[[env]].env.json : npm start", "Loads custom config file placed in root folder and named same as the env").check((e) => (e._.length === 0 && !e.subcmd && (r.error("No one subcommand provided for exec surrounded by :"), process.exit(1)), !0)), e),
26
- handler: async ({ expand: u, providers: d, schemaValidate: f, ...p }) => {
27
- let m = c({ NODE_ENV: "development" }, ...e(await t(d, p), p.nestingDelimiter));
28
- if (f) {
29
- let e = {};
30
- for (let { handler: { key: t } } of d) {
31
- let n = p.schema?.[t];
32
- n && (e = Object.assign(e, o(n, "", p.nestingDelimiter)));
33
- }
34
- let t = a({
35
- properties: e,
36
- type: "object"
37
- });
38
- t(m) || (r.error("schema validation failed", t.errors), process.exit(1));
26
+ handler: async ({ expand: o, providers: s, schemaValidate: d, ...p }) => {
27
+ let m = performance.now(), h = d ? f(s, p) : void 0, g = await t(s, p);
28
+ for (let { key: e, value: t } of g) {
29
+ let n = Array.isArray(t) ? l({}, ...t.map((e) => i(e, p.nestingDelimiter))) : i(t, p.nestingDelimiter);
30
+ c.provider(e, Object.keys(n).length);
31
+ }
32
+ let _ = l({ NODE_ENV: "development" }, ...e(g, p.nestingDelimiter));
33
+ if (h) {
34
+ let e = await h;
35
+ e(_) || (r.error("schema validation failed", e.errors), process.exit(1));
39
36
  }
40
- m = i(m, p.nestingDelimiter, p.arrayDescomposition), u && (m = n(m, m), p.subcmd = n(p.subcmd, m)), r.debug("environment loaded:", m);
41
- for (let e in m) process.env[e] = String(m[e]);
42
- r.info("executing command >", s.bold(s.yellow(p.subcmd.join(" ")))), l(p.subcmd.join(" "), {
37
+ _ = a(_, p.nestingDelimiter, p.arrayDescomposition), o && (_ = n(_, _), p.subcmd = n(p.subcmd, _)), c.variables(_);
38
+ for (let e in _) process.env[e] = String(_[e]);
39
+ c.summary(Object.keys(_).length, performance.now() - m);
40
+ let v = p.subcmd.join(" ");
41
+ c.running(v), u(v, {
43
42
  shell: !0,
44
43
  stdio: "inherit"
45
44
  }).on("exit", (e) => {
46
45
  if (e === 0 || e === null) {
47
- r.info("process finished successfully");
46
+ c.finished(performance.now() - m);
48
47
  return;
49
48
  }
50
- r.error("process finished with error"), process.exit(e);
49
+ c.failed(e), r.error("process finished with error"), process.exit(e);
51
50
  });
52
51
  }
53
52
  };
53
+ function f(e, t) {
54
+ let n = {};
55
+ for (let { handler: { key: r } } of e) {
56
+ let e = t.schema?.[r];
57
+ e && (n = Object.assign(n, s(e, "", t.nestingDelimiter)));
58
+ }
59
+ return o({
60
+ properties: n,
61
+ type: "object"
62
+ });
63
+ }
54
64
  //#endregion
55
- export { u as envCommand };
65
+ export { d as envCommand };
56
66
 
57
67
  //# sourceMappingURL=env.command.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"env.command.js","names":[],"sources":["../../src/commands/env.command.ts"],"sourcesContent":["import merge from 'merge-deep';\r\nimport { spawn } from 'node:child_process';\r\nimport pc from 'picocolors';\r\nimport type { CommandModule } from 'yargs';\r\nimport type { CommandArguments } from '../arguments.js';\r\nimport {\r\n\tcreateValidator,\r\n\tflatResults,\r\n\tflatSchema,\r\n\tinterpolate,\r\n\tloadVariablesFromProviders,\r\n\tlogger,\r\n\tnormalize,\r\n} from '../utils/index.js';\r\n\r\nexport interface EnvCommandArguments extends CommandArguments {\r\n\t// whether validate schema before injecting variables\r\n\tschemaValidate: boolean;\r\n\t// command for execute after inject environment variables.\r\n\t// Should be prefixed or surrounded by ':' character.\r\n\tsubcmd: string[];\r\n}\r\n\r\n/**\r\n * Main command.\r\n * Injects environment variables into process.env.\r\n *\r\n * @example [>_]: env -e dev -m debug : npm start\r\n */\r\nexport const envCommand: CommandModule<any, EnvCommandArguments> = {\r\n\tcommand: '$0 [options..] [: <subcmd> :]',\r\n\tdescribe: 'Inject environment variables into process',\r\n\tbuilder: (builder) => {\r\n\t\tbuilder\r\n\t\t\t.options({\r\n\t\t\t\tschemaValidate: {\r\n\t\t\t\t\talias: 'validate',\r\n\t\t\t\t\tdefault: true,\r\n\t\t\t\t\tdescribe: 'Whether validates variables using JSON schema',\r\n\t\t\t\t\ttype: 'boolean',\r\n\t\t\t\t},\r\n\t\t\t\tsubcmd: {\r\n\t\t\t\t\tdescribe: 'Command for inject environment variables',\r\n\t\t\t\t\ttype: 'array',\r\n\t\t\t\t},\r\n\t\t\t})\r\n\t\t\t.example(\r\n\t\t\t\t'env -e dev -m test unit : npm test',\r\n\t\t\t\t'Loads \"dev\" environment variables, in \"test\" and \"unit\" modes, for \"npm start\" command',\r\n\t\t\t)\r\n\t\t\t.example(\r\n\t\t\t\t'env -e dev -m debug : npm start : -c my-config.json',\r\n\t\t\t\t'Loads \"dev\" environment variables, in \"debug\" mode, for \"npm test\" command and custom config file',\r\n\t\t\t)\r\n\t\t\t.example(\r\n\t\t\t\t'env -e dev -m debug -c [[root]]/[[env]].env.json : npm start',\r\n\t\t\t\t'Loads custom config file placed in root folder and named same as the env',\r\n\t\t\t)\r\n\t\t\t.check((argv): boolean => {\r\n\t\t\t\t// special check for custom argument\r\n\t\t\t\tif (argv._.length === 0 && !argv.subcmd) {\r\n\t\t\t\t\tlogger.error(\r\n\t\t\t\t\t\t'No one subcommand provided for exec surrounded by :',\r\n\t\t\t\t\t);\r\n\r\n\t\t\t\t\tprocess.exit(1);\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn true;\r\n\t\t\t});\r\n\r\n\t\treturn builder;\r\n\t},\r\n\thandler: async ({ expand, providers, schemaValidate, ...argv }) => {\r\n\t\tconst results = await loadVariablesFromProviders(providers, argv);\r\n\r\n\t\tlet env = merge(\r\n\t\t\t{ NODE_ENV: 'development' },\r\n\t\t\t...flatResults(results, argv.nestingDelimiter),\r\n\t\t);\r\n\r\n\t\tif (schemaValidate) {\r\n\t\t\tlet schema = {};\r\n\r\n\t\t\tfor (const {\r\n\t\t\t\thandler: { key },\r\n\t\t\t} of providers) {\r\n\t\t\t\tconst providerSchema = argv.schema?.[key];\r\n\r\n\t\t\t\tif (providerSchema) {\r\n\t\t\t\t\tschema = Object.assign(\r\n\t\t\t\t\t\tschema,\r\n\t\t\t\t\t\tflatSchema(providerSchema, '', argv.nestingDelimiter),\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tconst validator = createValidator({\r\n\t\t\t\tproperties: schema,\r\n\t\t\t\ttype: 'object',\r\n\t\t\t});\r\n\r\n\t\t\tif (!validator(env)) {\r\n\t\t\t\tlogger.error('schema validation failed', validator.errors);\r\n\r\n\t\t\t\tprocess.exit(1);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tenv = normalize(env, argv.nestingDelimiter, argv.arrayDescomposition);\r\n\t\tif (expand) {\r\n\t\t\tenv = interpolate(env, env);\r\n\t\t\targv.subcmd = interpolate(argv.subcmd, env);\r\n\t\t}\r\n\r\n\t\tlogger.debug('environment loaded:', env);\r\n\r\n\t\t// loads env vars to process.env\r\n\t\tfor (const varname in env) process.env[varname] = String(env[varname]);\r\n\r\n\t\tlogger.info(\r\n\t\t\t'executing command >',\r\n\t\t\tpc.bold(pc.yellow(argv.subcmd.join(' '))),\r\n\t\t);\r\n\r\n\t\tconst cmdProcess = argv.subcmd.join(' ');\r\n\r\n\t\tspawn(cmdProcess, {\r\n\t\t\tshell: true,\r\n\t\t\tstdio: 'inherit',\r\n\t\t}).on('exit', (code) => {\r\n\t\t\tif (code === 0 || code === null) {\r\n\t\t\t\tlogger.info('process finished successfully');\r\n\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tlogger.error('process finished with error');\r\n\t\t\tprocess.exit(code);\r\n\t\t});\r\n\t},\r\n};\r\n"],"mappings":";;;;;;;;;;AA6BA,IAAa,IAAsD;CAClE,SAAS;CACT,UAAU;CACV,UAAU,OACT,EACE,QAAQ;EACR,gBAAgB;GACf,OAAO;GACP,SAAS;GACT,UAAU;GACV,MAAM;EACP;EACA,QAAQ;GACP,UAAU;GACV,MAAM;EACP;CACD,CAAC,EACA,QACA,sCACA,gGACD,EACC,QACA,uDACA,yGACD,EACC,QACA,gEACA,0EACD,EACC,OAAO,OAEH,EAAK,EAAE,WAAW,KAAK,CAAC,EAAK,WAChC,EAAO,MACN,qDACD,GAEA,QAAQ,KAAK,CAAC,IAGR,GACP,GAEK;CAER,SAAS,OAAO,EAAE,WAAQ,cAAW,mBAAgB,GAAG,QAAW;EAGlE,IAAI,IAAM,EACT,EAAE,UAAU,cAAc,GAC1B,GAAG,EAAY,MAJM,EAA2B,GAAW,CAAI,GAIvC,EAAK,gBAAgB,CAC9C;EAEA,IAAI,GAAgB;GACnB,IAAI,IAAS,CAAC;GAEd,KAAK,IAAM,EACV,SAAS,EAAE,cACP,GAAW;IACf,IAAM,IAAiB,EAAK,SAAS;IAErC,AAAI,MACH,IAAS,OAAO,OACf,GACA,EAAW,GAAgB,IAAI,EAAK,gBAAgB,CACrD;GAEF;GAEA,IAAM,IAAY,EAAgB;IACjC,YAAY;IACZ,MAAM;GACP,CAAC;GAED,AAAK,EAAU,CAAG,MACjB,EAAO,MAAM,4BAA4B,EAAU,MAAM,GAEzD,QAAQ,KAAK,CAAC;EAEhB;EAQA,AANA,IAAM,EAAU,GAAK,EAAK,kBAAkB,EAAK,mBAAmB,GAChE,MACH,IAAM,EAAY,GAAK,CAAG,GAC1B,EAAK,SAAS,EAAY,EAAK,QAAQ,CAAG,IAG3C,EAAO,MAAM,uBAAuB,CAAG;EAGvC,KAAK,IAAM,KAAW,GAAK,QAAQ,IAAI,KAAW,OAAO,EAAI,EAAQ;EASrE,AAPA,EAAO,KACN,uBACA,EAAG,KAAK,EAAG,OAAO,EAAK,OAAO,KAAK,GAAG,CAAC,CAAC,CACzC,GAIA,EAFmB,EAAK,OAAO,KAAK,GAE9B,GAAY;GACjB,OAAO;GACP,OAAO;EACR,CAAC,EAAE,GAAG,SAAS,MAAS;GACvB,IAAI,MAAS,KAAK,MAAS,MAAM;IAChC,EAAO,KAAK,+BAA+B;IAE3C;GACD;GAGA,AADA,EAAO,MAAM,6BAA6B,GAC1C,QAAQ,KAAK,CAAI;EAClB,CAAC;CACF;AACD"}
1
+ {"version":3,"file":"env.command.js","names":[],"sources":["../../src/commands/env.command.ts"],"sourcesContent":["import merge from 'merge-deep';\r\nimport { spawn } from 'node:child_process';\r\nimport type { CommandModule } from 'yargs';\r\nimport type { CommandArguments } from '../arguments.js';\r\nimport {\r\n\tcreateValidator,\r\n\tflatResults,\r\n\tflatSchema,\r\n\tflatten,\r\n\tinterpolate,\r\n\tloadVariablesFromProviders,\r\n\tlogger,\r\n\tnormalize,\r\n\tui,\r\n} from '../utils/index.js';\r\n\r\nexport interface EnvCommandArguments extends CommandArguments {\r\n\t// whether validate schema before injecting variables\r\n\tschemaValidate: boolean;\r\n\t// command for execute after inject environment variables.\r\n\t// Should be prefixed or surrounded by ':' character.\r\n\tsubcmd: string[];\r\n}\r\n\r\n/**\r\n * Main command.\r\n * Injects environment variables into process.env.\r\n *\r\n * @example [>_]: env -e dev -m debug : npm start\r\n */\r\nexport const envCommand: CommandModule<any, EnvCommandArguments> = {\r\n\tcommand: '$0 [options..] [: <subcmd> :]',\r\n\tdescribe: 'Inject environment variables into a process and run a command',\r\n\tbuilder: (builder) => {\r\n\t\tbuilder\r\n\t\t\t.options({\r\n\t\t\t\tschemaValidate: {\r\n\t\t\t\t\talias: 'validate',\r\n\t\t\t\t\tdefault: true,\r\n\t\t\t\t\tdescribe: 'Whether validates variables using JSON schema',\r\n\t\t\t\t\ttype: 'boolean',\r\n\t\t\t\t},\r\n\t\t\t\tsubcmd: {\r\n\t\t\t\t\tdescribe: 'Command for inject environment variables',\r\n\t\t\t\t\ttype: 'array',\r\n\t\t\t\t},\r\n\t\t\t})\r\n\t\t\t.example(\r\n\t\t\t\t'env -e dev -m test unit : npm test',\r\n\t\t\t\t'Loads \"dev\" environment variables, in \"test\" and \"unit\" modes, for \"npm start\" command',\r\n\t\t\t)\r\n\t\t\t.example(\r\n\t\t\t\t'env -e dev -m debug : npm start : -c my-config.json',\r\n\t\t\t\t'Loads \"dev\" environment variables, in \"debug\" mode, for \"npm test\" command and custom config file',\r\n\t\t\t)\r\n\t\t\t.example(\r\n\t\t\t\t'env -e dev -m debug -c [[root]]/[[env]].env.json : npm start',\r\n\t\t\t\t'Loads custom config file placed in root folder and named same as the env',\r\n\t\t\t)\r\n\t\t\t.check((argv): boolean => {\r\n\t\t\t\t// special check for custom argument\r\n\t\t\t\tif (argv._.length === 0 && !argv.subcmd) {\r\n\t\t\t\t\tlogger.error(\r\n\t\t\t\t\t\t'No one subcommand provided for exec surrounded by :',\r\n\t\t\t\t\t);\r\n\r\n\t\t\t\t\tprocess.exit(1);\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn true;\r\n\t\t\t});\r\n\r\n\t\treturn builder;\r\n\t},\r\n\thandler: async ({ expand, providers, schemaValidate, ...argv }) => {\r\n\t\tconst started = performance.now();\r\n\r\n\t\t// kick off validator build (lazy-imports AJV) in parallel with provider I/O\r\n\t\tconst validatorPromise = schemaValidate\r\n\t\t\t? buildEnvValidator(providers, argv)\r\n\t\t\t: undefined;\r\n\r\n\t\tconst results = await loadVariablesFromProviders(providers, argv);\r\n\r\n\t\t// per-provider variable counts\r\n\t\tfor (const { key, value } of results) {\r\n\t\t\tconst flat = Array.isArray(value)\r\n\t\t\t\t? merge(\r\n\t\t\t\t\t\t{},\r\n\t\t\t\t\t\t...value.map((v: any) =>\r\n\t\t\t\t\t\t\tflatten(v, argv.nestingDelimiter),\r\n\t\t\t\t\t\t),\r\n\t\t\t\t\t)\r\n\t\t\t\t: flatten(value, argv.nestingDelimiter);\r\n\r\n\t\t\tui.provider(key, Object.keys(flat).length);\r\n\t\t}\r\n\r\n\t\tlet env = merge(\r\n\t\t\t{ NODE_ENV: 'development' },\r\n\t\t\t...flatResults(results, argv.nestingDelimiter),\r\n\t\t);\r\n\r\n\t\tif (validatorPromise) {\r\n\t\t\tconst validator = await validatorPromise;\r\n\r\n\t\t\tif (!validator(env)) {\r\n\t\t\t\tlogger.error('schema validation failed', validator.errors);\r\n\r\n\t\t\t\tprocess.exit(1);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tenv = normalize(env, argv.nestingDelimiter, argv.arrayDescomposition);\r\n\t\tif (expand) {\r\n\t\t\tenv = interpolate(env, env);\r\n\t\t\targv.subcmd = interpolate(argv.subcmd, env);\r\n\t\t}\r\n\r\n\t\tui.variables(env);\r\n\r\n\t\t// loads env vars to process.env\r\n\t\tfor (const varname in env) process.env[varname] = String(env[varname]);\r\n\r\n\t\tui.summary(Object.keys(env).length, performance.now() - started);\r\n\r\n\t\tconst cmdProcess = argv.subcmd.join(' ');\r\n\r\n\t\tui.running(cmdProcess);\r\n\r\n\t\tspawn(cmdProcess, {\r\n\t\t\tshell: true,\r\n\t\t\tstdio: 'inherit',\r\n\t\t}).on('exit', (code) => {\r\n\t\t\tif (code === 0 || code === null) {\r\n\t\t\t\tui.finished(performance.now() - started);\r\n\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tui.failed(code);\r\n\t\t\tlogger.error('process finished with error');\r\n\t\t\tprocess.exit(code);\r\n\t\t});\r\n\t},\r\n};\r\n\r\nfunction buildEnvValidator(\r\n\tproviders: EnvCommandArguments['providers'],\r\n\targv: Partial<EnvCommandArguments>,\r\n) {\r\n\tlet schema = {};\r\n\r\n\tfor (const {\r\n\t\thandler: { key },\r\n\t} of providers) {\r\n\t\tconst providerSchema = argv.schema?.[key];\r\n\r\n\t\tif (providerSchema)\r\n\t\t\tschema = Object.assign(\r\n\t\t\t\tschema,\r\n\t\t\t\tflatSchema(providerSchema, '', argv.nestingDelimiter),\r\n\t\t\t);\r\n\t}\r\n\r\n\treturn createValidator({ properties: schema, type: 'object' });\r\n}\r\n"],"mappings":";;;;;;;;;;AA8BA,IAAa,IAAsD;CAClE,SAAS;CACT,UAAU;CACV,UAAU,OACT,EACE,QAAQ;EACR,gBAAgB;GACf,OAAO;GACP,SAAS;GACT,UAAU;GACV,MAAM;EACP;EACA,QAAQ;GACP,UAAU;GACV,MAAM;EACP;CACD,CAAC,EACA,QACA,sCACA,gGACD,EACC,QACA,uDACA,yGACD,EACC,QACA,gEACA,0EACD,EACC,OAAO,OAEH,EAAK,EAAE,WAAW,KAAK,CAAC,EAAK,WAChC,EAAO,MACN,qDACD,GAEA,QAAQ,KAAK,CAAC,IAGR,GACP,GAEK;CAER,SAAS,OAAO,EAAE,WAAQ,cAAW,mBAAgB,GAAG,QAAW;EAClE,IAAM,IAAU,YAAY,IAAI,GAG1B,IAAmB,IACtB,EAAkB,GAAW,CAAI,IACjC,KAAA,GAEG,IAAU,MAAM,EAA2B,GAAW,CAAI;EAGhE,KAAK,IAAM,EAAE,QAAK,cAAW,GAAS;GACrC,IAAM,IAAO,MAAM,QAAQ,CAAK,IAC7B,EACA,CAAC,GACD,GAAG,EAAM,KAAK,MACb,EAAQ,GAAG,EAAK,gBAAgB,CACjC,CACD,IACC,EAAQ,GAAO,EAAK,gBAAgB;GAEvC,EAAG,SAAS,GAAK,OAAO,KAAK,CAAI,EAAE,MAAM;EAC1C;EAEA,IAAI,IAAM,EACT,EAAE,UAAU,cAAc,GAC1B,GAAG,EAAY,GAAS,EAAK,gBAAgB,CAC9C;EAEA,IAAI,GAAkB;GACrB,IAAM,IAAY,MAAM;GAExB,AAAK,EAAU,CAAG,MACjB,EAAO,MAAM,4BAA4B,EAAU,MAAM,GAEzD,QAAQ,KAAK,CAAC;EAEhB;EAQA,AANA,IAAM,EAAU,GAAK,EAAK,kBAAkB,EAAK,mBAAmB,GAChE,MACH,IAAM,EAAY,GAAK,CAAG,GAC1B,EAAK,SAAS,EAAY,EAAK,QAAQ,CAAG,IAG3C,EAAG,UAAU,CAAG;EAGhB,KAAK,IAAM,KAAW,GAAK,QAAQ,IAAI,KAAW,OAAO,EAAI,EAAQ;EAErE,EAAG,QAAQ,OAAO,KAAK,CAAG,EAAE,QAAQ,YAAY,IAAI,IAAI,CAAO;EAE/D,IAAM,IAAa,EAAK,OAAO,KAAK,GAAG;EAIvC,AAFA,EAAG,QAAQ,CAAU,GAErB,EAAM,GAAY;GACjB,OAAO;GACP,OAAO;EACR,CAAC,EAAE,GAAG,SAAS,MAAS;GACvB,IAAI,MAAS,KAAK,MAAS,MAAM;IAChC,EAAG,SAAS,YAAY,IAAI,IAAI,CAAO;IAEvC;GACD;GAIA,AAFA,EAAG,OAAO,CAAI,GACd,EAAO,MAAM,6BAA6B,GAC1C,QAAQ,KAAK,CAAI;EAClB,CAAC;CACF;AACD;AAEA,SAAS,EACR,GACA,GACC;CACD,IAAI,IAAS,CAAC;CAEd,KAAK,IAAM,EACV,SAAS,EAAE,cACP,GAAW;EACf,IAAM,IAAiB,EAAK,SAAS;EAErC,AAAI,MACH,IAAS,OAAO,OACf,GACA,EAAW,GAAgB,IAAI,EAAK,gBAAgB,CACrD;CACF;CAEA,OAAO,EAAgB;EAAE,YAAY;EAAQ,MAAM;CAAS,CAAC;AAC9D"}
@@ -1 +1 @@
1
- {"version":3,"file":"export.command.d.ts","sourceRoot":"","sources":["../../src/commands/export.command.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAWxD,MAAM,WAAW,sBAAuB,SAAQ,gBAAgB;IAC/D,MAAM,EAAE,QAAQ,GAAG,MAAM,CAAC;IAE1B,GAAG,EAAE,MAAM,CAAC;IAEZ,YAAY,EAAE,OAAO,CAAC;CACtB;AAED;;;;;GAKG;AACH,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,GAAG,EAAE,sBAAsB,CAkFpE,CAAC"}
1
+ {"version":3,"file":"export.command.d.ts","sourceRoot":"","sources":["../../src/commands/export.command.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAYxD,MAAM,WAAW,sBAAuB,SAAQ,gBAAgB;IAC/D,MAAM,EAAE,QAAQ,GAAG,MAAM,CAAC;IAE1B,GAAG,EAAE,MAAM,CAAC;IAEZ,YAAY,EAAE,OAAO,CAAC;CACtB;AAED;;;;;GAKG;AACH,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,GAAG,EAAE,sBAAsB,CA0FpE,CAAC"}
@@ -3,10 +3,11 @@ import { interpolate as n } from "../utils/interpolate.util.js";
3
3
  import { writeEnvFromJson as r, writeJson as i } from "../utils/json.util.js";
4
4
  import { logger as a } from "../utils/logger.js";
5
5
  import { normalize as o } from "../utils/normalize.util.js";
6
+ import { ui as s } from "../utils/ui.js";
6
7
  import "../utils/index.js";
7
- import s from "merge-deep";
8
+ import c from "merge-deep";
8
9
  //#region src/commands/export.command.ts
9
- var c = {
10
+ var l = {
10
11
  command: "export [options..]",
11
12
  describe: "Export unified environment variables to a file from providers",
12
13
  builder: (e) => (e.options({
@@ -34,22 +35,22 @@ var c = {
34
35
  type: "string"
35
36
  }
36
37
  }).example("env export -e dev -m build", "Exports \"dev\" variables to a dotenv file at root as \".env\"").example("env export -e prod -m build -f json --uri [[env]].env.json", "Exports \"prod\" variables to a json file at root as \"prod.env.json\""), e),
37
- handler: async ({ expand: c, exportIgnoreKeys: l, exportQuotes: u, providers: d, ...f }) => {
38
- let p = s({ NODE_ENV: "development" }, ...e(await t(d, f), f));
39
- p = o(p, f.nestingDelimiter, f.arrayDescomposition), c && (p = n(p, p)), l && (a.silly("ignoring:", l), p = Object.fromEntries(Object.entries(p).filter(([e]) => !l.includes(e)))), a.debug("environment loaded:", p);
40
- let { format: m, uri: h } = f;
41
- switch (m) {
38
+ handler: async ({ expand: l, exportIgnoreKeys: u, exportQuotes: d, providers: f, ...p }) => {
39
+ let m = c({ NODE_ENV: "development" }, ...await e(await t(f, p), p));
40
+ m = o(m, p.nestingDelimiter, p.arrayDescomposition), l && (m = n(m, m)), u && (a.silly("ignoring:", u), m = Object.fromEntries(Object.entries(m).filter(([e]) => !u.includes(e)))), a.debug("environment loaded:", m);
41
+ let { format: h, uri: g } = p;
42
+ switch (h) {
42
43
  case "dotenv":
43
- await r(h, p, !0, u);
44
+ await r(g, m, !0, d), s.action("📤", `exported ${Object.keys(m).length} variables → ${g} (${h})`);
44
45
  break;
45
46
  case "json":
46
- await i(h, p, !0);
47
+ await i(g, m, !0), s.action("📤", `exported ${Object.keys(m).length} variables → ${g} (${h})`);
47
48
  break;
48
- default: a.error(`format ${m} not recognized`);
49
+ default: a.error(`format ${h} not recognized`);
49
50
  }
50
51
  }
51
52
  };
52
53
  //#endregion
53
- export { c as exportCommand };
54
+ export { l as exportCommand };
54
55
 
55
56
  //# sourceMappingURL=export.command.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"export.command.js","names":[],"sources":["../../src/commands/export.command.ts"],"sourcesContent":["import merge from 'merge-deep';\r\nimport type { CommandModule } from 'yargs';\r\nimport type { CommandArguments } from '../arguments.js';\r\nimport {\r\n\tflatAndValidateResults,\r\n\tinterpolate,\r\n\tloadVariablesFromProviders,\r\n\tlogger,\r\n\tnormalize,\r\n\twriteEnvFromJson,\r\n\twriteJson,\r\n} from '../utils/index.js';\r\n\r\nexport interface ExportCommandArguments extends CommandArguments {\r\n\tformat: 'dotenv' | 'json';\r\n\r\n\turi: string;\r\n\r\n\texportQuotes: boolean;\r\n}\r\n\r\n/**\r\n * Export command.\r\n * Export environment variables to a file.\r\n *\r\n * @example [>_]: env export -e dev -m build\r\n */\r\nexport const exportCommand: CommandModule<any, ExportCommandArguments> = {\r\n\tcommand: 'export [options..]',\r\n\tdescribe: 'Export unified environment variables to a file from providers',\r\n\tbuilder: (builder) => {\r\n\t\tbuilder\r\n\t\t\t.options({\r\n\t\t\t\texportQuotes: {\r\n\t\t\t\t\talias: ['quotes', 'q'],\r\n\t\t\t\t\tdefault: false,\r\n\t\t\t\t\tdescribe: 'Wraps values in quotes',\r\n\t\t\t\t\ttype: 'boolean',\r\n\t\t\t\t},\r\n\t\t\t\tformat: {\r\n\t\t\t\t\talias: 'f',\r\n\t\t\t\t\tchoices: ['json', 'dotenv'],\r\n\t\t\t\t\tdefault: 'dotenv',\r\n\t\t\t\t\tdescribe: 'Format for export variables',\r\n\t\t\t\t\ttype: 'string',\r\n\t\t\t\t},\r\n\t\t\t\turi: {\r\n\t\t\t\t\talias: ['u', 'p', 'path'],\r\n\t\t\t\t\tdefault: '.env',\r\n\t\t\t\t\tdescribe: 'Uri for export file with variables',\r\n\t\t\t\t\ttype: 'string',\r\n\t\t\t\t},\r\n\t\t\t})\r\n\t\t\t.example(\r\n\t\t\t\t'env export -e dev -m build',\r\n\t\t\t\t'Exports \"dev\" variables to a dotenv file at root as \".env\"',\r\n\t\t\t)\r\n\t\t\t.example(\r\n\t\t\t\t'env export -e prod -m build -f json --uri [[env]].env.json',\r\n\t\t\t\t'Exports \"prod\" variables to a json file at root as \"prod.env.json\"',\r\n\t\t\t);\r\n\r\n\t\treturn builder;\r\n\t},\r\n\thandler: async ({\r\n\t\texpand,\r\n\t\texportIgnoreKeys,\r\n\t\texportQuotes,\r\n\t\tproviders,\r\n\t\t...argv\r\n\t}) => {\r\n\t\tconst results = await loadVariablesFromProviders(providers, argv);\r\n\r\n\t\tlet env = merge(\r\n\t\t\t{ NODE_ENV: 'development' },\r\n\t\t\t...flatAndValidateResults(results, argv),\r\n\t\t);\r\n\r\n\t\tenv = normalize(env, argv.nestingDelimiter, argv.arrayDescomposition);\r\n\t\tif (expand) env = interpolate(env, env);\r\n\t\tif (exportIgnoreKeys) {\r\n\t\t\tlogger.silly('ignoring:', exportIgnoreKeys);\r\n\t\t\tenv = Object.fromEntries(\r\n\t\t\t\tObject.entries(env).filter(\r\n\t\t\t\t\t([k]) => !exportIgnoreKeys.includes(k),\r\n\t\t\t\t),\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tlogger.debug('environment loaded:', env);\r\n\r\n\t\tconst { format, uri } = argv;\r\n\r\n\t\tswitch (format) {\r\n\t\t\tcase 'dotenv': {\r\n\t\t\t\tawait writeEnvFromJson(uri, env, true, exportQuotes);\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\r\n\t\t\tcase 'json': {\r\n\t\t\t\tawait writeJson(uri, env, true);\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\r\n\t\t\tdefault: {\r\n\t\t\t\tlogger.error(`format ${format} not recognized`);\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n};\r\n"],"mappings":";;;;;;;;AA2BA,IAAa,IAA4D;CACxE,SAAS;CACT,UAAU;CACV,UAAU,OACT,EACE,QAAQ;EACR,cAAc;GACb,OAAO,CAAC,UAAU,GAAG;GACrB,SAAS;GACT,UAAU;GACV,MAAM;EACP;EACA,QAAQ;GACP,OAAO;GACP,SAAS,CAAC,QAAQ,QAAQ;GAC1B,SAAS;GACT,UAAU;GACV,MAAM;EACP;EACA,KAAK;GACJ,OAAO;IAAC;IAAK;IAAK;GAAM;GACxB,SAAS;GACT,UAAU;GACV,MAAM;EACP;CACD,CAAC,EACA,QACA,8BACA,gEACD,EACC,QACA,8DACA,wEACD,GAEM;CAER,SAAS,OAAO,EACf,WACA,qBACA,iBACA,cACA,GAAG,QACE;EAGL,IAAI,IAAM,EACT,EAAE,UAAU,cAAc,GAC1B,GAAG,EAAuB,MAJL,EAA2B,GAAW,CAAI,GAI5B,CAAI,CACxC;EAaA,AAXA,IAAM,EAAU,GAAK,EAAK,kBAAkB,EAAK,mBAAmB,GAChE,MAAQ,IAAM,EAAY,GAAK,CAAG,IAClC,MACH,EAAO,MAAM,aAAa,CAAgB,GAC1C,IAAM,OAAO,YACZ,OAAO,QAAQ,CAAG,EAAE,QAClB,CAAC,OAAO,CAAC,EAAiB,SAAS,CAAC,CACtC,CACD,IAGD,EAAO,MAAM,uBAAuB,CAAG;EAEvC,IAAM,EAAE,WAAQ,WAAQ;EAExB,QAAQ,GAAR;GACC,KAAK;IACJ,MAAM,EAAiB,GAAK,GAAK,IAAM,CAAY;IACnD;GAGD,KAAK;IACJ,MAAM,EAAU,GAAK,GAAK,EAAI;IAC9B;GAGD,SACC,EAAO,MAAM,UAAU,EAAO,gBAAgB;EAEhD;CACD;AACD"}
1
+ {"version":3,"file":"export.command.js","names":[],"sources":["../../src/commands/export.command.ts"],"sourcesContent":["import merge from 'merge-deep';\r\nimport type { CommandModule } from 'yargs';\r\nimport type { CommandArguments } from '../arguments.js';\r\nimport {\r\n\tflatAndValidateResults,\r\n\tinterpolate,\r\n\tloadVariablesFromProviders,\r\n\tlogger,\r\n\tnormalize,\r\n\tui,\r\n\twriteEnvFromJson,\r\n\twriteJson,\r\n} from '../utils/index.js';\r\n\r\nexport interface ExportCommandArguments extends CommandArguments {\r\n\tformat: 'dotenv' | 'json';\r\n\r\n\turi: string;\r\n\r\n\texportQuotes: boolean;\r\n}\r\n\r\n/**\r\n * Export command.\r\n * Export environment variables to a file.\r\n *\r\n * @example [>_]: env export -e dev -m build\r\n */\r\nexport const exportCommand: CommandModule<any, ExportCommandArguments> = {\r\n\tcommand: 'export [options..]',\r\n\tdescribe: 'Export unified environment variables to a file from providers',\r\n\tbuilder: (builder) => {\r\n\t\tbuilder\r\n\t\t\t.options({\r\n\t\t\t\texportQuotes: {\r\n\t\t\t\t\talias: ['quotes', 'q'],\r\n\t\t\t\t\tdefault: false,\r\n\t\t\t\t\tdescribe: 'Wraps values in quotes',\r\n\t\t\t\t\ttype: 'boolean',\r\n\t\t\t\t},\r\n\t\t\t\tformat: {\r\n\t\t\t\t\talias: 'f',\r\n\t\t\t\t\tchoices: ['json', 'dotenv'],\r\n\t\t\t\t\tdefault: 'dotenv',\r\n\t\t\t\t\tdescribe: 'Format for export variables',\r\n\t\t\t\t\ttype: 'string',\r\n\t\t\t\t},\r\n\t\t\t\turi: {\r\n\t\t\t\t\talias: ['u', 'p', 'path'],\r\n\t\t\t\t\tdefault: '.env',\r\n\t\t\t\t\tdescribe: 'Uri for export file with variables',\r\n\t\t\t\t\ttype: 'string',\r\n\t\t\t\t},\r\n\t\t\t})\r\n\t\t\t.example(\r\n\t\t\t\t'env export -e dev -m build',\r\n\t\t\t\t'Exports \"dev\" variables to a dotenv file at root as \".env\"',\r\n\t\t\t)\r\n\t\t\t.example(\r\n\t\t\t\t'env export -e prod -m build -f json --uri [[env]].env.json',\r\n\t\t\t\t'Exports \"prod\" variables to a json file at root as \"prod.env.json\"',\r\n\t\t\t);\r\n\r\n\t\treturn builder;\r\n\t},\r\n\thandler: async ({\r\n\t\texpand,\r\n\t\texportIgnoreKeys,\r\n\t\texportQuotes,\r\n\t\tproviders,\r\n\t\t...argv\r\n\t}) => {\r\n\t\tconst results = await loadVariablesFromProviders(providers, argv);\r\n\r\n\t\tlet env = merge(\r\n\t\t\t{ NODE_ENV: 'development' },\r\n\t\t\t...(await flatAndValidateResults(results, argv)),\r\n\t\t);\r\n\r\n\t\tenv = normalize(env, argv.nestingDelimiter, argv.arrayDescomposition);\r\n\t\tif (expand) env = interpolate(env, env);\r\n\t\tif (exportIgnoreKeys) {\r\n\t\t\tlogger.silly('ignoring:', exportIgnoreKeys);\r\n\t\t\tenv = Object.fromEntries(\r\n\t\t\t\tObject.entries(env).filter(\r\n\t\t\t\t\t([k]) => !exportIgnoreKeys.includes(k),\r\n\t\t\t\t),\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tlogger.debug('environment loaded:', env);\r\n\r\n\t\tconst { format, uri } = argv;\r\n\r\n\t\tswitch (format) {\r\n\t\t\tcase 'dotenv': {\r\n\t\t\t\tawait writeEnvFromJson(uri, env, true, exportQuotes);\r\n\t\t\t\tui.action(\r\n\t\t\t\t\t'📤',\r\n\t\t\t\t\t`exported ${Object.keys(env).length} variables → ${uri} (${format})`,\r\n\t\t\t\t);\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\r\n\t\t\tcase 'json': {\r\n\t\t\t\tawait writeJson(uri, env, true);\r\n\t\t\t\tui.action(\r\n\t\t\t\t\t'📤',\r\n\t\t\t\t\t`exported ${Object.keys(env).length} variables → ${uri} (${format})`,\r\n\t\t\t\t);\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\r\n\t\t\tdefault: {\r\n\t\t\t\tlogger.error(`format ${format} not recognized`);\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n};\r\n"],"mappings":";;;;;;;;;AA4BA,IAAa,IAA4D;CACxE,SAAS;CACT,UAAU;CACV,UAAU,OACT,EACE,QAAQ;EACR,cAAc;GACb,OAAO,CAAC,UAAU,GAAG;GACrB,SAAS;GACT,UAAU;GACV,MAAM;EACP;EACA,QAAQ;GACP,OAAO;GACP,SAAS,CAAC,QAAQ,QAAQ;GAC1B,SAAS;GACT,UAAU;GACV,MAAM;EACP;EACA,KAAK;GACJ,OAAO;IAAC;IAAK;IAAK;GAAM;GACxB,SAAS;GACT,UAAU;GACV,MAAM;EACP;CACD,CAAC,EACA,QACA,8BACA,gEACD,EACC,QACA,8DACA,wEACD,GAEM;CAER,SAAS,OAAO,EACf,WACA,qBACA,iBACA,cACA,GAAG,QACE;EAGL,IAAI,IAAM,EACT,EAAE,UAAU,cAAc,GAC1B,GAAI,MAAM,EAAuB,MAJZ,EAA2B,GAAW,CAAI,GAIrB,CAAI,CAC/C;EAaA,AAXA,IAAM,EAAU,GAAK,EAAK,kBAAkB,EAAK,mBAAmB,GAChE,MAAQ,IAAM,EAAY,GAAK,CAAG,IAClC,MACH,EAAO,MAAM,aAAa,CAAgB,GAC1C,IAAM,OAAO,YACZ,OAAO,QAAQ,CAAG,EAAE,QAClB,CAAC,OAAO,CAAC,EAAiB,SAAS,CAAC,CACtC,CACD,IAGD,EAAO,MAAM,uBAAuB,CAAG;EAEvC,IAAM,EAAE,WAAQ,WAAQ;EAExB,QAAQ,GAAR;GACC,KAAK;IAEJ,AADA,MAAM,EAAiB,GAAK,GAAK,IAAM,CAAY,GACnD,EAAG,OACF,MACA,YAAY,OAAO,KAAK,CAAG,EAAE,OAAO,eAAe,EAAI,IAAI,EAAO,EACnE;IACA;GAGD,KAAK;IAEJ,AADA,MAAM,EAAU,GAAK,GAAK,EAAI,GAC9B,EAAG,OACF,MACA,YAAY,OAAO,KAAK,CAAG,EAAE,OAAO,eAAe,EAAI,IAAI,EAAO,EACnE;IACA;GAGD,SACC,EAAO,MAAM,UAAU,EAAO,gBAAgB;EAEhD;CACD;AACD"}
@@ -1,22 +1,23 @@
1
1
  import { logger as e } from "../utils/logger.js";
2
+ import { ui as t } from "../utils/ui.js";
2
3
  import "../utils/index.js";
3
- import t from "picocolors";
4
+ import n from "picocolors";
4
5
  //#region src/commands/pull.command.ts
5
- var n = {
6
+ var r = {
6
7
  command: "pull [options..]",
7
- describe: "Pulls environment variables from providers",
8
+ describe: "Pull environment variables from provider stores",
8
9
  builder: (e) => (e.options({ overwrite: {
9
10
  alias: "o",
10
11
  default: !1,
11
12
  describe: "Overwrite local variables",
12
13
  type: "boolean"
13
14
  } }).example("env pull -e dev", "Download \"dev\" environment secrets").example("env pull -e dev -o", "Download and overwrite (if any exists) \"dev\" environment secrets"), e),
14
- handler: async ({ providers: n, ...r }) => {
15
- let i = n.filter(({ handler: { pull: e } }) => !!e);
16
- (await Promise.all(i.map(({ config: n, handler: { key: i, pull: a } }) => (e.silly(`pulling from ${t.yellow(i)} provider`), a(r, n))))).length > 0 ? e.info("environment variables pulled successfully") : e.warn("no providers for pull variables");
15
+ handler: async ({ providers: r, ...i }) => {
16
+ let a = r.filter(({ handler: { pull: e } }) => !!e), o = await Promise.all(a.map(({ config: t, handler: { key: r, pull: a } }) => (e.silly(`pulling from ${n.yellow(r)} provider`), a(i, t))));
17
+ o.length > 0 ? t.action("⬇️", `pulled from ${o.length} provider(s)`) : e.warn("no providers for pull variables");
17
18
  }
18
19
  };
19
20
  //#endregion
20
- export { n as pullCommand };
21
+ export { r as pullCommand };
21
22
 
22
23
  //# sourceMappingURL=pull.command.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pull.command.js","names":[],"sources":["../../src/commands/pull.command.ts"],"sourcesContent":["import pc from 'picocolors';\r\nimport type { CommandModule } from 'yargs';\r\nimport type { CommandArguments } from '../arguments.js';\r\nimport { logger } from '../utils/index.js';\r\n\r\nexport interface PullCommandArguments extends CommandArguments {\r\n\t// whether variables should be overwritten in already exists\r\n\toverwrite: boolean;\r\n}\r\n\r\n/**\r\n * Pulls environment variables from providers.\r\n *\r\n * @example [>_]: env pull -e dev\r\n */\r\nexport const pullCommand: CommandModule<any, PullCommandArguments> = {\r\n\tcommand: 'pull [options..]',\r\n\tdescribe: 'Pulls environment variables from providers',\r\n\tbuilder: (builder) => {\r\n\t\tbuilder\r\n\t\t\t.options({\r\n\t\t\t\toverwrite: {\r\n\t\t\t\t\talias: 'o',\r\n\t\t\t\t\tdefault: false,\r\n\t\t\t\t\tdescribe: 'Overwrite local variables',\r\n\t\t\t\t\ttype: 'boolean',\r\n\t\t\t\t},\r\n\t\t\t})\r\n\t\t\t.example('env pull -e dev', 'Download \"dev\" environment secrets')\r\n\t\t\t.example(\r\n\t\t\t\t'env pull -e dev -o',\r\n\t\t\t\t'Download and overwrite (if any exists) \"dev\" environment secrets',\r\n\t\t\t);\r\n\r\n\t\treturn builder;\r\n\t},\r\n\thandler: async ({ providers, ...argv }) => {\r\n\t\tconst pullProviders = providers.filter(\r\n\t\t\t({ handler: { pull } }) => !!pull,\r\n\t\t);\r\n\t\tconst promises = await Promise.all(\r\n\t\t\tpullProviders.map(({ config, handler: { key, pull } }) => {\r\n\t\t\t\tlogger.silly(`pulling from ${pc.yellow(key)} provider`);\r\n\r\n\t\t\t\treturn pull!(argv, config);\r\n\t\t\t}),\r\n\t\t);\r\n\r\n\t\tif (promises.length > 0)\r\n\t\t\tlogger.info('environment variables pulled successfully');\r\n\t\telse logger.warn('no providers for pull variables');\r\n\t},\r\n};\r\n"],"mappings":";;;;AAeA,IAAa,IAAwD;CACpE,SAAS;CACT,UAAU;CACV,UAAU,OACT,EACE,QAAQ,EACR,WAAW;EACV,OAAO;EACP,SAAS;EACT,UAAU;EACV,MAAM;CACP,EACD,CAAC,EACA,QAAQ,mBAAmB,sCAAoC,EAC/D,QACA,sBACA,oEACD,GAEM;CAER,SAAS,OAAO,EAAE,cAAW,GAAG,QAAW;EAC1C,IAAM,IAAgB,EAAU,QAC9B,EAAE,SAAS,EAAE,gBAAa,CAAC,CAAC,CAC9B;EASA,CAAI,MARmB,QAAQ,IAC9B,EAAc,KAAK,EAAE,WAAQ,SAAS,EAAE,QAAK,iBAC5C,EAAO,MAAM,gBAAgB,EAAG,OAAO,CAAG,EAAE,UAAU,GAE/C,EAAM,GAAM,CAAM,EACzB,CACF,GAEa,SAAS,IACrB,EAAO,KAAK,2CAA2C,IACnD,EAAO,KAAK,iCAAiC;CACnD;AACD"}
1
+ {"version":3,"file":"pull.command.js","names":[],"sources":["../../src/commands/pull.command.ts"],"sourcesContent":["import pc from 'picocolors';\nimport type { CommandModule } from 'yargs';\nimport type { CommandArguments } from '../arguments.js';\nimport { logger, ui } from '../utils/index.js';\n\nexport interface PullCommandArguments extends CommandArguments {\n\t// whether variables should be overwritten in already exists\n\toverwrite: boolean;\n}\n\n/**\n * Pulls environment variables from providers.\n *\n * @example [>_]: env pull -e dev\n */\nexport const pullCommand: CommandModule<any, PullCommandArguments> = {\n\tcommand: 'pull [options..]',\n\tdescribe: 'Pull environment variables from provider stores',\n\tbuilder: (builder) => {\n\t\tbuilder\n\t\t\t.options({\n\t\t\t\toverwrite: {\n\t\t\t\t\talias: 'o',\n\t\t\t\t\tdefault: false,\n\t\t\t\t\tdescribe: 'Overwrite local variables',\n\t\t\t\t\ttype: 'boolean',\n\t\t\t\t},\n\t\t\t})\n\t\t\t.example('env pull -e dev', 'Download \"dev\" environment secrets')\n\t\t\t.example(\n\t\t\t\t'env pull -e dev -o',\n\t\t\t\t'Download and overwrite (if any exists) \"dev\" environment secrets',\n\t\t\t);\n\n\t\treturn builder;\n\t},\n\thandler: async ({ providers, ...argv }) => {\n\t\tconst pullProviders = providers.filter(\n\t\t\t({ handler: { pull } }) => !!pull,\n\t\t);\n\t\tconst promises = await Promise.all(\n\t\t\tpullProviders.map(({ config, handler: { key, pull } }) => {\n\t\t\t\tlogger.silly(`pulling from ${pc.yellow(key)} provider`);\n\n\t\t\t\treturn pull!(argv, config);\n\t\t\t}),\n\t\t);\n\n\t\tif (promises.length > 0)\n\t\t\tui.action('⬇️', `pulled from ${promises.length} provider(s)`);\n\t\telse logger.warn('no providers for pull variables');\n\t},\n};\n"],"mappings":";;;;;AAeA,IAAa,IAAwD;CACpE,SAAS;CACT,UAAU;CACV,UAAU,OACT,EACE,QAAQ,EACR,WAAW;EACV,OAAO;EACP,SAAS;EACT,UAAU;EACV,MAAM;CACP,EACD,CAAC,EACA,QAAQ,mBAAmB,sCAAoC,EAC/D,QACA,sBACA,oEACD,GAEM;CAER,SAAS,OAAO,EAAE,cAAW,GAAG,QAAW;EAC1C,IAAM,IAAgB,EAAU,QAC9B,EAAE,SAAS,EAAE,gBAAa,CAAC,CAAC,CAC9B,GACM,IAAW,MAAM,QAAQ,IAC9B,EAAc,KAAK,EAAE,WAAQ,SAAS,EAAE,QAAK,iBAC5C,EAAO,MAAM,gBAAgB,EAAG,OAAO,CAAG,EAAE,UAAU,GAE/C,EAAM,GAAM,CAAM,EACzB,CACF;EAEA,AAAI,EAAS,SAAS,IACrB,EAAG,OAAO,MAAM,eAAe,EAAS,OAAO,aAAa,IACxD,EAAO,KAAK,iCAAiC;CACnD;AACD"}
@@ -1,22 +1,23 @@
1
1
  import { logger as e } from "../utils/logger.js";
2
+ import { ui as t } from "../utils/ui.js";
2
3
  import "../utils/index.js";
3
- import t from "picocolors";
4
+ import n from "picocolors";
4
5
  //#region src/commands/push.command.ts
5
- var n = {
6
+ var r = {
6
7
  command: "push [options..]",
7
- describe: "Pushes environment variables to providers store",
8
+ describe: "Push environment variables to provider stores",
8
9
  builder: (e) => (e.options({ force: {
9
10
  alias: "f",
10
11
  default: !1,
11
12
  describe: "Force push for secrets",
12
13
  type: "boolean"
13
14
  } }).example("env push -e dev", "Download \"dev\" environment secrets"), e),
14
- handler: async ({ providers: n, ...r }) => {
15
- let i = n.filter(({ handler: { push: e } }) => !!e);
16
- (await Promise.all(i.map(({ config: n, handler: { key: i, push: a } }) => (e.debug(`pushing to ${t.yellow(i)} provider`), a(r, n))))).length > 0 ? e.info("environment variables pushed successfully") : e.warn("no providers for push variables");
15
+ handler: async ({ providers: r, ...i }) => {
16
+ let a = r.filter(({ handler: { push: e } }) => !!e), o = await Promise.all(a.map(({ config: t, handler: { key: r, push: a } }) => (e.debug(`pushing to ${n.yellow(r)} provider`), a(i, t))));
17
+ o.length > 0 ? t.action("⬆️", `pushed to ${o.length} provider(s)`) : e.warn("no providers for push variables");
17
18
  }
18
19
  };
19
20
  //#endregion
20
- export { n as pushCommand };
21
+ export { r as pushCommand };
21
22
 
22
23
  //# sourceMappingURL=push.command.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"push.command.js","names":[],"sources":["../../src/commands/push.command.ts"],"sourcesContent":["import pc from 'picocolors';\r\nimport type { CommandModule } from 'yargs';\r\nimport type { CommandArguments } from '../arguments.js';\r\nimport { logger } from '../utils/index.js';\r\n\r\nexport interface PushCommandArguments extends CommandArguments {\r\n\t// forces to push in case of conflict\r\n\tforce: boolean;\r\n}\r\n\r\n/**\r\n * Pushes environment variables to providers store.\r\n *\r\n * @example [>_]: env push -e dev\r\n */\r\nexport const pushCommand: CommandModule<any, PushCommandArguments> = {\r\n\tcommand: 'push [options..]',\r\n\tdescribe: 'Pushes environment variables to providers store',\r\n\tbuilder: (builder) => {\r\n\t\tbuilder\r\n\t\t\t.options({\r\n\t\t\t\tforce: {\r\n\t\t\t\t\talias: 'f',\r\n\t\t\t\t\tdefault: false,\r\n\t\t\t\t\tdescribe: 'Force push for secrets',\r\n\t\t\t\t\ttype: 'boolean',\r\n\t\t\t\t},\r\n\t\t\t})\r\n\t\t\t.example('env push -e dev', 'Download \"dev\" environment secrets');\r\n\r\n\t\treturn builder;\r\n\t},\r\n\thandler: async ({ providers, ...argv }) => {\r\n\t\tconst pushProviders = providers.filter(\r\n\t\t\t({ handler: { push } }) => !!push,\r\n\t\t);\r\n\t\tconst promises = await Promise.all(\r\n\t\t\tpushProviders.map(({ config, handler: { key, push } }) => {\r\n\t\t\t\tlogger.debug(`pushing to ${pc.yellow(key)} provider`);\r\n\r\n\t\t\t\treturn push!(argv, config);\r\n\t\t\t}),\r\n\t\t);\r\n\r\n\t\tif (promises.length > 0)\r\n\t\t\tlogger.info('environment variables pushed successfully');\r\n\t\telse logger.warn('no providers for push variables');\r\n\t},\r\n};\r\n"],"mappings":";;;;AAeA,IAAa,IAAwD;CACpE,SAAS;CACT,UAAU;CACV,UAAU,OACT,EACE,QAAQ,EACR,OAAO;EACN,OAAO;EACP,SAAS;EACT,UAAU;EACV,MAAM;CACP,EACD,CAAC,EACA,QAAQ,mBAAmB,sCAAoC,GAE1D;CAER,SAAS,OAAO,EAAE,cAAW,GAAG,QAAW;EAC1C,IAAM,IAAgB,EAAU,QAC9B,EAAE,SAAS,EAAE,gBAAa,CAAC,CAAC,CAC9B;EASA,CAAI,MARmB,QAAQ,IAC9B,EAAc,KAAK,EAAE,WAAQ,SAAS,EAAE,QAAK,iBAC5C,EAAO,MAAM,cAAc,EAAG,OAAO,CAAG,EAAE,UAAU,GAE7C,EAAM,GAAM,CAAM,EACzB,CACF,GAEa,SAAS,IACrB,EAAO,KAAK,2CAA2C,IACnD,EAAO,KAAK,iCAAiC;CACnD;AACD"}
1
+ {"version":3,"file":"push.command.js","names":[],"sources":["../../src/commands/push.command.ts"],"sourcesContent":["import pc from 'picocolors';\nimport type { CommandModule } from 'yargs';\nimport type { CommandArguments } from '../arguments.js';\nimport { logger, ui } from '../utils/index.js';\n\nexport interface PushCommandArguments extends CommandArguments {\n\t// forces to push in case of conflict\n\tforce: boolean;\n}\n\n/**\n * Pushes environment variables to providers store.\n *\n * @example [>_]: env push -e dev\n */\nexport const pushCommand: CommandModule<any, PushCommandArguments> = {\n\tcommand: 'push [options..]',\n\tdescribe: 'Push environment variables to provider stores',\n\tbuilder: (builder) => {\n\t\tbuilder\n\t\t\t.options({\n\t\t\t\tforce: {\n\t\t\t\t\talias: 'f',\n\t\t\t\t\tdefault: false,\n\t\t\t\t\tdescribe: 'Force push for secrets',\n\t\t\t\t\ttype: 'boolean',\n\t\t\t\t},\n\t\t\t})\n\t\t\t.example('env push -e dev', 'Download \"dev\" environment secrets');\n\n\t\treturn builder;\n\t},\n\thandler: async ({ providers, ...argv }) => {\n\t\tconst pushProviders = providers.filter(\n\t\t\t({ handler: { push } }) => !!push,\n\t\t);\n\t\tconst promises = await Promise.all(\n\t\t\tpushProviders.map(({ config, handler: { key, push } }) => {\n\t\t\t\tlogger.debug(`pushing to ${pc.yellow(key)} provider`);\n\n\t\t\t\treturn push!(argv, config);\n\t\t\t}),\n\t\t);\n\n\t\tif (promises.length > 0)\n\t\t\tui.action('⬆️', `pushed to ${promises.length} provider(s)`);\n\t\telse logger.warn('no providers for push variables');\n\t},\n};\n"],"mappings":";;;;;AAeA,IAAa,IAAwD;CACpE,SAAS;CACT,UAAU;CACV,UAAU,OACT,EACE,QAAQ,EACR,OAAO;EACN,OAAO;EACP,SAAS;EACT,UAAU;EACV,MAAM;CACP,EACD,CAAC,EACA,QAAQ,mBAAmB,sCAAoC,GAE1D;CAER,SAAS,OAAO,EAAE,cAAW,GAAG,QAAW;EAC1C,IAAM,IAAgB,EAAU,QAC9B,EAAE,SAAS,EAAE,gBAAa,CAAC,CAAC,CAC9B,GACM,IAAW,MAAM,QAAQ,IAC9B,EAAc,KAAK,EAAE,WAAQ,SAAS,EAAE,QAAK,iBAC5C,EAAO,MAAM,cAAc,EAAG,OAAO,CAAG,EAAE,UAAU,GAE7C,EAAM,GAAM,CAAM,EACzB,CACF;EAEA,AAAI,EAAS,SAAS,IACrB,EAAG,OAAO,MAAM,aAAa,EAAS,OAAO,aAAa,IACtD,EAAO,KAAK,iCAAiC;CACnD;AACD"}
@@ -1 +1 @@
1
- {"version":3,"file":"schema.command.d.ts","sourceRoot":"","sources":["../../src/commands/schema.command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAOxD;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,GAAG,EAAE,gBAAgB,CAmB9D,CAAC"}
1
+ {"version":3,"file":"schema.command.d.ts","sourceRoot":"","sources":["../../src/commands/schema.command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAQxD;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,GAAG,EAAE,gBAAgB,CAmB9D,CAAC"}
@@ -1,18 +1,19 @@
1
1
  import { generateSchemaFrom as e, loadVariablesFromProviders as t } from "../utils/command.util.js";
2
2
  import { logger as n } from "../utils/logger.js";
3
+ import { ui as r } from "../utils/ui.js";
3
4
  import "../utils/index.js";
4
5
  //#region src/commands/schema.command.ts
5
- var r = {
6
+ var i = {
6
7
  command: "schema [options..]",
7
- describe: "Generates validation schema from providers",
8
+ describe: "Generate the JSON validation schema from providers",
8
9
  builder: (e) => e.example("env schema --generate -e dev -m debug unit", "Updates JSON schema"),
9
- handler: async (r) => {
10
- r.ci = !0;
11
- let i = await e(await t(r.providers, r), r);
12
- n.silly("schema:", i), n.info("schema updated successfully");
10
+ handler: async (i) => {
11
+ i.ci = !0;
12
+ let a = await e(await t(i.providers, i), i);
13
+ n.silly("schema:", a), r.action("📐", `schema updated → ${i.schemaFile}`);
13
14
  }
14
15
  };
15
16
  //#endregion
16
- export { r as schemaCommand };
17
+ export { i as schemaCommand };
17
18
 
18
19
  //# sourceMappingURL=schema.command.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.command.js","names":[],"sources":["../../src/commands/schema.command.ts"],"sourcesContent":["import type { CommandModule } from 'yargs';\r\nimport type { CommandArguments } from '../arguments.js';\r\nimport {\r\n\tgenerateSchemaFrom,\r\n\tloadVariablesFromProviders,\r\n\tlogger,\r\n} from '../utils/index.js';\r\n\r\n/**\r\n * Generates validation schema from providers environment variables.\r\n *\r\n * @example [>_]: env schema -e dev -m build\r\n */\r\nexport const schemaCommand: CommandModule<any, CommandArguments> = {\r\n\tcommand: 'schema [options..]',\r\n\tdescribe: 'Generates validation schema from providers',\r\n\tbuilder: (builder) => {\r\n\t\treturn builder.example(\r\n\t\t\t'env schema --generate -e dev -m debug unit',\r\n\t\t\t'Updates JSON schema',\r\n\t\t);\r\n\t},\r\n\thandler: async (argv) => {\r\n\t\targv.ci = true;\r\n\r\n\t\tconst results = await loadVariablesFromProviders(argv.providers, argv);\r\n\r\n\t\tconst schema = await generateSchemaFrom(results, argv);\r\n\r\n\t\tlogger.silly('schema:', schema);\r\n\t\tlogger.info('schema updated successfully');\r\n\t},\r\n};\r\n"],"mappings":";;;;AAaA,IAAa,IAAsD;CAClE,SAAS;CACT,UAAU;CACV,UAAU,MACF,EAAQ,QACd,8CACA,qBACD;CAED,SAAS,OAAO,MAAS;EACxB,EAAK,KAAK;EAIV,IAAM,IAAS,MAAM,EAAmB,MAFlB,EAA2B,EAAK,WAAW,CAAI,GAEpB,CAAI;EAGrD,AADA,EAAO,MAAM,WAAW,CAAM,GAC9B,EAAO,KAAK,6BAA6B;CAC1C;AACD"}
1
+ {"version":3,"file":"schema.command.js","names":[],"sources":["../../src/commands/schema.command.ts"],"sourcesContent":["import type { CommandModule } from 'yargs';\nimport type { CommandArguments } from '../arguments.js';\nimport {\n\tgenerateSchemaFrom,\n\tloadVariablesFromProviders,\n\tlogger,\n\tui,\n} from '../utils/index.js';\n\n/**\n * Generates validation schema from providers environment variables.\n *\n * @example [>_]: env schema -e dev -m build\n */\nexport const schemaCommand: CommandModule<any, CommandArguments> = {\n\tcommand: 'schema [options..]',\n\tdescribe: 'Generate the JSON validation schema from providers',\n\tbuilder: (builder) => {\n\t\treturn builder.example(\n\t\t\t'env schema --generate -e dev -m debug unit',\n\t\t\t'Updates JSON schema',\n\t\t);\n\t},\n\thandler: async (argv) => {\n\t\targv.ci = true;\n\n\t\tconst results = await loadVariablesFromProviders(argv.providers, argv);\n\n\t\tconst schema = await generateSchemaFrom(results, argv);\n\n\t\tlogger.silly('schema:', schema);\n\t\tui.action('📐', `schema updated → ${argv.schemaFile}`);\n\t},\n};\n"],"mappings":";;;;;AAcA,IAAa,IAAsD;CAClE,SAAS;CACT,UAAU;CACV,UAAU,MACF,EAAQ,QACd,8CACA,qBACD;CAED,SAAS,OAAO,MAAS;EACxB,EAAK,KAAK;EAIV,IAAM,IAAS,MAAM,EAAmB,MAFlB,EAA2B,EAAK,WAAW,CAAI,GAEpB,CAAI;EAGrD,AADA,EAAO,MAAM,WAAW,CAAM,GAC9B,EAAG,OAAO,MAAM,oBAAoB,EAAK,YAAY;CACtD;AACD"}
package/exec.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"exec.d.ts","sourceRoot":"","sources":["../src/exec.ts"],"names":[],"mappings":"AAsFA;;;;;;GAMG;AACH,wBAAsB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,iBAkE3C"}
1
+ {"version":3,"file":"exec.d.ts","sourceRoot":"","sources":["../src/exec.ts"],"names":[],"mappings":"AAuFA;;;;;;GAMG;AACH,wBAAsB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,iBA2D3C"}