@spinajs/configuration 2.0.557 → 3.0.1

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 (89) hide show
  1. package/lib/cjs/config/configuration.d.ts +1 -5
  2. package/lib/cjs/config/configuration.d.ts.map +1 -1
  3. package/lib/cjs/config/configuration.js +3 -1
  4. package/lib/cjs/config/configuration.js.map +1 -1
  5. package/lib/cjs/configuration.d.ts +24 -1
  6. package/lib/cjs/configuration.d.ts.map +1 -1
  7. package/lib/cjs/configuration.js +357 -82
  8. package/lib/cjs/configuration.js.map +1 -1
  9. package/lib/cjs/decorators.d.ts +77 -4
  10. package/lib/cjs/decorators.d.ts.map +1 -1
  11. package/lib/cjs/decorators.js +212 -11
  12. package/lib/cjs/decorators.js.map +1 -1
  13. package/lib/cjs/exception.d.ts +9 -1
  14. package/lib/cjs/exception.d.ts.map +1 -1
  15. package/lib/cjs/exception.js +2 -1
  16. package/lib/cjs/exception.js.map +1 -1
  17. package/lib/cjs/helpers.d.ts.map +1 -1
  18. package/lib/cjs/helpers.js +3 -2
  19. package/lib/cjs/helpers.js.map +1 -1
  20. package/lib/cjs/index.browser.d.ts +1 -0
  21. package/lib/cjs/index.browser.d.ts.map +1 -1
  22. package/lib/cjs/index.browser.js +4 -0
  23. package/lib/cjs/index.browser.js.map +1 -1
  24. package/lib/cjs/index.d.ts +3 -0
  25. package/lib/cjs/index.d.ts.map +1 -1
  26. package/lib/cjs/index.js +6 -0
  27. package/lib/cjs/index.js.map +1 -1
  28. package/lib/cjs/lib-dirs.d.ts +8 -0
  29. package/lib/cjs/lib-dirs.d.ts.map +1 -0
  30. package/lib/cjs/lib-dirs.js +16 -0
  31. package/lib/cjs/lib-dirs.js.map +1 -0
  32. package/lib/cjs/schemas.d.ts +20 -0
  33. package/lib/cjs/schemas.d.ts.map +1 -0
  34. package/lib/cjs/schemas.js +58 -0
  35. package/lib/cjs/schemas.js.map +1 -0
  36. package/lib/cjs/sources.d.ts +9 -3
  37. package/lib/cjs/sources.d.ts.map +1 -1
  38. package/lib/cjs/sources.js +27 -10
  39. package/lib/cjs/sources.js.map +1 -1
  40. package/lib/cjs/util.d.ts +8 -0
  41. package/lib/cjs/util.d.ts.map +1 -1
  42. package/lib/cjs/util.js +7 -1
  43. package/lib/cjs/util.js.map +1 -1
  44. package/lib/mjs/config/configuration.d.ts +1 -5
  45. package/lib/mjs/config/configuration.d.ts.map +1 -1
  46. package/lib/mjs/config/configuration.js +3 -1
  47. package/lib/mjs/config/configuration.js.map +1 -1
  48. package/lib/mjs/configuration.d.ts +24 -1
  49. package/lib/mjs/configuration.d.ts.map +1 -1
  50. package/lib/mjs/configuration.js +326 -84
  51. package/lib/mjs/configuration.js.map +1 -1
  52. package/lib/mjs/decorators.d.ts +77 -4
  53. package/lib/mjs/decorators.d.ts.map +1 -1
  54. package/lib/mjs/decorators.js +207 -12
  55. package/lib/mjs/decorators.js.map +1 -1
  56. package/lib/mjs/exception.d.ts +9 -1
  57. package/lib/mjs/exception.d.ts.map +1 -1
  58. package/lib/mjs/exception.js +2 -1
  59. package/lib/mjs/exception.js.map +1 -1
  60. package/lib/mjs/helpers.d.ts.map +1 -1
  61. package/lib/mjs/helpers.js +3 -2
  62. package/lib/mjs/helpers.js.map +1 -1
  63. package/lib/mjs/index.browser.d.ts +1 -0
  64. package/lib/mjs/index.browser.d.ts.map +1 -1
  65. package/lib/mjs/index.browser.js +1 -0
  66. package/lib/mjs/index.browser.js.map +1 -1
  67. package/lib/mjs/index.d.ts +3 -0
  68. package/lib/mjs/index.d.ts.map +1 -1
  69. package/lib/mjs/index.js +3 -0
  70. package/lib/mjs/index.js.map +1 -1
  71. package/lib/mjs/lib-dirs.d.ts +8 -0
  72. package/lib/mjs/lib-dirs.d.ts.map +1 -0
  73. package/lib/mjs/lib-dirs.js +13 -0
  74. package/lib/mjs/lib-dirs.js.map +1 -0
  75. package/lib/mjs/schemas.d.ts +20 -0
  76. package/lib/mjs/schemas.d.ts.map +1 -0
  77. package/lib/mjs/schemas.js +54 -0
  78. package/lib/mjs/schemas.js.map +1 -0
  79. package/lib/mjs/sources.d.ts +9 -3
  80. package/lib/mjs/sources.d.ts.map +1 -1
  81. package/lib/mjs/sources.js +27 -10
  82. package/lib/mjs/sources.js.map +1 -1
  83. package/lib/mjs/util.d.ts +8 -0
  84. package/lib/mjs/util.d.ts.map +1 -1
  85. package/lib/mjs/util.js +4 -0
  86. package/lib/mjs/util.js.map +1 -1
  87. package/lib/tsconfig.cjs.tsbuildinfo +1 -1
  88. package/lib/tsconfig.mjs.tsbuildinfo +1 -1
  89. package/package.json +7 -7
