@koala-ts/framework 1.0.0 → 1.1.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.
@@ -1,3 +1,4 @@
1
1
  export * from './types.js';
2
2
  export * from './config-defaults.js';
3
+ export * from './load-env-config.js';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export * from './types.js';
2
2
  export * from './config-defaults.js';
3
+ export * from './load-env-config.js';
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare function loadEnvConfig(env: string): void;
2
+ export { loadEnvConfig };
3
+ //# sourceMappingURL=load-env-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load-env-config.d.ts","sourceRoot":"","sources":["../../src/config/load-env-config.ts"],"names":[],"mappings":"AAIA,iBAAS,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAWxC;AAED,OAAO,EAAE,aAAa,EAAE,CAAC"}
@@ -0,0 +1,16 @@
1
+ import dotenv from 'dotenv';
2
+ import dotenvExpand from 'dotenv-expand';
3
+ import path from 'path';
4
+ function loadEnvConfig(env) {
5
+ const rootDir = process.cwd();
6
+ const loadFile = (fileName) => {
7
+ dotenvExpand.expand(dotenv.config({ path: path.resolve(rootDir, fileName), override: true }));
8
+ };
9
+ loadFile('.env');
10
+ if (env !== 'test')
11
+ loadFile('.env.local');
12
+ loadFile(`.env.${env}`);
13
+ loadFile(`.env.${env}.local`);
14
+ }
15
+ export { loadEnvConfig };
16
+ //# sourceMappingURL=load-env-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load-env-config.js","sourceRoot":"","sources":["../../src/config/load-env-config.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,SAAS,aAAa,CAAC,GAAW;IAC9B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAE9B,MAAM,QAAQ,GAAG,CAAC,QAAgB,EAAE,EAAE;QAClC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAClG,CAAC,CAAC;IAEF,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjB,IAAI,GAAG,KAAK,MAAM;QAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC3C,QAAQ,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC;IACxB,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC;AAClC,CAAC;AAED,OAAO,EAAE,aAAa,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../src/core/application.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAkB,MAAM,SAAS,CAAC;AAIvD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAIzC,wBAAgB,MAAM,CAAC,CAAC,EAAE,YAAY,GAAG,YAAY,CAyBpD"}
1
+ {"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../src/core/application.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAkB,MAAM,SAAS,CAAC;AAIvD,OAAO,EAAE,YAAY,EAAiB,MAAM,WAAW,CAAC;AAIxD,wBAAgB,MAAM,CAAC,CAAC,EAAE,YAAY,GAAG,YAAY,CA2BpD"}
@@ -1,10 +1,12 @@
1
1
  import Koa from 'koa';
2
2
  import Router from '@koa/router';
3
3
  import { getRoutes } from './route.js';
4
+ import { loadEnvConfig } from '../config/index.js';
4
5
  import { koaBody } from 'koa-body';
5
6
  import { extendResponse } from './response.js';
