@pristine-ts/configuration 2.0.4 → 2.0.5

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 (43) hide show
  1. package/dist/lib/cjs/configuration.module.js +1 -0
  2. package/dist/lib/cjs/configuration.module.js.map +1 -1
  3. package/dist/lib/cjs/errors/configuration-definition-already-exists.error.js +2 -6
  4. package/dist/lib/cjs/errors/configuration-definition-already-exists.error.js.map +1 -1
  5. package/dist/lib/cjs/errors/configuration-resolver.error.js +5 -9
  6. package/dist/lib/cjs/errors/configuration-resolver.error.js.map +1 -1
  7. package/dist/lib/cjs/errors/configuration-validation.error.js +1 -5
  8. package/dist/lib/cjs/errors/configuration-validation.error.js.map +1 -1
  9. package/dist/lib/cjs/loaders/loaders.js +19 -0
  10. package/dist/lib/cjs/loaders/loaders.js.map +1 -0
  11. package/dist/lib/cjs/loaders/pristine-config-file.interface.js +3 -0
  12. package/dist/lib/cjs/loaders/pristine-config-file.interface.js.map +1 -0
  13. package/dist/lib/cjs/loaders/pristine-config-file.loader.js +130 -0
  14. package/dist/lib/cjs/loaders/pristine-config-file.loader.js.map +1 -0
  15. package/dist/lib/cjs/managers/configuration.manager.js +82 -14
  16. package/dist/lib/cjs/managers/configuration.manager.js.map +1 -1
  17. package/dist/lib/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  18. package/dist/lib/esm/configuration.module.js +1 -0
  19. package/dist/lib/esm/configuration.module.js.map +1 -1
  20. package/dist/lib/esm/errors/configuration-definition-already-exists.error.js +3 -7
  21. package/dist/lib/esm/errors/configuration-definition-already-exists.error.js.map +1 -1
  22. package/dist/lib/esm/errors/configuration-resolver.error.js +6 -10
  23. package/dist/lib/esm/errors/configuration-resolver.error.js.map +1 -1
  24. package/dist/lib/esm/errors/configuration-validation.error.js +2 -6
  25. package/dist/lib/esm/errors/configuration-validation.error.js.map +1 -1
  26. package/dist/lib/esm/loaders/loaders.js +3 -0
  27. package/dist/lib/esm/loaders/loaders.js.map +1 -0
  28. package/dist/lib/esm/loaders/pristine-config-file.interface.js +2 -0
  29. package/dist/lib/esm/loaders/pristine-config-file.interface.js.map +1 -0
  30. package/dist/lib/esm/loaders/pristine-config-file.loader.js +124 -0
  31. package/dist/lib/esm/loaders/pristine-config-file.loader.js.map +1 -0
  32. package/dist/lib/esm/managers/configuration.manager.js +82 -14
  33. package/dist/lib/esm/managers/configuration.manager.js.map +1 -1
  34. package/dist/lib/esm/tsconfig.tsbuildinfo +1 -1
  35. package/dist/types/configuration.module.d.ts +1 -0
  36. package/dist/types/errors/configuration-definition-already-exists.error.d.ts +2 -2
  37. package/dist/types/errors/configuration-resolver.error.d.ts +2 -2
  38. package/dist/types/errors/configuration-validation.error.d.ts +2 -2
  39. package/dist/types/loaders/loaders.d.ts +2 -0
  40. package/dist/types/loaders/pristine-config-file.interface.d.ts +15 -0
  41. package/dist/types/loaders/pristine-config-file.loader.d.ts +47 -0
  42. package/dist/types/managers/configuration.manager.d.ts +34 -8
  43. package/package.json +3 -3