package/lib/cjs/index.js CHANGED
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.mergeArrays = exports.merge = void 0;
17
18
  /**
18
19
  * Reexport for simplicity, we dont need to import configuration-common
19
20
  * and remember all this packages :)
@@ -23,6 +24,11 @@ __exportStar(require("./sources.js"), exports);
23
24
  __exportStar(require("./decorators.js"), exports);
24
25
  __exportStar(require("./configuration.js"), exports);
25
26
  __exportStar(require("./exception.js"), exports);
27
+ __exportStar(require("./schemas.js"), exports);
26
28
  __exportStar(require("./helpers.js"), exports);
27
29
  __exportStar(require("./fp.js"), exports);
30
+ __exportStar(require("./lib-dirs.js"), exports);
31
+ var util_common_js_1 = require("./util-common.js");
32
+ Object.defineProperty(exports, "merge", { enumerable: true, get: function () { return util_common_js_1.merge; } });
33
+ Object.defineProperty(exports, "mergeArrays", { enumerable: true, get: function () { return util_common_js_1.mergeArrays; } });
28
34
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;GAGG;AACH,gEAA8C;AAC9C,+CAA6B;AAC7B,kDAAgC;AAChC,qDAAmC;AACnC,iDAA+B;AAC/B,+CAA6B;AAC7B,0CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA;;;GAGG;AACH,gEAA8C;AAC9C,+CAA6B;AAC7B,kDAAgC;AAChC,qDAAmC;AACnC,iDAA+B;AAC/B,+CAA6B;AAC7B,+CAA6B;AAC7B,0CAAwB;AACxB,gDAA8B;AAC9B,mDAAsD;AAA7C,uGAAA,KAAK,OAAA;AAAE,6GAAA,WAAW,OAAA"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Where `sub` of the installed package `pkg` (eg. `@spinajs/authn-token`) builds to, for its config's `system.dirs`:
3
+ * under `node_modules` of WORKSPACE_ROOT_PATH (else the working directory), then one level up for a process that runs
4
+ * from an app or build folder. The `cjs` or `mjs` build is picked by how this module was loaded, which in one app is
5
+ * how every package is.
6
+ */
7
+ export declare function packageLibDirs(pkg: string, sub: string): string[];
8
+ //# sourceMappingURL=lib-dirs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lib-dirs.d.ts","sourceRoot":"","sources":["../../src/lib-dirs.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAIjE"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.packageLibDirs = packageLibDirs;
4
+ const path_1 = require("path");
5
+ /**
6
+ * Where `sub` of the installed package `pkg` (eg. `@spinajs/authn-token`) builds to, for its config's `system.dirs`:
7
+ * under `node_modules` of WORKSPACE_ROOT_PATH (else the working directory), then one level up for a process that runs
8
+ * from an app or build folder. The `cjs` or `mjs` build is picked by how this module was loaded, which in one app is
9
+ * how every package is.
10
+ */
11
+ function packageLibDirs(pkg, sub) {
12
+ const root = process.env.WORKSPACE_ROOT_PATH ?? process.cwd();
13
+ const flavour = typeof module !== 'undefined' ? 'cjs' : 'mjs';
14
+ return [(0, path_1.resolve)((0, path_1.normalize)((0, path_1.join)(root, 'node_modules', pkg, 'lib', flavour, sub))), (0, path_1.resolve)((0, path_1.normalize)((0, path_1.join)(root, '../', 'node_modules', pkg, 'lib', flavour, sub)))];
15
+ }
16
+ //# sourceMappingURL=lib-dirs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lib-dirs.js","sourceRoot":"","sources":["../../src/lib-dirs.ts"],"names":[],"mappings":";;;AAAA,+BAAgD;AAEhD;;;;;GAKG;AACH,wBAA+B,GAAW,EAAE,GAAW;IACrD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAC9D,MAAM,OAAO,GAAG,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;IAC9D,OAAO,CAAC,IAAA,cAAO,EAAC,IAAA,gBAAS,EAAC,IAAA,WAAI,EAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,IAAA,cAAO,EAAC,IAAA,gBAAS,EAAC,IAAA,WAAI,EAAC,IAAI,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACrK,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { IContainer } from '@spinajs/di';
2
+ import { IConfigurationSchema } from '@spinajs/configuration-common';
3
+ /**
4
+ * Registers a configuration schema. When the Configuration that `container` reads (the one of the nearest
5
+ * container in its lineage that registers a Configuration) is already resolved, the schema is validated against
6
+ * it at once and a refused value throws InvalidConfiguration; a Configuration that is registered but not resolved
7
+ * yet applies the schema when it boots.
8
+ */
9
+ export declare function registerConfigurationSchema(schema: IConfigurationSchema, container?: IContainer): void;
10
+ /**
11
+ * Registers a schema from a module's top level, so a module loaded after the Configuration
12
+ * resolved (a directory scan, a CLI command) still gets its values checked and defaulted. A refused value does not
13
+ * fail the import, which would take down every module loaded with it: the violations are logged, and each read of
14
+ * the module throws InvalidConfiguration until it validates. A Bootstrapper that registers the same schema keeps doing
15
+ * so: DI.clearCache() drops this registration, and a module's top level runs once per process. Registered in the root
16
+ * container, the schema applies to the root Configuration and to a child one resolved later; a child Configuration
17
+ * resolved before the registration does not see it.
18
+ */
19
+ export declare function registerConfigurationSchemaAtImport(schema: IConfigurationSchema, container?: IContainer): void;
20
+ //# sourceMappingURL=schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,UAAU,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAiB,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AA0BpF;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,oBAAoB,EAAE,SAAS,GAAE,UAA6B,GAAG,IAAI,CAGxH;AAED;;;;;;;;GAQG;AACH,wBAAgB,mCAAmC,CAAC,MAAM,EAAE,oBAAoB,EAAE,SAAS,GAAE,UAA6B,GAAG,IAAI,CAMhI"}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerConfigurationSchema = registerConfigurationSchema;
4
+ exports.registerConfigurationSchemaAtImport = registerConfigurationSchemaAtImport;
5
+ const di_1 = require("@spinajs/di");
6
+ const configuration_common_1 = require("@spinajs/configuration-common");
7
+ const configuration_js_1 = require("./configuration.js");
8
+ const exception_js_1 = require("./exception.js");
9
+ const util_js_1 = require("./util.js");
10
+ const SCHEMAS = '__configurationSchema__';
11
+ /** The schema as `container` holds it: registering it again, or a copy with its `$id`, adds nothing. */
12
+ function registerOnce(schema, container) {
13
+ const registered = (container.Cache.get(SCHEMAS, false) ?? []);
14
+ const known = registered.find((s) => (0, util_js_1.sameSchema)(s, schema));
15
+ if (known)
16
+ return known;
17
+ container.register(schema).asValue(SCHEMAS);
18
+ return schema;
19
+ }
20
+ /** The resolved Configuration of the nearest container in the lineage of `container` that registers one. */
21
+ function resolvedConfigurationOf(container) {
22
+ let owner = container;
23
+ while (owner && !owner.Registry.ownsRegistration(configuration_common_1.Configuration))
24
+ owner = owner.Parent;
25
+ if (!owner)
26
+ return undefined;
27
+ const resolved = owner.get(configuration_common_1.Configuration, false);
28
+ return resolved instanceof configuration_js_1.FrameworkConfiguration ? resolved : configuration_js_1.FrameworkConfiguration.checkedIn(owner);
29
+ }
30
+ /**
31
+ * Registers a configuration schema. When the Configuration that `container` reads (the one of the nearest
32
+ * container in its lineage that registers a Configuration) is already resolved, the schema is validated against
33
+ * it at once and a refused value throws InvalidConfiguration; a Configuration that is registered but not resolved
34
+ * yet applies the schema when it boots.
35
+ */
36
+ function registerConfigurationSchema(schema, container = di_1.DI.RootContainer) {
37
+ const registered = registerOnce(schema, container);
38
+ resolvedConfigurationOf(container)?.validateModule(registered);
39
+ }
40
+ /**
41
+ * Registers a schema from a module's top level, so a module loaded after the Configuration
42
+ * resolved (a directory scan, a CLI command) still gets its values checked and defaulted. A refused value does not
43
+ * fail the import, which would take down every module loaded with it: the violations are logged, and each read of
44
+ * the module throws InvalidConfiguration until it validates. A Bootstrapper that registers the same schema keeps doing
45
+ * so: DI.clearCache() drops this registration, and a module's top level runs once per process. Registered in the root
46
+ * container, the schema applies to the root Configuration and to a child one resolved later; a child Configuration
47
+ * resolved before the registration does not see it.
48
+ */
49
+ function registerConfigurationSchemaAtImport(schema, container = di_1.DI.RootContainer) {
50
+ try {
51
+ registerConfigurationSchema(schema, container);
52
+ }
53
+ catch (e) {
54
+ if (!(e instanceof exception_js_1.InvalidConfiguration))
55
+ throw e;
56
+ }
57
+ }
58
+ //# sourceMappingURL=schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/schemas.ts"],"names":[],"mappings":";;;;AAAA,oCAA6C;AAC7C,wEAAoF;AAEpF,yDAA4D;AAC5D,iDAAsD;AACtD,uCAAuC;AAEvC,MAAM,OAAO,GAAG,yBAAyB,CAAC;AAE1C,wGAAwG;AACxG,SAAS,YAAY,CAAC,MAA4B,EAAE,SAAqB;IACvE,MAAM,UAAU,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,CAA2B,CAAC;IACzF,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,oBAAU,EAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IAC5D,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC;IACxB,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5C,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,4GAA4G;AAC5G,SAAS,uBAAuB,CAAC,SAAqB;IACpD,IAAI,KAAK,GAA2B,SAAS,CAAC;IAC9C,OAAO,KAAK,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC,oCAAa,CAAC;QAAE,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;IACtF,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,oCAAa,EAAE,KAAK,CAAC,CAAC;IACjD,OAAO,QAAQ,YAAY,yCAAsB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,yCAAsB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACzG,CAAC;AAED;;;;;GAKG;AACH,qCAA4C,MAA4B,EAAE,SAAS,GAAe,OAAE,CAAC,aAAa;IAChH,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACnD,uBAAuB,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;AACjE,CAAC;AAED;;;;;;;;GAQG;AACH,6CAAoD,MAA4B,EAAE,SAAS,GAAe,OAAE,CAAC,aAAa;IACxH,IAAI,CAAC;QACH,2BAA2B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACjD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,CAAC,CAAC,YAAY,mCAAoB,CAAC;YAAE,MAAM,CAAC,CAAC;IACpD,CAAC;AACH,CAAC"}
@@ -12,11 +12,17 @@ export declare abstract class BaseFileSource extends ConfigurationSource {
12
12
  protected BasePath: string;
13
13
  get Order(): number;
14
14
  /**
15
- * Walks from `startDir` up to the filesystem root, returning every directory that
16
- * contains a `node_modules` folder, nearest first. Used to locate `@spinajs`
17
- * package configs wherever the package manager happened to hoist them.
15
+ * Walks from `startDir` up, returning every directory that contains a `node_modules`
16
+ * folder, nearest first. Used to locate `@spinajs` package configs wherever the
17
+ * package manager happened to hoist them.
18
+ *
19
+ * The walk ends at the nearest workspace root: anything above it belongs to another
20
+ * project. A checkout nested in another one ( a git worktree under the main checkout )
21
+ * would otherwise load the outer checkout's package configs, and with them a second
22
+ * `@spinajs/di`. Without a workspace root it goes up to the filesystem root.
18
23
  */
19
24
  protected static nodeModulesAncestors(startDir: string): string[];
25
+ protected static isWorkspaceRoot(dir: string): boolean;
20
26
  /**
21
27
  * Nearest ancestor of `startDir` whose `node_modules/@spinajs` actually holds
22
28
  * packages, i.e. where the package manager hoisted them to.
@@ -1 +1 @@
1
- {"version":3,"file":"sources.d.ts","sourceRoot":"","sources":["../../src/sources.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,WAAW,EAAwB,MAAM,+BAA+B,CAAC;AAEtH,8BAAsB,cAAe,SAAQ,mBAAmB;IA8D5D,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM;IACzB,SAAS,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE;IACtC,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM;IAC7B,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM;IAhExB;;OAEG;IACI,OAAO,SAAQ;IAEtB,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,CAAM;IAEpC,SAAS,CAAC,QAAQ,SAAM;IAExB,IAAW,KAAK,WAEf;IAED;;;;OAIG;IACH,SAAS,CAAC,MAAM,CAAC,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAgBhE;IAED;;;;;;;OAOG;IACH,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAcjE;IAED,YACY,MAAM,CAAC,EAAE,MAAM,YAAA,EACf,iBAAiB,CAAC,EAAE,MAAM,EAAE,YAAA,EAC5B,UAAU,CAAC,EAAE,MAAM,YAAA,EACnB,GAAG,CAAC,EAAE,MAAM,YAAA,EAuFvB;IAED,UAAgB,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,CAAC,eAyBvF;IAED;;;OAGG;IACH,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE,aAAa,UAE7C;CACF;AAED,qBACa,YAAa,SAAQ,cAAc;IACjC,IAAI,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,CA+B7D;CACF;AAED,qBACa,cAAe,SAAQ,cAAc;IACnC,IAAI,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,CA0B7D;CACF"}
1
+ {"version":3,"file":"sources.d.ts","sourceRoot":"","sources":["../../src/sources.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,WAAW,EAAwB,MAAM,+BAA+B,CAAC;AAEtH,8BAAsB,cAAe,SAAQ,mBAAmB;IAgF5D,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM;IACzB,SAAS,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE;IACtC,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM;IAC7B,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM;IAlFxB;;OAEG;IACI,OAAO,SAAQ;IAEtB,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,CAAM;IAEpC,SAAS,CAAC,QAAQ,SAAM;IAExB,IAAW,KAAK,WAEf;IAED;;;;;;;;;OASG;IACH,SAAS,CAAC,MAAM,CAAC,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAgBhE;IAED,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAWrD;IAED;;;;;;;OAOG;IACH,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAcjE;IAED,YACY,MAAM,CAAC,EAAE,MAAM,YAAA,EACf,iBAAiB,CAAC,EAAE,MAAM,EAAE,YAAA,EAC5B,UAAU,CAAC,EAAE,MAAM,YAAA,EACnB,GAAG,CAAC,EAAE,MAAM,YAAA,EAuFvB;IAED,UAAgB,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,CAAC,eAyBvF;IAED;;;OAGG;IACH,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE,aAAa,UAE7C;CACF;AAED,qBACa,YAAa,SAAQ,cAAc;IACjC,IAAI,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,CA+B7D;CACF;AAED,qBACa,cAAe,SAAQ,cAAc;IACnC,IAAI,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,CA0B7D;CACF"}
@@ -57,9 +57,14 @@ class BaseFileSource extends configuration_common_1.ConfigurationSource {
57
57
  return 1;
58
58
  }
59
59
  /**
60
- * Walks from `startDir` up to the filesystem root, returning every directory that
61
- * contains a `node_modules` folder, nearest first. Used to locate `@spinajs`
62
- * package configs wherever the package manager happened to hoist them.
60
+ * Walks from `startDir` up, returning every directory that contains a `node_modules`
61
+ * folder, nearest first. Used to locate `@spinajs` package configs wherever the
62
+ * package manager happened to hoist them.
63
+ *
64
+ * The walk ends at the nearest workspace root: anything above it belongs to another
65
+ * project. A checkout nested in another one ( a git worktree under the main checkout )
66
+ * would otherwise load the outer checkout's package configs, and with them a second
67
+ * `@spinajs/di`. Without a workspace root it goes up to the filesystem root.
63
68
  */
64
69
  static nodeModulesAncestors(startDir) {
65
70
  const found = [];
@@ -69,12 +74,24 @@ class BaseFileSource extends configuration_common_1.ConfigurationSource {
69
74
  found.push(current);
70
75
  }
71
76
  const parent = path.dirname(current);
72
- if (parent === current) {
77
+ if (parent === current || BaseFileSource.isWorkspaceRoot(current)) {
73
78
  return found;
74
79
  }
75
80
  current = parent;
76
81
  }
77
82
  }
83
+ static isWorkspaceRoot(dir) {
84
+ if (fs.existsSync(path.join(dir, 'pnpm-workspace.yaml'))) {
85
+ return true;
86
+ }
87
+ try {
88
+ const manifest = JSON.parse(fs.readFileSync(path.join(dir, 'package.json'), 'utf-8'));
89
+ return manifest.workspaces !== undefined;
90
+ }
91
+ catch {
92
+ return false;
93
+ }
94
+ }
78
95
  /**
79
96
  * Nearest ancestor of `startDir` whose `node_modules/@spinajs` actually holds
80
97
  * packages, i.e. where the package manager hoisted them to.
@@ -121,7 +138,7 @@ class BaseFileSource extends configuration_common_1.ConfigurationSource {
121
138
  if (!process.env.WORKSPACE_ROOT_PATH) {
122
139
  const hoistingRoot = BaseFileSource.findHoistingRoot((0, path_1.resolve)(process.cwd()));
123
140
  if (hoistingRoot) {
124
- internal_logger_1.InternalLogger.trace(`WORKSPACE_ROOT_PATH not set, detected hoisting root at ${hoistingRoot}`, 'Configuration');
141
+ internal_logger_1.InternalLogger.trace({ hoistingRoot }, 'WORKSPACE_ROOT_PATH not set, detected hoisting root at ${hoistingRoot}', 'Configuration');
125
142
  process.env.WORKSPACE_ROOT_PATH = hoistingRoot;
126
143
  }
127
144
  }
@@ -131,7 +148,7 @@ class BaseFileSource extends configuration_common_1.ConfigurationSource {
131
148
  (0, path_1.normalize)((0, path_1.join)((0, path_1.resolve)(process.cwd()), 'src', '/config')),
132
149
  // other @spinajs modules paths
133
150
  //
134
- // Every ancestor that actually has a node_modules is searched, nearest first,
151
+ // Every ancestor up to the workspace root that has a node_modules is searched, nearest first,
135
152
  // mirroring how Node itself resolves. Checking only cwd and its parent broke
136
153
  // npm/yarn workspaces: an app at <root>/packages/<app> has its dependencies
137
154
  // hoisted to <root>/node_modules, two levels up, so none of the @spinajs
@@ -213,7 +230,7 @@ let JsFileSource = class JsFileSource extends BaseFileSource {
213
230
  return lodash_1.default.mergeWith(common, cfg, util_js_1.mergeArrays);
214
231
  async function _load(file) {
215
232
  try {
216
- internal_logger_1.InternalLogger.trace(`Trying to load file ${file}`, 'Configuration');
233
+ internal_logger_1.InternalLogger.trace({ file }, 'Trying to load file ${file}', 'Configuration');
217
234
  let cfg = (await di_1.DI.__spinajs_require__(file));
218
235
  // execute config func before merge with rest of configuration
219
236
  if (typeof cfg.onConfigLoad === 'function') {
@@ -229,7 +246,7 @@ let JsFileSource = class JsFileSource extends BaseFileSource {
229
246
  return cfg;
230
247
  }
231
248
  catch (err) {
232
- internal_logger_1.InternalLogger.error(err, `error loading configuration file ${file}`, 'configuration');
249
+ internal_logger_1.InternalLogger.error({ error: err, file }, 'error loading configuration file ${file}', 'configuration');
233
250
  return {};
234
251
  }
235
252
  }
@@ -248,7 +265,7 @@ let JsonFileSource = class JsonFileSource extends BaseFileSource {
248
265
  return lodash_1.default.mergeWith(common, cfg, util_js_1.mergeArrays);
249
266
  function _load(file) {
250
267
  try {
251
- internal_logger_1.InternalLogger.trace(`Trying to load file ${file}`, 'Configuration');
268
+ internal_logger_1.InternalLogger.trace({ file }, 'Trying to load file ${file}', 'Configuration');
252
269
  const cfg = JSON.parse(fs.readFileSync(file, 'utf-8'));
253
270
  // all root props gets file info saved
254
271
  // for debugging purposes
@@ -260,7 +277,7 @@ let JsonFileSource = class JsonFileSource extends BaseFileSource {
260
277
  return Promise.resolve(cfg);
261
278
  }
262
279
  catch (err) {
263
- internal_logger_1.InternalLogger.error(err, `error loading configuration file ${file}`, 'configuration');
280
+ internal_logger_1.InternalLogger.error({ error: err, file }, 'error loading configuration file ${file}', 'configuration');
264
281
  return Promise.resolve({});
265
282
  }
266
283
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sources.js","sourceRoot":"","sources":["../../src/sources.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sources.js","sourceRoot":"","sources":["../../src/sources.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oCAA6C;AAC7C,gDAAwB;AACxB,oDAAsC;AACtC,+BAAgD;AAChD,uCAAsD;AACtD,MAAY,EAAE,+BAAW;AACzB,MAAY,IAAI,iCAAa;AAC7B,8DAA0D;AAC1D,wEAAsH;AAEtH,oBAAqC,SAAQ,0CAAmB;IAU9D,IAAW,KAAK;QACd,OAAO,CAAC,CAAC;IACX,CAAC;IAED;;;;;;;;;OASG;IACO,MAAM,CAAC,oBAAoB,CAAC,QAAgB;QACpD,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,OAAO,GAAG,QAAQ,CAAC;QAEvB,SAAS,CAAC;YACR,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;gBACtD,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtB,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACrC,IAAI,MAAM,KAAK,OAAO,IAAI,cAAc,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;gBAClE,OAAO,KAAK,CAAC;YACf,CAAC;YAED,OAAO,GAAG,MAAM,CAAC;QACnB,CAAC;IACH,CAAC;IAES,MAAM,CAAC,eAAe,CAAC,GAAW;QAC1C,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,qBAAqB,CAAC,CAAC,EAAE,CAAC;YACzD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAA6B,CAAC;YAClH,OAAO,QAAQ,CAAC,UAAU,KAAK,SAAS,CAAC;QAC3C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACO,MAAM,CAAC,gBAAgB,CAAC,QAAgB;QAChD,KAAK,MAAM,GAAG,IAAI,cAAc,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC;YAE5D,IAAI,CAAC;gBACH,IAAI,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxC,OAAO,GAAG,CAAC;gBACb,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,2CAA2C;YAC7C,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,YACY,MAAe,EACf,iBAA4B,EAC5B,UAAmB,EACnB,GAAY;QAEtB,KAAK,EAAE,CAAC;QALE,WAAM,GAAN,MAAM,CAAS;QACf,sBAAiB,GAAjB,iBAAiB,CAAW;QAC5B,eAAU,GAAV,UAAU,CAAS;QACnB,QAAG,GAAH,GAAG,CAAS;QAlFxB;;WAEG;QACI,YAAO,GAAG,IAAI,CAAC;QAEZ,eAAU,GAAa,EAAE,CAAC;QAE1B,aAAQ,GAAG,EAAE,CAAC;QA+EtB,MAAM,SAAS,GAAG,OAAE,CAAC,GAAG,CAAU,aAAa,CAAC,CAAC;QAEjD,gFAAgF;QAChF,iFAAiF;QACjF,iFAAiF;QACjF,2EAA2E;QAC3E,kFAAkF;QAClF,8EAA8E;QAC9E,2EAA2E;QAC3E,8BAA8B;QAC9B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC;YACrC,MAAM,YAAY,GAAG,cAAc,CAAC,gBAAgB,CAAC,IAAA,cAAO,EAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YAE7E,IAAI,YAAY,EAAE,CAAC;gBACjB,gCAAc,CAAC,KAAK,CAAC,EAAE,YAAY,EAAE,EAAE,wEAAwE,EAAE,eAAe,CAAC,CAAC;gBAClI,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,YAAY,CAAC;YACjD,CAAC;QACH,CAAC;QAED,MAAM,iBAAiB,GAAG,SAAS,CAAC,CAAC,CAAC,wCAAwC,CAAC,CAAC,CAAC,wCAAwC,CAAC;QAE1H,IAAI,CAAC,UAAU,GAAG;YAChB,wBAAwB;YACxB,IAAA,gBAAS,EAAC,IAAA,WAAI,EAAC,IAAA,cAAO,EAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;YAEzD,+BAA+B;YAC/B,EAAE;YACF,8FAA8F;YAC9F,6EAA6E;YAC7E,4EAA4E;YAC5E,yEAAyE;YACzE,0EAA0E;YAC1E,6DAA6D;YAC7D,2EAA2E;YAC3E,iDAAiD;YACjD,GAAG,cAAc,CAAC,oBAAoB,CAAC,IAAA,cAAO,EAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,gBAAS,EAAC,IAAA,WAAI,EAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC,CAAC;SACrH,CAAC;QAGF,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC;YACpC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;gBAEvC,sBAAsB;gBACtB,IAAA,gBAAS,EACP,IAAA,WAAI,EACF,IAAA,cAAO,EAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,EACxC,SAAS,CAAC,CAAC,CAAC,wCAAwC,CAAC,CAAC,CAAC,wCAAwC,CAChG,CACF;aACF,CAAC,CAAC;QACL,CAAC;QAEE,wDAAwD;QAC1D,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAA,gBAAS,EAAC,IAAA,WAAI,EAAC,IAAA,cAAO,EAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;QAC5E,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAA,gBAAS,EAAC,IAAA,WAAI,EAAC,IAAA,cAAO,EAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;QAC7E,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAA,gBAAS,EAAC,IAAA,WAAI,EAAC,IAAA,cAAO,EAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;QAC9E,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAA,gBAAS,EAAC,IAAA,WAAI,EAAC,IAAA,cAAO,EAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;QAEzE,4CAA4C;QAC5C,wBAAwB;QACxB,MAAM,KAAK,GAAG,IAAA,sBAAY,EAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAE1C,uDAAuD;QACvD,+CAA+C;QAC/C,8BAA8B;QAC9B,IAAI,CAAC,QAAQ,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QAEvD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAEhB,IAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBACnB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAA,WAAI,EAAC,IAAI,CAAC,UAAU,EAAE,IAAI,IAAI,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC,CAAC;YAC9F,CAAC;YAED,2CAA2C;YAC3C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAA,WAAI,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,IAAI,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC,CAAC;YAC/F,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAA,WAAI,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,IAAI,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC,CAAC;YACpG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAA,WAAI,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,IAAI,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC,CAAC;YACnG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAA,WAAI,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,eAAe,IAAI,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC,CAAC;QACvG,CAAC;QAED,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAES,KAAK,CAAC,IAAI,CAAC,SAAiB,EAAE,QAAgD;QACtF,MAAM,MAAM,GAAG,EAAE,CAAC;QAElB,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAA,WAAI,EAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7F,uBAAuB;aACtB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACT,OAAO,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;QACzE,CAAC,CAAC;YACF,gBAAgB;aACf,MAAM,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;YACxB,OAAO,IAAI,CAAC,MAAM,CAAC,gBAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7C,CAAC,EAAE,EAAE,CAAC;YACN,uCAAuC;aACtC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,IAAA,gBAAS,EAAC,IAAA,cAAO,EAAC,CAAC,CAAC,CAAC,CAAC;aACzC,MAAM,CAAC,CAAC,CAAS,EAAE,KAAa,EAAE,IAAe,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC;aAChF,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEjB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAc,SAAS,CAAC,CAAC;QAEzD,MAAM;aACH,MAAM,CAAC,CAAC,CAAc,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,CAAC;YAC1D,uBAAuB;aACtB,GAAG,CAAC,CAAC,CAAc,EAAE,EAAE,CAAC,gBAAC,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,IAAI,CAAC,EAAE,qBAAW,CAAC,CAAC,CAAC;QAE7E,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;OAGG;IACO,cAAc,CAAC,MAAqB;QAC5C,OAAO,IAAA,2CAAoB,EAAC,MAAM,CAAC,GAAG,CAAS,qBAAqB,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;IAChG,CAAC;CACF;;AAGM,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,cAAc;IACvC,KAAK,CAAC,IAAI,CAAC,MAAqB;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;QACzD,MAAM,IAAI,GAAG,KAAK,GAAG,WAAW,CAAC;QACjC,IAAI,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAgB,CAAC;QAExD,OAAO,gBAAC,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,qBAAW,CAAC,CAAC;QAE7C,KAAK,UAAU,KAAK,CAAC,IAAY;YAC/B,IAAI,CAAC;gBACH,gCAAc,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,EAAE,6BAA6B,EAAE,eAAe,CAAC,CAAC;gBAE/E,IAAI,GAAG,GAAG,CAAC,MAAM,OAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAgB,CAAC;gBAC9D,8DAA8D;gBAC9D,IAAI,OAAO,GAAG,CAAC,YAAY,KAAK,UAAU,EAAE,CAAC;oBAC3C,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAE,CAAC;gBACvC,CAAC;gBAED,sCAAsC;gBACtC,yBAAyB;gBACzB,KAAK,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;oBAClB,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;wBAC3E,GAAG,CAAC,CAAC,CAAS,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,CAAC;oBACpC,CAAC;gBACH,CAAC;gBAED,OAAO,GAAG,CAAC;YACb,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,gCAAc,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,0CAA0C,EAAE,eAAe,CAAC,CAAC;gBACxG,OAAO,EAAiB,CAAC;YAAM,CAAC;QACpC,CAAC;IACH,CAAC;CACF,CAAA;;uBAjCY,YAAY;IADxB,IAAA,eAAU,EAAC,0CAAmB,CAAC;GACnB,YAAY,CAiCxB;AAGM,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,cAAc;IACzC,KAAK,CAAC,IAAI,CAAC,MAAqB;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QACrD,MAAM,IAAI,GAAG,KAAK,GAAG,OAAO,CAAC;QAC7B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACzC,OAAO,gBAAC,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,qBAAW,CAAgB,CAAC;QAE5D,SAAS,KAAK,CAAC,IAAY;YACzB,IAAI,CAAC;gBACH,gCAAc,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,EAAE,6BAA6B,EAAE,eAAe,CAAC,CAAC;gBAE/E,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAQ,CAAC;gBAE9D,sCAAsC;gBACtC,yBAAyB;gBACzB,KAAK,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;oBAClB,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;wBAC3E,GAAG,CAAC,CAAC,CAAS,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,CAAC;oBACpC,CAAC;gBACH,CAAC;gBACD,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC9B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,gCAAc,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,0CAA0C,EAAE,eAAe,CAAC,CAAC;gBACxG,OAAO,OAAO,CAAC,OAAO,CAAC,EAAiB,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;IACH,CAAC;CACF,CAAA;;yBA5BY,cAAc;IAD1B,IAAA,eAAU,EAAC,0CAAmB,CAAC;GACnB,cAAc,CA4B1B"}
package/lib/cjs/util.d.ts CHANGED
@@ -3,4 +3,12 @@ export declare function parseArgv(param: string): string | undefined;
3
3
  export declare function findBasePath(path: string): string | null;
4
4
  export declare function uncache(file: string): string;
5
5
  export declare function filterDirs(dir: string): boolean;
6
+ type SchemaIds = {
7
+ $id?: string;
8
+ $configurationModule: string;
9
+ };
10
+ /** How violations and refusals name a schema: its `$id`, else its `$configurationModule`. */
11
+ export declare const schemaNameOf: (s: SchemaIds) => string;
12
+ /** The same object, or a copy with the same `$id`, as the cjs and the mjs build of one package give. */
13
+ export declare const sameSchema: (a: SchemaIds, b: SchemaIds) => boolean;
6
14
  //# sourceMappingURL=util.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAQ1F,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAQ3D;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAcxD;AAID,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,UAGnC;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,WAKrC"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAQ1F,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAQ3D;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAcxD;AAID,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,UAGnC;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,WAKrC;AAED,KAAK,SAAS,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,oBAAoB,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhE,6FAA6F;AAC7F,eAAO,MAAM,YAAY,MAAO,SAAS,KAAG,MAAyC,CAAC;AAEtF,wGAAwG;AACxG,eAAO,MAAM,UAAU,MAAO,SAAS,KAAK,SAAS,KAAG,OAA8D,CAAC"}
package/lib/cjs/util.js CHANGED
@@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.pickObjects = exports.pickString = exports.mapObject = exports.mergeArrays = exports.merge = void 0;
36
+ exports.sameSchema = exports.schemaNameOf = exports.pickObjects = exports.pickString = exports.mapObject = exports.mergeArrays = exports.merge = void 0;
37
37
  exports.parseArgv = parseArgv;
38
38
  exports.findBasePath = findBasePath;
39
39
  exports.uncache = uncache;
@@ -80,4 +80,10 @@ function filterDirs(dir) {
80
80
  }
81
81
  return false;
82
82
  }