6
7
  export function create(_) {
7
8
  const app = new Koa();
9
+ loadEnvConfig(app.env);
8
10
  app.scope = app.context;
9
11
  const router = new Router();
10
12
  getRoutes().forEach(({ methods, path, middleware, handler, parseBody, bodyOptions, }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"application.js","sourceRoot":"","sources":["../../src/core/application.ts"],"names":[],"mappings":"AACA,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,UAAU,MAAM,CAAC,CAAe;IAClC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAkB,CAAC;IACtC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC;IAExB,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;IAE5B,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC,EACjB,OAAO,EACP,IAAI,EACJ,UAAU,EACV,OAAO,EACP,SAAS,EACT,WAAW,GACE,EAAE,EAAE;QACjB,MAAM,eAAe,GAAG,CAAC,GAAG,UAAU,EAAE,OAAO,CAAC,CAAC;QACjD,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACrB,MAAM,eAAe,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;YACjG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,GAAG,eAAe,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACxB,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAEzB,OAAO,GAAG,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"application.js","sourceRoot":"","sources":["../../src/core/application.ts"],"names":[],"mappings":"AACA,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAgB,aAAa,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,UAAU,MAAM,CAAC,CAAe;IAClC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEtC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACvB,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC;IAExB,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;IAE5B,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC,EACjB,OAAO,EACP,IAAI,EACJ,UAAU,EACV,OAAO,EACP,SAAS,EACT,WAAW,GACE,EAAE,EAAE;QACjB,MAAM,eAAe,GAAG,CAAC,GAAG,UAAU,EAAE,OAAO,CAAC,CAAC;QACjD,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACrB,MAAM,eAAe,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;YACjG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,GAAG,eAAe,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACxB,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAEzB,OAAO,GAAG,CAAC;AACf,CAAC"}
@@ -28,7 +28,7 @@ export interface IResponse extends Response {
28
28
  withHeaders(headers: Record<string, string | string[]>): IResponse;
29
29
  }
30
30
  export interface IMiddleware {
31
- (scope: IScope, next: INext): Promise<INext>;
31
+ (scope: IScope, next: INext): Promise<any>;
32
32
  }
33
33
  export interface INext extends Next {
34
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC,MAAM,MAAM,YAAY,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,GAAG,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG;IAC/E,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,WAAW,MAAO,SAAQ,YAAY;CAC3C;AAED,MAAM,WAAW,MAAO,SAAQ,OAAO;IACnC,OAAO,EAAE,QAAQ,GAAG,YAAY,CAAC;IACjC,QAAQ,EAAE,SAAS,CAAC;CACvB;AAED,MAAM,WAAW,aAAc,SAAQ,IAAI;CAC1C;AAED,MAAM,WAAW,SAAS;IACtB,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,aAAa,EAAE,CAAC;CACnD;AAED,MAAM,WAAW,QAAS,SAAQ,OAAO;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;CAC5B;AAED,MAAM,WAAW,YAAa,SAAQ,QAAQ;IAC1C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC7B;AAED,MAAM,WAAW,SAAU,SAAQ,QAAQ;IACvC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;IAE7D,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC;CACtE;AAED,MAAM,WAAW,WAAW;IACxB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;CAChD;AAED,MAAM,WAAW,KAAM,SAAQ,IAAI;CAClC;AAED,MAAM,WAAW,OAAQ,SAAQ,WAAW;CAC3C;AAED,MAAM,MAAM,WAAW,GACjB,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAC3C,SAAS,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,GAClC,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAChC,QAAQ,GAAG,SAAS,GAAG,MAAM,GAC7B,KAAK,GAAG,KAAK,CAAC;AAEpB,MAAM,MAAM,aAAa,GACnB,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAChC,QAAQ,GAAG,SAAS,GAAG,MAAM,GAC7B,KAAK,CAAC;AAEZ,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,WAAW,EAAE,CAAC;IAC1B,WAAW,EAAE,OAAO,CAAC,wBAAwB,CAAC,CAAC;CAClD;AAED,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,wBAAwB,GAAG;IAC3D,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC,CAAC;AAEH,MAAM,WAAW,MAAM;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,WAAW,GAAG,WAAW,EAAE,CAAC;IACpC,UAAU,CAAC,EAAE,WAAW,EAAE,CAAC;IAC3B,OAAO,CAAC,EAAE,aAAa,CAAC;CAC3B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC,MAAM,MAAM,YAAY,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,GAAG,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG;IAC/E,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,WAAW,MAAO,SAAQ,YAAY;CAC3C;AAED,MAAM,WAAW,MAAO,SAAQ,OAAO;IACnC,OAAO,EAAE,QAAQ,GAAG,YAAY,CAAC;IACjC,QAAQ,EAAE,SAAS,CAAC;CACvB;AAED,MAAM,WAAW,aAAc,SAAQ,IAAI;CAC1C;AAED,MAAM,WAAW,SAAS;IACtB,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,aAAa,EAAE,CAAC;CACnD;AAED,MAAM,WAAW,QAAS,SAAQ,OAAO;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;CAC5B;AAED,MAAM,WAAW,YAAa,SAAQ,QAAQ;IAC1C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC7B;AAED,MAAM,WAAW,SAAU,SAAQ,QAAQ;IACvC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;IAE7D,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC;CACtE;AAED,MAAM,WAAW,WAAW;IACxB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;CAC9C;AAED,MAAM,WAAW,KAAM,SAAQ,IAAI;CAClC;AAED,MAAM,WAAW,OAAQ,SAAQ,WAAW;CAC3C;AAED,MAAM,MAAM,WAAW,GACjB,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAC3C,SAAS,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,GAClC,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAChC,QAAQ,GAAG,SAAS,GAAG,MAAM,GAC7B,KAAK,GAAG,KAAK,CAAC;AAEpB,MAAM,MAAM,aAAa,GACnB,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAChC,QAAQ,GAAG,SAAS,GAAG,MAAM,GAC7B,KAAK,CAAC;AAEZ,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,WAAW,EAAE,CAAC;IAC1B,WAAW,EAAE,OAAO,CAAC,wBAAwB,CAAC,CAAC;CAClD;AAED,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,wBAAwB,GAAG;IAC3D,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC,CAAC;AAEH,MAAM,WAAW,MAAM;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,WAAW,GAAG,WAAW,EAAE,CAAC;IACpC,UAAU,CAAC,EAAE,WAAW,EAAE,CAAC;IAC3B,OAAO,CAAC,EAAE,aAAa,CAAC;CAC3B"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@koala-ts/framework",
3
3
  "main": "dist/index.js",
4
4
  "type": "module",
5
- "version": "1.0.0",
5
+ "version": "1.1.1",
6
6
  "description": "A NodeJS framework for lazy developers",
7
7
  "keywords": [
8
8
  "koala",
@@ -42,18 +42,20 @@
42
42
  "tsx": "^4.19.2",
43
43
  "typescript": "^5.7.2",
44
44
  "typescript-eslint": "^8.18.2",
45
- "vitest": "^2.1.8"
45
+ "vitest": "^2.1.8",
46
+ "@vitest/coverage-v8": "^2.1.8"
46
47
  },
47
48
  "dependencies": {
48
49
  "@koa/router": "^13.1.0",
49
50
  "@types/koa": "^2.15.0",
50
- "koa": "^2.15.3",
51
- "koa-body": "^6.0.1",
52
- "reflect-metadata": "^0.2.2",
53
- "supertest": "^7.0.0",
54
51
  "@types/koa__router": "^12.0.4",
55
52
  "@types/stack-trace": "^0.0.33",
56
53
  "@types/supertest": "^6.0.2",
57
- "@vitest/coverage-v8": "^2.1.8"
54
+ "dotenv": "^16.4.7",
55
+ "dotenv-expand": "^12.0.1",
56
+ "koa": "^2.15.3",
57
+ "koa-body": "^6.0.1",
58
+ "reflect-metadata": "^0.2.2",
59
+ "supertest": "^7.0.0"
58
60
  }
59
61
  }