@@ -0,0 +1,124 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
8
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
9
+ return new (P || (P = Promise))(function (resolve, reject) {
10
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
11
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
12
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
13
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
14
+ });
15
+ };
16
+ import { injectable } from "tsyringe";
17
+ import fs from "fs";
18
+ import path from "path";
19
+ /**
20
+ * Locates and dynamically imports `pristine.config.{ts,js}`. Lives in
21
+ * `@pristine-ts/configuration` so both the configuration manager (reads the `config:`
22
+ * block during kernel boot) and the CLI bootstrap (reads the `cli:` block before the
23
+ * kernel exists) share one walker, one importer, and one cache — avoiding drift between
24
+ * two separate readers seeing different files.
25
+ *
26
+ * **Memoized per absolute path**: once a config file is found at a given path, the
27
+ * parsed object is cached for the process lifetime. Repeated calls from different parts
28
+ * of the codebase (configuration manager, CLI bootstrap, plugin loader) parse the file
29
+ * exactly once.
30
+ *
31
+ * **Optional**: if no file is found, `load()` returns `undefined`. Callers degrade
32
+ * gracefully — the configuration manager falls back to its other resolution sources, the
33
+ * CLI falls back to a `CliModule`-only AppModule.
34
+ */
35
+ let PristineConfigFileLoader = class PristineConfigFileLoader {
36
+ constructor() {
37
+ this.configFileNames = [
38
+ "pristine.config.ts",
39
+ "pristine.config.js",
40
+ ];
41
+ this.cache = new Map();
42
+ /**
43
+ * Wraps Node's real dynamic `import()` so it survives both tsc's CJS lowering and
44
+ * esbuild's bundling. Both otherwise rewrite `await import(x)` into `require(x)`, which
45
+ * fails for ESM-only packages and `file://` URLs. The Function constructor's body is
46
+ * opaque to those transforms, so the `import()` inside it goes through unrewritten.
47
+ */
48
+ this.dynamicImport = new Function("specifier", "return import(specifier);");
49
+ }
50
+ /**
51
+ * Finds the nearest `pristine.config.{ts,js}` walking up from `startDir` (defaults to
52
+ * `process.cwd()`), dynamic-imports it, and returns the parsed object. Returns
53
+ * `undefined` when no file is found anywhere up the directory tree — callers must
54
+ * treat absence as "no overrides," not as an error.
55
+ */
56
+ load() {
57
+ return __awaiter(this, arguments, void 0, function* (startDir = process.cwd()) {
58
+ const filePath = this.findConfigFile(startDir);
59
+ if (filePath === undefined) {
60
+ return undefined;
61
+ }
62
+ const cached = this.cache.get(filePath);
63
+ if (cached !== undefined) {
64
+ return cached;
65
+ }
66
+ const parsed = yield this.importConfigFile(filePath);
67
+ this.cache.set(filePath, parsed);
68
+ return parsed;
69
+ });
70
+ }
71
+ /**
72
+ * Walks up from `startDir` looking for any of the supported config file names. Stops at
73
+ * the first match. Walking up matters in monorepos: a tool invoked in `packages/foo/`
74
+ * should still find a `pristine.config.ts` at the repo root.
75
+ */
76
+ findConfigFile(startDir) {
77
+ let current = path.resolve(startDir);
78
+ while (true) {
79
+ for (const name of this.configFileNames) {
80
+ const candidate = path.join(current, name);
81
+ if (fs.existsSync(candidate) && fs.statSync(candidate).isFile()) {
82
+ return candidate;
83
+ }
84
+ }
85
+ const parent = path.dirname(current);
86
+ // path.dirname of root === root; we've hit the filesystem boundary.
87
+ if (parent === current)
88
+ return undefined;
89
+ current = parent;
90
+ }
91
+ }
92
+ /**
93
+ * Loads the config file via the appropriate mechanism for its extension: jiti for `.ts`
94
+ * (in-process TS transform with no build step needed), native dynamic import for `.js`.
95
+ * Extracts the default export, falling back to a named `pristineConfig` export.
96
+ */
97
+ importConfigFile(absolutePath) {
98
+ return __awaiter(this, void 0, void 0, function* () {
99
+ var _a, _b, _c, _d;
100
+ const ext = path.extname(absolutePath).toLowerCase();
101
+ let loaded;
102
+ if (ext === ".ts") {
103
+ const jitiModule = yield this.dynamicImport("jiti");
104
+ const createJiti = (_b = (_a = jitiModule.default) !== null && _a !== void 0 ? _a : jitiModule.createJiti) !== null && _b !== void 0 ? _b : jitiModule;
105
+ const jiti = createJiti(absolutePath, { interopDefault: true });
106
+ loaded = jiti(absolutePath);
107
+ }
108
+ else {
109
+ loaded = yield this.dynamicImport(`file://${absolutePath}`);
110
+ }
111
+ const parsed = (_d = (_c = loaded === null || loaded === void 0 ? void 0 : loaded.default) !== null && _c !== void 0 ? _c : loaded === null || loaded === void 0 ? void 0 : loaded.pristineConfig) !== null && _d !== void 0 ? _d : loaded;
112
+ if (!parsed || typeof parsed !== "object") {
113
+ throw new Error(`[pristine] Config file at '${absolutePath}' did not export a valid configuration. ` +
114
+ `Use \`export default defineConfig({ ... })\` or \`export const pristineConfig = { ... }\`.`);
115
+ }
116
+ return parsed;
117
+ });
118
+ }
119
+ };
120
+ PristineConfigFileLoader = __decorate([
121
+ injectable()
122
+ ], PristineConfigFileLoader);
123
+ export { PristineConfigFileLoader };
124
+ //# sourceMappingURL=pristine-config-file.loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pristine-config-file.loader.js","sourceRoot":"","sources":["../../../../src/loaders/pristine-config-file.loader.ts"],"names":[],"mappings":"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"}
@@ -20,9 +20,11 @@ import { injectable } from "tsyringe";
20
20
  import { ConfigurationDefinitionAlreadyExistsError } from "../errors/configuration-definition-already-exists.error";