83
+ /** How violations and refusals name a schema: its `$id`, else its `$configurationModule`. */
84
+ const schemaNameOf = (s) => s.$id ?? s.$configurationModule;
85
+ exports.schemaNameOf = schemaNameOf;
86
+ /** The same object, or a copy with the same `$id`, as the cjs and the mjs build of one package give. */
87
+ const sameSchema = (a, b) => a === b || (a.$id !== undefined && a.$id === b.$id);
88
+ exports.sameSchema = sameSchema;
83
89
  //# sourceMappingURL=util.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wDAAwD;AACxD,sDAAsD;AACtD,MAAY,EAAE,+BAAW;AACzB,+BAA8C;AAE9C,0EAA0E;AAC1E,mDAA0F;AAAjF,uGAAA,KAAK,OAAA;AAAE,6GAAA,WAAW,OAAA;AAAE,2GAAA,SAAS,OAAA;AAAE,4GAAA,UAAU,OAAA;AAAE,6GAAA,WAAW,OAAA;AAQ/D,mBAA0B,KAAa;IACrC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAE1C,IAAI,KAAK,KAAK,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACrD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;AACjC,CAAC;AAED,sBAA6B,IAAY;IACvC,IAAI,EAAE,CAAC,UAAU,CAAC,IAAA,WAAI,EAAC,IAAI,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;QAC9C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,UAAU,GAAG,IAAA,cAAO,EAAC,IAAI,CAAC,CAAC;IAEjC,0BAA0B;IAC1B,mCAAmC;IACnC,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,YAAY,CAAC,IAAA,cAAO,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,6BAA6B;AAC7B,0FAA0F;AAC1F,iBAAwB,IAAY;IAClC,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;IAChC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,oBAA2B,GAAW;IACpC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wDAAwD;AACxD,sDAAsD;AACtD,MAAY,EAAE,+BAAW;AACzB,+BAA8C;AAE9C,0EAA0E;AAC1E,mDAA0F;AAAjF,uGAAA,KAAK,OAAA;AAAE,6GAAA,WAAW,OAAA;AAAE,2GAAA,SAAS,OAAA;AAAE,4GAAA,UAAU,OAAA;AAAE,6GAAA,WAAW,OAAA;AAQ/D,mBAA0B,KAAa;IACrC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAE1C,IAAI,KAAK,KAAK,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACrD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;AACjC,CAAC;AAED,sBAA6B,IAAY;IACvC,IAAI,EAAE,CAAC,UAAU,CAAC,IAAA,WAAI,EAAC,IAAI,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;QAC9C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,UAAU,GAAG,IAAA,cAAO,EAAC,IAAI,CAAC,CAAC;IAEjC,0BAA0B;IAC1B,mCAAmC;IACnC,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,YAAY,CAAC,IAAA,cAAO,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,6BAA6B;AAC7B,0FAA0F;AAC1F,iBAAwB,IAAY;IAClC,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;IAChC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,oBAA2B,GAAW;IACpC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAID,6FAA6F;AACtF,MAAM,YAAY,GAAG,CAAC,CAAY,EAAU,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,oBAAoB,CAAC;AAAzE,QAAA,YAAY,GAAZ,YAAY,CAA6D;AAEtF,wGAAwG;AACjG,MAAM,UAAU,GAAG,CAAC,CAAY,EAAE,CAAY,EAAW,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;AAA1G,QAAA,UAAU,GAAV,UAAU,CAAgG"}
