@koala-ts/framework 2.15.0 → 2.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/Testing/TestAgentFactory.d.ts +1 -1
  2. package/dist/Testing/TestAgentFactory.d.ts.map +1 -1
  3. package/dist/application/create-application.d.ts +1 -1
  4. package/dist/application/create-application.d.ts.map +1 -1
  5. package/dist/application/create-application.test.js +1 -1
  6. package/dist/application/create-application.test.js.map +1 -1
  7. package/dist/config/config-loader.d.ts +3 -0
  8. package/dist/config/config-loader.d.ts.map +1 -0
  9. package/dist/config/config-loader.js +27 -0
  10. package/dist/config/config-loader.js.map +1 -0
  11. package/dist/config/config-loader.test.d.ts +2 -0
  12. package/dist/config/config-loader.test.d.ts.map +1 -0
  13. package/dist/config/config-loader.test.js +114 -0
  14. package/dist/config/config-loader.test.js.map +1 -0
  15. package/dist/config/default-config.d.ts +3 -0
  16. package/dist/config/default-config.d.ts.map +1 -0
  17. package/dist/{Config/DefaultConfig.js → config/default-config.js} +1 -1
  18. package/dist/config/default-config.js.map +1 -0
  19. package/dist/{Config/types.d.ts → config/koala-config.d.ts} +6 -1
  20. package/dist/config/koala-config.d.ts.map +1 -0
  21. package/dist/config/koala-config.js +1 -0
  22. package/dist/config/koala-config.js.map +1 -0
  23. package/dist/index.d.ts +3 -1
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +2 -2
  26. package/dist/index.js.map +1 -1
  27. package/dist/routing/verify-routing-mode.d.ts +1 -1
  28. package/dist/routing/verify-routing-mode.d.ts.map +1 -1
  29. package/package.json +1 -1
  30. package/dist/Config/ConfigLoader.d.ts +0 -2
  31. package/dist/Config/ConfigLoader.d.ts.map +0 -1
  32. package/dist/Config/ConfigLoader.js +0 -20
  33. package/dist/Config/ConfigLoader.js.map +0 -1
  34. package/dist/Config/ConfigLoader.test.d.ts +0 -2
  35. package/dist/Config/ConfigLoader.test.d.ts.map +0 -1
  36. package/dist/Config/ConfigLoader.test.js +0 -45
  37. package/dist/Config/ConfigLoader.test.js.map +0 -1
  38. package/dist/Config/DefaultConfig.d.ts +0 -3
  39. package/dist/Config/DefaultConfig.d.ts.map +0 -1
  40. package/dist/Config/DefaultConfig.js.map +0 -1
  41. package/dist/Config/index.d.ts +0 -4
  42. package/dist/Config/index.d.ts.map +0 -1
  43. package/dist/Config/index.js +0 -3
  44. package/dist/Config/index.js.map +0 -1
  45. package/dist/Config/types.d.ts.map +0 -1
  46. package/dist/Config/types.js +0 -1
  47. package/dist/Config/types.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { type KoalaConfig } from '../Config/index.js';
1
+ import { type KoalaConfig } from '../config/koala-config.js';
2
2
  import { type User } from '../Security/types.js';
3
3
  import { type TestAgent } from './types.js';