21
21
  import { ConfigurationParser } from "../parsers/configuration.parser";
22
22
  import { ConfigurationValidationError } from "../errors/configuration-validation.error";
23
+ import { PristineConfigFileLoader } from "../loaders/pristine-config-file.loader";
23
24
  let ConfigurationManager = class ConfigurationManager {
24
- constructor(configurationParser) {
25
+ constructor(configurationParser, pristineConfigFileLoader) {
25
26
  this.configurationParser = configurationParser;
27
+ this.pristineConfigFileLoader = pristineConfigFileLoader;
26
28
  this.configurationDefinitions = {};
27
29
  }
28
30
  /**
@@ -38,28 +40,63 @@ let ConfigurationManager = class ConfigurationManager {
38
40
  this.configurationDefinitions[configurationDefinition.parameterName] = configurationDefinition;
39
41
  }
40
42
  /**
41
- * This method loads the configuration values passed dynamically when instantiating the Kernel. This method
42
- * will verify that a corresponding configurationDefinition exists and if it does, it will resolve the value.
43
+ * Loads configuration values into the container using the precedence chain:
43
44
  *
44
- * This method will also check to make sure that all the expected values are being passed. For example, if a module expects
45
- * a configuration value to be passed, this method will throw if none are passed.
45
+ * 1. `moduleConfigurationValues` explicit overrides passed to `kernel.start()`.
46
+ * Highest precedence; wins all conflicts.
47
+ * 2. `pristine.config.ts:config` — values from the user-authored config file.
48
+ * Beats `configDefaults` and the resolver chain.
49
+ * 3. `configDefaults` — merged from every module's `ModuleInterface.configDefaults`.
50
+ * Beats the resolver chain.
51
+ * 4. `configurationDefinition.defaultResolvers` — per-key resolver list (env vars,
52
+ * secrets manager, etc.). First successful resolver wins.
53
+ * 5. `configurationDefinition.defaultValue` — hard fallback.
46
54
  *
47
- * @param moduleConfigurationValues
48
- * @param container
55
+ * Conflicts:
56
+ * - **Same key in `moduleConfigurationValues` and the file** → stderr warning naming
57
+ * both sources (never the value, which may be a secret); the overrides win.
58
+ * - **Unknown key** in any of the explicit sources (overrides / file / configDefaults)
59
+ * → validation error; throws at end of `load`.
60
+ * - **Two modules' `configDefaults` disagree** — handled by the kernel before this
61
+ * method runs (throws at registration). The merged `configDefaults` reaching this
62
+ * method is already conflict-free.
63
+ *
64
+ * @param moduleConfigurationValues Explicit overrides from `kernel.start()`.
65
+ * @param container The DI container to register resolved values into.
66
+ * @param configDefaults Merged `ModuleInterface.configDefaults` from every module in the
67
+ * graph. Optional; defaults to empty.
49
68
  */
50
- load(moduleConfigurationValues, container) {
51
- return __awaiter(this, void 0, void 0, function* () {
69
+ load(moduleConfigurationValues_1, container_1) {
70
+ return __awaiter(this, arguments, void 0, function* (moduleConfigurationValues, container, configDefaults = {}) {
52
71
  const validationErrors = [];
72
+ const fileConfig = yield this.readFileConfigSafely();
73
+ // Build the merged "explicit value" map by precedence, lowest to highest, so each
74
+ // later layer overwrites earlier ones. (1) configDefaults < (2) file < (3) overrides.
75
+ const mergedValues = {};
76
+ for (const key of Object.keys(configDefaults)) {
77
+ mergedValues[key] = configDefaults[key];
78
+ }
79
+ for (const key of Object.keys(fileConfig)) {
80
+ mergedValues[key] = fileConfig[key];
81
+ }
53
82
  for (const key of Object.keys(moduleConfigurationValues)) {
54
- if (moduleConfigurationValues.hasOwnProperty(key) === false) {
55
- continue;
83
+ if (fileConfig.hasOwnProperty(key)) {
84
+ // Warn (never log values — could be secrets). The overrides win regardless.
85
+ process.stderr.write(`[pristine] WARNING: Configuration key '${key}' is set in BOTH:\n` +
86
+ ` - the explicit overrides passed to kernel.start()\n` +
87
+ ` - pristine.config.ts:config\n` +
88
+ `Using the value from the explicit overrides. Set the key in only one place to silence this warning.\n`);
56
89
  }
90
+ mergedValues[key] = moduleConfigurationValues[key];
91
+ }
92
+ // Process every merged value against the registered definitions. Unknown keys land in
93
+ // validationErrors so multiple typos surface in a single throw at the end.
94
+ for (const key of Object.keys(mergedValues)) {
57
95
  if (this.configurationDefinitions.hasOwnProperty(key) === false) {
58
96
  validationErrors.push("There are no ConfigurationDefinition in any of the modules for the following key: '" + key + "'.");
59
97
  continue;
60
98
  }
61
- const moduleConfigurationValue = moduleConfigurationValues[key];
62
- const resolvedConfigurationValue = yield this.configurationParser.resolve(moduleConfigurationValue, container);
99
+ const resolvedConfigurationValue = yield this.configurationParser.resolve(mergedValues[key], container);
63
100
  // Register the configuration in the container
64
101
  this.registerConfigurationValue(key, resolvedConfigurationValue, container);
65
102
  // Remove the configurationDefinition for the key
@@ -145,10 +182,41 @@ let ConfigurationManager = class ConfigurationManager {
145
182
  // Register the configuration in the container
146
183
  container.registerInstance("%" + configurationKey + "%", value);
147
184
  }
185
+ /**
186
+ * Reads the `config:` block from `pristine.config.{ts,js}` (if present). The file is
187
+ * optional — its absence is not an error, just produces an empty map. Failures to
188
+ * parse a present file are also swallowed (and reported via stderr) so misconfigured
189
+ * config files don't take down the whole boot.
190
+ */
191
+ readFileConfigSafely() {
192
+ return __awaiter(this, void 0, void 0, function* () {
193
+ try {
194
+ const parsed = yield this.pristineConfigFileLoader.load();
195
+ if (parsed === undefined) {
196
+ return {};
197
+ }
198
+ const block = parsed.config;
199
+ if (block === undefined || block === null) {
200
+ return {};
201
+ }
202
+ if (typeof block !== "object" || Array.isArray(block)) {
203
+ process.stderr.write(`[pristine] WARNING: pristine.config.ts:config is not a plain object. Ignoring file-based configuration overrides.\n`);
204
+ return {};
205
+ }
206
+ return block;
207
+ }
208
+ catch (error) {
209
+ process.stderr.write(`[pristine] WARNING: Failed to load pristine.config.ts for runtime configuration: ${error.message}\n` +
210
+ `Continuing without file-based configuration overrides.\n`);
211
+ return {};
212
+ }
213
+ });
214
+ }
148
215
  };
149
216
  ConfigurationManager = __decorate([
150
217
  injectable(),
151
- __metadata("design:paramtypes", [ConfigurationParser])
218
+ __metadata("design:paramtypes", [ConfigurationParser,
219
+ PristineConfigFileLoader])
152
220
  ], ConfigurationManager);
153
221
  export { ConfigurationManager };
154
222
  //# sourceMappingURL=configuration.manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"configuration.manager.js","sourceRoot":"","sources":["../../../../src/managers/configuration.manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configuration.manager.js","sourceRoot":"","sources":["../../../../src/managers/configuration.manager.ts"],"names":[],"mappings":"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"}