@lindorm/config 0.2.10 → 0.4.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 (63) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +101 -303
  3. package/dist/cli.js +17 -19
  4. package/dist/cli.js.map +1 -1
  5. package/dist/index.d.ts +1 -1
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +1 -17
  8. package/dist/index.js.map +1 -1
  9. package/dist/internal/build-env-overrides.d.ts +5 -0
  10. package/dist/internal/build-env-overrides.d.ts.map +1 -0
  11. package/dist/internal/build-env-overrides.js +31 -0
  12. package/dist/internal/build-env-overrides.js.map +1 -0
  13. package/dist/internal/coerce-all.js +13 -17
  14. package/dist/internal/coerce-all.js.map +1 -1
  15. package/dist/internal/deep-override.d.ts +3 -0
  16. package/dist/internal/deep-override.d.ts.map +1 -0
  17. package/dist/internal/deep-override.js +20 -0
  18. package/dist/internal/deep-override.js.map +1 -0
  19. package/dist/internal/index.d.ts +7 -3
  20. package/dist/internal/index.d.ts.map +1 -1
  21. package/dist/internal/index.js +7 -19
  22. package/dist/internal/index.js.map +1 -1
  23. package/dist/internal/load-config.d.ts +2 -3
  24. package/dist/internal/load-config.d.ts.map +1 -1
  25. package/dist/internal/load-config.js +5 -14
  26. package/dist/internal/load-config.js.map +1 -1
  27. package/dist/internal/load-node-config.d.ts +2 -2
  28. package/dist/internal/load-node-config.d.ts.map +1 -1
  29. package/dist/internal/load-node-config.js +5 -9
  30. package/dist/internal/load-node-config.js.map +1 -1
  31. package/dist/internal/load-npm-info.d.ts +6 -0
  32. package/dist/internal/load-npm-info.d.ts.map +1 -0
  33. package/dist/internal/load-npm-info.js +47 -0
  34. package/dist/internal/load-npm-info.js.map +1 -0
  35. package/dist/internal/walk-schema.d.ts +7 -0
  36. package/dist/internal/walk-schema.d.ts.map +1 -0
  37. package/dist/internal/walk-schema.js +26 -0
  38. package/dist/internal/walk-schema.js.map +1 -0
  39. package/dist/types/index.d.ts +1 -1
  40. package/dist/types/index.d.ts.map +1 -1
  41. package/dist/types/index.js +1 -17
  42. package/dist/types/index.js.map +1 -1
  43. package/dist/types/types.d.ts +1 -1
  44. package/dist/types/types.d.ts.map +1 -1
  45. package/dist/types/types.js +1 -2
  46. package/dist/utils/configuration.d.ts +5 -2
  47. package/dist/utils/configuration.d.ts.map +1 -1
  48. package/dist/utils/configuration.js +13 -23
  49. package/dist/utils/configuration.js.map +1 -1
  50. package/dist/utils/index.d.ts +1 -1
  51. package/dist/utils/index.d.ts.map +1 -1
  52. package/dist/utils/index.js +1 -17
  53. package/dist/utils/index.js.map +1 -1
  54. package/package.json +19 -13
  55. package/vitest.config.mjs +3 -0
  56. package/dist/internal/find-process-env-value.d.ts +0 -3
  57. package/dist/internal/find-process-env-value.d.ts.map +0 -1
  58. package/dist/internal/find-process-env-value.js +0 -14
  59. package/dist/internal/find-process-env-value.js.map +0 -1
  60. package/dist/internal/merge-object-with-process-env.d.ts +0 -4
  61. package/dist/internal/merge-object-with-process-env.d.ts.map +0 -1
  62. package/dist/internal/merge-object-with-process-env.js +0 -24
  63. package/dist/internal/merge-object-with-process-env.js.map +0 -1