@@ -16,6 +16,7 @@
16
16
  *
17
17
  * These stay ordinary configuration values, so an app may override them in its own config - that
18
18
  * is the point of deciding it here rather than re-deriving it at each call site.
19
+ * `FrameworkConfiguration.load()` sets them from the `APP_ENV` it resolved, before the sources merge.
19
20
  *
20
21
  * @param env - process.env, taken as an argument so the derivation is testable without reloading
21
22
  * the module
@@ -26,11 +27,6 @@ export declare function buildEnvironmentFlags(env: NodeJS.ProcessEnv): {
26
27
  isLocal: boolean;
27
28
  };
28
29
  declare const config: {
29
- configuration: {
30
- isDevelopment: boolean;
31
- isProduction: boolean;
32
- isLocal: boolean;
33
- };
34
30
  app: {
35
31
  name: string;
36
32
  version: string;
@@ -1 +1 @@
1
- {"version":3,"file":"configuration.d.ts","sourceRoot":"","sources":["../../../src/config/configuration.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU;IAYxD,aAAa;IACb,YAAY;IACZ,OAAO;EAEV;AAED,QAAA,MAAM,MAAM;IACV,aAAa;;;;;IAEb,GAAG;QACD,IAAI;QACJ,OAAO;;CAEV,CAAC;eAEa,MAAM"}
1
+ {"version":3,"file":"configuration.d.ts","sourceRoot":"","sources":["../../../src/config/configuration.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU;IAYxD,aAAa;IACb,YAAY;IACZ,OAAO;EAEV;AAID,QAAA,MAAM,MAAM;IACV,GAAG;QACD,IAAI;QACJ,OAAO;;CAEV,CAAC;eAEa,MAAM"}
@@ -17,6 +17,7 @@ import { normalizeEnvironment } from '@spinajs/configuration-common';
17
17
  *
18
18
  * These stay ordinary configuration values, so an app may override them in its own config - that
19
19
  * is the point of deciding it here rather than re-deriving it at each call site.
20
+ * `FrameworkConfiguration.load()` sets them from the `APP_ENV` it resolved, before the sources merge.
20
21
  *
21
22
  * @param env - process.env, taken as an argument so the derivation is testable without reloading
22
23
  * the module
@@ -37,8 +38,9 @@ export function buildEnvironmentFlags(env) {
37
38
  isLocal: environment === 'local',
38
39
  };
39
40
  }
41
+ // No environment flags here: this file is evaluated at import, before `--env` and the `process.env`
42
+ // DI value are known, and as a config file it would override the flags load() derives from them.
40
43
  const config = {
41
- configuration: buildEnvironmentFlags(process.env),
42
44
  app: {
43
45
  name: 'spinajs',
44
46
  version: '1.0.0',
@@ -1 +1 @@
1
- {"version":3,"file":"configuration.js","sourceRoot":"","sources":["../../../src/config/configuration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAErE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,qBAAqB,CAAC,GAAsB;IAC1D,2EAA2E;IAC3E,iGAAiG;IACjG,uFAAuF;IACvF,EAAE;IACF,0FAA0F;IAC1F,gGAAgG;IAChG,+FAA+F;IAC/F,WAAW;IACX,MAAM,WAAW,GAAG,oBAAoB,CAAC,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,QAAQ,IAAI,aAAa,CAAC,CAAC;IAEvF,OAAO;QACL,aAAa,EAAE,WAAW,KAAK,KAAK;QACpC,YAAY,EAAE,WAAW,KAAK,MAAM;QACpC,OAAO,EAAE,WAAW,KAAK,OAAO;KACjC,CAAC;AACJ,CAAC;AAED,MAAM,MAAM,GAAG;IACb,aAAa,EAAE,qBAAqB,CAAC,OAAO,CAAC,GAAG,CAAC;IAEjD,GAAG,EAAE;QACH,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,OAAO;KACjB;CACF,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"configuration.js","sourceRoot":"","sources":["../../../src/config/configuration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAErE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,qBAAqB,CAAC,GAAsB;IAC1D,2EAA2E;IAC3E,iGAAiG;IACjG,uFAAuF;IACvF,EAAE;IACF,0FAA0F;IAC1F,gGAAgG;IAChG,+FAA+F;IAC/F,WAAW;IACX,MAAM,WAAW,GAAG,oBAAoB,CAAC,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,QAAQ,IAAI,aAAa,CAAC,CAAC;IAEvF,OAAO;QACL,aAAa,EAAE,WAAW,KAAK,KAAK;QACpC,YAAY,EAAE,WAAW,KAAK,MAAM;QACpC,OAAO,EAAE,WAAW,KAAK,OAAO;KACjC,CAAC;AACJ,CAAC;AAED,oGAAoG;AACpG,iGAAiG;AACjG,MAAM,MAAM,GAAG;IACb,GAAG,EAAE;QACH,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,OAAO;KACjB;CACF,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { ConfigurationSource, IConfigLike, Configuration, ConfigurationOptions, IConfigurationSchema } from '@spinajs/configuration-common';
2
- import { Class, Container } from '@spinajs/di';
2
+ import { Class, Container, IContainer } from '@spinajs/di';
3
+ import { InvalidConfiguration } from './exception.js';
3
4
  import './sources.js';
4
5
  /**
5
6
  * HACK:
@@ -31,6 +32,12 @@ export declare class FrameworkConfiguration extends Configuration {
31
32
  */
32
33
  protected Validator: any;
33
34
  protected ValidationSchemas: IConfigurationSchema[];
35
+ /** Schemas applied after boot that refused the loaded value, by schema; a read of their module throws. */
36
+ protected RefusedModules: Map<string, {
37
+ module: string[];
38
+ error: InvalidConfiguration;
39
+ }>;
40
+ private Loading;
34
41
  get RootConfig(): IConfigLike;
35
42
  protected Container: Container;
36
43
  /**
@@ -47,6 +54,8 @@ export declare class FrameworkConfiguration extends Configuration {
47
54
  * @param defaultValue - optional, if value at specified path not exists returns default value
48
55
  */
49
56
  get<T>(path: string[] | string, defaultValue?: T): T;
57
+ private isUnresolvedVar;
58
+ private throwIfRefused;
50
59
  /**
51
60
  * Sets at given path configuration value. Use when you want to override config
52
61
  * loaded from files programatically
@@ -68,11 +77,25 @@ export declare class FrameworkConfiguration extends Configuration {
68
77
  * Reloads configuration data
69
78
  */
70
79
  load(): Promise<void>;
80
+ private loadTree;
71
81
  protected loadProtocolVars(): Promise<void>;
72
82
  protected onLoad(): unknown;
73
83
  protected loadSources(): void;
74
84
  protected validate(): void;
85
+ /** The Configuration of `container` that has run its check but is not resolved (cached) yet. */
86
+ static checkedIn(container: IContainer): FrameworkConfiguration | undefined;
87
+ private checkAll;
88
+ private schemasAt;
89
+ private checkChange;
90
+ private applySchemas;
91
+ /** Validates one module after boot; a refused module stays refused for reads until a later check passes. */
92
+ validateModule(s: IConfigurationSchema): void;
93
+ private throwIfInvalid;
94
+ private checkModule;
95
+ private failureOf;
96
+ private validateInPlace;
75
97
  protected initValidator(): void;
98
+ private schemasOfLineage;
76
99
  protected dir(toJoin: string): string;
77
100
  /**
78
101
  * adds app dirs to system.dirs config
@@ -1 +1 @@
1
- {"version":3,"file":"configuration.d.ts","sourceRoot":"","sources":["../../src/configuration.ts"],"names":[],"mappings":"AAYA,OAAO,EACL,mBAAmB,EACnB,WAAW,EACX,aAAa,EACb,oBAAoB,EAEpB,oBAAoB,EAGrB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAc,KAAK,EAAE,SAAS,EAAkB,MAAM,aAAa,CAAC;AAK3E,OAAO,cAAc,CAAC;AAStB;;;;GAIG;AAEH,qBACa,sBAAuB,SAAQ,aAAa;IACvD;;OAEG;IACI,UAAU,SAAQ;IAEzB;;OAEG;IACI,GAAG,EAAG,MAAM,GAAG,SAAS,CAAC;IAEhC;;OAEG;IACI,MAAM,SAAM;IAEnB;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAM;IAE/C,SAAS,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAEtC,SAAS,CAAC,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAEzC;;;OAGG;IAEH,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC;IAEzB,SAAS,CAAC,iBAAiB,EAAE,oBAAoB,EAAE,CAAC;IAEpD,IAAW,UAAU,IACG,WAAW,CAClC;IAGD,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC;IAE/B;;;;;OAKG;IACH,YAAY,OAAO,CAAC,EAAE,oBAAoB,EAMzC;IAED;;;;;OAKG;IACI,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,CAE1D;IAED;;;;;;OAMG;IACI,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,OAAO,QAEjD;IAED;;;;;OAKG;IACI,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,OAAO,QAEnD;IAEY,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CA4CpC;IAEY,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,mBAAmB,CAAC,iBASzD;IAED;;OAEG;IACU,IAAI,kBA0EhB;IAED,UAAgB,gBAAgB,kBA6E/B;IAED,SAAS,CAAC,MAAM,IAAI,OAAO,CAE1B;IAED,SAAS,CAAC,WAAW,SAYpB;IAED,SAAS,CAAC,QAAQ,SA+BjB;IAED,SAAS,CAAC,aAAa,SAmDtB;IAED,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,UAE3B;IAED;;OAEG;IACH,SAAS,CAAC,YAAY,SAQrB;IAED;;;OAGG;IACH,SAAS,CAAC,SAAS,SAalB;CACF"}
1
+ {"version":3,"file":"configuration.d.ts","sourceRoot":"","sources":["../../src/configuration.ts"],"names":[],"mappings":"AAYA,OAAO,EACL,mBAAmB,EACnB,WAAW,EACX,aAAa,EACb,oBAAoB,EAEpB,oBAAoB,EAGrB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAc,KAAK,EAAE,SAAS,EAAE,UAAU,EAAc,MAAM,aAAa,CAAC;AAEnF,OAAO,EAA0B,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAG9E,OAAO,cAAc,CAAC;AAoFtB;;;;GAIG;AAEH,qBACa,sBAAuB,SAAQ,aAAa;IACvD;;OAEG;IACI,UAAU,SAAQ;IAEzB;;OAEG;IACI,GAAG,EAAG,MAAM,GAAG,SAAS,CAAC;IAEhC;;OAEG;IACI,MAAM,SAAM;IAEnB;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAM;IAE/C,SAAS,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAEtC,SAAS,CAAC,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAEzC;;;OAGG;IAEH,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC;IAEzB,SAAS,CAAC,iBAAiB,EAAE,oBAAoB,EAAE,CAAC;IAEpD,0GAA0G;IAC1G,SAAS,CAAC,cAAc;gBAA6B,MAAM,EAAE;eAAS,oBAAoB;OAAM;IAEhG,OAAO,CAAC,OAAO,CAAS;IAExB,IAAW,UAAU,IACG,WAAW,CAClC;IAGD,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC;IAE/B;;;;;OAKG;IACH,YAAY,OAAO,CAAC,EAAE,oBAAoB,EAMzC;IAED;;;;;OAKG;IACI,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,CAK1D;IAED,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,cAAc;IAYtB;;;;;;OAMG;IACI,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,OAAO,QAMjD;IAED;;;;;OAKG;IACI,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,OAAO,QAMnD;IAEY,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CA6CpC;IAEY,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,mBAAmB,CAAC,iBAYzD;IAED;;OAEG;IACU,IAAI,kBAahB;YAEa,QAAQ;IA0EtB,UAAgB,gBAAgB,kBA+E/B;IAED,SAAS,CAAC,MAAM,IAAI,OAAO,CAE1B;IAED,SAAS,CAAC,WAAW,SAYpB;IAED,SAAS,CAAC,QAAQ,SAQjB;IAED,gGAAgG;IAChG,OAAc,SAAS,CAAC,SAAS,EAAE,UAAU,GAAG,sBAAsB,GAAG,SAAS,CAEjF;IAED,OAAO,CAAC,QAAQ;IAehB,OAAO,CAAC,SAAS;IAYjB,OAAO,CAAC,WAAW;IAmBnB,OAAO,CAAC,YAAY;IAQpB,4GAA4G;IACrG,cAAc,CAAC,CAAC,EAAE,oBAAoB,QAU5C;IAED,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,WAAW;IA0BnB,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,eAAe;IASvB,SAAS,CAAC,aAAa,SAgDtB;IAGD,OAAO,CAAC,gBAAgB;IAUxB,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,UAE3B;IAED;;OAEG;IACH,SAAS,CAAC,YAAY,SASrB;IAED;;;OAGG;IACH,SAAS,CAAC,SAAS,SAalB;CACF"}