4
4
  export declare function createTestAgent(config: KoalaConfig, agentConfig?: {
@@ -1 +1 @@
1
- {"version":3,"file":"TestAgentFactory.d.ts","sourceRoot":"","sources":["../../src/Testing/TestAgentFactory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,IAAI,CAAA;CAAE,GAAG,SAAS,CAW9F"}
1
+ {"version":3,"file":"TestAgentFactory.d.ts","sourceRoot":"","sources":["../../src/Testing/TestAgentFactory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,IAAI,CAAA;CAAE,GAAG,SAAS,CAW9F"}
@@ -1,4 +1,4 @@
1
- import { type KoalaConfig } from '../Config/index.js';
1
+ import { type KoalaConfig } from '../config/koala-config.js';
2
2
  import { type Application } from './application.js';
3
3
  export declare function create(config: KoalaConfig): Application;
4
4
  //# sourceMappingURL=create-application.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-application.d.ts","sourceRoot":"","sources":["../../src/application/create-application.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AAU5C,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,wBAAgB,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,CAmBvD"}
1
+ {"version":3,"file":"create-application.d.ts","sourceRoot":"","sources":["../../src/application/create-application.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAUzD,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,wBAAgB,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,CAmBvD"}
@@ -1,5 +1,5 @@
1
1
  import { create } from '../application/create-application.js';
2
- import { koalaDefaultConfig } from '../Config/index.js';
2
+ import { koalaDefaultConfig } from '../config/default-config.js';
3
3
  import { Get, Route, RouteGroup } from '../routing/index.js';
4
4
  import { exclusiveRoutingModeError } from '../routing/verify-routing-mode.js';
5
5
  import { expect, test } from 'vitest';
@@ -1 +1 @@
1
- {"version":3,"file":"create-application.test.js","sourceRoot":"","sources":["../../src/application/create-application.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEtC,IAAI,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC1C,MAAM,GAAG,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAEvC,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;AAC5B,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,iCAAiC,EAAE,GAAG,EAAE;IAC3C,MAAM,GAAG,GAAG,MAAM,CAAC;QACjB,GAAG,kBAAkB;QACrB,MAAM,EAAE;YACN,KAAK,CAAC;gBACJ,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;oBACrB,KAAK,CAAC,QAAQ,CAAC,IAAI,GAAG,EAAE,CAAC;gBAC3B,CAAC;aACF,CAAC;SACH;KACF,CAAC,CAAC;IAEH,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;AAC5B,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC1C,MAAM,GAAG,GAAG,MAAM,CAAC;QACjB,GAAG,kBAAkB;QACrB,MAAM,EAAE;YACN,UAAU,CACR;gBACE,MAAM,EAAE,MAAM;aACf,EACD,GAAG,EAAE,CAAC;gBACJ,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;oBAC1B,KAAK,CAAC,QAAQ,CAAC,IAAI,GAAG,EAAE,CAAC;gBAC3B,CAAC,CAAC;aACH,CACF;SACF;KACF,CAAC,CAAC;IAEH,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;AAC5B,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,0DAA0D,EAAE,GAAG,EAAE;IACpE,MAAM,gBAAgB;KAAG;IAEzB,MAAM,CAAC,GAAG,EAAE,CACV,MAAM,CAAC;QACL,GAAG,kBAAkB;QACrB,WAAW,EAAE,CAAC,gBAAgB,CAAC;QAC/B,MAAM,EAAE;YACN,KAAK,CAAC;gBACJ,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;oBACrB,KAAK,CAAC,QAAQ,CAAC,IAAI,GAAG,EAAE,CAAC;gBAC3B,CAAC;aACF,CAAC;SACH;KACF,CAAC,CACH,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"create-application.test.js","sourceRoot":"","sources":["../../src/application/create-application.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEtC,IAAI,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC1C,MAAM,GAAG,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAEvC,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;AAC5B,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,iCAAiC,EAAE,GAAG,EAAE;IAC3C,MAAM,GAAG,GAAG,MAAM,CAAC;QACjB,GAAG,kBAAkB;QACrB,MAAM,EAAE;YACN,KAAK,CAAC;gBACJ,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;oBACrB,KAAK,CAAC,QAAQ,CAAC,IAAI,GAAG,EAAE,CAAC;gBAC3B,CAAC;aACF,CAAC;SACH;KACF,CAAC,CAAC;IAEH,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;AAC5B,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC1C,MAAM,GAAG,GAAG,MAAM,CAAC;QACjB,GAAG,kBAAkB;QACrB,MAAM,EAAE;YACN,UAAU,CACR;gBACE,MAAM,EAAE,MAAM;aACf,EACD,GAAG,EAAE,CAAC;gBACJ,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;oBAC1B,KAAK,CAAC,QAAQ,CAAC,IAAI,GAAG,EAAE,CAAC;gBAC3B,CAAC,CAAC;aACH,CACF;SACF;KACF,CAAC,CAAC;IAEH,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;AAC5B,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,0DAA0D,EAAE,GAAG,EAAE;IACpE,MAAM,gBAAgB;KAAG;IAEzB,MAAM,CAAC,GAAG,EAAE,CACV,MAAM,CAAC;QACL,GAAG,kBAAkB;QACrB,WAAW,EAAE,CAAC,gBAAgB,CAAC;QAC/B,MAAM,EAAE;YACN,KAAK,CAAC;gBACJ,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;oBACrB,KAAK,CAAC,QAAQ,CAAC,IAAI,GAAG,EAAE,CAAC;gBAC3B,CAAC;aACF,CAAC;SACH;KACF,CAAC,CACH,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { KoalaDotenvOptions } from './koala-config.js';
2
+ export declare function loadEnvConfig(env: string, dotenvOptions?: KoalaDotenvOptions): void;
3
+ //# sourceMappingURL=config-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../src/config/config-loader.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEzD,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAMnF"}
@@ -0,0 +1,27 @@
1
+ import path from 'path';
2
+ import dotenv from 'dotenv';
3
+ import dotenvExpand from 'dotenv-expand';
4
+ export function loadEnvConfig(env, dotenvOptions) {
5
+ const rootDir = process.cwd();
6
+ resolveEnvFileNames(env).forEach(fileName => {
7
+ loadEnvFile(path.resolve(rootDir, fileName), resolveDotenvOptions(dotenvOptions));
8
+ });
9
+ }
10
+ function resolveEnvFileNames(env) {
11
+ if (env === 'test') {
12
+ return ['.env', `.env.${env}`, `.env.${env}.local`];
13
+ }
14
+ return ['.env', '.env.local', `.env.${env}`, `.env.${env}.local`];
15
+ }
16
+ function resolveDotenvOptions(dotenvOptions) {
17
+ return {
18
+ override: true,
19
+ quiet: true,
20
+ ...dotenvOptions,
21
+ };
22
+ }
23
+ function loadEnvFile(filePath, options) {
24
+ const expandedOptions = dotenv.config({ path: filePath, ...options });
25
+ dotenvExpand.expand(expandedOptions);
26
+ }
27
+ //# sourceMappingURL=config-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../../src/config/config-loader.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,YAAY,MAAM,eAAe,CAAC;AAGzC,MAAM,UAAU,aAAa,CAAC,GAAW,EAAE,aAAkC;IAC3E,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAE9B,mBAAmB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QAC1C,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,oBAAoB,CAAC,aAAa,CAAC,CAAC,CAAC;IACpF,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAW;IACtC,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;QACnB,OAAO,CAAC,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE,QAAQ,GAAG,QAAQ,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,GAAG,EAAE,EAAE,QAAQ,GAAG,QAAQ,CAAC,CAAC;AACpE,CAAC;AAED,SAAS,oBAAoB,CAAC,aAAkC;IAC9D,OAAO;QACL,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,IAAI;QACX,GAAG,aAAa;KACjB,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,QAAgB,EAAE,OAA2B;IAChE,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAEtE,YAAY,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;AACvC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=config-loader.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-loader.test.d.ts","sourceRoot":"","sources":["../../src/config/config-loader.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,114 @@
1
+ import dotenv from 'dotenv';
2
+ import dotenvExpand from 'dotenv-expand';
3
+ import { beforeEach, describe, expect, test, vi } from 'vitest';
4
+ import { loadEnvConfig } from '../config/config-loader.js';
5
+ describe('load env config', () => {
6
+ const configSpy = vi.spyOn(dotenv, 'config');
7
+ const expandSpy = vi.spyOn(dotenvExpand, 'expand');
8
+ beforeEach(() => {
9
+ vi.clearAllMocks();
10
+ configSpy.mockReturnValue({ parsed: {} });
11
+ expandSpy.mockReturnValue({ parsed: {} });
12
+ });
13
+ describe('file selection', () => {
14
+ test('loads environment files in development order', () => {
15
+ loadEnvConfig('development');
16
+ expect(configSpy).toHaveBeenNthCalledWith(1, {
17
+ path: expect.stringContaining('.env'),
18
+ override: true,
19
+ quiet: true,
20
+ });
21
+ expect(configSpy).toHaveBeenNthCalledWith(2, {
22
+ path: expect.stringContaining('.env.local'),
23
+ override: true,
24
+ quiet: true,
25
+ });
26
+ expect(configSpy).toHaveBeenNthCalledWith(3, {
27
+ path: expect.stringContaining('.env.development'),
28
+ override: true,
29
+ quiet: true,
30
+ });
31
+ expect(configSpy).toHaveBeenNthCalledWith(4, {
32
+ path: expect.stringContaining('.env.development.local'),
33
+ override: true,
34
+ quiet: true,
35
+ });
36
+ });
37
+ test('skips the shared local file in the test environment', () => {
38
+ loadEnvConfig('test');
39
+ expect(configSpy).toHaveBeenCalledTimes(3);
40
+ expect(configSpy).toHaveBeenNthCalledWith(1, {
41
+ path: expect.stringContaining('.env'),
42
+ override: true,
43
+ quiet: true,
44
+ });
45
+ expect(configSpy).toHaveBeenNthCalledWith(2, {
46
+ path: expect.stringContaining('.env.test'),
47
+ override: true,
48
+ quiet: true,
49
+ });
50
+ expect(configSpy).toHaveBeenNthCalledWith(3, {
51
+ path: expect.stringContaining('.env.test.local'),
52
+ override: true,
53
+ quiet: true,
54
+ });
55
+ });
56
+ });
57
+ describe('dotenv options', () => {
58
+ test('uses the provided dotenv options for every file', () => {
59
+ loadEnvConfig('development', {
60
+ debug: true,
61
+ encoding: 'latin1',
62
+ override: false,
63
+ quiet: false,
64
+ });
65
+ expect(configSpy).toHaveBeenCalledTimes(4);
66
+ expect(configSpy).toHaveBeenNthCalledWith(1, {
67
+ debug: true,
68
+ encoding: 'latin1',
69
+ override: false,
70
+ path: expect.stringContaining('.env'),
71
+ quiet: false,
72
+ });
73
+ expect(configSpy).toHaveBeenNthCalledWith(2, {
74
+ debug: true,
75
+ encoding: 'latin1',
76
+ override: false,
77
+ path: expect.stringContaining('.env.local'),
78
+ quiet: false,
79
+ });
80
+ expect(configSpy).toHaveBeenNthCalledWith(3, {
81
+ debug: true,
82
+ encoding: 'latin1',
83
+ override: false,
84
+ path: expect.stringContaining('.env.development'),
85
+ quiet: false,
86
+ });
87
+ expect(configSpy).toHaveBeenNthCalledWith(4, {
88
+ debug: true,
89
+ encoding: 'latin1',
90
+ override: false,
91
+ path: expect.stringContaining('.env.development.local'),
92
+ quiet: false,
93
+ });
94
+ });
95
+ test('preserves the framework defaults when dotenv options are omitted', () => {
96
+ loadEnvConfig('development');
97
+ expect(configSpy.mock.calls).toEqual([
98
+ [{ path: expect.stringContaining('.env'), override: true, quiet: true }],
99
+ [{ path: expect.stringContaining('.env.local'), override: true, quiet: true }],
100
+ [{ path: expect.stringContaining('.env.development'), override: true, quiet: true }],
101
+ [{ path: expect.stringContaining('.env.development.local'), override: true, quiet: true }],
102
+ ]);
103
+ });
104
+ });
105
+ test('expands variables after each file is loaded', () => {
106
+ loadEnvConfig('development');
107
+ expect(expandSpy).toHaveBeenCalledTimes(4);
108
+ expect(expandSpy).toHaveBeenNthCalledWith(1, { parsed: {} });
109
+ expect(expandSpy).toHaveBeenNthCalledWith(2, { parsed: {} });
110
+ expect(expandSpy).toHaveBeenNthCalledWith(3, { parsed: {} });
111
+ expect(expandSpy).toHaveBeenNthCalledWith(4, { parsed: {} });
112
+ });
113
+ });
114
+ //# sourceMappingURL=config-loader.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-loader.test.js","sourceRoot":"","sources":["../../src/config/config-loader.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { type KoalaConfig } from './koala-config.js';
2
+ export declare const koalaDefaultConfig: KoalaConfig;
3
+ //# sourceMappingURL=default-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-config.d.ts","sourceRoot":"","sources":["../../src/config/default-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,eAAO,MAAM,kBAAkB,EAAE,WAEhC,CAAC"}
@@ -1,4 +1,4 @@
1
1
  export const koalaDefaultConfig = {
2
2
  controllers: [],
3
3
  };
4
- //# sourceMappingURL=DefaultConfig.js.map
4
+ //# sourceMappingURL=default-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-config.js","sourceRoot":"","sources":["../../src/config/default-config.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,kBAAkB,GAAgB;IAC7C,WAAW,EAAE,EAAE;CAChB,CAAC"}
@@ -2,18 +2,23 @@ import { type HttpMiddleware } from '../Http/index.js';
2
2
  import { type StaticFilesOptions } from '../Http/Files/index.js';
3
3
  import { type EventSubscriber } from '../Kernel/index.js';
4
4
  import type { RouteSource } from '../routing/index.js';
5
+ import type { DotenvConfigOptions } from 'dotenv';
5
6
  /**
6
7
  * @deprecated Use function-first routes from `@koala-ts/framework/routing` with `KoalaConfig.routes` instead.
7
8
  */
8
9
  export type Controller = new (...args: unknown[]) => unknown;
10
+ export type KoalaDotenvOptions = Pick<DotenvConfigOptions, 'debug' | 'encoding' | 'override' | 'quiet'>;
9
11
  export interface KoalaConfig {
10
12
  /**
11
13
  * @deprecated Use `routes` with `Route` from `@koala-ts/framework/routing` instead.
12
14
  */
13
15
  controllers: Controller[];
16
+ environment?: {
17
+ dotenv?: KoalaDotenvOptions;
18
+ };
14
19
  routes?: RouteSource[];
15
20
  globalMiddleware?: HttpMiddleware[];
16
21
  staticFiles?: StaticFilesOptions;
17
22
  eventSubscribers?: Record<string, EventSubscriber | EventSubscriber[]>;
18
23
  }
19
- //# sourceMappingURL=types.d.ts.map
24
+ //# sourceMappingURL=koala-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"koala-config.d.ts","sourceRoot":"","sources":["../../src/config/koala-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAElD;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC;AAE7D,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,mBAAmB,EAAE,OAAO,GAAG,UAAU,GAAG,UAAU,GAAG,OAAO,CAAC,CAAC;AAExG,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,WAAW,CAAC,EAAE;QACZ,MAAM,CAAC,EAAE,kBAAkB,CAAC;KAC7B,CAAC;IACF,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IACvB,gBAAgB,CAAC,EAAE,cAAc,EAAE,CAAC;IACpC,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,eAAe,EAAE,CAAC,CAAC;CACxE"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=koala-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"koala-config.js","sourceRoot":"","sources":["../../src/config/koala-config.ts"],"names":[],"mappings":""}
package/dist/index.d.ts CHANGED
@@ -2,7 +2,9 @@ export { create } from './application/create-application.js';
2
2
  export type { Application } from './application/application.js';
3
3
  import { getLegacyRoutes, registerLegacyRoutes } from './routing/decorator/legacy-router.js';
4
4
  import type { RouteMetadata as LegacyRouteMetadata } from './routing/decorator/route-metadata.js';
5
- export * from './Config/index.js';
5
+ export type * from './config/koala-config.js';
6
+ export * from './config/default-config.js';
7
+ export * from './config/config-loader.js';
6
8
  export * from './Http/index.js';
7
9
  export * from './Kernel/index.js';
8
10
  export * from './routing/decorator/route.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAC1D,YAAY,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAC1F,OAAO,KAAK,EAAE,aAAa,IAAI,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAG/F,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AAGzB,cAAc,2BAA2B,CAAC;AAC1C,YAAY,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,YAAY,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,YAAY,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D;;GAEG;AACH,eAAO,MAAM,SAAS,wBAAkB,CAAC;AACzC;;GAEG;AACH,eAAO,MAAM,cAAc,6BAAuB,CAAC;AACnD;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,mBAAmB,CAAC;AAGhD,cAAc,YAAY,CAAC;AAG3B,cAAc,WAAW,CAAC;AAG1B,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAC1D,YAAY,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAC1F,OAAO,KAAK,EAAE,aAAa,IAAI,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAG/F,mBAAmB,uBAAuB,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AAGzB,cAAc,2BAA2B,CAAC;AAC1C,YAAY,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,YAAY,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,YAAY,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D;;GAEG;AACH,eAAO,MAAM,SAAS,wBAAkB,CAAC;AACzC;;GAEG;AACH,eAAO,MAAM,cAAc,6BAAuB,CAAC;AACnD;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,mBAAmB,CAAC;AAGhD,cAAc,YAAY,CAAC;AAG3B,cAAc,WAAW,CAAC;AAG1B,cAAc,cAAc,CAAC"}
package/dist/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  // Application
2
2
  export { create } from './application/create-application.js';
3
3
  import { getLegacyRoutes, registerLegacyRoutes } from './routing/decorator/legacy-router.js';
4
- // Core modules
5
- export * from './Config/index.js';
4
+ export * from './config/default-config.js';
5
+ export * from './config/config-loader.js';
6
6
  export * from './Http/index.js';
7
7
  export * from './Kernel/index.js';
8
8
  // Routing
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAE1D,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAG1F,eAAe;AACf,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AAEzB,UAAU;AACV,cAAc,2BAA2B,CAAC;AAI1C;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,eAAe,CAAC;AACzC;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,oBAAoB,CAAC;AAMnD,WAAW;AACX,cAAc,YAAY,CAAC;AAE3B,UAAU;AACV,cAAc,WAAW,CAAC;AAE1B,gBAAgB;AAChB,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAE1D,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAK1F,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AAEzB,UAAU;AACV,cAAc,2BAA2B,CAAC;AAI1C;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,eAAe,CAAC;AACzC;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,oBAAoB,CAAC;AAMnD,WAAW;AACX,cAAc,YAAY,CAAC;AAE3B,UAAU;AACV,cAAc,WAAW,CAAC;AAE1B,gBAAgB;AAChB,cAAc,cAAc,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { KoalaConfig } from '../Config/index.js';
1
+ import type { KoalaConfig } from '../config/koala-config.js';
2
2
  export declare const exclusiveRoutingModeError = "Koala routing mode is exclusive. Use either legacy controllers from @koala-ts/framework or routes from @koala-ts/framework/routing.";
3
3
  export declare function verifyRoutingMode(config: KoalaConfig): void;
4
4
  //# sourceMappingURL=verify-routing-mode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"verify-routing-mode.d.ts","sourceRoot":"","sources":["../../src/routing/verify-routing-mode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,eAAO,MAAM,yBAAyB,wIACiG,CAAC;AAExI,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAM3D"}
1
+ {"version":3,"file":"verify-routing-mode.d.ts","sourceRoot":"","sources":["../../src/routing/verify-routing-mode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,eAAO,MAAM,yBAAyB,wIACiG,CAAC;AAExI,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAM3D"}
package/package.json CHANGED
@@ -22,7 +22,7 @@
22
22
  ]
23
23
  }
24
24
  },
25
- "version": "2.15.0",
25
+ "version": "2.16.0",
26
26
  "description": "A NodeJS framework for lazy developers",
27
27
  "keywords": [
28
28
  "koala",
@@ -1,2 +0,0 @@
1
- export declare function loadEnvConfig(env: string): void;
2
- //# sourceMappingURL=ConfigLoader.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ConfigLoader.d.ts","sourceRoot":"","sources":["../../src/Config/ConfigLoader.ts"],"names":[],"mappings":"AAIA,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAO/C"}
@@ -1,20 +0,0 @@
1
- import path from 'path';
2
- import dotenv from 'dotenv';
3
- import dotenvExpand from 'dotenv-expand';
4
- export function loadEnvConfig(env) {
5
- loadEnvFile('.env');
6
- if (env !== 'test')
7
- loadEnvFile('.env.local');
8
- loadEnvFile(`.env.${env}`);
9
- loadEnvFile(`.env.${env}.local`);
10
- }
11
- function loadEnvFile(fileName) {
12
- const rootDir = process.cwd();
13
- const expandedOptions = dotenv.config({
14
- path: path.resolve(rootDir, fileName),
15
- override: true,
16
- quiet: true,
17
- });
18
- dotenvExpand.expand(expandedOptions);
19
- }
20
- //# sourceMappingURL=ConfigLoader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ConfigLoader.js","sourceRoot":"","sources":["../../src/Config/ConfigLoader.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,YAAY,MAAM,eAAe,CAAC;AAEzC,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,WAAW,CAAC,MAAM,CAAC,CAAC;IAEpB,IAAI,GAAG,KAAK,MAAM;QAAE,WAAW,CAAC,YAAY,CAAC,CAAC;IAE9C,WAAW,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC;IAC3B,WAAW,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,WAAW,CAAC,QAAgB;IACnC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAE9B,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC;QACpC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC;QACrC,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,IAAI;KACZ,CAAC,CAAC;IAEH,YAAY,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;AACvC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=ConfigLoader.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ConfigLoader.test.d.ts","sourceRoot":"","sources":["../../src/Config/ConfigLoader.test.ts"],"names":[],"mappings":""}
@@ -1,45 +0,0 @@
1
- import dotenv from 'dotenv';
2
- import dotenvExpand from 'dotenv-expand';
3
- import { describe, expect, test, vi } from 'vitest';
4
- import { loadEnvConfig } from '../Config/index.js';
5
- describe('Load env config', () => {
6
- const configSpy = vi.spyOn(dotenv, 'config');
7
- const expandSpy = vi.spyOn(dotenvExpand, 'expand');
8
- test('it should load .env file', () => {
9
- loadEnvConfig('development');
10
- expect(configSpy).toHaveBeenCalledWith({ path: expect.stringContaining('.env'), override: true, quiet: true });
11
- expect(expandSpy).toHaveBeenCalled();
12
- });
13
- test('it should load .env.local file', () => {
14
- loadEnvConfig('development');
15
- expect(configSpy).toHaveBeenCalledWith({
16
- path: expect.stringContaining('.env.local'),
17
- override: true,
18
- quiet: true,
19
- });
20
- expect(expandSpy).toHaveBeenCalled();
21
- });
22
- test('it should not load .env.local file in test environment', () => {
23
- loadEnvConfig('test');
24
- expect(configSpy).not.toHaveBeenCalledWith(expect.stringContaining('.env.local'));
25
- });
26
- test('it should load .env.<env> file', () => {
27
- loadEnvConfig('development');
28
- expect(configSpy).toHaveBeenCalledWith({
29
- path: expect.stringContaining('.env.development'),
30
- override: true,
31
- quiet: true,
32
- });
33
- expect(expandSpy).toHaveBeenCalled();
34
- });
35
- test('it should load .env.<env>.local file', () => {
36
- loadEnvConfig('test');
37
- expect(configSpy).toHaveBeenCalledWith({
38
- path: expect.stringContaining('.env.test.local'),
39
- override: true,
40
- quiet: true,
41
- });
42
- expect(expandSpy).toHaveBeenCalled();
43
- });
44
- });
45
- //# sourceMappingURL=ConfigLoader.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ConfigLoader.test.js","sourceRoot":"","sources":["../../src/Config/ConfigLoader.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,MAAM,SAAS,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,EAAE,CAAC,KAAK,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAEnD,IAAI,CAAC,0BAA0B,EAAE,GAAG,EAAE;QACpC,aAAa,CAAC,aAAa,CAAC,CAAC;QAE7B,MAAM,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/G,MAAM,CAAC,SAAS,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,gCAAgC,EAAE,GAAG,EAAE;QAC1C,aAAa,CAAC,aAAa,CAAC,CAAC;QAE7B,MAAM,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC;YACrC,IAAI,EAAE,MAAM,CAAC,gBAAgB,CAAC,YAAY,CAAC;YAC3C,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;QACH,MAAM,CAAC,SAAS,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAClE,aAAa,CAAC,MAAM,CAAC,CAAC;QAEtB,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,MAAM,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC;IACpF,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,gCAAgC,EAAE,GAAG,EAAE;QAC1C,aAAa,CAAC,aAAa,CAAC,CAAC;QAE7B,MAAM,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC;YACrC,IAAI,EAAE,MAAM,CAAC,gBAAgB,CAAC,kBAAkB,CAAC;YACjD,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;QACH,MAAM,CAAC,SAAS,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAChD,aAAa,CAAC,MAAM,CAAC,CAAC;QAEtB,MAAM,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC;YACrC,IAAI,EAAE,MAAM,CAAC,gBAAgB,CAAC,iBAAiB,CAAC;YAChD,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;QACH,MAAM,CAAC,SAAS,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACvC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,3 +0,0 @@
1
- import { type KoalaConfig } from './types.js';
2
- export declare const koalaDefaultConfig: KoalaConfig;
3
- //# sourceMappingURL=DefaultConfig.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DefaultConfig.d.ts","sourceRoot":"","sources":["../../src/Config/DefaultConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,eAAO,MAAM,kBAAkB,EAAE,WAEhC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"DefaultConfig.js","sourceRoot":"","sources":["../../src/Config/DefaultConfig.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,kBAAkB,GAAgB;IAC7C,WAAW,EAAE,EAAE;CAChB,CAAC"}
@@ -1,4 +0,0 @@
1
- export type * from '../Config/types.js';
2
- export * from '../Config/DefaultConfig.js';
3
- export * from '../Config/ConfigLoader.js';
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Config/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,gBAAgB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC"}
@@ -1,3 +0,0 @@
1
- export * from '../Config/DefaultConfig.js';
2
- export * from '../Config/ConfigLoader.js';
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Config/index.ts"],"names":[],"mappings":"AACA,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/Config/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC;AAE7D,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IACvB,gBAAgB,CAAC,EAAE,cAAc,EAAE,CAAC;IACpC,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,eAAe,EAAE,CAAC,CAAC;CACxE"}
@@ -1 +0,0 @@
1
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/Config/types.ts"],"names":[],"mappings":""}