@@ -0,0 +1,31 @@
1
+ import { changeCase } from "@lindorm/case";
2
+ import { safelyParse } from "@lindorm/utils";
3
+ import { z } from "zod";
4
+ import { walkSchemaLeaves } from "./walk-schema.js";
5
+ const buildEnvName = (path) => path.map((segment) => changeCase(segment, "constant")).join("__");
6
+ const setPathValue = (target, path, value) => {
7
+ let cursor = target;
8
+ for (let i = 0; i < path.length - 1; i++) {
9
+ const key = path[i];
10
+ const existing = cursor[key];
11
+ if (existing === undefined || existing === null || typeof existing !== "object") {
12
+ cursor[key] = {};
13
+ }
14
+ cursor = cursor[key];
15
+ }
16
+ cursor[path[path.length - 1]] = value;
17
+ };
18
+ export const buildEnvOverrides = (schema, processEnv) => {
19
+ const result = {};
20
+ for (const { path } of walkSchemaLeaves(schema)) {
21
+ if (path.length === 0)
22
+ continue;
23
+ const envName = buildEnvName(path);
24
+ const raw = processEnv[envName];
25
+ if (raw === undefined)
26
+ continue;
27
+ setPathValue(result, path, safelyParse(raw));
28
+ }
29
+ return result;
30
+ };
31
+ //# sourceMappingURL=build-env-overrides.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-env-overrides.js","sourceRoot":"","sources":["../../src/internal/build-env-overrides.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAcpD,MAAM,YAAY,GAAG,CAAC,IAA2B,EAAU,EAAE,CAC3D,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEpE,MAAM,YAAY,GAAG,CACnB,MAAY,EACZ,IAA2B,EAC3B,KAAc,EACR,EAAE;IACR,IAAI,MAAM,GAAS,MAAM,CAAC;IAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAChF,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QACnB,CAAC;QACD,MAAM,GAAG,MAAM,CAAC,GAAG,CAAS,CAAC;IAC/B,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;AACxC,CAAC,CAAC;AAaF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,MAAiB,EAAE,UAAsB,EAAQ,EAAE;IACnF,MAAM,MAAM,GAAS,EAAE,CAAC;IAExB,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;QAChD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAEhC,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;QAChC,IAAI,GAAG,KAAK,SAAS;YAAE,SAAS;QAEhC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
@@ -1,39 +1,35 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.coerceAll = void 0;
4
- const zod_1 = require("zod");
5
- const coerceAll = (schema) => {
1
+ import { z } from "zod";
2
+ export const coerceAll = (schema) => {
6
3
  const def = schema._zod?.def ?? schema._def;
7
4
  switch (def.type) {
8
5
  case "string":
9
- return zod_1.z.coerce.string();
6
+ return z.coerce.string();
10
7
  case "number":
11
- return zod_1.z.coerce.number();
8
+ return z.coerce.number();
12
9
  case "boolean":
13
- return zod_1.z.coerce.boolean();
10
+ return z.coerce.boolean();
14
11
  case "date":
15
- return zod_1.z.coerce.date();
12
+ return z.coerce.date();
16
13
  case "bigint":
17
- return zod_1.z.coerce.bigint();
14
+ return z.coerce.bigint();
18
15
  case "array":
19
- return zod_1.z.array((0, exports.coerceAll)(def.element));
16
+ return z.array(coerceAll(def.element));
20
17
  case "object": {
21
18
  const shape = def.shape;
22
19
  const newShape = {};
23
20
  for (const key in shape) {
24
- newShape[key] = (0, exports.coerceAll)(shape[key]);
21
+ newShape[key] = coerceAll(shape[key]);
25
22
  }
26
- return zod_1.z.object(newShape);
23
+ return z.object(newShape);
27
24
  }
28
25
  case "optional":
29
- return (0, exports.coerceAll)(def.innerType).optional();
26
+ return coerceAll(def.innerType).optional();
30
27
  case "nullable":
31
- return (0, exports.coerceAll)(def.innerType).nullable();
28
+ return coerceAll(def.innerType).nullable();
32
29
  case "default":
33
- return (0, exports.coerceAll)(def.innerType).default(def.defaultValue);
30
+ return coerceAll(def.innerType).default(def.defaultValue);
34
31
  default:
35
32
  return schema;
36
33
  }
37
34
  };
38
- exports.coerceAll = coerceAll;
39
35
  //# sourceMappingURL=coerce-all.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"coerce-all.js","sourceRoot":"","sources":["../../src/internal/coerce-all.ts"],"names":[],"mappings":";;;AACA,6BAAwB;AAEjB,MAAM,SAAS,GAAG,CAAsB,MAAS,EAAK,EAAE;IAC7D,MAAM,GAAG,GAAI,MAAc,CAAC,IAAI,EAAE,GAAG,IAAK,MAAc,CAAC,IAAI,CAAC;IAE9D,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,QAAQ;YACX,OAAO,OAAC,CAAC,MAAM,CAAC,MAAM,EAAS,CAAC;QAElC,KAAK,QAAQ;YACX,OAAO,OAAC,CAAC,MAAM,CAAC,MAAM,EAAS,CAAC;QAElC,KAAK,SAAS;YACZ,OAAO,OAAC,CAAC,MAAM,CAAC,OAAO,EAAS,CAAC;QAEnC,KAAK,MAAM;YACT,OAAO,OAAC,CAAC,MAAM,CAAC,IAAI,EAAS,CAAC;QAEhC,KAAK,QAAQ;YACX,OAAO,OAAC,CAAC,MAAM,CAAC,MAAM,EAAS,CAAC;QAElC,KAAK,OAAO;YACV,OAAO,OAAC,CAAC,KAAK,CAAC,IAAA,iBAAS,EAAC,GAAG,CAAC,OAAO,CAAC,CAAQ,CAAC;QAEhD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,KAAK,GAAG,GAAG,CAAC,KAAwB,CAAC;YAC3C,MAAM,QAAQ,GAAoB,EAAE,CAAC;YACrC,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;gBACxB,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAA,iBAAS,EAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YACxC,CAAC;YACD,OAAO,OAAC,CAAC,MAAM,CAAC,QAAQ,CAAQ,CAAC;QACnC,CAAC;QAED,KAAK,UAAU;YACb,OAAO,IAAA,iBAAS,EAAC,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC;QAE7C,KAAK,UAAU;YACb,OAAO,IAAA,iBAAS,EAAC,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC;QAE7C,KAAK,SAAS;YACZ,OAAO,IAAA,iBAAS,EAAC,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAE5D;YACE,OAAO,MAAM,CAAC;IAClB,CAAC;AACH,CAAC,CAAC;AA3CW,QAAA,SAAS,aA2CpB"}
1
+ {"version":3,"file":"coerce-all.js","sourceRoot":"","sources":["../../src/internal/coerce-all.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,SAAS,GAAG,CAAsB,MAAS,EAAK,EAAE;IAC7D,MAAM,GAAG,GAAI,MAAc,CAAC,IAAI,EAAE,GAAG,IAAK,MAAc,CAAC,IAAI,CAAC;IAE9D,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,QAAQ;YACX,OAAO,CAAC,CAAC,MAAM,CAAC,MAAM,EAAS,CAAC;QAElC,KAAK,QAAQ;YACX,OAAO,CAAC,CAAC,MAAM,CAAC,MAAM,EAAS,CAAC;QAElC,KAAK,SAAS;YACZ,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,EAAS,CAAC;QAEnC,KAAK,MAAM;YACT,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,EAAS,CAAC;QAEhC,KAAK,QAAQ;YACX,OAAO,CAAC,CAAC,MAAM,CAAC,MAAM,EAAS,CAAC;QAElC,KAAK,OAAO;YACV,OAAO,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAQ,CAAC;QAEhD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,KAAK,GAAG,GAAG,CAAC,KAAwB,CAAC;YAC3C,MAAM,QAAQ,GAAoB,EAAE,CAAC;YACrC,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;gBACxB,QAAQ,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YACxC,CAAC;YACD,OAAO,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAQ,CAAC;QACnC,CAAC;QAED,KAAK,UAAU;YACb,OAAO,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC;QAE7C,KAAK,UAAU;YACb,OAAO,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC;QAE7C,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAE5D;YACE,OAAO,MAAM,CAAC;IAClB,CAAC;AACH,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Dict } from "@lindorm/types";
2
+ export declare const deepOverride: (...sources: Array<Dict | undefined>) => Dict;
3
+ //# sourceMappingURL=deep-override.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deep-override.d.ts","sourceRoot":"","sources":["../../src/internal/deep-override.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAe3C,eAAO,MAAM,YAAY,GAAI,GAAG,SAAS,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC,KAAG,IAiBlE,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { isObject } from "@lindorm/is";
2
+ export const deepOverride = (...sources) => {
3
+ const result = {};
4
+ for (const source of sources) {
5
+ if (!source)
6
+ continue;
7
+ for (const [key, value] of Object.entries(source)) {
8
+ if (value === undefined)
9
+ continue;
10
+ if (isObject(value) && isObject(result[key])) {
11
+ result[key] = deepOverride(result[key], value);
12
+ }
13
+ else {
14
+ result[key] = value;
15
+ }
16
+ }
17
+ }
18
+ return result;
19
+ };
20
+ //# sourceMappingURL=deep-override.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deep-override.js","sourceRoot":"","sources":["../../src/internal/deep-override.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAgBvC,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAG,OAAgC,EAAQ,EAAE;IACxE,MAAM,MAAM,GAAS,EAAE,CAAC;IAExB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,MAAM;YAAE,SAAS;QACtB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAClD,IAAI,KAAK,KAAK,SAAS;gBAAE,SAAS;YAElC,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBAC7C,MAAM,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;YACjD,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACtB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
@@ -1,4 +1,8 @@
1
- export * from "./coerce-all";
2
- export * from "./load-config";
3
- export * from "./load-node-config";
1
+ export * from "./build-env-overrides.js";
2
+ export * from "./coerce-all.js";
3
+ export * from "./deep-override.js";
4
+ export * from "./load-config.js";
5
+ export * from "./load-node-config.js";
6
+ export * from "./load-npm-info.js";
7
+ export * from "./walk-schema.js";
4
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/internal/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/internal/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC"}
@@ -1,20 +1,8 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./coerce-all"), exports);
18
- __exportStar(require("./load-config"), exports);
19
- __exportStar(require("./load-node-config"), exports);
1
+ export * from "./build-env-overrides.js";
2
+ export * from "./coerce-all.js";
3
+ export * from "./deep-override.js";
4
+ export * from "./load-config.js";
5
+ export * from "./load-node-config.js";
6
+ export * from "./load-npm-info.js";
7
+ export * from "./walk-schema.js";
20
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/internal/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,gDAA8B;AAC9B,qDAAmC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/internal/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC"}
@@ -1,4 +1,3 @@
1
- import { Dict } from "@lindorm/types";
2
- import { ProcessEnv } from "../types";
3
- export declare const loadConfig: (processEnv: ProcessEnv) => Dict;
1
+ import type { Dict } from "@lindorm/types";
2
+ export declare const loadConfig: () => Dict;
4
3
  //# sourceMappingURL=load-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"load-config.d.ts","sourceRoot":"","sources":["../../src/internal/load-config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAGtC,eAAO,MAAM,UAAU,GAAI,YAAY,UAAU,KAAG,IAKnD,CAAC"}
1
+ {"version":3,"file":"load-config.d.ts","sourceRoot":"","sources":["../../src/internal/load-config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAY3C,eAAO,MAAM,UAAU,QAAO,IAG7B,CAAC"}
@@ -1,16 +1,7 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
1
+ import { changeKeys } from "@lindorm/case";
2
+ import c from "config";
3
+ export const loadConfig = () => {
4
+ const config = c.util.toObject();
5
+ return changeKeys(config, "camel");
4
6
  };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.loadConfig = void 0;
7
- const case_1 = require("@lindorm/case");
8
- const config_1 = __importDefault(require("config"));
9
- const merge_object_with_process_env_1 = require("./merge-object-with-process-env");
10
- const loadConfig = (processEnv) => {
11
- const config = config_1.default.util.toObject();
12
- const merged = (0, merge_object_with_process_env_1.mergeObjectWithProcessEnv)(processEnv, config);
13
- return (0, case_1.changeKeys)(merged, "camel");
14
- };
15
- exports.loadConfig = loadConfig;
16
7
  //# sourceMappingURL=load-config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"load-config.js","sourceRoot":"","sources":["../../src/internal/load-config.ts"],"names":[],"mappings":";;;;;;AAAA,wCAA2C;AAE3C,oDAAuB;AAEvB,mFAA4E;AAErE,MAAM,UAAU,GAAG,CAAC,UAAsB,EAAQ,EAAE;IACzD,MAAM,MAAM,GAAG,gBAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;IACjC,MAAM,MAAM,GAAG,IAAA,yDAAyB,EAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAE7D,OAAO,IAAA,iBAAU,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACrC,CAAC,CAAC;AALW,QAAA,UAAU,cAKrB"}
1
+ {"version":3,"file":"load-config.js","sourceRoot":"","sources":["../../src/internal/load-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,CAAC,MAAM,QAAQ,CAAC;AAWvB,MAAM,CAAC,MAAM,UAAU,GAAG,GAAS,EAAE;IACnC,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAU,CAAC;IACzC,OAAO,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACrC,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { Dict } from "@lindorm/types";
2
- import { ProcessEnv } from "../types";
1
+ import type { Dict } from "@lindorm/types";
2
+ import type { ProcessEnv } from "../types/index.js";
3
3
  export declare const loadNodeConfig: (processEnv: ProcessEnv) => Dict;
4
4
  //# sourceMappingURL=load-node-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"load-node-config.d.ts","sourceRoot":"","sources":["../../src/internal/load-node-config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,eAAO,MAAM,cAAc,GAAI,YAAY,UAAU,KAAG,IAYvD,CAAC"}
1
+ {"version":3,"file":"load-node-config.d.ts","sourceRoot":"","sources":["../../src/internal/load-node-config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,eAAO,MAAM,cAAc,GAAI,YAAY,UAAU,KAAG,IAYvD,CAAC"}
@@ -1,17 +1,13 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.loadNodeConfig = void 0;
4
- const is_1 = require("@lindorm/is");
5
- const utils_1 = require("@lindorm/utils");
6
- const loadNodeConfig = (processEnv) => {
1
+ import { isString } from "@lindorm/is";
2
+ import { safelyParse } from "@lindorm/utils";
3
+ export const loadNodeConfig = (processEnv) => {
7
4
  if (!processEnv.NODE_CONFIG)
8
5
  return {};
9
- if (!(0, is_1.isString)(processEnv.NODE_CONFIG) ||
6
+ if (!isString(processEnv.NODE_CONFIG) ||
10
7
  !processEnv.NODE_CONFIG.startsWith("{") ||
11
8
  !processEnv.NODE_CONFIG.endsWith("}")) {
12
9
  throw new Error("Environment variable NODE_CONFIG must be a valid JSON string");
13
10
  }
14
- return (0, utils_1.safelyParse)(processEnv.NODE_CONFIG);
11
+ return safelyParse(processEnv.NODE_CONFIG);
15
12
  };
16
- exports.loadNodeConfig = loadNodeConfig;
17
13
  //# sourceMappingURL=load-node-config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"load-node-config.js","sourceRoot":"","sources":["../../src/internal/load-node-config.ts"],"names":[],"mappings":";;;AAAA,oCAAuC;AAEvC,0CAA6C;AAGtC,MAAM,cAAc,GAAG,CAAC,UAAsB,EAAQ,EAAE;IAC7D,IAAI,CAAC,UAAU,CAAC,WAAW;QAAE,OAAO,EAAE,CAAC;IAEvC,IACE,CAAC,IAAA,aAAQ,EAAC,UAAU,CAAC,WAAW,CAAC;QACjC,CAAC,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC;QACvC,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EACrC,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IAClF,CAAC;IAED,OAAO,IAAA,mBAAW,EAAO,UAAU,CAAC,WAAW,CAAC,CAAC;AACnD,CAAC,CAAC;AAZW,QAAA,cAAc,kBAYzB"}
1
+ {"version":3,"file":"load-node-config.js","sourceRoot":"","sources":["../../src/internal/load-node-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,UAAsB,EAAQ,EAAE;IAC7D,IAAI,CAAC,UAAU,CAAC,WAAW;QAAE,OAAO,EAAE,CAAC;IAEvC,IACE,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC;QACjC,CAAC,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC;QACvC,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EACrC,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IAClF,CAAC;IAED,OAAO,WAAW,CAAO,UAAU,CAAC,WAAW,CAAC,CAAC;AACnD,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ export type NpmInfo = {
2
+ name: string;
3
+ version: string;
4
+ };
5
+ export declare const loadNpmInfo: (scope?: string) => NpmInfo;
6
+ //# sourceMappingURL=load-npm-info.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load-npm-info.d.ts","sourceRoot":"","sources":["../../src/internal/load-npm-info.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,OAAO,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAmDxD,eAAO,MAAM,WAAW,GAAI,QAAQ,MAAM,KAAG,OAc5C,CAAC"}
@@ -0,0 +1,47 @@
1
+ import { existsSync, readFileSync } from "node:fs";
2
+ import { dirname, join } from "node:path";
3
+ import { fileURLToPath } from "node:url";
4
+ const scopeToDirname = (scope) => {
5
+ const resolved = scope.startsWith("file://") ? fileURLToPath(scope) : scope;
6
+ return dirname(resolved);
7
+ };
8
+ const findPackageJson = (startDir) => {
9
+ let current = startDir;
10
+ while (true) {
11
+ const candidate = join(current, "package.json");
12
+ if (existsSync(candidate))
13
+ return candidate;
14
+ const parent = dirname(current);
15
+ if (parent === current)
16
+ return null;
17
+ current = parent;
18
+ }
19
+ };
20
+ const readPackage = (path) => {
21
+ try {
22
+ const pkg = JSON.parse(readFileSync(path, "utf-8"));
23
+ return {
24
+ name: typeof pkg.name === "string" ? pkg.name : "",
25
+ version: typeof pkg.version === "string" ? pkg.version : "",
26
+ };
27
+ }
28
+ catch {
29
+ return null;
30
+ }
31
+ };
32
+ export const loadNpmInfo = (scope) => {
33
+ if (scope) {
34
+ const startDir = scopeToDirname(scope);
35
+ const pkgPath = findPackageJson(startDir);
36
+ if (pkgPath) {
37
+ const pkg = readPackage(pkgPath);
38
+ if (pkg)
39
+ return pkg;
40
+ }
41
+ }
42
+ return {
43
+ name: process.env.npm_package_name || "",
44
+ version: process.env.npm_package_version || "",
45
+ };
46
+ };
47
+ //# sourceMappingURL=load-npm-info.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load-npm-info.js","sourceRoot":"","sources":["../../src/internal/load-npm-info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAIzC,MAAM,cAAc,GAAG,CAAC,KAAa,EAAU,EAAE;IAC/C,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC5E,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC3B,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,QAAgB,EAAiB,EAAE;IAC1D,IAAI,OAAO,GAAG,QAAQ,CAAC;IACvB,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAChD,IAAI,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;QAC5C,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAChC,IAAI,MAAM,KAAK,OAAO;YAAE,OAAO,IAAI,CAAC;QACpC,OAAO,GAAG,MAAM,CAAC;IACnB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,IAAY,EAAkB,EAAE;IACnD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAGjD,CAAC;QACF,OAAO;YACL,IAAI,EAAE,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YAClD,OAAO,EAAE,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;SAC5D,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAoBF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAc,EAAW,EAAE;IACrD,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,OAAO,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,GAAG,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;YACjC,IAAI,GAAG;gBAAE,OAAO,GAAG,CAAC;QACtB,CAAC;IACH,CAAC;IAED,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE;QACxC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,EAAE;KAC/C,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { z } from "zod";
2
+ export type SchemaLeaf = {
3
+ path: ReadonlyArray<string>;
4
+ schema: z.ZodType;
5
+ };
6
+ export declare const walkSchemaLeaves: (schema: z.ZodType, path?: ReadonlyArray<string>) => Array<SchemaLeaf>;
7
+ //# sourceMappingURL=walk-schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"walk-schema.d.ts","sourceRoot":"","sources":["../../src/internal/walk-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC5B,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC;CACnB,CAAC;AAiBF,eAAO,MAAM,gBAAgB,GAC3B,QAAQ,CAAC,CAAC,OAAO,EACjB,OAAM,aAAa,CAAC,MAAM,CAAM,KAC/B,KAAK,CAAC,UAAU,CAyBlB,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { z } from "zod";
2
+ const getDef = (schema) => schema._zod?.def ?? schema._def ?? {};
3
+ export const walkSchemaLeaves = (schema, path = []) => {
4
+ const def = getDef(schema);
5
+ switch (def.type) {
6
+ case "object": {
7
+ const shape = def.shape;
8
+ if (!shape)
9
+ return [{ path, schema }];
10
+ const out = [];
11
+ for (const key of Object.keys(shape)) {
12
+ out.push(...walkSchemaLeaves(shape[key], [...path, key]));
13
+ }
14
+ return out;
15
+ }
16
+ case "optional":
17
+ case "nullable":
18
+ case "default":
19
+ case "readonly":
20
+ case "nonoptional":
21
+ return walkSchemaLeaves(def.innerType, path);
22
+ default:
23
+ return [{ path, schema }];
24
+ }
25
+ };
26
+ //# sourceMappingURL=walk-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"walk-schema.js","sourceRoot":"","sources":["../../src/internal/walk-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,MAAM,MAAM,GAAG,CAAC,MAAiB,EAAuC,EAAE,CACvE,MAAc,CAAC,IAAI,EAAE,GAAG,IAAK,MAAc,CAAC,IAAI,IAAI,EAAE,CAAC;AAc1D,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,MAAiB,EACjB,OAA8B,EAAE,EACb,EAAE;IACrB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAE3B,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,KAAK,GAAG,GAAG,CAAC,KAA8C,CAAC;YACjE,IAAI,CAAC,KAAK;gBAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YAEtC,MAAM,GAAG,GAAsB,EAAE,CAAC;YAClC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrC,GAAG,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;YAC5D,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC;QAED,KAAK,UAAU,CAAC;QAChB,KAAK,UAAU,CAAC;QAChB,KAAK,SAAS,CAAC;QACf,KAAK,UAAU,CAAC;QAChB,KAAK,aAAa;YAChB,OAAO,gBAAgB,CAAC,GAAG,CAAC,SAAsB,EAAE,IAAI,CAAC,CAAC;QAE5D;YACE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC,CAAC"}
@@ -1,2 +1,2 @@
1
- export * from "./types";
1
+ export * from "./types.js";
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
@@ -1,18 +1,2 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./types"), exports);
1
+ export * from "./types.js";
18
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
@@ -1,4 +1,4 @@
1
- import { Dict } from "@lindorm/types";
1
+ import type { Dict } from "@lindorm/types";
2
2
  export type NpmInformation = {
3
3
  npm: {
4
4
  package: {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAEtC,MAAM,MAAM,cAAc,GAAG;IAAE,GAAG,EAAE;QAAE,OAAO,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAA;CAAE,CAAC;AAErF,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAE3C,MAAM,MAAM,cAAc,GAAG;IAAE,GAAG,EAAE;QAAE,OAAO,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAA;CAAE,CAAC;AAErF,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC"}
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=types.js.map
@@ -1,4 +1,7 @@
1
1
  import { z } from "zod";
2
- import { NpmInformation } from "../types";
3
- export declare const configuration: <T extends Record<string, z.ZodType>>(schema: T) => NpmInformation & z.infer<z.ZodObject<T>>;
2
+ import type { NpmInformation } from "../types/index.js";
3
+ export type ConfigurationOptions = {
4
+ scope?: string;
5
+ };
6
+ export declare const configuration: <T extends Record<string, z.ZodType>>(schema: T, options?: ConfigurationOptions) => NpmInformation & z.infer<z.ZodObject<T>>;
4
7
  //# sourceMappingURL=configuration.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"configuration.d.ts","sourceRoot":"","sources":["../../src/utils/configuration.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAG1C,eAAO,MAAM,aAAa,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAC/D,QAAQ,CAAC,KACR,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAuBzC,CAAC"}
1
+ {"version":3,"file":"configuration.d.ts","sourceRoot":"","sources":["../../src/utils/configuration.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,MAAM,MAAM,oBAAoB,GAAG;IAcjC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAoBF,eAAO,MAAM,aAAa,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAC/D,QAAQ,CAAC,EACT,UAAS,oBAAyB,KACjC,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAuBzC,CAAC"}
@@ -1,32 +1,22 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.configuration = void 0;
7
- const dotenvx_1 = __importDefault(require("@dotenvx/dotenvx"));
8
- const utils_1 = require("@lindorm/utils");
9
- const zod_1 = require("zod");
10
- const index_1 = require("../internal/index");
11
- const configuration = (schema) => {
12
- dotenvx_1.default.config({
1
+ import dotenvx from "@dotenvx/dotenvx";
2
+ import { z } from "zod";
3
+ import { buildEnvOverrides, coerceAll, deepOverride, loadConfig, loadNodeConfig, loadNpmInfo, } from "../internal/index.js";
4
+ export const configuration = (schema, options = {}) => {
5
+ dotenvx.config({
13
6
  path: process.env.NODE_ENV ? [`.env.${process.env.NODE_ENV}`, ".env"] : ".env",
14
7
  quiet: true,
15
8
  });
16
- const config = (0, index_1.loadConfig)(process.env);
17
- const node = (0, index_1.loadNodeConfig)(process.env);
18
- const merged = (0, utils_1.merge)(config, node);
19
- const zod = (0, index_1.coerceAll)(zod_1.z.object(schema));
20
- const parsed = zod.parse(merged);
9
+ const wrapped = z.object(schema);
10
+ const yaml = loadConfig();
11
+ const node = loadNodeConfig(process.env);
12
+ const env = buildEnvOverrides(wrapped, process.env);
13
+ const merged = deepOverride(yaml, node, env);
14
+ const parsed = coerceAll(wrapped).parse(merged);
21
15
  const npm = {
22
16
  npm: {
23
- package: {
24
- name: process.env.npm_package_name || "",
25
- version: process.env.npm_package_version || "",
26
- },
17
+ package: loadNpmInfo(options.scope),
27
18
  },
28
19
  };
29
- return (0, utils_1.merge)(parsed, npm);
20
+ return deepOverride(parsed, npm);
30
21
  };
31
- exports.configuration = configuration;
32
22
  //# sourceMappingURL=configuration.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"configuration.js","sourceRoot":"","sources":["../../src/utils/configuration.ts"],"names":[],"mappings":";;;;;;AAAA,+DAAuC;AACvC,0CAAuC;AACvC,6BAAwB;AAExB,6CAA0E;AAEnE,MAAM,aAAa,GAAG,CAC3B,MAAS,EACiC,EAAE;IAC5C,iBAAO,CAAC,MAAM,CAAC;QACb,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM;QAC9E,KAAK,EAAE,IAAI;KACZ,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,IAAA,sBAAc,EAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,IAAA,aAAK,EAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAEnC,MAAM,GAAG,GAAG,IAAA,iBAAS,EAAC,OAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAEjC,MAAM,GAAG,GAAG;QACV,GAAG,EAAE;YACH,OAAO,EAAE;gBACP,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE;gBACxC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,EAAE;aAC/C;SACF;KACF,CAAC;IAEF,OAAO,IAAA,aAAK,EAAC,MAAa,EAAE,GAAU,CAAC,CAAC;AAC1C,CAAC,CAAC;AAzBW,QAAA,aAAa,iBAyBxB"}
1
+ {"version":3,"file":"configuration.js","sourceRoot":"","sources":["../../src/utils/configuration.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,iBAAiB,EACjB,SAAS,EACT,YAAY,EACZ,UAAU,EACV,cAAc,EACd,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAsC9B,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,MAAS,EACT,UAAgC,EAAE,EACQ,EAAE;IAC5C,OAAO,CAAC,MAAM,CAAC;QACb,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM;QAC9E,KAAK,EAAE,IAAI;KACZ,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEjC,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;IAC1B,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACzC,MAAM,GAAG,GAAG,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAEpD,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IAE7C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAEhD,MAAM,GAAG,GAAG;QACV,GAAG,EAAE;YACH,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC;SACpC;KACF,CAAC;IAEF,OAAO,YAAY,CAAC,MAAa,EAAE,GAAU,CAAQ,CAAC;AACxD,CAAC,CAAC"}
@@ -1,2 +1,2 @@
1
- export * from "./configuration";
1
+ export * from "./configuration.js";
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC"}
@@ -1,18 +1,2 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./configuration"), exports);
1
+ export * from "./configuration.js";
18
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC"}