@digital-alchemy/core 24.8.4 → 24.9.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/README.md +17 -27
  2. package/dist/helpers/async.helper.d.ts +1 -1
  3. package/dist/helpers/async.helper.js +13 -14
  4. package/dist/helpers/async.helper.js.map +1 -1
  5. package/dist/helpers/config-environment-loader.helper.js +16 -20
  6. package/dist/helpers/config-environment-loader.helper.js.map +1 -1
  7. package/dist/helpers/config-file-loader.helper.d.ts +5 -3
  8. package/dist/helpers/config-file-loader.helper.js +45 -52
  9. package/dist/helpers/config-file-loader.helper.js.map +1 -1
  10. package/dist/helpers/config.helper.d.ts +24 -3
  11. package/dist/helpers/config.helper.js +30 -37
  12. package/dist/helpers/config.helper.js.map +1 -1
  13. package/dist/helpers/context.helper.js +1 -2
  14. package/dist/helpers/cron.helper.d.ts +27 -0
  15. package/dist/helpers/cron.helper.js +4 -7
  16. package/dist/helpers/cron.helper.js.map +1 -1
  17. package/dist/helpers/errors.helper.d.ts +0 -12
  18. package/dist/helpers/errors.helper.js +2 -23
  19. package/dist/helpers/errors.helper.js.map +1 -1
  20. package/dist/helpers/events.helper.js +4 -10
  21. package/dist/helpers/events.helper.js.map +1 -1
  22. package/dist/helpers/extend.helper.d.ts +2 -0
  23. package/dist/helpers/extend.helper.js +19 -24
  24. package/dist/helpers/extend.helper.js.map +1 -1
  25. package/dist/helpers/index.d.ts +2 -4
  26. package/dist/helpers/index.js +14 -19
  27. package/dist/helpers/index.js.map +1 -1
  28. package/dist/helpers/lifecycle.helper.d.ts +1 -5
  29. package/dist/helpers/lifecycle.helper.js +1 -4
  30. package/dist/helpers/lifecycle.helper.js.map +1 -1
  31. package/dist/{extensions/logger.extension.d.ts → helpers/logger.helper.d.ts} +33 -40
  32. package/dist/helpers/logger.helper.js +10 -0
  33. package/dist/helpers/logger.helper.js.map +1 -0
  34. package/dist/helpers/module.helper.d.ts +74 -0
  35. package/dist/helpers/module.helper.js +131 -0
  36. package/dist/helpers/module.helper.js.map +1 -0
  37. package/dist/helpers/utilities.helper.d.ts +3 -14
  38. package/dist/helpers/utilities.helper.js +51 -73
  39. package/dist/helpers/utilities.helper.js.map +1 -1
  40. package/dist/helpers/wiring.helper.d.ts +77 -23
  41. package/dist/helpers/wiring.helper.js +45 -47
  42. package/dist/helpers/wiring.helper.js.map +1 -1
  43. package/dist/index.d.ts +2 -1
  44. package/dist/index.js +3 -5
  45. package/dist/index.js.map +1 -1
  46. package/dist/services/als.extension.d.ts +2 -0
  47. package/dist/services/als.extension.js +17 -0
  48. package/dist/services/als.extension.js.map +1 -0
  49. package/dist/services/configuration.extension.d.ts +7 -0
  50. package/dist/services/configuration.extension.js +117 -0
  51. package/dist/services/configuration.extension.js.map +1 -0
  52. package/dist/{extensions → services}/index.d.ts +1 -3
  53. package/dist/services/index.js +8 -0
  54. package/dist/services/index.js.map +1 -0
  55. package/dist/{extensions → services}/internal.extension.d.ts +7 -23
  56. package/dist/{extensions → services}/internal.extension.js +43 -55
  57. package/dist/services/internal.extension.js.map +1 -0
  58. package/dist/{extensions → services}/is.extension.d.ts +5 -0
  59. package/dist/{extensions → services}/is.extension.js +20 -15
  60. package/dist/services/is.extension.js.map +1 -0
  61. package/dist/{extensions → services}/lifecycle.extension.js +17 -19
  62. package/dist/services/lifecycle.extension.js.map +1 -0
  63. package/dist/services/logger.extension.d.ts +2 -0
  64. package/dist/services/logger.extension.js +201 -0
  65. package/dist/services/logger.extension.js.map +1 -0
  66. package/dist/services/scheduler.extension.d.ts +2 -0
  67. package/dist/services/scheduler.extension.js +108 -0
  68. package/dist/services/scheduler.extension.js.map +1 -0
  69. package/dist/services/wiring.extension.d.ts +111 -0
  70. package/dist/services/wiring.extension.js +437 -0
  71. package/dist/services/wiring.extension.js.map +1 -0
  72. package/dist/testing/index.d.ts +2 -0
  73. package/dist/testing/index.js +3 -0
  74. package/dist/testing/index.js.map +1 -0
  75. package/dist/testing/mock-logger.d.ts +2 -0
  76. package/dist/testing/mock-logger.js +11 -0
  77. package/dist/testing/mock-logger.js.map +1 -0
  78. package/dist/testing/test-module.d.ts +112 -0
  79. package/dist/testing/test-module.js +138 -0
  80. package/dist/testing/test-module.js.map +1 -0
  81. package/package.json +56 -43
  82. package/dist/extensions/cache.extension.d.ts +0 -2
  83. package/dist/extensions/cache.extension.js +0 -90
  84. package/dist/extensions/cache.extension.js.map +0 -1
  85. package/dist/extensions/configuration.extension.d.ts +0 -52
  86. package/dist/extensions/configuration.extension.js +0 -131
  87. package/dist/extensions/configuration.extension.js.map +0 -1
  88. package/dist/extensions/fetch.extension.d.ts +0 -17
  89. package/dist/extensions/fetch.extension.js +0 -133
  90. package/dist/extensions/fetch.extension.js.map +0 -1
  91. package/dist/extensions/index.js +0 -13
  92. package/dist/extensions/index.js.map +0 -1
  93. package/dist/extensions/internal.extension.js.map +0 -1
  94. package/dist/extensions/is.extension.js.map +0 -1
  95. package/dist/extensions/lifecycle.extension.js.map +0 -1
  96. package/dist/extensions/logger.extension.js +0 -186
  97. package/dist/extensions/logger.extension.js.map +0 -1
  98. package/dist/extensions/metrics.extension.d.ts +0 -18
  99. package/dist/extensions/metrics.extension.js +0 -156
  100. package/dist/extensions/metrics.extension.js.map +0 -1
  101. package/dist/extensions/scheduler.extension.d.ts +0 -21
  102. package/dist/extensions/scheduler.extension.js +0 -133
  103. package/dist/extensions/scheduler.extension.js.map +0 -1
  104. package/dist/extensions/wiring.extension.d.ts +0 -50
  105. package/dist/extensions/wiring.extension.js +0 -374
  106. package/dist/extensions/wiring.extension.js.map +0 -1
  107. package/dist/helpers/cache-memory.helper.d.ts +0 -6
  108. package/dist/helpers/cache-memory.helper.js +0 -68
  109. package/dist/helpers/cache-memory.helper.js.map +0 -1
  110. package/dist/helpers/cache-redis.helper.d.ts +0 -6
  111. package/dist/helpers/cache-redis.helper.js +0 -73
  112. package/dist/helpers/cache-redis.helper.js.map +0 -1
  113. package/dist/helpers/cache.helper.d.ts +0 -19
  114. package/dist/helpers/cache.helper.js +0 -9
  115. package/dist/helpers/cache.helper.js.map +0 -1
  116. package/dist/helpers/fetch.helper.d.ts +0 -165
  117. package/dist/helpers/fetch.helper.js +0 -173
  118. package/dist/helpers/fetch.helper.js.map +0 -1
  119. /package/dist/{extensions → services}/lifecycle.extension.d.ts +0 -0
package/README.md CHANGED
@@ -1,48 +1,38 @@
1
+ [![stars](https://img.shields.io/github/stars/Digital-Alchemy-TS/core)](https://github.com/Digital-Alchemy-TS/core)
2
+ ![discord](https://img.shields.io/discord/1219758743848489147?label=Discord&logo=discord)
3
+
1
4
  [![codecov](https://codecov.io/github/Digital-Alchemy-TS/core/graph/badge.svg?token=IBGLY3RY68)](https://codecov.io/github/Digital-Alchemy-TS/core)
5
+ [![version](https://img.shields.io/github/package-json/version/Digital-Alchemy-TS/core)](https://www.npmjs.com/package/@digital-alchemy/core)
2
6
 
3
7
  ---
4
8
 
5
9
  # 🚀 Project Overview - Digital Alchemy TypeScript Libraries
6
10
 
7
- Welcome to `@digital-alchemy/core`!
8
- This repository contains the boilerplate code for building applications and wiring logic.
9
-
10
- - [Extended docs](https://docs.digital-alchemy.app/docs/core/)
11
- - [Discord](https://discord.gg/JkZ35Gv97Y)
12
-
13
- ## 🌐 Core Library Overview
11
+ Welcome to `@digital-alchemy/core`
14
12
 
15
- ### 🗃️ Cache
13
+ The core library is a minimal dependency framework for building Typescript based applications and libraries.
14
+ It aims to provide some basic workflows and tools that can be used to create a variety of different types of projects.
16
15
 
17
- Flexible caching solutions with support for memory and Redis cache drivers.
16
+ > 📚 [Extended docs](https://docs.digital-alchemy.app/docs/core/)
18
17
 
19
- ### ⚙️ Configuration
18
+ ## 🌐 Tools Overview
20
19
 
21
- Dynamic application settings management, prioritizing configuration from multiple sources for maximum flexibility.
20
+ ### ⚙️ [Configuration](https://docs.digital-alchemy.app/docs/core/configuration)
22
21
 
23
- ### 🌍 Fetch Wrapper
22
+ Define and load structured configuration data from files, merge data from environment variables, and more.
24
23
 
25
- Simplifies RESTful service integration, streamlining the development of verbose adapters.
26
-
27
- ### 📝 Logger
24
+ ### 📝 [Logger](https://docs.digital-alchemy.app/docs/core/logger/api)
28
25
 
29
26
  Advanced logging interface for detailed and customizable output, compatible with external libraries for specialized logging needs.
30
27
 
31
- ### ⏲️ Scheduler
28
+ ### ⏲️ [Scheduler](https://docs.digital-alchemy.app/docs/core/scheduler)
32
29
 
33
30
  Lifecycle-aware task scheduling, featuring flexible timing functions and robust error handling.
34
31
 
35
- ### 🔄 Application Lifecycle Management
36
-
37
- Comprehensive support for managing the application's lifecycle, from initialization to shutdown.
32
+ ### 🔄 [Lifecycle Hooks](https://docs.digital-alchemy.app/docs/core/lifecycle)
38
33
 
39
- ## 📚 Explore Our Libraries and Applications
34
+ Run commands at a variety of predetermined times during your application's boot or shutdown sequence.
40
35
 
41
- Dive deeper into the ecosystem by exploring related libraries and applications published under the Digital Alchemy organization.
42
- Each is designed to extend the capabilities the core library, offering specialized functionalities for a wide range of use cases.
36
+ ### ⁉️ [Testing Utilities](https://docs.digital-alchemy.app/docs/testing/)
43
37
 
44
- | Library/Application | Description | GitHub | npm |
45
- | ------------------- | ------------------------------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------------------- |
46
- | `hass` | Home Assistant integration for smart home automation. | [GitHub](https://github.com/Digital-Alchemy-TS/hass) | [npm](https://www.npmjs.com/package/@digital-alchemy/hass) |
47
- | `synapse` | Tools for generating entities within home assistant | [GitHub](https://github.com/Digital-Alchemy-TS/synapse) | [npm](https://www.npmjs.com/package/@digital-alchemy/synapse) |
48
- | `automation` | Advanced automation tools for creating dynamic workflows. | [GitHub](https://github.com/Digital-Alchemy-TS/automation) | [npm](https://www.npmjs.com/package/@digital-alchemy/automation) |
38
+ Convert your application into a testing module - append extra libraries and reconfigure modules to get the coverage you're looking for.
@@ -1,3 +1,3 @@
1
- export declare function each<T = unknown>(item: T[], callback: (item: T) => Promise<void | unknown>): Promise<void>;
1
+ export declare function each<T = unknown>(item: T[] | Set<T>, callback: (item: T) => Promise<void | unknown>): Promise<void>;
2
2
  export declare function eachSeries<T = void>(item: T[] | Set<T>, callback: (item: T) => Promise<void | unknown>): Promise<void>;
3
3
  export declare function eachLimit<T = unknown>(items: T[], limit: number, callback: (item: T) => Promise<void | unknown>): Promise<void>;
@@ -1,32 +1,31 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.each = each;
4
- exports.eachSeries = eachSeries;
5
- exports.eachLimit = eachLimit;
6
- const is_extension_1 = require("../extensions/is.extension");
7
- const utilities_helper_1 = require("./utilities.helper");
1
+ /* eslint-disable sonarjs/no-redundant-type-constituents */
2
+ import { is } from "../services";
3
+ import { ARRAY_OFFSET, SINGLE, START } from "./utilities.helper";
8
4
  // ? Functions written to be similar to the offerings from the async library
9
5
  // That library gave me oddly inconsistent results,
10
6
  // so these exist to replace those doing exactly what I expect
11
7
  //
12
8
  // #MARK: each
13
- async function each(item = [], callback) {
9
+ export async function each(item, callback) {
10
+ if (item instanceof Set) {
11
+ item = [...item.values()];
12
+ }
14
13
  await Promise.all(item.map(async (i) => await callback(i)));
15
14
  }
16
15
  // #MARK: eachSeries
17
- async function eachSeries(item, callback) {
16
+ export async function eachSeries(item, callback) {
18
17
  if (item instanceof Set) {
19
18
  item = [...item.values()];
20
19
  }
21
- if (!is_extension_1.is.array(item)) {
20
+ if (!is.array(item)) {
22
21
  throw new TypeError(`not provided an array`);
23
22
  }
24
- for (let i = utilities_helper_1.START; i <= item.length - utilities_helper_1.ARRAY_OFFSET; i++) {
23
+ for (let i = START; i <= item.length - ARRAY_OFFSET; i++) {
25
24
  await callback(item[i]);
26
25
  }
27
26
  }
28
27
  // #MARK: eachLimit
29
- async function eachLimit(items, limit, callback) {
28
+ export async function eachLimit(items, limit, callback) {
30
29
  // Track active promises to ensure we don't exceed the limit
31
30
  const activePromises = new Set();
32
31
  // A helper function to add a new task
@@ -40,11 +39,11 @@ async function eachLimit(items, limit, callback) {
40
39
  }
41
40
  }
42
41
  // Add initial tasks up to the limit
43
- const initialTasks = items.slice(utilities_helper_1.SINGLE, limit).map((item) => addTask(item));
42
+ const initialTasks = items.slice(SINGLE, limit).map(item => addTask(item));
44
43
  // Wait for the initial set of tasks to start processing
45
44
  await Promise.all(initialTasks);
46
45
  // Process the remaining items, ensuring the limit is respected
47
- for (let i = limit; i < items.length; i++) {
46
+ for (let i = limit - ARRAY_OFFSET; i < items.length; i++) {
48
47
  await addTask(items[i]);
49
48
  }
50
49
  // Wait for all remaining tasks to complete
@@ -1 +1 @@
1
- {"version":3,"file":"async.helper.js","sourceRoot":"","sources":["../../src/helpers/async.helper.ts"],"names":[],"mappings":";;AASA,oBAKC;AAGD,gCAaC;AAGD,8BAgCC;AAjED,6DAAgD;AAChD,yDAAiE;AAEjE,4EAA4E;AAC5E,mDAAmD;AACnD,kEAAkE;AAClE,EAAE;AAEF,cAAc;AACP,KAAK,UAAU,IAAI,CACxB,OAAY,EAAE,EACd,QAA8C;IAE9C,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,oBAAoB;AACb,KAAK,UAAU,UAAU,CAC9B,IAAkB,EAClB,QAA8C;IAE9C,IAAI,IAAI,YAAY,GAAG,EAAE,CAAC;QACxB,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,CAAC,iBAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,SAAS,CAAC,uBAAuB,CAAC,CAAC;IAC/C,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,wBAAK,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,+BAAY,EAAE,CAAC,EAAE,EAAE,CAAC;QACzD,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC;AAED,mBAAmB;AACZ,KAAK,UAAU,SAAS,CAC7B,KAAU,EACV,KAAa,EACb,QAA8C;IAE9C,4DAA4D;IAC5D,MAAM,cAAc,GAAiC,IAAI,GAAG,EAAE,CAAC;IAE/D,sCAAsC;IACtC,KAAK,UAAU,OAAO,CAAC,IAAO;QAC5B,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YACvC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,qDAAqD;QACvF,CAAC,CAAC,CAAC;QACH,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC5B,IAAI,cAAc,CAAC,IAAI,IAAI,KAAK,EAAE,CAAC;YACjC,MAAM,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,iDAAiD;QACvF,CAAC;IACH,CAAC;IAED,oCAAoC;IACpC,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,yBAAM,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAE7E,wDAAwD;IACxD,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAEhC,+DAA+D;IAC/D,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;IAED,2CAA2C;IAC3C,MAAM,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"async.helper.js","sourceRoot":"","sources":["../../src/helpers/async.helper.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAEjE,4EAA4E;AAC5E,mDAAmD;AACnD,kEAAkE;AAClE,EAAE;AAEF,cAAc;AACd,MAAM,CAAC,KAAK,UAAU,IAAI,CACxB,IAAkB,EAClB,QAA8C;IAE9C,IAAI,IAAI,YAAY,GAAG,EAAE,CAAC;QACxB,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5B,CAAC;IACD,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAC,CAAC,EAAC,EAAE,CAAC,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,oBAAoB;AACpB,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,IAAkB,EAClB,QAA8C;IAE9C,IAAI,IAAI,YAAY,GAAG,EAAE,CAAC;QACxB,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,SAAS,CAAC,uBAAuB,CAAC,CAAC;IAC/C,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC;QACzD,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC;AAED,mBAAmB;AACnB,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,KAAU,EACV,KAAa,EACb,QAA8C;IAE9C,4DAA4D;IAC5D,MAAM,cAAc,GAAiC,IAAI,GAAG,EAAE,CAAC;IAE/D,sCAAsC;IACtC,KAAK,UAAU,OAAO,CAAC,IAAO;QAC5B,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YACvC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,qDAAqD;QACvF,CAAC,CAAC,CAAC;QACH,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC5B,IAAI,cAAc,CAAC,IAAI,IAAI,KAAK,EAAE,CAAC;YACjC,MAAM,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,iDAAiD;QACvF,CAAC;IACH,CAAC;IAED,oCAAoC;IACpC,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAE3E,wDAAwD;IACxD,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAEhC,+DAA+D;IAC/D,KAAK,IAAI,CAAC,GAAG,KAAK,GAAG,YAAY,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzD,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;IAED,2CAA2C;IAC3C,MAAM,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AACpC,CAAC"}
@@ -1,24 +1,20 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ConfigLoaderEnvironment = ConfigLoaderEnvironment;
4
- const tslib_1 = require("tslib");
5
- const minimist_1 = tslib_1.__importDefault(require("minimist"));
6
- const process_1 = require("process");
7
- const __1 = require("..");
8
- const config_helper_1 = require("./config.helper");
9
- async function ConfigLoaderEnvironment({ configs, internal, logger }) {
10
- const CLI_SWITCHES = (0, minimist_1.default)(process_1.argv);
1
+ import minimist from "minimist";
2
+ import { env } from "process";
3
+ import { is } from "..";
4
+ import { findKey, iSearchKey, loadDotenv, parseConfig, } from "./config.helper";
5
+ export async function ConfigLoaderEnvironment({ configs, internal, logger }) {
6
+ const CLI_SWITCHES = minimist(process.argv);
11
7
  const switchKeys = Object.keys(CLI_SWITCHES);
12
8
  const out = {};
13
9
  // * merge dotenv into local vars
14
10
  // accounts for `--env-file` switches, and whatever is passed in via bootstrap
15
- (0, config_helper_1.loadDotenv)(internal, CLI_SWITCHES, logger);
16
- const environmentKeys = Object.keys(process_1.env);
11
+ loadDotenv(internal, CLI_SWITCHES, logger);
12
+ const environmentKeys = Object.keys(env);
17
13
  // * go through all module
18
14
  configs.forEach((configuration, project) => {
19
15
  const cleanedProject = project.replaceAll("-", "_");
20
16
  // * run through each config for module
21
- Object.keys(configuration).forEach((key) => {
17
+ Object.keys(configuration).forEach(key => {
22
18
  // > things to search for
23
19
  // - MODULE_NAME_CONFIG_KEY (module + key, ex: app_NODE_ENV)
24
20
  // - CONFIG_KEY (only key, ex: NODE_ENV)
@@ -26,10 +22,10 @@ async function ConfigLoaderEnvironment({ configs, internal, logger }) {
26
22
  const search = [noAppPath, key];
27
23
  const configPath = `${project}.${key}`;
28
24
  // * (preferred) Find an applicable cli switch
29
- const flag = (0, config_helper_1.findKey)(search, switchKeys);
25
+ const flag = findKey(search, switchKeys);
30
26
  if (flag) {
31
- const formattedFlag = (0, config_helper_1.iSearchKey)(flag, switchKeys);
32
- internal.utils.object.set(out, configPath, (0, config_helper_1.parseConfig)(configuration[key], CLI_SWITCHES[formattedFlag]));
27
+ const formattedFlag = iSearchKey(flag, switchKeys);
28
+ internal.utils.object.set(out, configPath, parseConfig(configuration[key], CLI_SWITCHES[formattedFlag]));
33
29
  logger.trace({
34
30
  flag: formattedFlag,
35
31
  name: ConfigLoaderEnvironment,
@@ -38,10 +34,10 @@ async function ConfigLoaderEnvironment({ configs, internal, logger }) {
38
34
  return;
39
35
  }
40
36
  // * (fallback) Find an environment variable
41
- const environment = (0, config_helper_1.findKey)(search, environmentKeys);
42
- if (!__1.is.empty(environment)) {
43
- const environmentName = (0, config_helper_1.iSearchKey)(environment, environmentKeys);
44
- internal.utils.object.set(out, configPath, (0, config_helper_1.parseConfig)(configuration[key], process_1.env[environmentName]));
37
+ const environment = findKey(search, environmentKeys);
38
+ if (!is.empty(environment)) {
39
+ const environmentName = iSearchKey(environment, environmentKeys);
40
+ internal.utils.object.set(out, configPath, parseConfig(configuration[key], env[environmentName]));
45
41
  logger.trace({
46
42
  name: ConfigLoaderEnvironment,
47
43
  path: configPath,
@@ -1 +1 @@
1
- {"version":3,"file":"config-environment-loader.helper.js","sourceRoot":"","sources":["../../src/helpers/config-environment-loader.helper.ts"],"names":[],"mappings":";;AAeA,0DAmEC;;AAlFD,gEAAgC;AAChC,qCAAoC;AAEpC,0BAAoC;AACpC,mDASyB;AAElB,KAAK,UAAU,uBAAuB,CAG3C,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAA4B;IACvD,MAAM,YAAY,GAAG,IAAA,kBAAQ,EAAC,cAAI,CAAC,CAAC;IACpC,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC7C,MAAM,GAAG,GAA4B,EAAE,CAAC;IAExC,iCAAiC;IACjC,8EAA8E;IAC9E,IAAA,0BAAU,EAAC,QAAQ,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;IAC3C,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,aAAG,CAAC,CAAC;IAEzC,0BAA0B;IAC1B,OAAO,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,OAAO,EAAE,EAAE;QACzC,MAAM,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAEpD,uCAAuC;QACvC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACzC,yBAAyB;YACzB,4DAA4D;YAC5D,wCAAwC;YACxC,MAAM,SAAS,GAAG,GAAG,cAAc,IAAI,GAAG,EAAE,CAAC;YAC7C,MAAM,MAAM,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAChC,MAAM,UAAU,GAAG,GAAG,OAAO,IAAI,GAAG,EAAE,CAAC;YAEvC,8CAA8C;YAC9C,MAAM,IAAI,GAAG,IAAA,uBAAO,EAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YACzC,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,aAAa,GAAG,IAAA,0BAAU,EAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBACnD,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CACvB,GAAG,EACH,UAAU,EACV,IAAA,2BAAW,EAAC,aAAa,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC,aAAa,CAAC,CAAC,CAC7D,CAAC;gBACF,MAAM,CAAC,KAAK,CACV;oBACE,IAAI,EAAE,aAAa;oBACnB,IAAI,EAAE,uBAAuB;oBAC7B,IAAI,EAAE,UAAU;iBACjB,EACD,+BAA+B,CAChC,CAAC;gBACF,OAAO;YACT,CAAC;YAED,4CAA4C;YAC5C,MAAM,WAAW,GAAG,IAAA,uBAAO,EAAC,MAAM,EAAE,eAAe,CAAC,CAAC;YACrD,IAAI,CAAC,MAAE,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC3B,MAAM,eAAe,GAAG,IAAA,0BAAU,EAAC,WAAW,EAAE,eAAe,CAAC,CAAC;gBACjE,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CACvB,GAAG,EACH,UAAU,EACV,IAAA,2BAAW,EAAC,aAAa,CAAC,GAAG,CAAC,EAAE,aAAG,CAAC,eAAe,CAAC,CAAC,CACtD,CAAC;gBACF,MAAM,CAAC,KAAK,CACV;oBACE,IAAI,EAAE,uBAAuB;oBAC7B,IAAI,EAAE,UAAU;oBAChB,GAAG,EAAE,eAAe;iBACrB,EACD,wBAAwB,CACzB,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"config-environment-loader.helper.js","sourceRoot":"","sources":["../../src/helpers/config-environment-loader.helper.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,GAAG,EAAE,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAE,EAAE,EAAc,MAAM,IAAI,CAAC;AACpC,OAAO,EAIL,OAAO,EACP,UAAU,EACV,UAAU,EAEV,WAAW,GACZ,MAAM,iBAAiB,CAAC;AAEzB,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAG3C,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAA4B;IACvD,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC7C,MAAM,GAAG,GAA4B,EAAE,CAAC;IAExC,iCAAiC;IACjC,8EAA8E;IAC9E,UAAU,CAAC,QAAQ,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;IAC3C,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEzC,0BAA0B;IAC1B,OAAO,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,OAAO,EAAE,EAAE;QACzC,MAAM,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAEpD,uCAAuC;QACvC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACvC,yBAAyB;YACzB,4DAA4D;YAC5D,wCAAwC;YACxC,MAAM,SAAS,GAAG,GAAG,cAAc,IAAI,GAAG,EAAE,CAAC;YAC7C,MAAM,MAAM,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAChC,MAAM,UAAU,GAAG,GAAG,OAAO,IAAI,GAAG,EAAE,CAAC;YAEvC,8CAA8C;YAC9C,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YACzC,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,aAAa,GAAG,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBACnD,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CACvB,GAAG,EACH,UAAU,EACV,WAAW,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC,aAAa,CAAC,CAAC,CAC7D,CAAC;gBACF,MAAM,CAAC,KAAK,CACV;oBACE,IAAI,EAAE,aAAa;oBACnB,IAAI,EAAE,uBAAuB;oBAC7B,IAAI,EAAE,UAAU;iBACjB,EACD,+BAA+B,CAChC,CAAC;gBACF,OAAO;YACT,CAAC;YAED,4CAA4C;YAC5C,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;YACrD,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC3B,MAAM,eAAe,GAAG,UAAU,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;gBACjE,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CACvB,GAAG,EACH,UAAU,EACV,WAAW,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC,CACtD,CAAC;gBACF,MAAM,CAAC,KAAK,CACV;oBACE,IAAI,EAAE,uBAAuB;oBAC7B,IAAI,EAAE,UAAU;oBAChB,GAAG,EAAE,eAAe;iBACrB,EACD,wBAAwB,CACzB,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -1,5 +1,7 @@
1
- import { ServiceMap } from "..";
1
+ import { PartialConfiguration, ServiceMap } from "..";
2
2
  import { ConfigLoaderParams, ConfigLoaderReturn, ModuleConfiguration } from "./config.helper";
3
3
  export declare const SUPPORTED_CONFIG_EXTENSIONS: string[];
4
- export declare function configFilePaths(name?: string): string[];
5
- export declare function ConfigLoaderFile<S extends ServiceMap = ServiceMap, C extends ModuleConfiguration = ModuleConfiguration>({ application, logger }: ConfigLoaderParams<S, C>): ConfigLoaderReturn;
4
+ export declare function withExtensions(path: string): string[];
5
+ export declare function configFilePaths(name: string): string[];
6
+ export declare function configLoaderFile<S extends ServiceMap = ServiceMap, C extends ModuleConfiguration = ModuleConfiguration>({ application, logger }: ConfigLoaderParams<S, C>): ConfigLoaderReturn;
7
+ export declare function loadConfigFromFile(out: PartialConfiguration, filePath: string): void;
@@ -1,82 +1,75 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SUPPORTED_CONFIG_EXTENSIONS = void 0;
4
- exports.configFilePaths = configFilePaths;
5
- exports.ConfigLoaderFile = ConfigLoaderFile;
6
- const tslib_1 = require("tslib");
7
- const fs_1 = require("fs");
8
- const ini_1 = require("ini");
9
- const js_yaml_1 = require("js-yaml");
10
- const minimist_1 = tslib_1.__importDefault(require("minimist"));
11
- const os_1 = require("os");
12
- const path_1 = require("path");
13
- const process_1 = require("process");
14
- const __1 = require("..");
15
- const isWindows = process_1.platform === "win32";
16
- exports.SUPPORTED_CONFIG_EXTENSIONS = ["json", "ini", "yaml", "yml"];
17
- function withExtensions(path) {
18
- return [path, (0, path_1.join)(path, "config")].flatMap((path) => [
1
+ import fs from "fs";
2
+ import ini from "ini";
3
+ import yaml from "js-yaml";
4
+ import minimist from "minimist";
5
+ import { homedir } from "os";
6
+ import { join } from "path";
7
+ import { cwd, platform } from "process";
8
+ import { deepExtend, INVERT_VALUE, is, START } from "..";
9
+ const isWindows = platform === "win32";
10
+ export const SUPPORTED_CONFIG_EXTENSIONS = ["json", "ini", "yaml", "yml"];
11
+ export function withExtensions(path) {
12
+ return [path, join(path, "config")].flatMap(path => [
19
13
  path,
20
- ...exports.SUPPORTED_CONFIG_EXTENSIONS.map((i) => `${path}.${i}`),
14
+ ...SUPPORTED_CONFIG_EXTENSIONS.map(i => `${path}.${i}`),
21
15
  ]);
22
16
  }
23
- function configFilePaths(name = "digital-alchemy") {
17
+ export function configFilePaths(name) {
24
18
  const out = [];
25
19
  if (!isWindows) {
26
- out.push(...withExtensions((0, path_1.join)(`/etc`, `${name}`)));
20
+ out.push(...withExtensions(join(`/etc`, `${name}`)));
27
21
  }
28
- let current = (0, process_1.cwd)();
22
+ let current = cwd();
29
23
  let next;
30
- while (!__1.is.empty(current)) {
31
- out.push(...withExtensions((0, path_1.join)(current, `.${name}`)));
32
- next = (0, path_1.join)(current, "..");
24
+ while (!is.empty(current)) {
25
+ out.push(...withExtensions(join(current, `.${name}`)));
26
+ next = join(current, "..");
33
27
  if (next === current) {
34
28
  break;
35
29
  }
36
30
  current = next;
37
31
  }
38
- out.push(...withExtensions((0, path_1.join)((0, os_1.homedir)(), ".config", name)));
39
- return out.filter((filePath) => (0, fs_1.existsSync)(filePath) && (0, fs_1.statSync)(filePath).isFile());
32
+ out.push(...withExtensions(join(homedir(), ".config", name)));
33
+ return out.filter(filePath => fs.existsSync(filePath) && fs.statSync(filePath).isFile());
40
34
  }
41
- async function ConfigLoaderFile({ application, logger }) {
42
- const CLI_SWITCHES = (0, minimist_1.default)(process.argv);
35
+ export async function configLoaderFile({ application, logger }) {
36
+ const CLI_SWITCHES = minimist(process.argv);
43
37
  const configFile = CLI_SWITCHES.config;
44
38
  let files;
45
- if (__1.is.empty(configFile)) {
39
+ if (is.empty(configFile)) {
46
40
  files = configFilePaths(application.name);
47
- logger.trace({ files, name: ConfigLoaderFile }, `identified config files`);
41
+ logger.trace({ files, name: configLoaderFile }, `identified config files`);
48
42
  }
49
43
  else {
50
- if (!(0, fs_1.existsSync)(configFile)) {
51
- logger.fatal({ configFile, name: ConfigLoaderFile }, `used {--config} to specify path that does not exist`);
52
- (0, process_1.exit)();
44
+ if (!fs.existsSync(configFile)) {
45
+ logger.fatal({ configFile, name: configLoaderFile }, `used {--config} to specify path that does not exist`);
46
+ process.exit();
53
47
  }
54
48
  files = [configFile];
55
- logger.debug({ configFile, name: ConfigLoaderFile }, `used {--config}, loading from target file`);
49
+ logger.debug({ configFile, name: configLoaderFile }, `used {--config}, loading from target file`);
56
50
  }
57
- if (__1.is.empty(files)) {
51
+ if (is.empty(files)) {
58
52
  return {};
59
53
  }
60
54
  const out = {};
61
- logger.trace({ files, name: ConfigLoaderFile }, `loading configuration files`);
62
- files.forEach((file) => loadConfigFromFile(out, file));
55
+ logger.trace({ files, name: configLoaderFile }, `loading configuration files`);
56
+ files.forEach(file => loadConfigFromFile(out, file));
63
57
  return out;
64
58
  }
65
- function loadConfigFromFile(out, filePath) {
66
- const fileContent = (0, fs_1.readFileSync)(filePath, "utf8").trim();
67
- const hasExtension = exports.SUPPORTED_CONFIG_EXTENSIONS.some((extension) => {
68
- if (filePath.slice(extension.length * __1.INVERT_VALUE).toLowerCase() ===
69
- extension) {
59
+ export function loadConfigFromFile(out, filePath) {
60
+ const fileContent = fs.readFileSync(filePath, "utf8").trim();
61
+ const hasExtension = SUPPORTED_CONFIG_EXTENSIONS.some(extension => {
62
+ if (filePath.slice(extension.length * INVERT_VALUE).toLowerCase() === extension) {
70
63
  switch (extension) {
71
64
  case "ini":
72
- (0, __1.deepExtend)(out, (0, ini_1.decode)(fileContent));
65
+ deepExtend(out, ini.decode(fileContent));
73
66
  return true;
74
67
  case "yaml":
75
68
  case "yml":
76
- (0, __1.deepExtend)(out, (0, js_yaml_1.load)(fileContent));
69
+ deepExtend(out, yaml.load(fileContent));
77
70
  return true;
78
71
  case "json":
79
- (0, __1.deepExtend)(out, JSON.parse(fileContent));
72
+ deepExtend(out, JSON.parse(fileContent));
80
73
  return true;
81
74
  }
82
75
  }
@@ -86,15 +79,15 @@ function loadConfigFromFile(out, filePath) {
86
79
  return;
87
80
  }
88
81
  // Guessing JSON
89
- if (fileContent[__1.START] === "{") {
90
- (0, __1.deepExtend)(out, JSON.parse(fileContent));
82
+ if (fileContent[START] === "{") {
83
+ deepExtend(out, JSON.parse(fileContent));
91
84
  return;
92
85
  }
93
86
  // Guessing yaml
94
87
  try {
95
- const content = (0, js_yaml_1.load)(fileContent);
96
- if (__1.is.object(content)) {
97
- (0, __1.deepExtend)(out, content);
88
+ const content = yaml.load(fileContent);
89
+ if (is.object(content)) {
90
+ deepExtend(out, content);
98
91
  return;
99
92
  }
100
93
  }
@@ -102,6 +95,6 @@ function loadConfigFromFile(out, filePath) {
102
95
  // Is not a yaml file
103
96
  }
104
97
  // Final fallback: INI
105
- (0, __1.deepExtend)(out, (0, ini_1.decode)(fileContent));
98
+ deepExtend(out, ini.decode(fileContent));
106
99
  }
107
100
  //# sourceMappingURL=config-file-loader.helper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config-file-loader.helper.js","sourceRoot":"","sources":["../../src/helpers/config-file-loader.helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-file-loader.helper.js","sourceRoot":"","sources":["../../src/helpers/config-file-loader.helper.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { ParsedArgs } from "minimist";
2
- import { ILogger, InternalDefinition } from "..";
3
- import { ApplicationDefinition, ServiceMap } from "./wiring.helper";
2
+ import { ILogger, INITIALIZE, INJECTED_DEFINITIONS, InternalDefinition, LOAD_PROJECT, TBlackHole } from "..";
3
+ import { ApplicationDefinition, PartialConfiguration, ServiceMap, TInjectedConfig } from "./wiring.helper";
4
4
  export type CodeConfigDefinition = Record<string, AnyConfig>;
5
5
  export type ProjectConfigTypes = "string" | "boolean" | "internal" | "number" | "record" | "string[]";
6
6
  export type AnyConfig = StringConfig<string> | BooleanConfig | InternalConfig<object> | NumberConfig | RecordConfig | StringArrayConfig;
@@ -98,7 +98,7 @@ export type ConfigLoaderParams<S extends ServiceMap = ServiceMap, C extends Opti
98
98
  logger: ILogger;
99
99
  };
100
100
  export type ConfigLoader = <S extends ServiceMap, C extends OptionalModuleConfiguration>(params: ConfigLoaderParams<S, C>) => ConfigLoaderReturn;
101
- export declare function cast<T = unknown>(data: string | string[], type: string): T;
101
+ export declare function cast<T = unknown>(data: boolean | number[] | string | string[], type: string): T;
102
102
  export type ModuleConfiguration = {
103
103
  [key: string]: AnyConfig;
104
104
  };
@@ -113,3 +113,24 @@ export declare function iSearchKey(target: string, source: string[]): string;
113
113
  */
114
114
  export declare function loadDotenv(internal: InternalDefinition, CLI_SWITCHES: ParsedArgs, logger: ILogger): void;
115
115
  export declare function parseConfig(config: AnyConfig, value: string): any;
116
+ export type DigitalAlchemyConfiguration = {
117
+ [INITIALIZE]: <S extends ServiceMap, C extends OptionalModuleConfiguration>(application: ApplicationDefinition<S, C>) => Promise<string>;
118
+ [INJECTED_DEFINITIONS]: () => TInjectedConfig;
119
+ [LOAD_PROJECT]: (library: string, definitions: CodeConfigDefinition) => KnownConfigs;
120
+ getDefinitions: () => KnownConfigs;
121
+ merge: (incoming: Partial<PartialConfiguration>) => PartialConfiguration;
122
+ /**
123
+ * Not a replacement for `onPostConfig`
124
+ *
125
+ * Only receives updates from `config.set` calls
126
+ */
127
+ onUpdate: <Project extends keyof TInjectedConfig, Property extends Extract<keyof TInjectedConfig[Project], string>>(callback: OnConfigUpdateCallback<Project, Property>, project?: Project, property?: Property) => void;
128
+ /**
129
+ * type friendly method of updating a single configuration
130
+ *
131
+ * emits update event
132
+ */
133
+ set: TSetConfig;
134
+ };
135
+ export type TSetConfig = <Project extends keyof TInjectedConfig, Property extends keyof TInjectedConfig[Project]>(project: Project, property: Property, value: TInjectedConfig[Project][Property]) => void;
136
+ export type OnConfigUpdateCallback<Project extends keyof TInjectedConfig, Property extends keyof TInjectedConfig[Project]> = (project: Project, property: Property) => TBlackHole;
@@ -1,30 +1,21 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.cast = cast;
4
- exports.findKey = findKey;
5
- exports.iSearchKey = iSearchKey;
6
- exports.loadDotenv = loadDotenv;
7
- exports.parseConfig = parseConfig;
8
- const dotenv_1 = require("dotenv");
9
- const fs_1 = require("fs");
10
- const path_1 = require("path");
11
- const process_1 = require("process");
12
- const __1 = require("..");
13
- function cast(data, type) {
1
+ import dotenv from "dotenv";
2
+ import fs from "fs";
3
+ import path from "path";
4
+ import { cwd } from "process";
5
+ import { INITIALIZE, INJECTED_DEFINITIONS, is, LOAD_PROJECT, } from "..";
6
+ export function cast(data, type) {
14
7
  switch (type) {
15
8
  case "boolean": {
16
9
  data ??= "";
17
- return (__1.is.boolean(data)
18
- ? data
19
- : ["true", "y", "1"].includes(data.toLowerCase()));
10
+ return (is.boolean(data) ? data : ["true", "y", "1"].includes(data.toLowerCase()));
20
11
  }
21
12
  case "number":
22
13
  return Number(data);
23
14
  case "string[]":
24
- if (__1.is.undefined(data)) {
15
+ if (is.undefined(data)) {
25
16
  return [];
26
17
  }
27
- if (__1.is.array(data)) {
18
+ if (is.array(data)) {
28
19
  return data.map(String);
29
20
  }
30
21
  // This occurs with cli switches
@@ -36,18 +27,19 @@ function cast(data, type) {
36
27
  }
37
28
  return data;
38
29
  }
39
- function findKey(source, find) {
30
+ export function findKey(source, find) {
40
31
  return (
41
32
  // Find an exact match (if available) first
42
- source.find((line) => find.includes(line)) ||
33
+ source.find(line => find.includes(line)) ||
43
34
  // Do case insensitive searches
44
- source.find((line) => {
35
+ source.find(line => {
45
36
  const match = new RegExp(`^${line.replaceAll(new RegExp("[-_]", "gi"), "[-_]?")}$`, "gi");
46
- return find.some((item) => item.match(match));
37
+ return find.some(item => item.match(match));
47
38
  }));
48
39
  }
49
- function iSearchKey(target, source) {
50
- return source.find((key) => key.match(new RegExp(`^${target.replaceAll(new RegExp("[-_]", "gi"), "[-_]?")}$`, "gi")));
40
+ export function iSearchKey(target, source) {
41
+ const regex = new RegExp(`^${target.replaceAll(new RegExp("[-_]", "gi"), "[-_]?")}$`, "gi");
42
+ return source.find(key => regex.exec(key) !== null);
51
43
  }
52
44
  /**
53
45
  * priorities:
@@ -55,21 +47,22 @@ function iSearchKey(target, source) {
55
47
  * - bootstrap envFile
56
48
  * - cwd/.env (default file)
57
49
  */
58
- function loadDotenv(internal, CLI_SWITCHES, logger) {
50
+ export function loadDotenv(internal, CLI_SWITCHES, logger) {
51
+ internal.boot.options ??= {};
59
52
  let { envFile } = internal.boot.options;
60
53
  const switchKeys = Object.keys(CLI_SWITCHES);
61
54
  const searched = iSearchKey("env-file", switchKeys);
62
55
  // --env-file > bootstrap
63
- if (!__1.is.empty(CLI_SWITCHES[searched])) {
56
+ if (!is.empty(CLI_SWITCHES[searched])) {
64
57
  envFile = CLI_SWITCHES[searched];
65
58
  }
66
59
  let file;
67
60
  // * was provided an --env-file or something via boot
68
- if (!__1.is.empty(envFile)) {
69
- const checkFile = (0, path_1.isAbsolute)(envFile)
70
- ? (0, path_1.normalize)(envFile)
71
- : (0, path_1.join)((0, process_1.cwd)(), envFile);
72
- if ((0, fs_1.existsSync)(checkFile)) {
61
+ if (!is.empty(envFile)) {
62
+ const checkFile = path.isAbsolute(envFile)
63
+ ? path.normalize(envFile)
64
+ : path.join(cwd(), envFile);
65
+ if (fs.existsSync(checkFile)) {
73
66
  file = checkFile;
74
67
  }
75
68
  else {
@@ -77,9 +70,9 @@ function loadDotenv(internal, CLI_SWITCHES, logger) {
77
70
  }
78
71
  }
79
72
  // * attempt default file
80
- if (__1.is.empty(file)) {
81
- const defaultFile = (0, path_1.join)((0, process_1.cwd)(), ".env");
82
- if ((0, fs_1.existsSync)(defaultFile)) {
73
+ if (is.empty(file)) {
74
+ const defaultFile = path.join(cwd(), ".env");
75
+ if (fs.existsSync(defaultFile)) {
83
76
  file = defaultFile;
84
77
  }
85
78
  else {
@@ -87,12 +80,12 @@ function loadDotenv(internal, CLI_SWITCHES, logger) {
87
80
  }
88
81
  }
89
82
  // ? each of the steps above verified the path as valid
90
- if (!__1.is.empty(file)) {
83
+ if (!is.empty(file)) {
91
84
  logger.trace({ file, name: loadDotenv }, `loading env file`);
92
- (0, dotenv_1.config)({ override: true, path: file });
85
+ dotenv.config({ override: true, path: file });
93
86
  }
94
87
  }
95
- function parseConfig(config, value) {
88
+ export function parseConfig(config, value) {
96
89
  switch (config.type) {
97
90
  case "string": {
98
91
  return value;
@@ -1 +1 @@
1
- {"version":3,"file":"config.helper.js","sourceRoot":"","sources":["../../src/helpers/config.helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.helper.js","sourceRoot":"","sources":["../../src/helpers/config.helper.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=context.helper.js.map